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 #ifdef ENABLE_NFTABLES
18 #include "xtables-multi.h"
19 #endif
20
21 static const struct subcommand multi_subcommands[] = {
22 #ifdef ENABLE_IPV4
23 {"iptables", iptables_main},
24 {"main4", iptables_main},
25 {"iptables-save", iptables_save_main},
26 {"save4", iptables_save_main},
27 {"iptables-restore", iptables_restore_main},
28 {"restore4", iptables_restore_main},
29 {"iptables-legacy", iptables_main},
30 {"iptables-legacy-save",iptables_save_main},
31 {"iptables-legacy-restore",iptables_restore_main},
32
33
34 #endif
35 {"iptables-xml", iptables_xml_main},
36 {"xml", iptables_xml_main},
37 #ifdef ENABLE_IPV6
38 {"ip6tables", ip6tables_main},
39 {"main6", ip6tables_main},
40 {"ip6tables-save", ip6tables_save_main},
41 {"save6", ip6tables_save_main},
42 {"ip6tables-restore", ip6tables_restore_main},
43 {"restore6", ip6tables_restore_main},
44 {"ip6tables-legacy", ip6tables_main},
45 {"ip6tables-legacy-save",ip6tables_save_main},
46 {"ip6tables-legacy-restore",ip6tables_restore_main},
47 #endif
48 {NULL},
49 };
50
main(int argc,char ** argv)51 int main(int argc, char **argv)
52 {
53 return subcmd_main(argc, argv, multi_subcommands);
54 }
55