14d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/****************************************************************************
24d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ****************************************************************************
34d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
44d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   This header was automatically generated from a Linux kernel header
54d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   of the same name, to make information necessary for userspace to
64d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   call into the kernel available to libc.  It contains only constants,
74d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   structures, and macros generated from the original header, and thus,
84d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   contains no copyrightable information.
94d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
104d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   To edit the content of this header, modify the corresponding
114d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   source file (e.g. under external/kernel-headers/original/) then
124d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   run bionic/libc/kernel/tools/update_all.py
134d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
144d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   Any manual change here will be lost the next time this script will
154d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***   be run. You've been warned!
164d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ***
174d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ****************************************************************************
184d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin ****************************************************************************/
194d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#ifndef _UAPI__LINUX_NETLINK_H
204d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define _UAPI__LINUX_NETLINK_H
214d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#include <linux/socket.h>
224d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#include <linux/types.h>
234d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_ROUTE 0
254d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_UNUSED 1
264d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_USERSOCK 2
274d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_FIREWALL 3
284d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_SOCK_DIAG 4
304d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_NFLOG 5
314d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_XFRM 6
324d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_SELINUX 7
334d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_ISCSI 8
354d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_AUDIT 9
364d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_FIB_LOOKUP 10
374d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_CONNECTOR 11
384d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
394d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_NETFILTER 12
404d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_IP6_FW 13
414d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_DNRTMSG 14
424d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_KOBJECT_UEVENT 15
434d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
444d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_GENERIC 16
454d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_SCSITRANSPORT 18
464d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_ECRYPTFS 19
474d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_RDMA 20
484d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
494d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_CRYPTO 21
504d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_SOCKEV 22
514d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_INET_DIAG NETLINK_SOCK_DIAG
524d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define MAX_LINKS 32
534d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
544d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct sockaddr_nl {
554d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __kernel_sa_family_t nl_family;
564d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned short nl_pad;
574d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nl_pid;
584d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
594d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nl_groups;
604d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
614d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct nlmsghdr {
624d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nlmsg_len;
634d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
644d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 nlmsg_type;
654d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 nlmsg_flags;
664d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nlmsg_seq;
674d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nlmsg_pid;
684d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
694d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
704d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_REQUEST 1
714d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_MULTI 2
724d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_ACK 4
734d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
744d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_ECHO 8
754d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_DUMP_INTR 16
764d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_ROOT 0x100
774d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_MATCH 0x200
784d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
794d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_ATOMIC 0x400
804d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH)
814d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_REPLACE 0x100
824d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_EXCL 0x200
834d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
844d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_CREATE 0x400
854d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLM_F_APPEND 0x800
864d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_ALIGNTO 4U
874d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )
884d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
894d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
904d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)
914d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
924d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))
934d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
944d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len),   (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
954d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) &&   (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) &&   (nlh)->nlmsg_len <= (len))
964d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len)))
974d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_NOOP 0x1
984d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
994d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_ERROR 0x2
1004d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_DONE 0x3
1014d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_OVERRUN 0x4
1024d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLMSG_MIN_TYPE 0x10
1034d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1044d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct nlmsgerr {
1054d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin int error;
1064d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin struct nlmsghdr msg;
1074d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1084d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1094d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_ADD_MEMBERSHIP 1
1104d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_DROP_MEMBERSHIP 2
1114d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_PKTINFO 3
1124d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_BROADCAST_ERROR 4
1134d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1144d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_NO_ENOBUFS 5
1154d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_RX_RING 6
1164d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NETLINK_TX_RING 7
1174d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct nl_pktinfo {
1184d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1194d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 group;
1204d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1214d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct nl_mmap_req {
1224d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned int nm_block_size;
1234d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1244d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned int nm_block_nr;
1254d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned int nm_frame_size;
1264d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned int nm_frame_nr;
1274d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1284d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1294d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct nl_mmap_hdr {
1304d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned int nm_status;
1314d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin unsigned int nm_len;
1324d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nm_group;
1334d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1344d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nm_pid;
1354d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nm_uid;
1364d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u32 nm_gid;
1374d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1384d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1394d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinenum nl_mmap_status {
1404d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NL_MMAP_STATUS_UNUSED,
1414d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NL_MMAP_STATUS_RESERVED,
1424d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NL_MMAP_STATUS_VALID,
1434d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1444d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NL_MMAP_STATUS_COPY,
1454d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NL_MMAP_STATUS_SKIP,
1464d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1474d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NL_MMAP_MSG_ALIGNMENT NLMSG_ALIGNTO
1484d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1494d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NL_MMAP_MSG_ALIGN(sz) __ALIGN_KERNEL(sz, NL_MMAP_MSG_ALIGNMENT)
1504d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NL_MMAP_HDRLEN NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr))
1514d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NET_MAJOR 36
1524d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinenum {
1534d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1544d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NETLINK_UNCONNECTED = 0,
1554d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin NETLINK_CONNECTED,
1564d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1574d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjinstruct nlattr {
1584d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1594d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 nla_len;
1604d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin __u16 nla_type;
1614d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin};
1624d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLA_F_NESTED (1 << 15)
1634d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1644d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLA_F_NET_BYTEORDER (1 << 14)
1654d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
1664d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLA_ALIGNTO 4
1674d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
1684d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1694d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
1704d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin#endif
1714d667bae0175a66dffc4d241a449e706bdee0a85Patrick Tjin
172