summaryrefslogtreecommitdiffstats
path: root/include/libnetfilter_conntrack/libnetfilter_conntrack.h
diff options
context:
space:
mode:
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
commitf23f45f0f09656c0ef960febf6e07442c9053e6d (patch)
treedea24d9ad3e1a93b44406e927d8e1be15c1f8af3 /include/libnetfilter_conntrack/libnetfilter_conntrack.h
parentfd5957445131fa3855d40db40e421e78e9c9246a (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.h13
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);