blob: 74319e59623d15e1bc7d4b1e1df5c2dee7ff9c19 [file] [log] [blame]
Frank Makered6b39c2011-05-23 21:14:58 -07001/*
2 * netlink/genl/family.h Generic Netlink Family
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-2006 Thomas Graf <tgraf@suug.ch>
10 */
11
12#ifndef NETLINK_GENL_FAMILY_H_
13#define NETLINK_GENL_FAMILY_H_
14
15#include <netlink/netlink.h>
16#include <netlink/cache.h>
17
18#ifdef __cplusplus
19extern "C" {
20#endif
21
22struct genl_family;
23
24extern struct genl_family * genl_family_alloc(void);
25extern void genl_family_put(struct genl_family *);
26
27extern unsigned int genl_family_get_id(struct genl_family *);
28extern void genl_family_set_id(struct genl_family *,
29 unsigned int);
30extern char * genl_family_get_name(struct genl_family *);
31extern void genl_family_set_name(struct genl_family *,
32 const char *name);
33extern uint8_t genl_family_get_version(struct genl_family *);
34extern void genl_family_set_version(struct genl_family *,
35 uint8_t);
36extern uint32_t genl_family_get_hdrsize(struct genl_family *);
37extern void genl_family_set_hdrsize(struct genl_family *,
38 uint32_t);
39extern uint32_t genl_family_get_maxattr(struct genl_family *);
40extern void genl_family_set_maxattr(struct genl_family *,
41 uint32_t);
42
43extern int genl_family_add_op(struct genl_family *,
44 int, int);
45
46#ifdef __cplusplus
47}
48#endif
49
50#endif