From c94e93a7ab2f07ee7197fd33d4f0e20f2d7d9671 Mon Sep 17 00:00:00 2001 From: Martin Willi Date: Thu, 10 Jul 2014 14:21:20 +0200 Subject: kernel-netlink: Pass protocol specific enum names to socket constructor This avoid the hard dependency on enum names, and makes kernel_netlink_shared independent of kernel_netlink_ipsec. --- .../plugins/kernel_netlink/kernel_netlink_shared.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c') diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c index 74466e291..b4cece720 100644 --- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c +++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.c @@ -46,14 +46,14 @@ struct private_netlink_socket_t { int seq; /** - * netlink socket protocol + * netlink socket */ - int protocol; + int socket; /** - * netlink socket + * Enum names for Netlink messages */ - int socket; + enum_name_t *names; }; /** @@ -83,10 +83,10 @@ METHOD(netlink_socket_t, netlink_send, status_t, addr.nl_pid = 0; addr.nl_groups = 0; - if (this->protocol == NETLINK_XFRM) + if (this->names) { DBG3(DBG_KNL, "sending %N: %b", - xfrm_msg_names, in->nlmsg_type, in, in->nlmsg_len); + this->names, in->nlmsg_type, in, in->nlmsg_len); } while (TRUE) { @@ -230,7 +230,7 @@ METHOD(netlink_socket_t, destroy, void, /** * Described in header. */ -netlink_socket_t *netlink_socket_create(int protocol) +netlink_socket_t *netlink_socket_create(int protocol, enum_name_t *names) { private_netlink_socket_t *this; struct sockaddr_nl addr = { @@ -246,7 +246,7 @@ netlink_socket_t *netlink_socket_create(int protocol) .seq = 200, .mutex = mutex_create(MUTEX_TYPE_DEFAULT), .socket = socket(AF_NETLINK, SOCK_RAW, protocol), - .protocol = protocol, + .names = names, ); if (this->socket == -1) -- cgit v1.2.3