From 4dcdc9b3f8f42eb3b5a1d12e1b3d2fc1e2675725 Mon Sep 17 00:00:00 2001 From: Jamal Hadi Salim Date: Wed, 11 Feb 2009 13:03:34 +0100 Subject: libxtables: Make ip6tables, iptables and iptables-xml use xtables_globals convert ip6tables, iptables and iptables-xml to use xtables_globals/xtables_set_params() Signed-off-by: Jamal Hadi Salim Signed-off-by: Patrick McHardy --- Makefile.am | 1 + ip6tables.c | 8 ++++++++ iptables-xml.c | 8 ++++++++ iptables.c | 9 +++++++++ 4 files changed, 26 insertions(+) diff --git a/Makefile.am b/Makefile.am index 0ffb9785..96de1b2e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -21,6 +21,7 @@ iptables_SOURCES = iptables-standalone.c iptables.c iptables_LDFLAGS = -rdynamic iptables_LDADD = -ldl -lm libiptc/libiptc.a extensions/libext4.a libxtables.la +iptables_xml_LDADD = -ldl libxtables.la iptables_multi_SOURCES = iptables-multi.c iptables-save.c \ iptables-restore.c iptables-xml.c \ iptables-standalone.c iptables.c diff --git a/ip6tables.c b/ip6tables.c index 233974f2..7561353f 100644 --- a/ip6tables.c +++ b/ip6tables.c @@ -145,6 +145,13 @@ int line = -1; static struct option *opts = original_opts; static unsigned int global_option_offset = 0; +struct xtables_globals ip6tables_globals = { + .option_offset = 0, + .program_version = IPTABLES_VERSION, + .program_name = "ip6tables", + .opts = original_opts, + .exit_error = exit_error, +}; /* Table of legal combinations of commands and options. If any of the * given commands make an option legal, that option is legal (applies to @@ -1371,6 +1378,7 @@ int do_command6(int argc, char *argv[], char **table, struct ip6tc_handle **hand demand-load a protocol. */ opterr = 0; + xtables_set_params(&ip6tables_globals); while ((c = getopt_long(argc, argv, "-A:D:R:I:L::S::M:F::Z::N:X::E:P:Vh::o:p:s:d:j:i:bvnt:m:xc:g:", opts, NULL)) != -1) { diff --git a/iptables-xml.c b/iptables-xml.c index 307845c5..329c5983 100644 --- a/iptables-xml.c +++ b/iptables-xml.c @@ -17,6 +17,7 @@ #include "iptables.h" #include "libiptc/libiptc.h" #include "iptables-multi.h" +#include #ifdef DEBUG #define DEBUGP(x, args...) fprintf(stderr, x, ## args) @@ -629,6 +630,12 @@ do_rule(char *pcnt, char *bcnt, int argc, char *argv[], int argvattr[]) do_rule_part(NULL, NULL, 1, argc, argv, argvattr); } +struct xtables_globals iptables_xml_globals = { + .option_offset = 0, + .program_version = IPTABLES_VERSION, + .program_name = "iptables-xml", + .exit_error = exit_error, +}; #ifdef IPTABLES_MULTI int @@ -646,6 +653,7 @@ main(int argc, char *argv[]) program_version = IPTABLES_VERSION; line = 0; + xtables_set_params(&iptables_xml_globals); while ((c = getopt_long(argc, argv, "cvh", options, NULL)) != -1) { switch (c) { case 'c': diff --git a/iptables.c b/iptables.c index f1a5d33e..e8bed877 100644 --- a/iptables.c +++ b/iptables.c @@ -145,6 +145,14 @@ int line = -1; static struct option *opts = original_opts; static unsigned int global_option_offset = 0; +struct xtables_globals iptables_globals = { + .option_offset = 0, + .program_version = IPTABLES_VERSION, + .program_name = "iptables", + .opts = original_opts, + .exit_error = exit_error, +}; + /* Table of legal combinations of commands and options. If any of the * given commands make an option legal, that option is legal (applies to * CMD_LIST and CMD_ZERO only). @@ -1393,6 +1401,7 @@ int do_command(int argc, char *argv[], char **table, struct iptc_handle **handle demand-load a protocol. */ opterr = 0; + xtables_set_params(&iptables_globals); while ((c = getopt_long(argc, argv, "-A:D:R:I:L::S::M:F::Z::N:X::E:P:Vh::o:p:s:d:j:i:fbvnt:m:xc:g:", opts, NULL)) != -1) { -- cgit v1.2.3