suppress warnings about easch <applet>_main() having
[oweals/busybox.git] / networking / ip.c
1 /* vi: set sw=4 ts=4: */
2 /*
3  * ip.c         "ip" utility frontend.
4  *
5  * Licensed under the GPL v2 or later, see the file LICENSE in this tarball.
6  *
7  * Authors:     Alexey Kuznetsov, <kuznet@ms2.inr.ac.ru>
8  *
9  *
10  * Changes:
11  *
12  * Rani Assaf <rani@magic.metawire.com> 980929: resolve addresses
13  */
14
15 #include "busybox.h"
16
17 #include "libiproute/utils.h"
18 #include "libiproute/ip_common.h"
19
20 int ip_main(int argc, char **argv);
21 int ip_main(int argc, char **argv)
22 {
23         int ret = EXIT_FAILURE;
24
25         ip_parse_common_args(&argc, &argv);
26
27         if (argc > 1) {
28                 if (ENABLE_FEATURE_IP_ADDRESS && matches(argv[1], "address") == 0) {
29                         ret = do_ipaddr(argc-2, argv+2);
30                 }
31                 if (ENABLE_FEATURE_IP_ROUTE && matches(argv[1], "route") == 0) {
32                         ret = do_iproute(argc-2, argv+2);
33                 }
34                 if (ENABLE_FEATURE_IP_LINK && matches(argv[1], "link") == 0) {
35                         ret = do_iplink(argc-2, argv+2);
36                 }
37                 if (ENABLE_FEATURE_IP_TUNNEL
38                  && (matches(argv[1], "tunnel") == 0 || strcmp(argv[1], "tunl") == 0)
39                 ) {
40                         ret = do_iptunnel(argc-2, argv+2);
41                 }
42                 if (ENABLE_FEATURE_IP_RULE && matches(argv[1], "rule") == 0) {
43                         ret = do_iprule(argc-2, argv+2);
44                 }
45         }
46         if (ret) {
47                 bb_show_usage();
48         }
49         return EXIT_SUCCESS;
50 }