1/*
2 * This header was generated from the Linux kernel headers by update_headers.py,
3 * to provide necessary information from kernel to userspace, such as constants,
4 * structures, and macros, and thus, contains no copyrightable information.
5 */
6#ifndef _UAPI__LINUX_GENERIC_NETLINK_H
7#define _UAPI__LINUX_GENERIC_NETLINK_H
8#include <linux/types.h>
9#include <linux/netlink.h>
10#define GENL_NAMSIZ	16
11#define GENL_MIN_ID	NLMSG_MIN_TYPE
12#define GENL_MAX_ID	1023
13struct genlmsghdr {
14	__u8	cmd;
15	__u8	version;
16	__u16	reserved;
17};
18#define GENL_HDRLEN	NLMSG_ALIGN(sizeof(struct genlmsghdr))
19#define GENL_ADMIN_PERM		0x01
20#define GENL_CMD_CAP_DO		0x02
21#define GENL_CMD_CAP_DUMP	0x04
22#define GENL_CMD_CAP_HASPOL	0x08
23#define GENL_UNS_ADMIN_PERM	0x10
24#define GENL_ID_CTRL		NLMSG_MIN_TYPE
25#define GENL_ID_VFS_DQUOT	(NLMSG_MIN_TYPE + 1)
26#define GENL_ID_PMCRAID		(NLMSG_MIN_TYPE + 2)
27#define GENL_START_ALLOC	(NLMSG_MIN_TYPE + 3)
28enum {
29	CTRL_CMD_UNSPEC,
30	CTRL_CMD_NEWFAMILY,
31	CTRL_CMD_DELFAMILY,
32	CTRL_CMD_GETFAMILY,
33	CTRL_CMD_NEWOPS,
34	CTRL_CMD_DELOPS,
35	CTRL_CMD_GETOPS,
36	CTRL_CMD_NEWMCAST_GRP,
37	CTRL_CMD_DELMCAST_GRP,
38	CTRL_CMD_GETMCAST_GRP,
39	__CTRL_CMD_MAX,
40};
41#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)
42enum {
43	CTRL_ATTR_UNSPEC,
44	CTRL_ATTR_FAMILY_ID,
45	CTRL_ATTR_FAMILY_NAME,
46	CTRL_ATTR_VERSION,
47	CTRL_ATTR_HDRSIZE,
48	CTRL_ATTR_MAXATTR,
49	CTRL_ATTR_OPS,
50	CTRL_ATTR_MCAST_GROUPS,
51	__CTRL_ATTR_MAX,
52};
53#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)
54enum {
55	CTRL_ATTR_OP_UNSPEC,
56	CTRL_ATTR_OP_ID,
57	CTRL_ATTR_OP_FLAGS,
58	__CTRL_ATTR_OP_MAX,
59};
60#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1)
61enum {
62	CTRL_ATTR_MCAST_GRP_UNSPEC,
63	CTRL_ATTR_MCAST_GRP_NAME,
64	CTRL_ATTR_MCAST_GRP_ID,
65	__CTRL_ATTR_MCAST_GRP_MAX,
66};
67#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
68#endif
69