xref: /openbsd/regress/sys/kern/kqueue/main.c (revision 4bdff4be)
1 /*	$OpenBSD: main.c,v 1.16 2023/08/20 15:19:34 visa 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, "efFiIjlpPrR:stT:")) != -1) {
21 		switch (c) {
22 		case 'e':
23 			ret |= do_exec(argv[0]);
24 			break;
25 		case 'f':
26 			ret |= check_inheritance();
27 			break;
28 		case 'F':
29 			ret |= do_fdpass();
30 			break;
31 		case 'i':
32 			ret |= do_timer();
33 			break;
34 		case 'I':
35 			ret |= do_invalid_timer();
36 			break;
37 		case 'j':
38 			ret |= do_reset_timer();
39 			break;
40 		case 'l':
41 			ret |= do_flock();
42 			break;
43 		case 'p':
44 			ret |= do_pipe();
45 			break;
46 		case 'P':
47 			ret |= do_process();
48 			break;
49 		case 'r':
50 			ret |= do_random();
51 			break;
52 		case 'R':
53 			n = strtonum(optarg, 1, INT_MAX, NULL);
54 			ret |= do_regress(n);
55 			break;
56 		case 's':
57 			ret |= do_signal();
58 			break;
59 		case 't':
60 			ret |= do_tun();
61 			break;
62 		case 'T':
63 			n = strtonum(optarg, 1, INT_MAX, NULL);
64 			ret |= do_pty(n);
65 			break;
66 		default:
67 			fprintf(stderr, "usage: %s -[fFiIlpPrstT] [-R n]\n",
68 			    __progname);
69 			exit(1);
70 		}
71 	}
72 
73 	return (ret);
74 }
75