blob: d148dfd382a616094fbad4ddc5af8e37c399b5e1 [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 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _LINUX_IN6_H
13#define _LINUX_IN6_H
14
15#include <linux/types.h>
16
Steinar H. Gunderson06880232011-01-20 00:12:30 +010017struct in6_addr {
18 union {
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080019 __u8 u6_addr8[16];
Steinar H. Gunderson06880232011-01-20 00:12:30 +010020 __be16 u6_addr16[8];
21 __be32 u6_addr32[4];
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080022 } in6_u;
23#define s6_addr in6_u.u6_addr8
24#define s6_addr16 in6_u.u6_addr16
25#define s6_addr32 in6_u.u6_addr32
26};
27
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080028struct sockaddr_in6 {
29 unsigned short int sin6_family;
Steinar H. Gunderson06880232011-01-20 00:12:30 +010030 __be16 sin6_port;
31 __be32 sin6_flowinfo;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080032 struct in6_addr sin6_addr;
33 __u32 sin6_scope_id;
34};
35
36struct ipv6_mreq {
37
38 struct in6_addr ipv6mr_multiaddr;
39
40 int ipv6mr_ifindex;
41};
42
43#define ipv6mr_acaddr ipv6mr_multiaddr
44
Steinar H. Gunderson06880232011-01-20 00:12:30 +010045struct in6_flowlabel_req {
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080046 struct in6_addr flr_dst;
Steinar H. Gunderson06880232011-01-20 00:12:30 +010047 __be32 flr_label;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080048 __u8 flr_action;
49 __u8 flr_share;
50 __u16 flr_flags;
51 __u16 flr_expires;
52 __u16 flr_linger;
53 __u32 __flr_pad;
54
55};
56
57#define IPV6_FL_A_GET 0
58#define IPV6_FL_A_PUT 1
59#define IPV6_FL_A_RENEW 2
60
61#define IPV6_FL_F_CREATE 1
62#define IPV6_FL_F_EXCL 2
63
64#define IPV6_FL_S_NONE 0
65#define IPV6_FL_S_EXCL 1
66#define IPV6_FL_S_PROCESS 2
67#define IPV6_FL_S_USER 3
68#define IPV6_FL_S_ANY 255
69
70#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
71#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
72
73#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
74#define IPV6_PRIORITY_FILLER 0x0100
75#define IPV6_PRIORITY_UNATTENDED 0x0200
76#define IPV6_PRIORITY_RESERVED1 0x0300
77#define IPV6_PRIORITY_BULK 0x0400
78#define IPV6_PRIORITY_RESERVED2 0x0500
79#define IPV6_PRIORITY_INTERACTIVE 0x0600
80#define IPV6_PRIORITY_CONTROL 0x0700
81#define IPV6_PRIORITY_8 0x0800
82#define IPV6_PRIORITY_9 0x0900
83#define IPV6_PRIORITY_10 0x0a00
84#define IPV6_PRIORITY_11 0x0b00
85#define IPV6_PRIORITY_12 0x0c00
86#define IPV6_PRIORITY_13 0x0d00
87#define IPV6_PRIORITY_14 0x0e00
88#define IPV6_PRIORITY_15 0x0f00
89
90#define IPPROTO_HOPOPTS 0
91#define IPPROTO_ROUTING 43
92#define IPPROTO_FRAGMENT 44
93#define IPPROTO_ICMPV6 58
94#define IPPROTO_NONE 59
95#define IPPROTO_DSTOPTS 60
Steinar H. Gunderson06880232011-01-20 00:12:30 +010096#define IPPROTO_MH 135
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080097
98#define IPV6_TLV_PAD0 0
99#define IPV6_TLV_PADN 1
100#define IPV6_TLV_ROUTERALERT 5
101#define IPV6_TLV_JUMBO 194
Steinar H. Gunderson06880232011-01-20 00:12:30 +0100102#define IPV6_TLV_HAO 201
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800103
104#define IPV6_ADDRFORM 1
105#define IPV6_2292PKTINFO 2
106#define IPV6_2292HOPOPTS 3
107#define IPV6_2292DSTOPTS 4
108#define IPV6_2292RTHDR 5
109#define IPV6_2292PKTOPTIONS 6
110#define IPV6_CHECKSUM 7
111#define IPV6_2292HOPLIMIT 8
112#define IPV6_NEXTHOP 9
113#define IPV6_AUTHHDR 10
114#define IPV6_FLOWINFO 11
115
116#define IPV6_UNICAST_HOPS 16
117#define IPV6_MULTICAST_IF 17
118#define IPV6_MULTICAST_HOPS 18
119#define IPV6_MULTICAST_LOOP 19
120#define IPV6_ADD_MEMBERSHIP 20
121#define IPV6_DROP_MEMBERSHIP 21
122#define IPV6_ROUTER_ALERT 22
123#define IPV6_MTU_DISCOVER 23
124#define IPV6_MTU 24
125#define IPV6_RECVERR 25
126#define IPV6_V6ONLY 26
127#define IPV6_JOIN_ANYCAST 27
128#define IPV6_LEAVE_ANYCAST 28
129
130#define IPV6_PMTUDISC_DONT 0
131#define IPV6_PMTUDISC_WANT 1
132#define IPV6_PMTUDISC_DO 2
Steinar H. Gunderson06880232011-01-20 00:12:30 +0100133#define IPV6_PMTUDISC_PROBE 3
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800134
135#define IPV6_FLOWLABEL_MGR 32
136#define IPV6_FLOWINFO_SEND 33
137
138#define IPV6_IPSEC_POLICY 34
139#define IPV6_XFRM_POLICY 35
140
141#define IPV6_RECVPKTINFO 49
142#define IPV6_PKTINFO 50
143#define IPV6_RECVHOPLIMIT 51
144#define IPV6_HOPLIMIT 52
145#define IPV6_RECVHOPOPTS 53
146#define IPV6_HOPOPTS 54
147#define IPV6_RTHDRDSTOPTS 55
148#define IPV6_RECVRTHDR 56
149#define IPV6_RTHDR 57
150#define IPV6_RECVDSTOPTS 58
151#define IPV6_DSTOPTS 59
Steinar H. Gunderson06880232011-01-20 00:12:30 +0100152#define IPV6_RECVPATHMTU 60
153#define IPV6_PATHMTU 61
154#define IPV6_DONTFRAG 62
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800155
156#define IPV6_RECVTCLASS 66
157#define IPV6_TCLASS 67
158
Steinar H. Gunderson06880232011-01-20 00:12:30 +0100159#define IPV6_ADDR_PREFERENCES 72
160
161#define IPV6_PREFER_SRC_TMP 0x0001
162#define IPV6_PREFER_SRC_PUBLIC 0x0002
163#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
164#define IPV6_PREFER_SRC_COA 0x0004
165#define IPV6_PREFER_SRC_HOME 0x0400
166#define IPV6_PREFER_SRC_CGA 0x0008
167#define IPV6_PREFER_SRC_NONCGA 0x0800
168
169#define IPV6_MINHOPCOUNT 73
170
171#define IPV6_ORIGDSTADDR 74
172#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
173#define IPV6_TRANSPARENT 75
174
The Android Open Source Project1dc9e472009-03-03 19:28:35 -0800175#endif