xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/in6.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_IN6_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_IN6_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/libc-compat.h>
11*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_IN6_ADDR
12*8d67ca89SAndroid Build Coastguard Worker struct in6_addr {
13*8d67ca89SAndroid Build Coastguard Worker   union {
14*8d67ca89SAndroid Build Coastguard Worker     __u8 u6_addr8[16];
15*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_IN6_ADDR_ALT
16*8d67ca89SAndroid Build Coastguard Worker     __be16 u6_addr16[8];
17*8d67ca89SAndroid Build Coastguard Worker     __be32 u6_addr32[4];
18*8d67ca89SAndroid Build Coastguard Worker #endif
19*8d67ca89SAndroid Build Coastguard Worker   } in6_u;
20*8d67ca89SAndroid Build Coastguard Worker #define s6_addr in6_u.u6_addr8
21*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_IN6_ADDR_ALT
22*8d67ca89SAndroid Build Coastguard Worker #define s6_addr16 in6_u.u6_addr16
23*8d67ca89SAndroid Build Coastguard Worker #define s6_addr32 in6_u.u6_addr32
24*8d67ca89SAndroid Build Coastguard Worker #endif
25*8d67ca89SAndroid Build Coastguard Worker };
26*8d67ca89SAndroid Build Coastguard Worker #endif
27*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_SOCKADDR_IN6
28*8d67ca89SAndroid Build Coastguard Worker struct sockaddr_in6 {
29*8d67ca89SAndroid Build Coastguard Worker   unsigned short int sin6_family;
30*8d67ca89SAndroid Build Coastguard Worker   __be16 sin6_port;
31*8d67ca89SAndroid Build Coastguard Worker   __be32 sin6_flowinfo;
32*8d67ca89SAndroid Build Coastguard Worker   struct in6_addr sin6_addr;
33*8d67ca89SAndroid Build Coastguard Worker   __u32 sin6_scope_id;
34*8d67ca89SAndroid Build Coastguard Worker };
35*8d67ca89SAndroid Build Coastguard Worker #endif
36*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_IPV6_MREQ
37*8d67ca89SAndroid Build Coastguard Worker struct ipv6_mreq {
38*8d67ca89SAndroid Build Coastguard Worker   struct in6_addr ipv6mr_multiaddr;
39*8d67ca89SAndroid Build Coastguard Worker   int ipv6mr_ifindex;
40*8d67ca89SAndroid Build Coastguard Worker };
41*8d67ca89SAndroid Build Coastguard Worker #endif
42*8d67ca89SAndroid Build Coastguard Worker #define ipv6mr_acaddr ipv6mr_multiaddr
43*8d67ca89SAndroid Build Coastguard Worker struct in6_flowlabel_req {
44*8d67ca89SAndroid Build Coastguard Worker   struct in6_addr flr_dst;
45*8d67ca89SAndroid Build Coastguard Worker   __be32 flr_label;
46*8d67ca89SAndroid Build Coastguard Worker   __u8 flr_action;
47*8d67ca89SAndroid Build Coastguard Worker   __u8 flr_share;
48*8d67ca89SAndroid Build Coastguard Worker   __u16 flr_flags;
49*8d67ca89SAndroid Build Coastguard Worker   __u16 flr_expires;
50*8d67ca89SAndroid Build Coastguard Worker   __u16 flr_linger;
51*8d67ca89SAndroid Build Coastguard Worker   __u32 __flr_pad;
52*8d67ca89SAndroid Build Coastguard Worker };
53*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_A_GET 0
54*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_A_PUT 1
55*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_A_RENEW 2
56*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_F_CREATE 1
57*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_F_EXCL 2
58*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_F_REFLECT 4
59*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_F_REMOTE 8
60*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_S_NONE 0
61*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_S_EXCL 1
62*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_S_PROCESS 2
63*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_S_USER 3
64*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FL_S_ANY 255
65*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
66*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FLOWINFO_PRIORITY 0x0ff00000
67*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
68*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_FILLER 0x0100
69*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_UNATTENDED 0x0200
70*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_RESERVED1 0x0300
71*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_BULK 0x0400
72*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_RESERVED2 0x0500
73*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_INTERACTIVE 0x0600
74*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_CONTROL 0x0700
75*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_8 0x0800
76*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_9 0x0900
77*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_10 0x0a00
78*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_11 0x0b00
79*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_12 0x0c00
80*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_13 0x0d00
81*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_14 0x0e00
82*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PRIORITY_15 0x0f00
83*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_IPPROTO_V6
84*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_HOPOPTS 0
85*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_ROUTING 43
86*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_FRAGMENT 44
87*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_ICMPV6 58
88*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_NONE 59
89*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_DSTOPTS 60
90*8d67ca89SAndroid Build Coastguard Worker #define IPPROTO_MH 135
91*8d67ca89SAndroid Build Coastguard Worker #endif
92*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_PAD1 0
93*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_PADN 1
94*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_ROUTERALERT 5
95*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_CALIPSO 7
96*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_IOAM 49
97*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_JUMBO 194
98*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TLV_HAO 201
99*8d67ca89SAndroid Build Coastguard Worker #if __UAPI_DEF_IPV6_OPTIONS
100*8d67ca89SAndroid Build Coastguard Worker #define IPV6_ADDRFORM 1
101*8d67ca89SAndroid Build Coastguard Worker #define IPV6_2292PKTINFO 2
102*8d67ca89SAndroid Build Coastguard Worker #define IPV6_2292HOPOPTS 3
103*8d67ca89SAndroid Build Coastguard Worker #define IPV6_2292DSTOPTS 4
104*8d67ca89SAndroid Build Coastguard Worker #define IPV6_2292RTHDR 5
105*8d67ca89SAndroid Build Coastguard Worker #define IPV6_2292PKTOPTIONS 6
106*8d67ca89SAndroid Build Coastguard Worker #define IPV6_CHECKSUM 7
107*8d67ca89SAndroid Build Coastguard Worker #define IPV6_2292HOPLIMIT 8
108*8d67ca89SAndroid Build Coastguard Worker #define IPV6_NEXTHOP 9
109*8d67ca89SAndroid Build Coastguard Worker #define IPV6_AUTHHDR 10
110*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FLOWINFO 11
111*8d67ca89SAndroid Build Coastguard Worker #define IPV6_UNICAST_HOPS 16
112*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MULTICAST_IF 17
113*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MULTICAST_HOPS 18
114*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MULTICAST_LOOP 19
115*8d67ca89SAndroid Build Coastguard Worker #define IPV6_ADD_MEMBERSHIP 20
116*8d67ca89SAndroid Build Coastguard Worker #define IPV6_DROP_MEMBERSHIP 21
117*8d67ca89SAndroid Build Coastguard Worker #define IPV6_ROUTER_ALERT 22
118*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MTU_DISCOVER 23
119*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MTU 24
120*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVERR 25
121*8d67ca89SAndroid Build Coastguard Worker #define IPV6_V6ONLY 26
122*8d67ca89SAndroid Build Coastguard Worker #define IPV6_JOIN_ANYCAST 27
123*8d67ca89SAndroid Build Coastguard Worker #define IPV6_LEAVE_ANYCAST 28
124*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MULTICAST_ALL 29
125*8d67ca89SAndroid Build Coastguard Worker #define IPV6_ROUTER_ALERT_ISOLATE 30
126*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVERR_RFC4884 31
127*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PMTUDISC_DONT 0
128*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PMTUDISC_WANT 1
129*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PMTUDISC_DO 2
130*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PMTUDISC_PROBE 3
131*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PMTUDISC_INTERFACE 4
132*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PMTUDISC_OMIT 5
133*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FLOWLABEL_MGR 32
134*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FLOWINFO_SEND 33
135*8d67ca89SAndroid Build Coastguard Worker #define IPV6_IPSEC_POLICY 34
136*8d67ca89SAndroid Build Coastguard Worker #define IPV6_XFRM_POLICY 35
137*8d67ca89SAndroid Build Coastguard Worker #define IPV6_HDRINCL 36
138*8d67ca89SAndroid Build Coastguard Worker #endif
139*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVPKTINFO 49
140*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PKTINFO 50
141*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVHOPLIMIT 51
142*8d67ca89SAndroid Build Coastguard Worker #define IPV6_HOPLIMIT 52
143*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVHOPOPTS 53
144*8d67ca89SAndroid Build Coastguard Worker #define IPV6_HOPOPTS 54
145*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RTHDRDSTOPTS 55
146*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVRTHDR 56
147*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RTHDR 57
148*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVDSTOPTS 58
149*8d67ca89SAndroid Build Coastguard Worker #define IPV6_DSTOPTS 59
150*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVPATHMTU 60
151*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PATHMTU 61
152*8d67ca89SAndroid Build Coastguard Worker #define IPV6_DONTFRAG 62
153*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVTCLASS 66
154*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TCLASS 67
155*8d67ca89SAndroid Build Coastguard Worker #define IPV6_AUTOFLOWLABEL 70
156*8d67ca89SAndroid Build Coastguard Worker #define IPV6_ADDR_PREFERENCES 72
157*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_TMP 0x0001
158*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_PUBLIC 0x0002
159*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
160*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_COA 0x0004
161*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_HOME 0x0400
162*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_CGA 0x0008
163*8d67ca89SAndroid Build Coastguard Worker #define IPV6_PREFER_SRC_NONCGA 0x0800
164*8d67ca89SAndroid Build Coastguard Worker #define IPV6_MINHOPCOUNT 73
165*8d67ca89SAndroid Build Coastguard Worker #define IPV6_ORIGDSTADDR 74
166*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
167*8d67ca89SAndroid Build Coastguard Worker #define IPV6_TRANSPARENT 75
168*8d67ca89SAndroid Build Coastguard Worker #define IPV6_UNICAST_IF 76
169*8d67ca89SAndroid Build Coastguard Worker #define IPV6_RECVFRAGSIZE 77
170*8d67ca89SAndroid Build Coastguard Worker #define IPV6_FREEBIND 78
171*8d67ca89SAndroid Build Coastguard Worker #endif
172