summaryrefslogtreecommitdiffstats
path: root/include/xtables.h
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2022-06-02 10:53:31 +0200
committerPhil Sutter <phil@nwl.cc>2022-06-23 14:22:22 +0200
commit0124019fb36859a77c32b6f96eeb4cc3e8ebb432 (patch)
tree251622329723088245945dcac9aece007e6f7077 /include/xtables.h
parent6c12201b5ff08d9e1524477ff63bb8810198d638 (diff)
libxtables: Move struct xtables_afinfo into xtables.h
The library "owns" this structure and maintains 'afinfo' pointer to instances of it. With libxt_set, there's even an extension making use of the data. To avoid impact on library users, guard it by XTABLES_INTERNAL. To eliminate the xshared.h include by libxt_set, DEBUGP has to be redefined. Other extensions have similar defines, fix this later. Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'include/xtables.h')
-rw-r--r--include/xtables.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/include/xtables.h b/include/xtables.h
index f1937f3e..b8d8372d 100644
--- a/include/xtables.h
+++ b/include/xtables.h
@@ -665,6 +665,28 @@ void xtables_announce_chain(const char *name);
extern void _init(void);
+/**
+ * xtables_afinfo - protocol family dependent information
+ * @kmod: kernel module basename (e.g. "ip_tables")
+ * @proc_exists: file which exists in procfs when module already loaded
+ * @libprefix: prefix of .so library name (e.g. "libipt_")
+ * @family: nfproto family
+ * @ipproto: used by setsockopt (e.g. IPPROTO_IP)
+ * @so_rev_match: optname to check revision support of match
+ * @so_rev_target: optname to check revision support of target
+ */
+struct xtables_afinfo {
+ const char *kmod;
+ const char *proc_exists;
+ const char *libprefix;
+ uint8_t family;
+ uint8_t ipproto;
+ int so_rev_match;
+ int so_rev_target;
+};
+
+extern const struct xtables_afinfo *afinfo;
+
#endif /* XTABLES_INTERNAL */
#ifdef __cplusplus