blob: 28c1737c2cf29aef661132bea5fdd24c78c78e54 [file] [log] [blame]
Joszef Kadlecsik2c0aa972004-06-27 01:12:07 +00001#include <stdio.h>
2#include <stdlib.h>
3#include <string.h>
4#include <libgen.h>
5
6int iptables_main(int argc, char **argv);
7int iptables_save_main(int argc, char **argv);
8int iptables_restore_main(int argc, char **argv);
Lutz Jaenickee78c69c2006-12-09 13:06:04 +00009int iptables_xml_main(int argc, char **argv);
Joszef Kadlecsik2c0aa972004-06-27 01:12:07 +000010
11int main(int argc, char **argv) {
12 char *progname;
13
14 if (argc == 0) {
15 fprintf(stderr, "no argv[0]?");
16 exit(1);
17 } else {
18 progname = basename(argv[0]);
19
Jan Engelhardtcdf51d02009-03-24 22:35:10 +010020 if (!strcmp(progname, "iptables") ||
21 strcmp(progname, "iptables-static") == 0)
Joszef Kadlecsik2c0aa972004-06-27 01:12:07 +000022 return iptables_main(argc, argv);
23
24 if (!strcmp(progname, "iptables-save"))
25 return iptables_save_main(argc, argv);
26
27 if (!strcmp(progname, "iptables-restore"))
28 return iptables_restore_main(argc, argv);
29
Lutz Jaenickee78c69c2006-12-09 13:06:04 +000030 if (!strcmp(progname, "iptables-xml"))
31 return iptables_xml_main(argc, argv);
32
Joszef Kadlecsik2c0aa972004-06-27 01:12:07 +000033 fprintf(stderr, "iptables multi-purpose version: unknown applet name %s\n", progname);
34 exit(1);
35 }
36}