Home | History | Annotate | Download | only in linux
      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 */
     29 struct 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
     36 struct 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
     42 struct 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
     52 struct 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 };
     60 struct 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 */
     69 struct 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 };
     76 struct 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 */
     84 struct 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));
     90 struct 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 */
    109 enum {
    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_MAX
    161 };
    162 #endif
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164