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
main(int argc,char ** argv)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