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