xref: /aosp_15_r20/prebuilts/build-tools/sysroots/aarch64-unknown-linux-musl/include/linux/ipv6.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI_IPV6_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI_IPV6_H
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/libc-compat.h>
10*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
11*cda5da8dSAndroid Build Coastguard Worker #include <linux/stddef.h>
12*cda5da8dSAndroid Build Coastguard Worker #include <linux/in6.h>
13*cda5da8dSAndroid Build Coastguard Worker #include <asm/byteorder.h>
14*cda5da8dSAndroid Build Coastguard Worker #define IPV6_MIN_MTU 1280
15*cda5da8dSAndroid Build Coastguard Worker #if __UAPI_DEF_IN6_PKTINFO
16*cda5da8dSAndroid Build Coastguard Worker struct in6_pktinfo {
17*cda5da8dSAndroid Build Coastguard Worker   struct in6_addr ipi6_addr;
18*cda5da8dSAndroid Build Coastguard Worker   int ipi6_ifindex;
19*cda5da8dSAndroid Build Coastguard Worker };
20*cda5da8dSAndroid Build Coastguard Worker #endif
21*cda5da8dSAndroid Build Coastguard Worker #if __UAPI_DEF_IP6_MTUINFO
22*cda5da8dSAndroid Build Coastguard Worker struct ip6_mtuinfo {
23*cda5da8dSAndroid Build Coastguard Worker   struct sockaddr_in6 ip6m_addr;
24*cda5da8dSAndroid Build Coastguard Worker   __u32 ip6m_mtu;
25*cda5da8dSAndroid Build Coastguard Worker };
26*cda5da8dSAndroid Build Coastguard Worker #endif
27*cda5da8dSAndroid Build Coastguard Worker struct in6_ifreq {
28*cda5da8dSAndroid Build Coastguard Worker   struct in6_addr ifr6_addr;
29*cda5da8dSAndroid Build Coastguard Worker   __u32 ifr6_prefixlen;
30*cda5da8dSAndroid Build Coastguard Worker   int ifr6_ifindex;
31*cda5da8dSAndroid Build Coastguard Worker };
32*cda5da8dSAndroid Build Coastguard Worker #define IPV6_SRCRT_STRICT 0x01
33*cda5da8dSAndroid Build Coastguard Worker #define IPV6_SRCRT_TYPE_0 0
34*cda5da8dSAndroid Build Coastguard Worker #define IPV6_SRCRT_TYPE_2 2
35*cda5da8dSAndroid Build Coastguard Worker #define IPV6_SRCRT_TYPE_3 3
36*cda5da8dSAndroid Build Coastguard Worker #define IPV6_SRCRT_TYPE_4 4
37*cda5da8dSAndroid Build Coastguard Worker struct ipv6_rt_hdr {
38*cda5da8dSAndroid Build Coastguard Worker   __u8 nexthdr;
39*cda5da8dSAndroid Build Coastguard Worker   __u8 hdrlen;
40*cda5da8dSAndroid Build Coastguard Worker   __u8 type;
41*cda5da8dSAndroid Build Coastguard Worker   __u8 segments_left;
42*cda5da8dSAndroid Build Coastguard Worker };
43*cda5da8dSAndroid Build Coastguard Worker struct ipv6_opt_hdr {
44*cda5da8dSAndroid Build Coastguard Worker   __u8 nexthdr;
45*cda5da8dSAndroid Build Coastguard Worker   __u8 hdrlen;
46*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
47*cda5da8dSAndroid Build Coastguard Worker #define ipv6_destopt_hdr ipv6_opt_hdr
48*cda5da8dSAndroid Build Coastguard Worker #define ipv6_hopopt_hdr ipv6_opt_hdr
49*cda5da8dSAndroid Build Coastguard Worker #define IPV6_OPT_ROUTERALERT_MLD 0x0000
50*cda5da8dSAndroid Build Coastguard Worker struct rt0_hdr {
51*cda5da8dSAndroid Build Coastguard Worker   struct ipv6_rt_hdr rt_hdr;
52*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved;
53*cda5da8dSAndroid Build Coastguard Worker   struct in6_addr addr[];
54*cda5da8dSAndroid Build Coastguard Worker #define rt0_type rt_hdr.type
55*cda5da8dSAndroid Build Coastguard Worker };
56*cda5da8dSAndroid Build Coastguard Worker struct rt2_hdr {
57*cda5da8dSAndroid Build Coastguard Worker   struct ipv6_rt_hdr rt_hdr;
58*cda5da8dSAndroid Build Coastguard Worker   __u32 reserved;
59*cda5da8dSAndroid Build Coastguard Worker   struct in6_addr addr;
60*cda5da8dSAndroid Build Coastguard Worker #define rt2_type rt_hdr.type
61*cda5da8dSAndroid Build Coastguard Worker };
62*cda5da8dSAndroid Build Coastguard Worker struct ipv6_destopt_hao {
63*cda5da8dSAndroid Build Coastguard Worker   __u8 type;
64*cda5da8dSAndroid Build Coastguard Worker   __u8 length;
65*cda5da8dSAndroid Build Coastguard Worker   struct in6_addr addr;
66*cda5da8dSAndroid Build Coastguard Worker } __attribute__((packed));
67*cda5da8dSAndroid Build Coastguard Worker struct ipv6hdr {
68*cda5da8dSAndroid Build Coastguard Worker #ifdef __LITTLE_ENDIAN_BITFIELD
69*cda5da8dSAndroid Build Coastguard Worker   __u8 priority : 4, version : 4;
70*cda5da8dSAndroid Build Coastguard Worker #elif defined(__BIG_ENDIAN_BITFIELD)
71*cda5da8dSAndroid Build Coastguard Worker   __u8 version : 4, priority : 4;
72*cda5da8dSAndroid Build Coastguard Worker #else
73*cda5da8dSAndroid Build Coastguard Worker #error "Please fix <asm/byteorder.h>"
74*cda5da8dSAndroid Build Coastguard Worker #endif
75*cda5da8dSAndroid Build Coastguard Worker   __u8 flow_lbl[3];
76*cda5da8dSAndroid Build Coastguard Worker   __be16 payload_len;
77*cda5da8dSAndroid Build Coastguard Worker   __u8 nexthdr;
78*cda5da8dSAndroid Build Coastguard Worker   __u8 hop_limit;
79*cda5da8dSAndroid Build Coastguard Worker   __struct_group(, addrs,, struct in6_addr saddr;
80*cda5da8dSAndroid Build Coastguard Worker   struct in6_addr daddr;
81*cda5da8dSAndroid Build Coastguard Worker  );
82*cda5da8dSAndroid Build Coastguard Worker };
83*cda5da8dSAndroid Build Coastguard Worker enum {
84*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_FORWARDING = 0,
85*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_HOPLIMIT,
86*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MTU6,
87*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA,
88*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_REDIRECTS,
89*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_AUTOCONF,
90*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_DAD_TRANSMITS,
91*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RTR_SOLICITS,
92*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RTR_SOLICIT_INTERVAL,
93*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RTR_SOLICIT_DELAY,
94*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_USE_TEMPADDR,
95*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_TEMP_VALID_LFT,
96*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_TEMP_PREFERED_LFT,
97*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_REGEN_MAX_RETRY,
98*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MAX_DESYNC_FACTOR,
99*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MAX_ADDRESSES,
100*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_FORCE_MLD_VERSION,
101*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_DEFRTR,
102*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_PINFO,
103*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_RTR_PREF,
104*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RTR_PROBE_INTERVAL,
105*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN,
106*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_PROXY_NDP,
107*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_OPTIMISTIC_DAD,
108*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_SOURCE_ROUTE,
109*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MC_FORWARDING,
110*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_DISABLE_IPV6,
111*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_DAD,
112*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_FORCE_TLLAO,
113*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_NDISC_NOTIFY,
114*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL,
115*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
116*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_SUPPRESS_FRAG_NDISC,
117*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_FROM_LOCAL,
118*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_USE_OPTIMISTIC,
119*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_MTU,
120*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_STABLE_SECRET,
121*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_USE_OIF_ADDRS_ONLY,
122*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT,
123*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
124*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
125*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_DROP_UNSOLICITED_NA,
126*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_KEEP_ADDR_ON_DOWN,
127*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RTR_SOLICIT_MAX_INTERVAL,
128*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_SEG6_ENABLED,
129*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_SEG6_REQUIRE_HMAC,
130*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ENHANCED_DAD,
131*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ADDR_GEN_MODE,
132*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_DISABLE_POLICY,
133*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_RT_INFO_MIN_PLEN,
134*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_NDISC_TCLASS,
135*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RPL_SEG_ENABLED,
136*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_RA_DEFRTR_METRIC,
137*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_IOAM6_ENABLED,
138*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_IOAM6_ID,
139*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_IOAM6_ID_WIDE,
140*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_NDISC_EVICT_NOCARRIER,
141*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_UNTRACKED_NA,
142*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_ACCEPT_RA_MIN_LFT,
143*cda5da8dSAndroid Build Coastguard Worker   DEVCONF_MAX
144*cda5da8dSAndroid Build Coastguard Worker };
145*cda5da8dSAndroid Build Coastguard Worker #endif
146