165018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#ifndef __LINUX_GENERIC_NETLINK_H 265018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define __LINUX_GENERIC_NETLINK_H 365018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 467881151423f1173ddc31e4f27d736044c2c9a96Stephen Hemminger#include <linux/types.h> 565018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#include <linux/netlink.h> 665018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 765018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define GENL_NAMSIZ 16 /* length of family name */ 865018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 965018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define GENL_MIN_ID NLMSG_MIN_TYPE 1065018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define GENL_MAX_ID 1023 1165018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 1265018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salimstruct genlmsghdr { 1365018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim __u8 cmd; 1465018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim __u8 version; 1565018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim __u16 reserved; 1665018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim}; 1765018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 1865018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define GENL_HDRLEN NLMSG_ALIGN(sizeof(struct genlmsghdr)) 1965018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 20ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger#define GENL_ADMIN_PERM 0x01 217c9e557ee4144f36e6eb10080e913b07a9937473jamal#define GENL_CMD_CAP_DO 0x02 227c9e557ee4144f36e6eb10080e913b07a9937473jamal#define GENL_CMD_CAP_DUMP 0x04 237c9e557ee4144f36e6eb10080e913b07a9937473jamal#define GENL_CMD_CAP_HASPOL 0x08 24ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger 2565018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim/* 2665018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim * List of reserved static generic netlink identifiers: 2765018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim */ 2865018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define GENL_ID_GENERATE 0 2965018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define GENL_ID_CTRL NLMSG_MIN_TYPE 3065018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 3165018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim/************************************************************************** 3265018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim * Controller 3365018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim **************************************************************************/ 3465018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 3565018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salimenum { 3665018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_UNSPEC, 3765018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_NEWFAMILY, 3865018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_DELFAMILY, 3965018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_GETFAMILY, 4065018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_NEWOPS, 4165018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_DELOPS, 4265018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_CMD_GETOPS, 4380c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_CMD_NEWMCAST_GRP, 4480c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_CMD_DELMCAST_GRP, 4580c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_CMD_GETMCAST_GRP, /* unused */ 4665018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim __CTRL_CMD_MAX, 4765018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim}; 4865018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 4965018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1) 5065018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 5165018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salimenum { 5265018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_ATTR_UNSPEC, 5365018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_ATTR_FAMILY_ID, 5465018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim CTRL_ATTR_FAMILY_NAME, 55ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_VERSION, 56ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_HDRSIZE, 57ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_MAXATTR, 58ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_OPS, 5980c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_ATTR_MCAST_GROUPS, 6065018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim __CTRL_ATTR_MAX, 6165018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim}; 6265018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 6365018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1) 6465018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim 65ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemmingerenum { 66ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_OP_UNSPEC, 67ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_OP_ID, 68ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger CTRL_ATTR_OP_FLAGS, 69ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger __CTRL_ATTR_OP_MAX, 70ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger}; 71ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger 72ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1) 73ead2ba7008c9db02954dae6f180aed8770a0560dStephen Hemminger 7480c05b0976be86308e92b2837e0a94c484e388b4Johannes Bergenum { 7580c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_ATTR_MCAST_GRP_UNSPEC, 7680c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_ATTR_MCAST_GRP_NAME, 7780c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg CTRL_ATTR_MCAST_GRP_ID, 7880c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg __CTRL_ATTR_MCAST_GRP_MAX, 7980c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg}; 8080c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg 8180c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) 8280c05b0976be86308e92b2837e0a94c484e388b4Johannes Berg 83b4397f580e6eb3f20e8c433833be20283b44a3bcStephen Hemminger 8465018ae43b14c8157bbe05473d76635626177b87Jamal Hadi Salim#endif /* __LINUX_GENERIC_NETLINK_H */ 85