Home | History | Annotate | Download | only in genl
      1 /*
      2  * netlink/genl/genl.h		Generic Netlink
      3  *
      4  *	This library is free software; you can redistribute it and/or
      5  *	modify it under the terms of the GNU Lesser General Public
      6  *	License as published by the Free Software Foundation version 2.1
      7  *	of the License.
      8  *
      9  * Copyright (c) 2003-2012 Thomas Graf <tgraf (at) suug.ch>
     10  */
     11 
     12 #ifndef NETLINK_GENL_H_
     13 #define NETLINK_GENL_H_
     14 
     15 #include <netlink/netlink.h>
     16 #include <netlink/msg.h>
     17 #include <netlink/attr.h>
     18 
     19 #ifdef __cplusplus
     20 extern "C" {
     21 #endif
     22 
     23 extern int		genl_connect(struct nl_sock *);
     24 extern int		genl_send_simple(struct nl_sock *, int, int,
     25 					 int, int);
     26 
     27 extern void *		genlmsg_put(struct nl_msg *, uint32_t, uint32_t,
     28 				    int, int, int, uint8_t, uint8_t);
     29 
     30 extern int		genlmsg_valid_hdr(struct nlmsghdr *, int);
     31 extern int		genlmsg_validate(struct nlmsghdr *, int, int,
     32 					 struct nla_policy *);
     33 extern int		genlmsg_parse(struct nlmsghdr *, int, struct nlattr **,
     34 				      int, struct nla_policy *);
     35 extern struct genlmsghdr *
     36 			genlmsg_hdr(struct nlmsghdr *);
     37 extern void *		genlmsg_data(const struct genlmsghdr *);
     38 extern void *		genlmsg_user_hdr(const struct genlmsghdr *);
     39 extern void *		genlmsg_user_data(const struct genlmsghdr *, const int);
     40 extern int		genlmsg_user_datalen(const struct genlmsghdr *,
     41 					     const int);
     42 extern int		genlmsg_len(const struct genlmsghdr *);
     43 extern struct nlattr *	genlmsg_attrdata(const struct genlmsghdr *, int);
     44 extern int		genlmsg_attrlen(const struct genlmsghdr *, int);
     45 
     46 extern char *		genl_op2name(int, int, char *, size_t);
     47 
     48 #ifdef __cplusplus
     49 }
     50 #endif
     51 
     52 #endif
     53