ipv6.h revision 6a9755d20a995756487bb1aafb7e954f4fd868a7
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_IPV6_H
20#define _UAPI_IPV6_H
21#include <linux/libc-compat.h>
22#include <linux/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#include <linux/in6.h>
25#include <asm/byteorder.h>
26#define IPV6_MIN_MTU 1280
27#if __UAPI_DEF_IN6_PKTINFO
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29struct in6_pktinfo {
30  struct in6_addr ipi6_addr;
31  int ipi6_ifindex;
32};
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#endif
35#if __UAPI_DEF_IP6_MTUINFO
36struct ip6_mtuinfo {
37  struct sockaddr_in6 ip6m_addr;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39  __u32 ip6m_mtu;
40};
41#endif
42struct in6_ifreq {
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44  struct in6_addr ifr6_addr;
45  __u32 ifr6_prefixlen;
46  int ifr6_ifindex;
47};
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define IPV6_SRCRT_STRICT 0x01
50#define IPV6_SRCRT_TYPE_0 0
51#define IPV6_SRCRT_TYPE_2 2
52struct ipv6_rt_hdr {
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54  __u8 nexthdr;
55  __u8 hdrlen;
56  __u8 type;
57  __u8 segments_left;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59};
60struct ipv6_opt_hdr {
61  __u8 nexthdr;
62  __u8 hdrlen;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64} __attribute__((packed));
65#define ipv6_destopt_hdr ipv6_opt_hdr
66#define ipv6_hopopt_hdr ipv6_opt_hdr
67#define IPV6_OPT_ROUTERALERT_MLD 0x0000
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69struct rt0_hdr {
70  struct ipv6_rt_hdr rt_hdr;
71  __u32 reserved;
72  struct in6_addr addr[0];
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74#define rt0_type rt_hdr.type
75};
76struct rt2_hdr {
77  struct ipv6_rt_hdr rt_hdr;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79  __u32 reserved;
80  struct in6_addr addr;
81#define rt2_type rt_hdr.type
82};
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84struct ipv6_destopt_hao {
85  __u8 type;
86  __u8 length;
87  struct in6_addr addr;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89} __attribute__((packed));
90struct ipv6hdr {
91#ifdef __LITTLE_ENDIAN_BITFIELD
92  __u8 priority : 4, version : 4;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94#elif defined(__BIG_ENDIAN_BITFIELD)
95  __u8 version : 4, priority : 4;
96#else
97#error "Please fix <asm/byteorder.h>"
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99#endif
100  __u8 flow_lbl[3];
101  __be16 payload_len;
102  __u8 nexthdr;
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104  __u8 hop_limit;
105  struct in6_addr saddr;
106  struct in6_addr daddr;
107};
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109enum {
110  DEVCONF_FORWARDING = 0,
111  DEVCONF_HOPLIMIT,
112  DEVCONF_MTU6,
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114  DEVCONF_ACCEPT_RA,
115  DEVCONF_ACCEPT_REDIRECTS,
116  DEVCONF_AUTOCONF,
117  DEVCONF_DAD_TRANSMITS,
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119  DEVCONF_RTR_SOLICITS,
120  DEVCONF_RTR_SOLICIT_INTERVAL,
121  DEVCONF_RTR_SOLICIT_DELAY,
122  DEVCONF_USE_TEMPADDR,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124  DEVCONF_TEMP_VALID_LFT,
125  DEVCONF_TEMP_PREFERED_LFT,
126  DEVCONF_REGEN_MAX_RETRY,
127  DEVCONF_MAX_DESYNC_FACTOR,
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129  DEVCONF_MAX_ADDRESSES,
130  DEVCONF_FORCE_MLD_VERSION,
131  DEVCONF_ACCEPT_RA_DEFRTR,
132  DEVCONF_ACCEPT_RA_PINFO,
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134  DEVCONF_ACCEPT_RA_RTR_PREF,
135  DEVCONF_RTR_PROBE_INTERVAL,
136  DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN,
137  DEVCONF_PROXY_NDP,
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139  DEVCONF_OPTIMISTIC_DAD,
140  DEVCONF_ACCEPT_SOURCE_ROUTE,
141  DEVCONF_MC_FORWARDING,
142  DEVCONF_DISABLE_IPV6,
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144  DEVCONF_ACCEPT_DAD,
145  DEVCONF_FORCE_TLLAO,
146  DEVCONF_NDISC_NOTIFY,
147  DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL,
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149  DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
150  DEVCONF_SUPPRESS_FRAG_NDISC,
151  DEVCONF_ACCEPT_RA_FROM_LOCAL,
152  DEVCONF_USE_OPTIMISTIC,
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154  DEVCONF_ACCEPT_RA_MTU,
155  DEVCONF_STABLE_SECRET,
156  DEVCONF_USE_OIF_ADDRS_ONLY,
157  DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT,
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159  DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
160  DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
161  DEVCONF_DROP_UNSOLICITED_NA,
162  DEVCONF_KEEP_ADDR_ON_DOWN,
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  DEVCONF_RTR_SOLICIT_MAX_INTERVAL,
165  DEVCONF_MAX
166};
167#endif
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169