diff options
author | Martin Willi <martin@revosec.ch> | 2014-07-09 15:47:24 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2014-09-24 11:19:58 +0200 |
commit | 0404a29bfe7a24ca0c6d4f94405a01f6ff942f43 (patch) | |
tree | 1635f6083a58d22aa91b5f58d3a6a754e0736f91 /src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h | |
parent | 6fe02dda752cbb2c2389a3367a3b6e04add43425 (diff) | |
download | strongswan-0404a29bfe7a24ca0c6d4f94405a01f6ff942f43.tar.bz2 strongswan-0404a29bfe7a24ca0c6d4f94405a01f6ff942f43.tar.xz |
kernel-netlink: Define netlink buffer as an union having a netlink header
This allows us to streamline the netlink buffers, and avoid extensive
casting.
Diffstat (limited to 'src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h')
-rw-r--r-- | src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h index 8be935bc3..1a03a89a8 100644 --- a/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h +++ b/src/libhydra/plugins/kernel_netlink/kernel_netlink_shared.h @@ -26,7 +26,10 @@ * 1024 byte is currently sufficient for all operations. Some platform * require an enforced aligment to four bytes (e.g. ARM). */ -typedef u_char netlink_buf_t[1024] __attribute__((aligned(RTA_ALIGNTO))); +typedef union { + struct nlmsghdr hdr; + u_char bytes[1024]; +} netlink_buf_t __attribute__((aligned(RTA_ALIGNTO))); typedef struct netlink_socket_t netlink_socket_t; |