xref: /openbsd/regress/sys/kern/kqueue/main.c (revision 09467b48)
1 /*	$OpenBSD: main.c,v 1.14 2019/03/04 19:33:41 anton Exp $	*/
2 /*
3  *	Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain
4  */
5 
6 #include <limits.h>
7 #include <stdio.h>
8 #include <stdlib.h>
9 #include <unistd.h>
10 
11 #include "main.h"
12 
13 int
14 main(int argc, char **argv)
15 {
16 	extern char *__progname;
17 	int n, ret, c;
18 
19 	ret = 0;
20 	while ((c = getopt(argc, argv, "fFiIlpPrR:stT:")) != -1) {
21 		switch (c) {
22 		case 'f':
23 			ret |= check_inheritance();
24 			break;
25 		case 'F':
26 			ret |= do_fdpass();
27 			break;
28 		case 'i':
29 			ret |= do_timer();
30 			break;
31 		case 'I':
32 			ret |= do_invalid_timer();
33 			break;
34 		case 'l':
35 			ret |= do_flock();
36 			break;
37 		case 'p':
38 			ret |= do_pipe();
39 			break;
40 		case 'P':
41 			ret |= do_process();
42 			break;
43 		case 'r':
44 			ret |= do_random();
45 			break;
46 		case 'R':
47 			n = strtonum(optarg, 1, INT_MAX, NULL);
48 			ret |= do_regress(n);
49 			break;
50 		case 's':
51 			ret |= do_signal();
52 			break;
53 		case 't':
54 			ret |= do_tun();
55 			break;
56 		case 'T':
57 			n = strtonum(optarg, 1, INT_MAX, NULL);
58 			ret |= do_pty(n);
59 			break;
60 		default:
61 			fprintf(stderr, "usage: %s -[fFiIlpPrstT] [-R n]\n",
62 			    __progname);
63 			exit(1);
64 		}
65 	}
66 
67 	return (ret);
68 }
69