From f23f45f0f09656c0ef960febf6e07442c9053e6d Mon Sep 17 00:00:00 2001 From: "/C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org" Date: Sun, 23 Oct 2005 22:14:05 +0000 Subject: o Add conntrack event notification test o Define NFCT_ANY_GROUP flag o Now callback can return a value to stop receiving events o implement nfct_unset_callback() --- include/libnetfilter_conntrack/libnetfilter_conntrack.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/libnetfilter_conntrack/libnetfilter_conntrack.h b/include/libnetfilter_conntrack/libnetfilter_conntrack.h index fdd3134..1f09354 100644 --- a/include/libnetfilter_conntrack/libnetfilter_conntrack.h +++ b/include/libnetfilter_conntrack/libnetfilter_conntrack.h @@ -30,6 +30,12 @@ enum { */ #define NFCT_ANY_ID 0 +/* + * Default flag that is passed to nfct_open(), subscribe + * to all possible groups + */ +#define NFCT_ANY_GROUP ~0U + union nfct_l4 { /* Add other protocols here. */ u_int16_t all; @@ -149,7 +155,7 @@ enum { NFCT_MSG_DESTROY }; -typedef void (*nfct_callback)(void *arg, unsigned int flags, int); +typedef int (*nfct_callback)(void *arg, unsigned int flags, int); typedef int (*nfct_handler)(struct sockaddr_nl *, struct nlmsghdr *, void *arg); struct nfct_handle { @@ -177,12 +183,13 @@ extern void nfct_unregister_proto(struct nfct_proto *h); extern struct nfct_handle *nfct_open(u_int8_t, unsigned); extern int nfct_close(struct nfct_handle *cth); extern void nfct_set_callback(struct nfct_handle *cth, nfct_callback callback); +extern void nfct_unset_callback(struct nfct_handle *cth); /* * callback displayers */ -extern void nfct_default_conntrack_display(void *arg, unsigned int, int); -extern void nfct_default_expect_display(void *arg, unsigned int, int); +extern int nfct_default_conntrack_display(void *arg, unsigned int, int); +extern int nfct_default_expect_display(void *arg, unsigned int, int); extern int nfct_create_conntrack(struct nfct_handle *cth, struct nfct_conntrack *ct); -- cgit v1.2.3