Blame include/uapi/linux/genetlink.h

Packit d3f73b
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Packit d3f73b
#ifndef __LINUX_GENERIC_NETLINK_H
Packit d3f73b
#define __LINUX_GENERIC_NETLINK_H
Packit d3f73b
Packit d3f73b
#include <linux/types.h>
Packit d3f73b
#include <linux/netlink.h>
Packit d3f73b
Packit d3f73b
#define GENL_NAMSIZ	16	/* length of family name */
Packit d3f73b
Packit d3f73b
#define GENL_MIN_ID	NLMSG_MIN_TYPE
Packit d3f73b
#define GENL_MAX_ID	1023
Packit d3f73b
Packit d3f73b
struct genlmsghdr {
Packit d3f73b
	__u8	cmd;
Packit d3f73b
	__u8	version;
Packit d3f73b
	__u16	reserved;
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
#define GENL_HDRLEN	NLMSG_ALIGN(sizeof(struct genlmsghdr))
Packit d3f73b
Packit d3f73b
#define GENL_ADMIN_PERM		0x01
Packit d3f73b
#define GENL_CMD_CAP_DO		0x02
Packit d3f73b
#define GENL_CMD_CAP_DUMP	0x04
Packit d3f73b
#define GENL_CMD_CAP_HASPOL	0x08
Packit d3f73b
#define GENL_UNS_ADMIN_PERM	0x10
Packit d3f73b
Packit d3f73b
/*
Packit d3f73b
 * List of reserved static generic netlink identifiers:
Packit d3f73b
 */
Packit d3f73b
#define GENL_ID_CTRL		NLMSG_MIN_TYPE
Packit d3f73b
#define GENL_ID_VFS_DQUOT	(NLMSG_MIN_TYPE + 1)
Packit d3f73b
#define GENL_ID_PMCRAID		(NLMSG_MIN_TYPE + 2)
Packit d3f73b
/* must be last reserved + 1 */
Packit d3f73b
#define GENL_START_ALLOC	(NLMSG_MIN_TYPE + 3)
Packit d3f73b
Packit d3f73b
/**************************************************************************
Packit d3f73b
 * Controller
Packit d3f73b
 **************************************************************************/
Packit d3f73b
Packit d3f73b
enum {
Packit d3f73b
	CTRL_CMD_UNSPEC,
Packit d3f73b
	CTRL_CMD_NEWFAMILY,
Packit d3f73b
	CTRL_CMD_DELFAMILY,
Packit d3f73b
	CTRL_CMD_GETFAMILY,
Packit d3f73b
	CTRL_CMD_NEWOPS,
Packit d3f73b
	CTRL_CMD_DELOPS,
Packit d3f73b
	CTRL_CMD_GETOPS,
Packit d3f73b
	CTRL_CMD_NEWMCAST_GRP,
Packit d3f73b
	CTRL_CMD_DELMCAST_GRP,
Packit d3f73b
	CTRL_CMD_GETMCAST_GRP, /* unused */
Packit d3f73b
	__CTRL_CMD_MAX,
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)
Packit d3f73b
Packit d3f73b
enum {
Packit d3f73b
	CTRL_ATTR_UNSPEC,
Packit d3f73b
	CTRL_ATTR_FAMILY_ID,
Packit d3f73b
	CTRL_ATTR_FAMILY_NAME,
Packit d3f73b
	CTRL_ATTR_VERSION,
Packit d3f73b
	CTRL_ATTR_HDRSIZE,
Packit d3f73b
	CTRL_ATTR_MAXATTR,
Packit d3f73b
	CTRL_ATTR_OPS,
Packit d3f73b
	CTRL_ATTR_MCAST_GROUPS,
Packit d3f73b
	__CTRL_ATTR_MAX,
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)
Packit d3f73b
Packit d3f73b
enum {
Packit d3f73b
	CTRL_ATTR_OP_UNSPEC,
Packit d3f73b
	CTRL_ATTR_OP_ID,
Packit d3f73b
	CTRL_ATTR_OP_FLAGS,
Packit d3f73b
	__CTRL_ATTR_OP_MAX,
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1)
Packit d3f73b
Packit d3f73b
enum {
Packit d3f73b
	CTRL_ATTR_MCAST_GRP_UNSPEC,
Packit d3f73b
	CTRL_ATTR_MCAST_GRP_NAME,
Packit d3f73b
	CTRL_ATTR_MCAST_GRP_ID,
Packit d3f73b
	__CTRL_ATTR_MCAST_GRP_MAX,
Packit d3f73b
};
Packit d3f73b
Packit d3f73b
#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
Packit d3f73b
Packit d3f73b
Packit d3f73b
#endif /* __LINUX_GENERIC_NETLINK_H */