1 /* $OpenBSD: main.c,v 1.15 2021/06/12 13:30:14 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, "fFiIjlpPrR: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 'j': 35 ret |= do_reset_timer(); 36 break; 37 case 'l': 38 ret |= do_flock(); 39 break; 40 case 'p': 41 ret |= do_pipe(); 42 break; 43 case 'P': 44 ret |= do_process(); 45 break; 46 case 'r': 47 ret |= do_random(); 48 break; 49 case 'R': 50 n = strtonum(optarg, 1, INT_MAX, NULL); 51 ret |= do_regress(n); 52 break; 53 case 's': 54 ret |= do_signal(); 55 break; 56 case 't': 57 ret |= do_tun(); 58 break; 59 case 'T': 60 n = strtonum(optarg, 1, INT_MAX, NULL); 61 ret |= do_pty(n); 62 break; 63 default: 64 fprintf(stderr, "usage: %s -[fFiIlpPrstT] [-R n]\n", 65 __progname); 66 exit(1); 67 } 68 } 69 70 return (ret); 71 } 72