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