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