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_LINUX_IN6_H
     20 #define _UAPI_LINUX_IN6_H
     21 #include <linux/types.h>
     22 #include <linux/libc-compat.h>
     23 #if __UAPI_DEF_IN6_ADDR
     24 struct in6_addr {
     25   union {
     26     __u8 u6_addr8[16];
     27 #if __UAPI_DEF_IN6_ADDR_ALT
     28     __be16 u6_addr16[8];
     29     __be32 u6_addr32[4];
     30 #endif
     31   } in6_u;
     32 #define s6_addr in6_u.u6_addr8
     33 #if __UAPI_DEF_IN6_ADDR_ALT
     34 #define s6_addr16 in6_u.u6_addr16
     35 #define s6_addr32 in6_u.u6_addr32
     36 #endif
     37 };
     38 #endif
     39 #if __UAPI_DEF_SOCKADDR_IN6
     40 struct sockaddr_in6 {
     41   unsigned short int sin6_family;
     42   __be16 sin6_port;
     43   __be32 sin6_flowinfo;
     44   struct in6_addr sin6_addr;
     45   __u32 sin6_scope_id;
     46 };
     47 #endif
     48 #if __UAPI_DEF_IPV6_MREQ
     49 struct ipv6_mreq {
     50   struct in6_addr ipv6mr_multiaddr;
     51   int ipv6mr_ifindex;
     52 };
     53 #endif
     54 #define ipv6mr_acaddr ipv6mr_multiaddr
     55 struct in6_flowlabel_req {
     56   struct in6_addr flr_dst;
     57   __be32 flr_label;
     58   __u8 flr_action;
     59   __u8 flr_share;
     60   __u16 flr_flags;
     61   __u16 flr_expires;
     62   __u16 flr_linger;
     63   __u32 __flr_pad;
     64 };
     65 #define IPV6_FL_A_GET 0
     66 #define IPV6_FL_A_PUT 1
     67 #define IPV6_FL_A_RENEW 2
     68 #define IPV6_FL_F_CREATE 1
     69 #define IPV6_FL_F_EXCL 2
     70 #define IPV6_FL_F_REFLECT 4
     71 #define IPV6_FL_F_REMOTE 8
     72 #define IPV6_FL_S_NONE 0
     73 #define IPV6_FL_S_EXCL 1
     74 #define IPV6_FL_S_PROCESS 2
     75 #define IPV6_FL_S_USER 3
     76 #define IPV6_FL_S_ANY 255
     77 #define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
     78 #define IPV6_FLOWINFO_PRIORITY 0x0ff00000
     79 #define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
     80 #define IPV6_PRIORITY_FILLER 0x0100
     81 #define IPV6_PRIORITY_UNATTENDED 0x0200
     82 #define IPV6_PRIORITY_RESERVED1 0x0300
     83 #define IPV6_PRIORITY_BULK 0x0400
     84 #define IPV6_PRIORITY_RESERVED2 0x0500
     85 #define IPV6_PRIORITY_INTERACTIVE 0x0600
     86 #define IPV6_PRIORITY_CONTROL 0x0700
     87 #define IPV6_PRIORITY_8 0x0800
     88 #define IPV6_PRIORITY_9 0x0900
     89 #define IPV6_PRIORITY_10 0x0a00
     90 #define IPV6_PRIORITY_11 0x0b00
     91 #define IPV6_PRIORITY_12 0x0c00
     92 #define IPV6_PRIORITY_13 0x0d00
     93 #define IPV6_PRIORITY_14 0x0e00
     94 #define IPV6_PRIORITY_15 0x0f00
     95 #if __UAPI_DEF_IPPROTO_V6
     96 #define IPPROTO_HOPOPTS 0
     97 #define IPPROTO_ROUTING 43
     98 #define IPPROTO_FRAGMENT 44
     99 #define IPPROTO_ICMPV6 58
    100 #define IPPROTO_NONE 59
    101 #define IPPROTO_DSTOPTS 60
    102 #define IPPROTO_MH 135
    103 #endif
    104 #define IPV6_TLV_PAD1 0
    105 #define IPV6_TLV_PADN 1
    106 #define IPV6_TLV_ROUTERALERT 5
    107 #define IPV6_TLV_CALIPSO 7
    108 #define IPV6_TLV_JUMBO 194
    109 #define IPV6_TLV_HAO 201
    110 #if __UAPI_DEF_IPV6_OPTIONS
    111 #define IPV6_ADDRFORM 1
    112 #define IPV6_2292PKTINFO 2
    113 #define IPV6_2292HOPOPTS 3
    114 #define IPV6_2292DSTOPTS 4
    115 #define IPV6_2292RTHDR 5
    116 #define IPV6_2292PKTOPTIONS 6
    117 #define IPV6_CHECKSUM 7
    118 #define IPV6_2292HOPLIMIT 8
    119 #define IPV6_NEXTHOP 9
    120 #define IPV6_AUTHHDR 10
    121 #define IPV6_FLOWINFO 11
    122 #define IPV6_UNICAST_HOPS 16
    123 #define IPV6_MULTICAST_IF 17
    124 #define IPV6_MULTICAST_HOPS 18
    125 #define IPV6_MULTICAST_LOOP 19
    126 #define IPV6_ADD_MEMBERSHIP 20
    127 #define IPV6_DROP_MEMBERSHIP 21
    128 #define IPV6_ROUTER_ALERT 22
    129 #define IPV6_MTU_DISCOVER 23
    130 #define IPV6_MTU 24
    131 #define IPV6_RECVERR 25
    132 #define IPV6_V6ONLY 26
    133 #define IPV6_JOIN_ANYCAST 27
    134 #define IPV6_LEAVE_ANYCAST 28
    135 #define IPV6_PMTUDISC_DONT 0
    136 #define IPV6_PMTUDISC_WANT 1
    137 #define IPV6_PMTUDISC_DO 2
    138 #define IPV6_PMTUDISC_PROBE 3
    139 #define IPV6_PMTUDISC_INTERFACE 4
    140 #define IPV6_PMTUDISC_OMIT 5
    141 #define IPV6_FLOWLABEL_MGR 32
    142 #define IPV6_FLOWINFO_SEND 33
    143 #define IPV6_IPSEC_POLICY 34
    144 #define IPV6_XFRM_POLICY 35
    145 #define IPV6_HDRINCL 36
    146 #endif
    147 #define IPV6_RECVPKTINFO 49
    148 #define IPV6_PKTINFO 50
    149 #define IPV6_RECVHOPLIMIT 51
    150 #define IPV6_HOPLIMIT 52
    151 #define IPV6_RECVHOPOPTS 53
    152 #define IPV6_HOPOPTS 54
    153 #define IPV6_RTHDRDSTOPTS 55
    154 #define IPV6_RECVRTHDR 56
    155 #define IPV6_RTHDR 57
    156 #define IPV6_RECVDSTOPTS 58
    157 #define IPV6_DSTOPTS 59
    158 #define IPV6_RECVPATHMTU 60
    159 #define IPV6_PATHMTU 61
    160 #define IPV6_DONTFRAG 62
    161 #define IPV6_RECVTCLASS 66
    162 #define IPV6_TCLASS 67
    163 #define IPV6_AUTOFLOWLABEL 70
    164 #define IPV6_ADDR_PREFERENCES 72
    165 #define IPV6_PREFER_SRC_TMP 0x0001
    166 #define IPV6_PREFER_SRC_PUBLIC 0x0002
    167 #define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
    168 #define IPV6_PREFER_SRC_COA 0x0004
    169 #define IPV6_PREFER_SRC_HOME 0x0400
    170 #define IPV6_PREFER_SRC_CGA 0x0008
    171 #define IPV6_PREFER_SRC_NONCGA 0x0800
    172 #define IPV6_MINHOPCOUNT 73
    173 #define IPV6_ORIGDSTADDR 74
    174 #define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
    175 #define IPV6_TRANSPARENT 75
    176 #define IPV6_UNICAST_IF 76
    177 #define IPV6_RECVFRAGSIZE 77
    178 #define IPV6_FREEBIND 78
    179 #endif
    180