1 /* $OpenBSD: main.c,v 1.13 2018/08/13 06:36:29 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 r, 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 r = strtonum(optarg, 1, INT_MAX, NULL); 48 ret |= do_regress(r); 49 break; 50 case 's': 51 ret |= do_signal(); 52 break; 53 case 't': 54 ret |= do_tun(); 55 break; 56 case 'T': 57 ret |= do_pty(); 58 break; 59 default: 60 fprintf(stderr, "usage: %s -[fFiIlpPrstT] [-R n]\n", 61 __progname); 62 exit(1); 63 } 64 } 65 66 return (ret); 67 } 68