summaryrefslogtreecommitdiffstats
path: root/include/xtables/internal.h.in
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2009-01-27 20:56:23 +0100
committerJan Engelhardt <jengelh@medozas.de>2009-01-30 03:27:42 +0100
commitdacafa55379fd98212031d8c559096c91d7ce93b (patch)
tree9a2e6dd3eda76dbcc22d6c74377889bca7223c41 /include/xtables/internal.h.in
parent5f2922cfc0bbfbeb878f5c12e9fb3eb602ae5507 (diff)
libxtables: prefix/order - program_name
Split XTABLES_VERSION into xtables and iptables, and encode the xtables soversion into the extensions instead. This makes it possible to upgrade iptables without having to recompile 3rd-party extensions (if the libxtables version matches, of course). Signed-off-by: Jan Engelhardt <jengelh@medozas.de>
Diffstat (limited to 'include/xtables/internal.h.in')
-rw-r--r--include/xtables/internal.h.in41
1 files changed, 41 insertions, 0 deletions
diff --git a/include/xtables/internal.h.in b/include/xtables/internal.h.in
new file mode 100644
index 00000000..21438290
--- /dev/null
+++ b/include/xtables/internal.h.in
@@ -0,0 +1,41 @@
+#ifndef _XTABLES_INTERNAL_H
+#define _XTABLES_INTERNAL_H 1
+
+#define IPTABLES_VERSION "@PACKAGE_VERSION@"
+
+#ifndef XT_LIB_DIR
+# define XT_LIB_DIR "/usr/local/lib/iptables"
+#endif
+
+/* protocol family dependent informations */
+struct afinfo {
+ /* protocol family */
+ int family;
+
+ /* prefix of library name (ex "libipt_" */
+ char *libprefix;
+
+ /* used by setsockopt (ex IPPROTO_IP */
+ int ipproto;
+
+ /* kernel module (ex "ip_tables" */
+ char *kmod;
+
+ /* optname to check revision support of match */
+ int so_rev_match;
+
+ /* optname to check revision support of match */
+ int so_rev_target;
+};
+
+/* This is decleared in ip[6]tables.c */
+extern struct afinfo afinfo;
+
+/**
+ * Program's own name and version.
+ */
+extern const char *program_name, *program_version;
+
+extern void _init(void);
+
+#endif /* _XTABLES_INTERNAL_H */