blob: 9db4bafd511bee29747e96b3d84c8ed7ea8a3815 [file] [log] [blame]
Julian Anastasov8afcc282012-09-11 12:04:33 +03001#ifndef __LIBGENL_H__
2#define __LIBGENL_H__
3
4#include "libnetlink.h"
5
Julian Anastasov328d4822012-09-12 09:15:19 +03006#define GENL_REQUEST(_req, _bufsiz, _family, _hdrsiz, _ver, _cmd, _flags) \
Julian Anastasov8afcc282012-09-11 12:04:33 +03007struct { \
8 struct nlmsghdr n; \
9 struct genlmsghdr g; \
10 char buf[NLMSG_ALIGN(_hdrsiz) + (_bufsiz)]; \
Julian Anastasov328d4822012-09-12 09:15:19 +030011} _req = { \
12 .n = { \
13 .nlmsg_type = (_family), \
14 .nlmsg_flags = (_flags), \
15 .nlmsg_len = NLMSG_LENGTH(GENL_HDRLEN + (_hdrsiz)), \
16 }, \
17 .g = { \
18 .cmd = (_cmd), \
19 .version = (_ver), \
20 }, \
21}
Julian Anastasov8afcc282012-09-11 12:04:33 +030022
23extern int genl_resolve_family(struct rtnl_handle *grth, const char *family);
24
25#endif /* __LIBGENL_H__ */