blob: 25d9a32b3f9f61853f8c752573163d800d21781d [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
Ben Cheng654325d2012-03-07 21:13:49 -080010 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080017 ****************************************************************************
18 ****************************************************************************/
19#ifndef __LINUX_NETLINK_H
20#define __LINUX_NETLINK_H
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080021#include <linux/socket.h>
22#include <linux/types.h>
Ben Cheng654325d2012-03-07 21:13:49 -080023/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#define NETLINK_ROUTE 0
25#define NETLINK_UNUSED 1
26#define NETLINK_USERSOCK 2
27#define NETLINK_FIREWALL 3
Ben Cheng654325d2012-03-07 21:13:49 -080028/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029#define NETLINK_INET_DIAG 4
30#define NETLINK_NFLOG 5
31#define NETLINK_XFRM 6
32#define NETLINK_SELINUX 7
Ben Cheng654325d2012-03-07 21:13:49 -080033/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080034#define NETLINK_ISCSI 8
35#define NETLINK_AUDIT 9
36#define NETLINK_FIB_LOOKUP 10
37#define NETLINK_CONNECTOR 11
Ben Cheng654325d2012-03-07 21:13:49 -080038/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080039#define NETLINK_NETFILTER 12
40#define NETLINK_IP6_FW 13
41#define NETLINK_DNRTMSG 14
42#define NETLINK_KOBJECT_UEVENT 15
Ben Cheng654325d2012-03-07 21:13:49 -080043/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080044#define NETLINK_GENERIC 16
San Mehat91638722010-04-06 18:49:49 -070045#define NETLINK_SCSITRANSPORT 18
46#define NETLINK_ECRYPTFS 19
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047#define MAX_LINKS 32
Ben Cheng654325d2012-03-07 21:13:49 -080048/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
San Mehat91638722010-04-06 18:49:49 -070049struct net;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080050struct sockaddr_nl
51{
52 sa_family_t nl_family;
Ben Cheng654325d2012-03-07 21:13:49 -080053/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054 unsigned short nl_pad;
55 __u32 nl_pid;
56 __u32 nl_groups;
57};
Ben Cheng654325d2012-03-07 21:13:49 -080058/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080059struct nlmsghdr
60{
61 __u32 nlmsg_len;
62 __u16 nlmsg_type;
Ben Cheng654325d2012-03-07 21:13:49 -080063/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080064 __u16 nlmsg_flags;
65 __u32 nlmsg_seq;
66 __u32 nlmsg_pid;
67};
Ben Cheng654325d2012-03-07 21:13:49 -080068/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080069#define NLM_F_REQUEST 1
70#define NLM_F_MULTI 2
71#define NLM_F_ACK 4
72#define NLM_F_ECHO 8
Ben Cheng654325d2012-03-07 21:13:49 -080073/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080074#define NLM_F_ROOT 0x100
75#define NLM_F_MATCH 0x200
76#define NLM_F_ATOMIC 0x400
77#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH)
Ben Cheng654325d2012-03-07 21:13:49 -080078/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080079#define NLM_F_REPLACE 0x100
80#define NLM_F_EXCL 0x200
81#define NLM_F_CREATE 0x400
82#define NLM_F_APPEND 0x800
Ben Cheng654325d2012-03-07 21:13:49 -080083/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080084#define NLMSG_ALIGNTO 4
85#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )
86#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
87#define NLMSG_LENGTH(len) ((len)+NLMSG_ALIGN(NLMSG_HDRLEN))
Ben Cheng654325d2012-03-07 21:13:49 -080088/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080089#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
90#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))
91#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
92#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && (nlh)->nlmsg_len <= (len))
Ben Cheng654325d2012-03-07 21:13:49 -080093/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080094#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len)))
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080095#define NLMSG_NOOP 0x1
96#define NLMSG_ERROR 0x2
97#define NLMSG_DONE 0x3
Ben Cheng654325d2012-03-07 21:13:49 -080098/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080099#define NLMSG_OVERRUN 0x4
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800100#define NLMSG_MIN_TYPE 0x10
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800101struct nlmsgerr
102{
Ben Cheng654325d2012-03-07 21:13:49 -0800103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800104 int error;
105 struct nlmsghdr msg;
106};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800107#define NETLINK_ADD_MEMBERSHIP 1
Ben Cheng654325d2012-03-07 21:13:49 -0800108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800109#define NETLINK_DROP_MEMBERSHIP 2
110#define NETLINK_PKTINFO 3
San Mehat91638722010-04-06 18:49:49 -0700111#define NETLINK_BROADCAST_ERROR 4
112#define NETLINK_NO_ENOBUFS 5
Ben Cheng654325d2012-03-07 21:13:49 -0800113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800114struct nl_pktinfo
115{
116 __u32 group;
117};
Ben Cheng654325d2012-03-07 21:13:49 -0800118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800119#define NET_MAJOR 36
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800120enum {
121 NETLINK_UNCONNECTED = 0,
122 NETLINK_CONNECTED,
Ben Cheng654325d2012-03-07 21:13:49 -0800123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800124};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800125struct nlattr
126{
127 __u16 nla_len;
Ben Cheng654325d2012-03-07 21:13:49 -0800128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800129 __u16 nla_type;
130};
San Mehat91638722010-04-06 18:49:49 -0700131#define NLA_F_NESTED (1 << 15)
132#define NLA_F_NET_BYTEORDER (1 << 14)
Ben Cheng654325d2012-03-07 21:13:49 -0800133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
San Mehat91638722010-04-06 18:49:49 -0700134#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800135#define NLA_ALIGNTO 4
136#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
137#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
Ben Cheng654325d2012-03-07 21:13:49 -0800138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800139#endif