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 13 struct 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) 28 enum { 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) 42 enum { 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) 54 enum { 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) 61 enum { 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