summaryrefslogtreecommitdiff
path: root/networking/ip.c
diff options
context:
space:
mode:
Diffstat (limited to 'networking/ip.c')
-rw-r--r--networking/ip.c52
1 files changed, 51 insertions, 1 deletions
diff --git a/networking/ip.c b/networking/ip.c
index dc9ca1f91..dd1d863da 100644
--- a/networking/ip.c
+++ b/networking/ip.c
@@ -22,6 +22,57 @@ static int ATTRIBUTE_NORETURN ip_print_help(int ATTRIBUTE_UNUSED ac, char ATTRIB
22{ 22{
23 bb_show_usage(); 23 bb_show_usage();
24} 24}
25
26static int (*ip_func)(int argc, char **argv) = ip_print_help;
27
28static int ip_do(int argc, char **argv)
29{
30 ip_parse_common_args(&argc, &argv);
31 return ip_func(argc-1, argv+1);
32}
33
34#if ENABLE_FEATURE_IP_ADDRESS
35int ipaddr_main(int argc, char **argv);
36int ipaddr_main(int argc, char **argv)
37{
38 ip_func = do_ipaddr;
39 return ip_do(argc, argv);
40}
41#endif
42#if ENABLE_FEATURE_IP_LINK
43int iplink_main(int argc, char **argv);
44int iplink_main(int argc, char **argv)
45{
46 ip_func = do_iplink;
47 return ip_do(argc, argv);
48}
49#endif
50#if ENABLE_FEATURE_IP_ROUTE
51int iproute_main(int argc, char **argv);
52int iproute_main(int argc, char **argv)
53{
54 ip_func = do_iproute;
55 return ip_do(argc, argv);
56}
57#endif
58#if ENABLE_FEATURE_IP_RULE
59int iprule_main(int argc, char **argv);
60int iprule_main(int argc, char **argv)
61{
62 ip_func = do_iprule;
63 return ip_do(argc, argv);
64}
65#endif
66#if ENABLE_FEATURE_IP_TUNNEL
67int iptunnel_main(int argc, char **argv);
68int iptunnel_main(int argc, char **argv)
69{
70 ip_func = do_iptunnel;
71 return ip_do(argc, argv);
72}
73#endif
74
75
25int ip_main(int argc, char **argv); 76int ip_main(int argc, char **argv);
26int ip_main(int argc, char **argv) 77int ip_main(int argc, char **argv)
27{ 78{
@@ -41,7 +92,6 @@ int ip_main(int argc, char **argv)
41 USE_FEATURE_IP_RULE(IP_rule,) 92 USE_FEATURE_IP_RULE(IP_rule,)
42 IP_none 93 IP_none
43 }; 94 };
44 int (*ip_func)(int argc, char **argv) = ip_print_help;
45 95
46 ip_parse_common_args(&argc, &argv); 96 ip_parse_common_args(&argc, &argv);
47 if (argc > 1) { 97 if (argc > 1) {