upload tizen1.0 source
[external/iptables.git] / ip6tables-multi.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <libgen.h>
5
6 int ip6tables_main(int argc, char **argv);
7 int ip6tables_save_main(int argc, char **argv);
8 int ip6tables_restore_main(int argc, char **argv);
9
10 int main(int argc, char **argv)
11 {
12         char *progname;
13
14         if (argc < 1) {
15                 fprintf(stderr, "ERROR: This should not happen.\n");
16                 exit(EXIT_FAILURE);
17         }
18
19         progname = basename(argv[0]);
20         if (strcmp(progname, "ip6tables") == 0)
21                 return ip6tables_main(argc, argv);
22         if (strcmp(progname, "ip6tables-save") == 0)
23                 return ip6tables_save_main(argc, argv);
24         if (strcmp(progname, "ip6tables-restore") == 0)
25                 return ip6tables_restore_main(argc, argv);
26
27         ++argv;
28         --argc;
29         if (argc < 1) {
30                 fprintf(stderr, "ERROR: No subcommand given.\n");
31                 exit(EXIT_FAILURE);
32         }
33
34         progname = basename(argv[0]);
35         if (strcmp(progname, "main") == 0)
36                 return ip6tables_main(argc, argv);
37         if (strcmp(progname, "save") == 0)
38                 return ip6tables_save_main(argc, argv);
39         if (strcmp(progname, "restore") == 0)
40                 return ip6tables_restore_main(argc, argv);
41
42         fprintf(stderr, "ip6tables multi-purpose version: "
43                 "unknown subcommand \"%s\"\n", progname);
44         exit(EXIT_FAILURE);
45 }