diff options
author | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org> | 2005-10-23 22:14:05 +0000 |
---|---|---|
committer | /C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org </C=DE/ST=Berlin/L=Berlin/O=Netfilter Project/OU=Development/CN=pablo/emailAddress=pablo@netfilter.org> | 2005-10-23 22:14:05 +0000 |
commit | f23f45f0f09656c0ef960febf6e07442c9053e6d (patch) | |
tree | dea24d9ad3e1a93b44406e927d8e1be15c1f8af3 /include/libnetfilter_conntrack/libnetfilter_conntrack.h | |
parent | fd5957445131fa3855d40db40e421e78e9c9246a (diff) |
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()
Diffstat (limited to 'include/libnetfilter_conntrack/libnetfilter_conntrack.h')
-rw-r--r-- | include/libnetfilter_conntrack/libnetfilter_conntrack.h | 13 |
1 files changed, 10 insertions, 3 deletions
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); |