Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


genetlink.h
01: #ifndef __LINUX_GENERIC_NETLINK_H
02: #define __LINUX_GENERIC_NETLINK_H
03: 
04: #include <linux/types.h>
05: #include <linux/netlink.h>
06: 
07: #define GENL_NAMSIZ     16      /* length of family name */
08: 
09: #define GENL_MIN_ID     NLMSG_MIN_TYPE
10: #define GENL_MAX_ID     1023
11: 
12: struct genlmsghdr {
13:         __u8    cmd;
14:         __u8    version;
15:         __u16   reserved;
16: };
17: 
18: #define GENL_HDRLEN     NLMSG_ALIGN(sizeof(struct genlmsghdr))
19: 
20: #define GENL_ADMIN_PERM         0x01
21: #define GENL_CMD_CAP_DO         0x02
22: #define GENL_CMD_CAP_DUMP       0x04
23: #define GENL_CMD_CAP_HASPOL     0x08
24: 
25: /*
26:  * List of reserved static generic netlink identifiers:
27:  */
28: #define GENL_ID_GENERATE        0
29: #define GENL_ID_CTRL            NLMSG_MIN_TYPE
30: 
31: /**************************************************************************
32:  * Controller
33:  **************************************************************************/
34: 
35: enum {
36:         CTRL_CMD_UNSPEC,
37:         CTRL_CMD_NEWFAMILY,
38:         CTRL_CMD_DELFAMILY,
39:         CTRL_CMD_GETFAMILY,
40:         CTRL_CMD_NEWOPS,
41:         CTRL_CMD_DELOPS,
42:         CTRL_CMD_GETOPS,
43:         CTRL_CMD_NEWMCAST_GRP,
44:         CTRL_CMD_DELMCAST_GRP,
45:         CTRL_CMD_GETMCAST_GRP, /* unused */
46:         __CTRL_CMD_MAX,
47: };
48: 
49: #define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)
50: 
51: enum {
52:         CTRL_ATTR_UNSPEC,
53:         CTRL_ATTR_FAMILY_ID,
54:         CTRL_ATTR_FAMILY_NAME,
55:         CTRL_ATTR_VERSION,
56:         CTRL_ATTR_HDRSIZE,
57:         CTRL_ATTR_MAXATTR,
58:         CTRL_ATTR_OPS,
59:         CTRL_ATTR_MCAST_GROUPS,
60:         __CTRL_ATTR_MAX,
61: };
62: 
63: #define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)
64: 
65: enum {
66:         CTRL_ATTR_OP_UNSPEC,
67:         CTRL_ATTR_OP_ID,
68:         CTRL_ATTR_OP_FLAGS,
69:         __CTRL_ATTR_OP_MAX,
70: };
71: 
72: #define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1)
73: 
74: enum {
75:         CTRL_ATTR_MCAST_GRP_UNSPEC,
76:         CTRL_ATTR_MCAST_GRP_NAME,
77:         CTRL_ATTR_MCAST_GRP_ID,
78:         __CTRL_ATTR_MCAST_GRP_MAX,
79: };
80: 
81: #define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
82: 
83: 
84: #endif  /* __LINUX_GENERIC_NETLINK_H */
85: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/