2#ifndef _UAPI__LINUX_NETLINK_H
3#define _UAPI__LINUX_NETLINK_H
5#include <linux/const.h>
6#include <linux/socket.h>
7#include <linux/types.h>
10#define NETLINK_UNUSED 1
11#define NETLINK_USERSOCK 2
12#define NETLINK_FIREWALL 3
13#define NETLINK_SOCK_DIAG 4
14#define NETLINK_NFLOG 5
16#define NETLINK_SELINUX 7
17#define NETLINK_ISCSI 8
18#define NETLINK_AUDIT 9
19#define NETLINK_FIB_LOOKUP 10
20#define NETLINK_CONNECTOR 11
21#define NETLINK_NETFILTER 12
22#define NETLINK_IP6_FW 13
23#define NETLINK_DNRTMSG 14
24#define NETLINK_KOBJECT_UEVENT 15
25#define NETLINK_GENERIC 16
27#define NETLINK_SCSITRANSPORT 18
28#define NETLINK_ECRYPTFS 19
29#define NETLINK_RDMA 20
30#define NETLINK_CRYPTO 21
33#define NETLINK_INET_DIAG NETLINK_SOCK_DIAG
62#define NLM_F_REQUEST 0x01
63#define NLM_F_MULTI 0x02
65#define NLM_F_ECHO 0x08
66#define NLM_F_DUMP_INTR 0x10
67#define NLM_F_DUMP_FILTERED 0x20
70#define NLM_F_ROOT 0x100
71#define NLM_F_MATCH 0x200
72#define NLM_F_ATOMIC 0x400
73#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH)
76#define NLM_F_REPLACE 0x100
77#define NLM_F_EXCL 0x200
78#define NLM_F_CREATE 0x400
79#define NLM_F_APPEND 0x800
82#define NLM_F_NONREC 0x100
83#define NLM_F_BULK 0x200
86#define NLM_F_CAPPED 0x100
87#define NLM_F_ACK_TLVS 0x200
98#define NLMSG_ALIGNTO 4U
99#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )
100#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
101#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)
102#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
103#define NLMSG_DATA(nlh) ((void *)(((char *)nlh) + NLMSG_HDRLEN))
104#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
105 (struct nlmsghdr *)(((char *)(nlh)) + \
106 NLMSG_ALIGN((nlh)->nlmsg_len)))
107#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \
108 (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
109 (nlh)->nlmsg_len <= (len))
110#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len)))
112#define NLMSG_NOOP 0x1
113#define NLMSG_ERROR 0x2
114#define NLMSG_DONE 0x3
115#define NLMSG_OVERRUN 0x4
117#define NLMSG_MIN_TYPE 0x10
163#define NETLINK_ADD_MEMBERSHIP 1
164#define NETLINK_DROP_MEMBERSHIP 2
165#define NETLINK_PKTINFO 3
166#define NETLINK_BROADCAST_ERROR 4
167#define NETLINK_NO_ENOBUFS 5
169#define NETLINK_RX_RING 6
170#define NETLINK_TX_RING 7
172#define NETLINK_LISTEN_ALL_NSID 8
173#define NETLINK_LIST_MEMBERSHIPS 9
174#define NETLINK_CAP_ACK 10
175#define NETLINK_EXT_ACK 11
176#define NETLINK_GET_STRICT_CHK 12
208#define NL_MMAP_MSG_ALIGNMENT NLMSG_ALIGNTO
209#define NL_MMAP_MSG_ALIGN(sz) __ALIGN_KERNEL(sz, NL_MMAP_MSG_ALIGNMENT)
210#define NL_MMAP_HDRLEN NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr))
244#define NLA_F_NESTED (1 << 15)
245#define NLA_F_NET_BYTEORDER (1 << 14)
246#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
249#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
250#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
unsigned int __u32
Definition: blkid_types.h:14
unsigned short __u16
Definition: blkid_types.h:12
nlmsgerr_attrs
Definition: netlink.h:150
@ NLMSGERR_ATTR_MSG
Definition: netlink.h:152
@ NLMSGERR_ATTR_MAX
Definition: netlink.h:160
@ NLMSGERR_ATTR_MISS_TYPE
Definition: netlink.h:156
@ NLMSGERR_ATTR_COOKIE
Definition: netlink.h:154
@ NLMSGERR_ATTR_UNUSED
Definition: netlink.h:151
@ NLMSGERR_ATTR_MISS_NEST
Definition: netlink.h:157
@ NLMSGERR_ATTR_POLICY
Definition: netlink.h:155
@ __NLMSGERR_ATTR_MAX
Definition: netlink.h:159
@ NLMSGERR_ATTR_OFFS
Definition: netlink.h:153
netlink_policy_type_attr
Definition: netlink.h:363
@ NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE
Definition: netlink.h:373
@ NL_POLICY_TYPE_ATTR_POLICY_IDX
Definition: netlink.h:372
@ NL_POLICY_TYPE_ATTR_MAX_VALUE_S
Definition: netlink.h:367
@ NL_POLICY_TYPE_ATTR_PAD
Definition: netlink.h:375
@ NL_POLICY_TYPE_ATTR_MAX_LENGTH
Definition: netlink.h:371
@ __NL_POLICY_TYPE_ATTR_MAX
Definition: netlink.h:379
@ NL_POLICY_TYPE_ATTR_BITFIELD32_MASK
Definition: netlink.h:374
@ NL_POLICY_TYPE_ATTR_MASK
Definition: netlink.h:376
@ NL_POLICY_TYPE_ATTR_MIN_LENGTH
Definition: netlink.h:370
@ NL_POLICY_TYPE_ATTR_TYPE
Definition: netlink.h:365
@ NL_POLICY_TYPE_ATTR_MAX_VALUE_U
Definition: netlink.h:369
@ NL_POLICY_TYPE_ATTR_MAX
Definition: netlink.h:380
@ NL_POLICY_TYPE_ATTR_MIN_VALUE_U
Definition: netlink.h:368
@ NL_POLICY_TYPE_ATTR_MIN_VALUE_S
Definition: netlink.h:366
@ NL_POLICY_TYPE_ATTR_UNSPEC
Definition: netlink.h:364
@ NETLINK_CONNECTED
Definition: netlink.h:217
@ NETLINK_UNCONNECTED
Definition: netlink.h:216
netlink_attribute_type
Definition: netlink.h:304
@ NL_ATTR_TYPE_U32
Definition: netlink.h:311
@ NL_ATTR_TYPE_BITFIELD32
Definition: netlink.h:326
@ NL_ATTR_TYPE_SINT
Definition: netlink.h:328
@ NL_ATTR_TYPE_U16
Definition: netlink.h:310
@ NL_ATTR_TYPE_S64
Definition: netlink.h:317
@ NL_ATTR_TYPE_STRING
Definition: netlink.h:320
@ NL_ATTR_TYPE_NUL_STRING
Definition: netlink.h:321
@ NL_ATTR_TYPE_NESTED
Definition: netlink.h:323
@ NL_ATTR_TYPE_S8
Definition: netlink.h:314
@ NL_ATTR_TYPE_BINARY
Definition: netlink.h:319
@ NL_ATTR_TYPE_S16
Definition: netlink.h:315
@ NL_ATTR_TYPE_UINT
Definition: netlink.h:329
@ NL_ATTR_TYPE_FLAG
Definition: netlink.h:307
@ NL_ATTR_TYPE_NESTED_ARRAY
Definition: netlink.h:324
@ NL_ATTR_TYPE_U64
Definition: netlink.h:312
@ NL_ATTR_TYPE_S32
Definition: netlink.h:316
@ NL_ATTR_TYPE_U8
Definition: netlink.h:309
@ NL_ATTR_TYPE_INVALID
Definition: netlink.h:305
nl_mmap_status
Definition: netlink.h:200
@ NL_MMAP_STATUS_RESERVED
Definition: netlink.h:202
@ NL_MMAP_STATUS_VALID
Definition: netlink.h:203
@ NL_MMAP_STATUS_SKIP
Definition: netlink.h:205
@ NL_MMAP_STATUS_UNUSED
Definition: netlink.h:201
@ NL_MMAP_STATUS_COPY
Definition: netlink.h:204
Definition: netlink.h:189
__u32 nm_pid
Definition: netlink.h:194
__u32 nm_uid
Definition: netlink.h:195
unsigned int nm_len
Definition: netlink.h:191
__u32 nm_gid
Definition: netlink.h:196
unsigned int nm_status
Definition: netlink.h:190
__u32 nm_group
Definition: netlink.h:192
Definition: netlink.h:182
unsigned int nm_frame_size
Definition: netlink.h:185
unsigned int nm_block_size
Definition: netlink.h:183
unsigned int nm_frame_nr
Definition: netlink.h:186
unsigned int nm_block_nr
Definition: netlink.h:184
Definition: netlink.h:178
__u32 group
Definition: netlink.h:179
Definition: netlink.h:265
__u32 selector
Definition: netlink.h:267
__u32 value
Definition: netlink.h:266
Definition: netlink.h:229
__u16 nla_len
Definition: netlink.h:230
__u16 nla_type
Definition: netlink.h:231
Definition: netlink.h:119
struct nlmsghdr msg
Definition: netlink.h:121
int error
Definition: netlink.h:120
__u32 nlmsg_seq
Definition: netlink.h:56
__u32 nlmsg_len
Definition: netlink.h:53
__u32 nlmsg_pid
Definition: netlink.h:57
__u16 nlmsg_type
Definition: netlink.h:54
__u16 nlmsg_flags
Definition: netlink.h:55
unsigned short nl_pad
Definition: netlink.h:39
__u32 nl_pid
Definition: netlink.h:40
__u32 nl_groups
Definition: netlink.h:41
__kernel_sa_family_t nl_family
Definition: netlink.h:38