Home | History | Annotate | Download | only in include
      1 #ifndef __LIBGENL_H__
      2 #define __LIBGENL_H__
      3 
      4 #include "libnetlink.h"
      5 
      6 #define GENL_REQUEST(_req, _bufsiz, _family, _hdrsiz, _ver, _cmd, _flags) \
      7 struct {								\
      8 	struct nlmsghdr		n;					\
      9 	struct genlmsghdr	g;					\
     10 	char			buf[NLMSG_ALIGN(_hdrsiz) + (_bufsiz)];	\
     11 } _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 }
     22 
     23 extern int genl_resolve_family(struct rtnl_handle *grth, const char *family);
     24 extern int genl_init_handle(struct rtnl_handle *grth, const char *family,
     25 			    int *genl_family);
     26 
     27 #endif /* __LIBGENL_H__ */
     28