1 #include <config.h>
2 #include <stdio.h>
3 #include <stdlib.h>
4 #include <string.h>
5 #include "xshared.h"
6
7 #include "xtables-multi.h"
8
9 #ifdef ENABLE_IPV4
10 #include "iptables-multi.h"
11 #endif
12
13 #ifdef ENABLE_IPV6
14 #include "ip6tables-multi.h"
15 #endif
16
17 static const struct subcommand multi_subcommands[] = {
18 #ifdef ENABLE_IPV4
19 {"iptables", iptables_main},
20 {"main4", iptables_main},
21 {"iptables-save", iptables_save_main},
22 {"save4", iptables_save_main},
23 {"iptables-restore", iptables_restore_main},
24 {"restore4", iptables_restore_main},
25 {"iptables-legacy", iptables_main},
26 {"iptables-legacy-save",iptables_save_main},
27 {"iptables-legacy-restore",iptables_restore_main},
28
29
30 #endif
31 {"iptables-xml", iptables_xml_main},
32 {"xml", iptables_xml_main},
33 #ifdef ENABLE_IPV6
34 {"ip6tables", ip6tables_main},
35 {"main6", ip6tables_main},
36 {"ip6tables-save", ip6tables_save_main},
37 {"save6", ip6tables_save_main},
38 {"ip6tables-restore", ip6tables_restore_main},
39 {"restore6", ip6tables_restore_main},
40 {"ip6tables-legacy", ip6tables_main},
41 {"ip6tables-legacy-save",ip6tables_save_main},
42 {"ip6tables-legacy-restore",ip6tables_restore_main},
43 #endif
44 {NULL},
45 };
46
main(int argc,char ** argv)47 int main(int argc, char **argv)
48 {
49 return subcmd_main(argc, argv, multi_subcommands);
50 }
51