summaryrefslogtreecommitdiffstats
path: root/lib/mnl.c
diff options
context:
space:
mode:
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2010-10-24 21:42:48 +0200
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2010-10-24 21:42:48 +0200
commit0d32c5c070f817229110f92d7b31df9a3e4eeec5 (patch)
tree5ee04a9e03de32d2029ad0d708811e382ca922d1 /lib/mnl.c
parent62a3d29539aa109fed1c8a20d63ef95948b13842 (diff)
Fixes, cleanups, commentsv5.0-pre8
- 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)
Diffstat (limited to 'lib/mnl.c')
-rw-r--r--lib/mnl.c17
1 files changed, 12 insertions, 5 deletions
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)
{