diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/internal/object.h | 6 | ||||
-rw-r--r-- | include/libnetfilter_conntrack/libnetfilter_conntrack.h | 11 |
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, |