1 /****************************************************************************
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  ***
10  ***   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  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_LINUX_IN6_H
20 #define _UAPI_LINUX_IN6_H
21 #include <linux/types.h>
22 #include <linux/libc-compat.h>
23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 #if __UAPI_DEF_IN6_ADDR
25 struct in6_addr {
26   union {
27     __u8 u6_addr8[16];
28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 #if __UAPI_DEF_IN6_ADDR_ALT
30     __be16 u6_addr16[8];
31     __be32 u6_addr32[4];
32 #endif
33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34   } in6_u;
35 #define s6_addr in6_u.u6_addr8
36 #if __UAPI_DEF_IN6_ADDR_ALT
37 #define s6_addr16 in6_u.u6_addr16
38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 #define s6_addr32 in6_u.u6_addr32
40 #endif
41 };
42 #endif
43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 #if __UAPI_DEF_SOCKADDR_IN6
45 struct sockaddr_in6 {
46   unsigned short int sin6_family;
47   __be16 sin6_port;
48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49   __be32 sin6_flowinfo;
50   struct in6_addr sin6_addr;
51   __u32 sin6_scope_id;
52 };
53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 #endif
55 #if __UAPI_DEF_IPV6_MREQ
56 struct ipv6_mreq {
57   struct in6_addr ipv6mr_multiaddr;
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59   int ipv6mr_ifindex;
60 };
61 #endif
62 #define ipv6mr_acaddr ipv6mr_multiaddr
63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 struct in6_flowlabel_req {
65   struct in6_addr flr_dst;
66   __be32 flr_label;
67   __u8 flr_action;
68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69   __u8 flr_share;
70   __u16 flr_flags;
71   __u16 flr_expires;
72   __u16 flr_linger;
73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74   __u32 __flr_pad;
75 };
76 #define IPV6_FL_A_GET 0
77 #define IPV6_FL_A_PUT 1
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 #define IPV6_FL_A_RENEW 2
80 #define IPV6_FL_F_CREATE 1
81 #define IPV6_FL_F_EXCL 2
82 #define IPV6_FL_F_REFLECT 4
83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 #define IPV6_FL_F_REMOTE 8
85 #define IPV6_FL_S_NONE 0
86 #define IPV6_FL_S_EXCL 1
87 #define IPV6_FL_S_PROCESS 2
88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 #define IPV6_FL_S_USER 3
90 #define IPV6_FL_S_ANY 255
91 #define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
92 #define IPV6_FLOWINFO_PRIORITY 0x0ff00000
93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94 #define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
95 #define IPV6_PRIORITY_FILLER 0x0100
96 #define IPV6_PRIORITY_UNATTENDED 0x0200
97 #define IPV6_PRIORITY_RESERVED1 0x0300
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 #define IPV6_PRIORITY_BULK 0x0400
100 #define IPV6_PRIORITY_RESERVED2 0x0500
101 #define IPV6_PRIORITY_INTERACTIVE 0x0600
102 #define IPV6_PRIORITY_CONTROL 0x0700
103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 #define IPV6_PRIORITY_8 0x0800
105 #define IPV6_PRIORITY_9 0x0900
106 #define IPV6_PRIORITY_10 0x0a00
107 #define IPV6_PRIORITY_11 0x0b00
108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 #define IPV6_PRIORITY_12 0x0c00
110 #define IPV6_PRIORITY_13 0x0d00
111 #define IPV6_PRIORITY_14 0x0e00
112 #define IPV6_PRIORITY_15 0x0f00
113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 #if __UAPI_DEF_IPPROTO_V6
115 #define IPPROTO_HOPOPTS 0
116 #define IPPROTO_ROUTING 43
117 #define IPPROTO_FRAGMENT 44
118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 #define IPPROTO_ICMPV6 58
120 #define IPPROTO_NONE 59
121 #define IPPROTO_DSTOPTS 60
122 #define IPPROTO_MH 135
123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124 #endif
125 #define IPV6_TLV_PAD1 0
126 #define IPV6_TLV_PADN 1
127 #define IPV6_TLV_ROUTERALERT 5
128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129 #define IPV6_TLV_CALIPSO 7
130 #define IPV6_TLV_JUMBO 194
131 #define IPV6_TLV_HAO 201
132 #if __UAPI_DEF_IPV6_OPTIONS
133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 #define IPV6_ADDRFORM 1
135 #define IPV6_2292PKTINFO 2
136 #define IPV6_2292HOPOPTS 3
137 #define IPV6_2292DSTOPTS 4
138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 #define IPV6_2292RTHDR 5
140 #define IPV6_2292PKTOPTIONS 6
141 #define IPV6_CHECKSUM 7
142 #define IPV6_2292HOPLIMIT 8
143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 #define IPV6_NEXTHOP 9
145 #define IPV6_AUTHHDR 10
146 #define IPV6_FLOWINFO 11
147 #define IPV6_UNICAST_HOPS 16
148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 #define IPV6_MULTICAST_IF 17
150 #define IPV6_MULTICAST_HOPS 18
151 #define IPV6_MULTICAST_LOOP 19
152 #define IPV6_ADD_MEMBERSHIP 20
153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154 #define IPV6_DROP_MEMBERSHIP 21
155 #define IPV6_ROUTER_ALERT 22
156 #define IPV6_MTU_DISCOVER 23
157 #define IPV6_MTU 24
158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159 #define IPV6_RECVERR 25
160 #define IPV6_V6ONLY 26
161 #define IPV6_JOIN_ANYCAST 27
162 #define IPV6_LEAVE_ANYCAST 28
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 #define IPV6_PMTUDISC_DONT 0
165 #define IPV6_PMTUDISC_WANT 1
166 #define IPV6_PMTUDISC_DO 2
167 #define IPV6_PMTUDISC_PROBE 3
168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 #define IPV6_PMTUDISC_INTERFACE 4
170 #define IPV6_PMTUDISC_OMIT 5
171 #define IPV6_FLOWLABEL_MGR 32
172 #define IPV6_FLOWINFO_SEND 33
173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 #define IPV6_IPSEC_POLICY 34
175 #define IPV6_XFRM_POLICY 35
176 #define IPV6_HDRINCL 36
177 #endif
178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 #define IPV6_RECVPKTINFO 49
180 #define IPV6_PKTINFO 50
181 #define IPV6_RECVHOPLIMIT 51
182 #define IPV6_HOPLIMIT 52
183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 #define IPV6_RECVHOPOPTS 53
185 #define IPV6_HOPOPTS 54
186 #define IPV6_RTHDRDSTOPTS 55
187 #define IPV6_RECVRTHDR 56
188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189 #define IPV6_RTHDR 57
190 #define IPV6_RECVDSTOPTS 58
191 #define IPV6_DSTOPTS 59
192 #define IPV6_RECVPATHMTU 60
193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 #define IPV6_PATHMTU 61
195 #define IPV6_DONTFRAG 62
196 #define IPV6_RECVTCLASS 66
197 #define IPV6_TCLASS 67
198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 #define IPV6_AUTOFLOWLABEL 70
200 #define IPV6_ADDR_PREFERENCES 72
201 #define IPV6_PREFER_SRC_TMP 0x0001
202 #define IPV6_PREFER_SRC_PUBLIC 0x0002
203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 #define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
205 #define IPV6_PREFER_SRC_COA 0x0004
206 #define IPV6_PREFER_SRC_HOME 0x0400
207 #define IPV6_PREFER_SRC_CGA 0x0008
208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 #define IPV6_PREFER_SRC_NONCGA 0x0800
210 #define IPV6_MINHOPCOUNT 73
211 #define IPV6_ORIGDSTADDR 74
212 #define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 #define IPV6_TRANSPARENT 75
215 #define IPV6_UNICAST_IF 76
216 #define IPV6_RECVFRAGSIZE 77
217 #endif
218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219