genetlink.h revision 80c05b0976be86308e92b2837e0a94c484e388b4
1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#ifndef __LINUX_GENERIC_NETLINK_H 28459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define __LINUX_GENERIC_NETLINK_H 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 48459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#include <linux/netlink.h> 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#define GENL_NAMSIZ 16 /* length of family name */ 78459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 88459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_MIN_ID NLMSG_MIN_TYPE 9ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com#define GENL_MAX_ID 1023 108459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 118459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.orgstruct genlmsghdr { 128459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org __u8 cmd; 138459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org __u8 version; 148459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org __u16 reserved; 158459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org}; 168459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 176addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com#define GENL_HDRLEN NLMSG_ALIGN(sizeof(struct genlmsghdr)) 1828be72b63e457c680c192a34fb9f58e1c693363fvandebo@chromium.org 198459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_ADMIN_PERM 0x01 208459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_CMD_CAP_DO 0x02 218459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_CMD_CAP_DUMP 0x04 228459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_CMD_CAP_HASPOL 0x08 238459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 248459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org/* 258459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org * List of reserved static generic netlink identifiers: 268459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org */ 278459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_ID_GENERATE 0 288459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define GENL_ID_CTRL NLMSG_MIN_TYPE 298459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 308459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org/************************************************************************** 314d73ac22a1b99402fc8cff78a4eb4b27aa8fe019robertphillips@google.com * Controller 324d73ac22a1b99402fc8cff78a4eb4b27aa8fe019robertphillips@google.com **************************************************************************/ 338459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 348459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.orgenum { 358459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_CMD_UNSPEC, 368459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_CMD_NEWFAMILY, 378459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_CMD_DELFAMILY, 388459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_CMD_GETFAMILY, 398459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_CMD_NEWOPS, 408459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_CMD_DELOPS, 41188838c20818307fda770ffc395a76ea63c1c8ccvandebo@chromium.org CTRL_CMD_GETOPS, 426addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com CTRL_CMD_NEWMCAST_GRP, 436addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com CTRL_CMD_DELMCAST_GRP, 446addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com CTRL_CMD_GETMCAST_GRP, /* unused */ 456addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com __CTRL_CMD_MAX, 466addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com}; 476addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com 486addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1) 49a518086928494319b8968abc09808eff492c194fvandebo@chromium.org 506addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.comenum { 516addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com CTRL_ATTR_UNSPEC, 52a518086928494319b8968abc09808eff492c194fvandebo@chromium.org CTRL_ATTR_FAMILY_ID, 532ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org CTRL_ATTR_FAMILY_NAME, 542ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org CTRL_ATTR_VERSION, 552ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org CTRL_ATTR_HDRSIZE, 562ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org CTRL_ATTR_MAXATTR, 572ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org CTRL_ATTR_OPS, 582ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org CTRL_ATTR_MCAST_GROUPS, 598459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org __CTRL_ATTR_MAX, 608459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org}; 618459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 628459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1) 638459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org 648459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.orgenum { 658459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_ATTR_OP_UNSPEC, 668459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_ATTR_OP_ID, 678459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org CTRL_ATTR_OP_FLAGS, 688459d4e5e32608ec6da3f2b81731aaeb7b038843vandebo@chromium.org __CTRL_ATTR_OP_MAX, 692ef12d4bb54312091d644f0ada3639c51c9f6e5avandebo@chromium.org}; 70421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org 71421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1) 72421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org 73421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.orgenum { 74421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org CTRL_ATTR_MCAST_GRP_UNSPEC, 75421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org CTRL_ATTR_MCAST_GRP_NAME, 76421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org CTRL_ATTR_MCAST_GRP_ID, 77421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org __CTRL_ATTR_MCAST_GRP_MAX, 78421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org}; 79421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org 80421d6443fbd3a913dfa32b6492c4a2969bc6314bvandebo@chromium.org#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1) 816addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com 826addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com#endif /* __LINUX_GENERIC_NETLINK_H */ 836addb1930013ebb2f984045141650fd7afcfa90fedisonn@google.com