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-05-01 23:19:42 +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-05-01 23:19:42 +0000 |
commit | d894e26211f38db37015850afab6b7331edeecdb (patch) | |
tree | 27f9eb6baebd2fc2c5b54c97b4775797b69e43ba /include | |
parent | 21ed4ac1f957f1e4d7be195a98fb235de13ede21 (diff) | |
download | conntrack-tools-d894e26211f38db37015850afab6b7331edeecdb.tar.gz conntrack-tools-d894e26211f38db37015850afab6b7331edeecdb.zip |
o Created changelog file
o Deleted libctnetlink.h and libnfnetlink.h from the include/ dir.
o Added support for version (-V) and help (-h)
o Added event mask based support
o Added GPLv2 headers
o Use fprintf instead of printf
o Defined print_tuple and print_proto output interfaces
o ctnl_[get|del]_conntrack handles return value from kernel via msgerr
o Added support for conntrack table flushing
o Added test case file (test.sh)
o Improve dump output
o Autoconf stuff for conntrack + some pablo's modifications.
o Fixed packet counters formatting (use %llu instead of %lu)
Diffstat (limited to 'include')
-rw-r--r-- | include/Makefile.am | 2 | ||||
-rw-r--r-- | include/libct_proto.h | 9 | ||||
-rw-r--r-- | include/libctnetlink.h | 72 | ||||
-rw-r--r-- | include/libnfnetlink.h | 50 |
4 files changed, 10 insertions, 123 deletions
diff --git a/include/Makefile.am b/include/Makefile.am new file mode 100644 index 0000000..f91ed48 --- /dev/null +++ b/include/Makefile.am @@ -0,0 +1,2 @@ + +include_HEADERS = libct_proto.h linux_list.h diff --git a/include/libct_proto.h b/include/libct_proto.h index 416d916..1049cef 100644 --- a/include/libct_proto.h +++ b/include/libct_proto.h @@ -1,9 +1,15 @@ #ifndef _LIBCT_PROTO_H #define _LIBCT_PROTO_H +/* FIXME: Rename this file pablo... */ + #include "linux_list.h" #include <getopt.h> +#define CONNTRACK_LIB_DIR "/usr/local/lib" + +struct cta_proto; + struct ctproto_handler { struct list_head head; @@ -15,7 +21,8 @@ struct ctproto_handler { struct ip_conntrack_tuple *reply, union ip_conntrack_proto *proto, unsigned int *flags); - void (*print)(struct ip_conntrack_tuple *t); + void (*print_tuple)(struct ip_conntrack_tuple *t); + void (*print_proto)(union ip_conntrack_proto *proto); int (*final_check)(unsigned int flags); diff --git a/include/libctnetlink.h b/include/libctnetlink.h deleted file mode 100644 index 2cba075..0000000 --- a/include/libctnetlink.h +++ /dev/null @@ -1,72 +0,0 @@ -/* libctnetlink.h: Header file for the Connection Tracking library. - * - * Jay Schulist <jschlst@samba.org>, Copyright (c) 2001. - * (C) 2002 by Harald Welte <laforge@gnumonks.org> - * - * This software may be used and distributed according to the terms - * of the GNU General Public License, incorporated herein by reference. - */ - -#ifndef __LIBCTNETLINK_H -#define __LIBCTNETLINK_H - -#include <netinet/in.h> -#include <asm/types.h> -#include <linux/if.h> -#include <linux/netfilter/nfnetlink.h> -#include <linux/netfilter_ipv4/ip_conntrack.h> -#include <linux/netfilter_ipv4/ip_conntrack_netlink.h> -#include "libnfnetlink.h" - -#define CTNL_BUFFSIZE 8192 - -struct ctnl_msg_handler { - int type; - int (*handler)(struct sockaddr_nl *, struct nlmsghdr *, void *arg); -}; - -struct ctnl_handle { - struct nfnl_handle nfnlh; - struct ctnl_msg_handler *handler[IPCTNL_MSG_COUNT]; -}; - -extern int ctnl_open(struct ctnl_handle *cth, unsigned subscriptions); -extern int ctnl_close(struct ctnl_handle *cth); -extern int ctnl_unregister_handler(struct ctnl_handle *cth, int type); -extern int ctnl_register_handler(struct ctnl_handle *cth, - struct ctnl_msg_handler *hndlr); -extern int ctnl_get_conntrack(struct ctnl_handle *cth, - struct ip_conntrack_tuple *tuple, - enum ctattr_type_t t, - unsigned long id); -extern int ctnl_del_conntrack(struct ctnl_handle *cth, - struct ip_conntrack_tuple *tuple, - enum ctattr_type_t t, - unsigned long id); -extern int ctnl_list_conntrack(struct ctnl_handle *cth, int family); - -extern int ctnl_list_expect(struct ctnl_handle *cth, int family); -extern int ctnl_del_expect(struct ctnl_handle *cth, - struct ip_conntrack_tuple *t); - -#if 0 -extern int ctnl_listen(struct ctnl_handle *ctnl, - int (*handler)(struct sockaddr_nl *, struct nlmsghdr *n, void *), - void *jarg); -extern int ctnl_talk(struct ctnl_handle *ctnl, struct nlmsghdr *n, pid_t peer, - unsigned groups, struct nlmsghdr *answer, - int (*junk)(struct sockaddr_nl *, struct nlmsghdr *n, void *), - void *jarg); -extern int ctnl_dump_request(struct ctnl_handle *cth, int type, void *req, - int len); -extern int ctnl_dump_filter(struct ctnl_handle *cth, - int (*filter)(struct sockaddr_nl *, struct nlmsghdr *n, void *), - void *arg1, - int (*junk)(struct sockaddr_nl *,struct nlmsghdr *n, void *), - void *arg2); -#endif - -extern int ctnl_send(struct ctnl_handle *cth, struct nlmsghdr *n); -extern int ctnl_wilddump_request(struct ctnl_handle *cth, int family, int type); - -#endif /* __LIBCTNETLINK_H */ diff --git a/include/libnfnetlink.h b/include/libnfnetlink.h deleted file mode 100644 index 944e607..0000000 --- a/include/libnfnetlink.h +++ /dev/null @@ -1,50 +0,0 @@ -/* libnfnetlink.h: Header file for generic netfilter netlink interface - * - * (C) 2002 Harald Welte <laforge@gnumonks.org> - */ - -#ifndef __LIBNFNETLINK_H -#define __LIBNFNETLINK_H - -#include <linux/types.h> -#include <linux/netlink.h> -#include <linux/netfilter/nfnetlink.h> - -#define NFNL_BUFFSIZE 8192 - -struct nfnl_handle { - int fd; - struct sockaddr_nl local; - struct sockaddr_nl peer; - u_int8_t subsys_id; - u_int32_t seq; - u_int32_t dump; -}; - -/* get a new library handle */ -extern int nfnl_open(struct nfnl_handle *, u_int8_t, unsigned int); -extern int nfnl_close(struct nfnl_handle *); -extern int nfnl_send(struct nfnl_handle *, struct nlmsghdr *); - - -extern void nfnl_fill_hdr(struct nfnl_handle *, struct nlmsghdr *, int, - u_int8_t, u_int16_t, u_int16_t); - -extern int nfnl_listen(struct nfnl_handle *, - int (*)(struct sockaddr_nl *, struct nlmsghdr *, void *), - void *); - -extern int nfnl_talk(struct nfnl_handle *, struct nlmsghdr *, pid_t, - unsigned, struct nlmsghdr *, - int (*)(struct sockaddr_nl *, struct nlmsghdr *, void *), - void *); - -/* nfnl attribute handling functions */ -extern int nfnl_addattr_l(struct nlmsghdr *, int, int, void *, int); -extern int nfnl_addattr32(struct nlmsghdr *, int, int, u_int32_t); -extern int nfnl_nfa_addattr_l(struct nfattr *, int, int, void *, int); -extern int nfnl_nfa_addattr32(struct nfattr *, int, int, u_int32_t); -extern int nfnl_parse_attr(struct nfattr **, int, struct nfattr *, int); - -extern void nfnl_dump_packet(struct nlmsghdr *, int, char *); -#endif /* __LIBNFNETLINK_H */ |