• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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