libnl  3.2.3
/build/buildd/libnl3-3.2.3/include/netlink/genl/genl.h
00001 /*
00002  * netlink/genl/genl.h          Generic Netlink
00003  *
00004  *      This library is free software; you can redistribute it and/or
00005  *      modify it under the terms of the GNU Lesser General Public
00006  *      License as published by the Free Software Foundation version 2.1
00007  *      of the License.
00008  *
00009  * Copyright (c) 2003-2008 Thomas Graf <tgraf@suug.ch>
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