1 /* $OpenBSD: main.c,v 1.6 2011/07/07 02:00:51 guenther Exp $ */ 2 /* 3 * Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain 4 */ 5 6 #include <stdlib.h> 7 #include <stdio.h> 8 #include <unistd.h> 9 10 int do_pipe(void); 11 int check_inheritance(void); 12 int do_process(void); 13 int do_signal(void); 14 int do_random(void); 15 int do_pty(void); 16 int do_tun(void); 17 int do_fdpass(void); 18 19 int 20 main(int argc, char **argv) 21 { 22 extern char *__progname; 23 int ret, c; 24 25 ret = 0; 26 while ((c = getopt(argc, argv, "fFpPrstT")) != -1) { 27 switch (c) { 28 case 'f': 29 ret |= check_inheritance(); 30 break; 31 case 'F': 32 ret |= do_fdpass(); 33 break; 34 case 'p': 35 ret |= do_pipe(); 36 break; 37 case 'P': 38 ret |= do_process(); 39 break; 40 case 'r': 41 ret |= do_random(); 42 break; 43 case 's': 44 ret |= do_signal(); 45 break; 46 case 't': 47 ret |= do_tun(); 48 break; 49 case 'T': 50 ret |= do_pty(); 51 break; 52 default: 53 fprintf(stderr, "Usage: %s -[fPprTt]\n", __progname); 54 exit(1); 55 } 56 } 57 58 return (ret); 59 } 60