summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/internal/object.h6
-rw-r--r--include/libnetfilter_conntrack/libnetfilter_conntrack.h11
2 files changed, 17 insertions, 0 deletions
diff --git a/include/internal/object.h b/include/internal/object.h
index cd06b88..04d64b6 100644
--- a/include/internal/object.h
+++ b/include/internal/object.h
@@ -34,6 +34,12 @@ struct nfct_handle {
int (*expect_cb)(enum nf_conntrack_msg_type type,
struct nf_expect *exp,
void *data);
+
+ /* second version of the expect callback: it includes netlink header */
+ int (*expect_cb2)(const struct nlmsghdr *nlh,
+ enum nf_conntrack_msg_type type,
+ struct nf_expect *exp,
+ void *data);
};
/* container used to pass data to nfnl callbacks */
diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack.h b/include/libnetfilter_conntrack/libnetfilter_conntrack.h
index 346039c..b0487b6 100644
--- a/include/libnetfilter_conntrack/libnetfilter_conntrack.h
+++ b/include/libnetfilter_conntrack/libnetfilter_conntrack.h
@@ -519,6 +519,17 @@ extern int nfexp_callback_register(struct nfct_handle *h,
extern void nfexp_callback_unregister(struct nfct_handle *h);
+/* register / unregister callback: extended version including netlink header */
+extern int nfexp_callback_register2(struct nfct_handle *h,
+ enum nf_conntrack_msg_type type,
+ int (*cb)(const struct nlmsghdr *nlh,
+ enum nf_conntrack_msg_type type,
+ struct nf_expect *exp,
+ void *data),
+ void *data);
+
+extern void nfexp_callback_unregister2(struct nfct_handle *h);
+
/* setter */
extern void nfexp_set_attr(struct nf_expect *exp,
const enum nf_expect_attr type,