1 /*	$OpenBSD: test_stdio.c,v 1.2 2016/04/27 13:05:05 semarie Exp $ */
2 /*
3  * Copyright (c) 2015 Sebastien Marie <semarie@openbsd.org>
4  *
5  * Permission to use, copy, modify, and distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #include <sys/types.h>
19 #include <sys/resource.h>
20 #include <sys/stat.h>
21 
22 #include <errno.h>
23 #include <unistd.h>
24 
25 void
test_request_stdio()26 test_request_stdio()
27 {
28 	if (pledge("stdio", NULL) == -1)
29 		_exit(errno);
30 
31 	clock_getres(CLOCK_MONOTONIC, NULL);
32 	{ struct timespec tp; clock_gettime(CLOCK_MONOTONIC, &tp); }
33 	/* fchdir(); */
34 	getdtablecount();
35 	getegid();
36 	geteuid();
37 	getgid();
38 	getgroups(0, NULL);
39 	{ struct itimerval v; getitimer(ITIMER_REAL, &v); }
40 	getlogin();
41 	getpgid(0);
42 	getpgrp();
43 	getpid();
44 	getppid();
45 	/* getresgid(); */
46 	/* getresuid(); */
47 	{ struct rlimit rl; getrlimit(RLIMIT_CORE, &rl); }
48 	getsid(0);
49 	getthrid();
50 	{ struct timeval tp; gettimeofday(&tp, NULL); }
51 	getuid();
52 	geteuid();
53 	issetugid();
54 	/* nanosleep(); */
55 	/* sigreturn(); */
56 	umask(0000);
57 	/* wait4(); */
58 }
59