From 0d32c5c070f817229110f92d7b31df9a3e4eeec5 Mon Sep 17 00:00:00 2001 From: Jozsef Kadlecsik Date: Sun, 24 Oct 2010 21:42:48 +0200 Subject: Fixes, cleanups, comments - More comments added to the code - ICMP and ICMPv6 support added to the hash:ip,port, hash:ip,port,ip and hash:ip,port,net types - hash:net and hash:ip,port,net types are reworked - hash:net,port type added - Wrong direction parameters fixed in hash:ip,port - Helps and manpage are updated - More tests added - Ugly macros are rewritten to functions in parse.c (Holger Eitzenberger) - resize related bug in hash types fixed (Holger Eitzenberger) - autoreconf patches by Jan Engelhardt applied - netlink patch minimalized: dumping can be initialized by a second parsing of the message (thanks to David and Patrick for the suggestion) - IPv4/IPv6 address attributes are introduced in order to fix the context (suggested by David) --- lib/mnl.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) (limited to 'lib/mnl.c') diff --git a/lib/mnl.c b/lib/mnl.c index 8056427..aa98a7c 100644 --- a/lib/mnl.c +++ b/lib/mnl.c @@ -21,12 +21,13 @@ #define NFNL_SUBSYS_IPSET 6 #endif +/* Internal data structure for the kernel-userspace communication parameters */ struct ipset_handle { - struct mnl_socket *h; - unsigned int seq; - unsigned int portid; - mnl_cb_t *cb_ctl; - void *data; + struct mnl_socket *h; /* the mnl socket */ + unsigned int seq; /* netlink message sequence number */ + unsigned int portid; /* the socket port identifier */ + mnl_cb_t *cb_ctl; /* control block callbacks */ + void *data; /* data pointer */ }; /* Netlink flags of the commands */ @@ -46,6 +47,12 @@ static uint16_t cmdflags[] = { [IPSET_CMD_PROTOCOL-1] = NLM_F_REQUEST, }; +/** + * ipset_get_nlmsg_type - get ipset netlink message type + * @nlh: pointer to the netlink message header + * + * Returns the ipset netlink message type, i.e. the ipset command. + */ int ipset_get_nlmsg_type(const struct nlmsghdr *nlh) { -- cgit v1.2.3