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