libnl
3.2.3
|
00001 /* 00002 * netlink/genl/family.h Generic Netlink Family 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-2006 Thomas Graf <tgraf@suug.ch> 00010 */ 00011 00012 #ifndef NETLINK_GENL_FAMILY_H_ 00013 #define NETLINK_GENL_FAMILY_H_ 00014 00015 #include <netlink/netlink.h> 00016 #include <netlink/cache.h> 00017 00018 #ifdef __cplusplus 00019 extern "C" { 00020 #endif 00021 00022 struct genl_family; 00023 00024 extern struct genl_family * genl_family_alloc(void); 00025 extern void genl_family_put(struct genl_family *); 00026 00027 extern unsigned int genl_family_get_id(struct genl_family *); 00028 extern void genl_family_set_id(struct genl_family *, 00029 unsigned int); 00030 extern char * genl_family_get_name(struct genl_family *); 00031 extern void genl_family_set_name(struct genl_family *, 00032 const char *name); 00033 extern uint8_t genl_family_get_version(struct genl_family *); 00034 extern void genl_family_set_version(struct genl_family *, 00035 uint8_t); 00036 extern uint32_t genl_family_get_hdrsize(struct genl_family *); 00037 extern void genl_family_set_hdrsize(struct genl_family *, 00038 uint32_t); 00039 extern uint32_t genl_family_get_maxattr(struct genl_family *); 00040 extern void genl_family_set_maxattr(struct genl_family *, 00041 uint32_t); 00042 00043 extern int genl_family_add_op(struct genl_family *, 00044 int, int); 00045 extern int genl_family_add_grp(struct genl_family *, 00046 uint32_t , const char *); 00047 00048 00049 #ifdef __cplusplus 00050 } 00051 #endif 00052 00053 #endif