00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef NETLINK_GENL_H_
00013 #define NETLINK_GENL_H_
00014
00015 #include <netlink/netlink.h>
00016 #include <netlink/msg.h>
00017 #include <netlink/attr.h>
00018
00019 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 extern int genl_connect(struct nl_sock *);
00024 extern int genl_send_simple(struct nl_sock *, int, int,
00025 int, int);
00026
00027 extern void * genlmsg_put(struct nl_msg *, uint32_t, uint32_t,
00028 int, int, int, uint8_t, uint8_t);
00029
00030 extern int genlmsg_valid_hdr(struct nlmsghdr *, int);
00031 extern int genlmsg_validate(struct nlmsghdr *, int, int,
00032 struct nla_policy *);
00033 extern int genlmsg_parse(struct nlmsghdr *, int, struct nlattr **,
00034 int, struct nla_policy *);
00035 extern void * genlmsg_data(const struct genlmsghdr *);
00036 extern int genlmsg_len(const struct genlmsghdr *);
00037 extern struct nlattr * genlmsg_attrdata(const struct genlmsghdr *, int);
00038 extern int genlmsg_attrlen(const struct genlmsghdr *, int);
00039
00040 extern char * genl_op2name(int, int, char *, size_t);
00041
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045
00046 #endif