blob: ceaeb7da3732ea9be7a7cd8c817dfc794b183bda [file] [log] [blame]
Dan Albert287553d2017-02-16 10:47:51 -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
17struct in6_addr
18{
19 union
20 {
21 __u8 u6_addr8[16];
22 __u16 u6_addr16[8];
23 __u32 u6_addr32[4];
24 } in6_u;
25#define s6_addr in6_u.u6_addr8
26#define s6_addr16 in6_u.u6_addr16
27#define s6_addr32 in6_u.u6_addr32
28};
29
30#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
31
32struct sockaddr_in6 {
33 unsigned short int sin6_family;
34 __u16 sin6_port;
35 __u32 sin6_flowinfo;
36 struct in6_addr sin6_addr;
37 __u32 sin6_scope_id;
38};
39
40struct ipv6_mreq {
41
42 struct in6_addr ipv6mr_multiaddr;
43
44 int ipv6mr_ifindex;
45};
46
47#define ipv6mr_acaddr ipv6mr_multiaddr
48
49struct in6_flowlabel_req
50{
51 struct in6_addr flr_dst;
52 __u32 flr_label;
53 __u8 flr_action;
54 __u8 flr_share;
55 __u16 flr_flags;
56 __u16 flr_expires;
57 __u16 flr_linger;
58 __u32 __flr_pad;
59
60};
61
62#define IPV6_FL_A_GET 0
63#define IPV6_FL_A_PUT 1
64#define IPV6_FL_A_RENEW 2
65
66#define IPV6_FL_F_CREATE 1
67#define IPV6_FL_F_EXCL 2
68
69#define IPV6_FL_S_NONE 0
70#define IPV6_FL_S_EXCL 1
71#define IPV6_FL_S_PROCESS 2
72#define IPV6_FL_S_USER 3
73#define IPV6_FL_S_ANY 255
74
75#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
76#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
77
78#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
79#define IPV6_PRIORITY_FILLER 0x0100
80#define IPV6_PRIORITY_UNATTENDED 0x0200
81#define IPV6_PRIORITY_RESERVED1 0x0300
82#define IPV6_PRIORITY_BULK 0x0400
83#define IPV6_PRIORITY_RESERVED2 0x0500
84#define IPV6_PRIORITY_INTERACTIVE 0x0600
85#define IPV6_PRIORITY_CONTROL 0x0700
86#define IPV6_PRIORITY_8 0x0800
87#define IPV6_PRIORITY_9 0x0900
88#define IPV6_PRIORITY_10 0x0a00
89#define IPV6_PRIORITY_11 0x0b00
90#define IPV6_PRIORITY_12 0x0c00
91#define IPV6_PRIORITY_13 0x0d00
92#define IPV6_PRIORITY_14 0x0e00
93#define IPV6_PRIORITY_15 0x0f00
94
95#define IPPROTO_HOPOPTS 0
96#define IPPROTO_ROUTING 43
97#define IPPROTO_FRAGMENT 44
98#define IPPROTO_ICMPV6 58
99#define IPPROTO_NONE 59
100#define IPPROTO_DSTOPTS 60
101
102#define IPV6_TLV_PAD0 0
103#define IPV6_TLV_PADN 1
104#define IPV6_TLV_ROUTERALERT 5
105#define IPV6_TLV_JUMBO 194
106
107#define IPV6_ADDRFORM 1
108#define IPV6_2292PKTINFO 2
109#define IPV6_2292HOPOPTS 3
110#define IPV6_2292DSTOPTS 4
111#define IPV6_2292RTHDR 5
112#define IPV6_2292PKTOPTIONS 6
113#define IPV6_CHECKSUM 7
114#define IPV6_2292HOPLIMIT 8
115#define IPV6_NEXTHOP 9
116#define IPV6_AUTHHDR 10
117#define IPV6_FLOWINFO 11
118
119#define IPV6_UNICAST_HOPS 16
120#define IPV6_MULTICAST_IF 17
121#define IPV6_MULTICAST_HOPS 18
122#define IPV6_MULTICAST_LOOP 19
123#define IPV6_ADD_MEMBERSHIP 20
124#define IPV6_DROP_MEMBERSHIP 21
125#define IPV6_ROUTER_ALERT 22
126#define IPV6_MTU_DISCOVER 23
127#define IPV6_MTU 24
128#define IPV6_RECVERR 25
129#define IPV6_V6ONLY 26
130#define IPV6_JOIN_ANYCAST 27
131#define IPV6_LEAVE_ANYCAST 28
132
133#define IPV6_PMTUDISC_DONT 0
134#define IPV6_PMTUDISC_WANT 1
135#define IPV6_PMTUDISC_DO 2
136
137#define IPV6_FLOWLABEL_MGR 32
138#define IPV6_FLOWINFO_SEND 33
139
140#define IPV6_IPSEC_POLICY 34
141#define IPV6_XFRM_POLICY 35
142
143#define IPV6_RECVPKTINFO 49
144#define IPV6_PKTINFO 50
145#define IPV6_RECVHOPLIMIT 51
146#define IPV6_HOPLIMIT 52
147#define IPV6_RECVHOPOPTS 53
148#define IPV6_HOPOPTS 54
149#define IPV6_RTHDRDSTOPTS 55
150#define IPV6_RECVRTHDR 56
151#define IPV6_RTHDR 57
152#define IPV6_RECVDSTOPTS 58
153#define IPV6_DSTOPTS 59
154
155#define IPV6_RECVTCLASS 66
156#define IPV6_TCLASS 67
157
158#endif