1*391a0cc7Svisa /* $OpenBSD: main.c,v 1.16 2023/08/20 15:19:34 visa Exp $ */
25a789c51Sart /*
35a789c51Sart * Written by Artur Grabowski <art@openbsd.org> 2002 Public Domain
45a789c51Sart */
55a789c51Sart
6e03a59bcSanton #include <limits.h>
75a789c51Sart #include <stdio.h>
8bd35765dSbluhm #include <stdlib.h>
95a789c51Sart #include <unistd.h>
105a789c51Sart
11bd35765dSbluhm #include "main.h"
125a789c51Sart
135a789c51Sart int
main(int argc,char ** argv)145a789c51Sart main(int argc, char **argv)
155a789c51Sart {
168c56f353Smickey extern char *__progname;
17e56ad730Santon int n, ret, c;
185a789c51Sart
195a789c51Sart ret = 0;
20*391a0cc7Svisa while ((c = getopt(argc, argv, "efFiIjlpPrR:stT:")) != -1) {
215a789c51Sart switch (c) {
22*391a0cc7Svisa case 'e':
23*391a0cc7Svisa ret |= do_exec(argv[0]);
24*391a0cc7Svisa break;
255a789c51Sart case 'f':
265a789c51Sart ret |= check_inheritance();
275a789c51Sart break;
286897c9b5Sguenther case 'F':
296897c9b5Sguenther ret |= do_fdpass();
306897c9b5Sguenther break;
31f79d7230Sblambert case 'i':
32f79d7230Sblambert ret |= do_timer();
33f79d7230Sblambert break;
34c9604848Scheloha case 'I':
35c9604848Scheloha ret |= do_invalid_timer();
36c9604848Scheloha break;
37595a2bfbSvisa case 'j':
38595a2bfbSvisa ret |= do_reset_timer();
39595a2bfbSvisa break;
40b93210bdSguenther case 'l':
41b93210bdSguenther ret |= do_flock();
42b93210bdSguenther break;
436897c9b5Sguenther case 'p':
446897c9b5Sguenther ret |= do_pipe();
456897c9b5Sguenther break;
4657ee2582Sart case 'P':
4757ee2582Sart ret |= do_process();
4857ee2582Sart break;
498c56f353Smickey case 'r':
508c56f353Smickey ret |= do_random();
518c56f353Smickey break;
52e7479016Santon case 'R':
53e56ad730Santon n = strtonum(optarg, 1, INT_MAX, NULL);
54e56ad730Santon ret |= do_regress(n);
55e7479016Santon break;
566897c9b5Sguenther case 's':
576897c9b5Sguenther ret |= do_signal();
586897c9b5Sguenther break;
599127188dSmickey case 't':
609127188dSmickey ret |= do_tun();
619127188dSmickey break;
62507ad807Smickey case 'T':
63e56ad730Santon n = strtonum(optarg, 1, INT_MAX, NULL);
64e56ad730Santon ret |= do_pty(n);
65507ad807Smickey break;
665a789c51Sart default:
67e03a59bcSanton fprintf(stderr, "usage: %s -[fFiIlpPrstT] [-R n]\n",
6883e1bbf5Santon __progname);
695a789c51Sart exit(1);
705a789c51Sart }
715a789c51Sart }
725a789c51Sart
735a789c51Sart return (ret);
745a789c51Sart }
75