104 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2#ifndef _UAPI__LINUX_GENERIC_NETLINK_H3#define _UAPI__LINUX_GENERIC_NETLINK_H4 5#include <linux/types.h>6#include <linux/netlink.h>7 8#define GENL_NAMSIZ 16 /* length of family name */9 10#define GENL_MIN_ID NLMSG_MIN_TYPE11#define GENL_MAX_ID 102312 13struct genlmsghdr {14 __u8 cmd;15 __u8 version;16 __u16 reserved;17};18 19#define GENL_HDRLEN NLMSG_ALIGN(sizeof(struct genlmsghdr))20 21#define GENL_ADMIN_PERM 0x0122#define GENL_CMD_CAP_DO 0x0223#define GENL_CMD_CAP_DUMP 0x0424#define GENL_CMD_CAP_HASPOL 0x0825#define GENL_UNS_ADMIN_PERM 0x1026 27/*28 * List of reserved static generic netlink identifiers:29 */30#define GENL_ID_CTRL NLMSG_MIN_TYPE31#define GENL_ID_VFS_DQUOT (NLMSG_MIN_TYPE + 1)32#define GENL_ID_PMCRAID (NLMSG_MIN_TYPE + 2)33/* must be last reserved + 1 */34#define GENL_START_ALLOC (NLMSG_MIN_TYPE + 3)35 36/**************************************************************************37 * Controller38 **************************************************************************/39 40enum {41 CTRL_CMD_UNSPEC,42 CTRL_CMD_NEWFAMILY,43 CTRL_CMD_DELFAMILY,44 CTRL_CMD_GETFAMILY,45 CTRL_CMD_NEWOPS,46 CTRL_CMD_DELOPS,47 CTRL_CMD_GETOPS,48 CTRL_CMD_NEWMCAST_GRP,49 CTRL_CMD_DELMCAST_GRP,50 CTRL_CMD_GETMCAST_GRP, /* unused */51 CTRL_CMD_GETPOLICY,52 __CTRL_CMD_MAX,53};54 55#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)56 57enum {58 CTRL_ATTR_UNSPEC,59 CTRL_ATTR_FAMILY_ID,60 CTRL_ATTR_FAMILY_NAME,61 CTRL_ATTR_VERSION,62 CTRL_ATTR_HDRSIZE,63 CTRL_ATTR_MAXATTR,64 CTRL_ATTR_OPS,65 CTRL_ATTR_MCAST_GROUPS,66 CTRL_ATTR_POLICY,67 CTRL_ATTR_OP_POLICY,68 CTRL_ATTR_OP,69 __CTRL_ATTR_MAX,70};71 72#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)73 74enum {75 CTRL_ATTR_OP_UNSPEC,76 CTRL_ATTR_OP_ID,77 CTRL_ATTR_OP_FLAGS,78 __CTRL_ATTR_OP_MAX,79};80 81#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1)82 83enum {84 CTRL_ATTR_MCAST_GRP_UNSPEC,85 CTRL_ATTR_MCAST_GRP_NAME,86 CTRL_ATTR_MCAST_GRP_ID,87 __CTRL_ATTR_MCAST_GRP_MAX,88};89 90#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)91 92enum {93 CTRL_ATTR_POLICY_UNSPEC,94 CTRL_ATTR_POLICY_DO,95 CTRL_ATTR_POLICY_DUMP,96 97 __CTRL_ATTR_POLICY_DUMP_MAX,98 CTRL_ATTR_POLICY_DUMP_MAX = __CTRL_ATTR_POLICY_DUMP_MAX - 199};100 101#define CTRL_ATTR_POLICY_MAX (__CTRL_ATTR_POLICY_DUMP_MAX - 1)102 103#endif /* _UAPI__LINUX_GENERIC_NETLINK_H */104