16ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh/****************************************************************************
26ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
36ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
46ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   This header was automatically generated from a Linux kernel header
56ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   of the same name, to make information necessary for userspace to
66ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   call into the kernel available to libc.  It contains only constants,
76ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   structures, and macros generated from the original header, and thus,
86ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***   contains no copyrightable information.
96ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ***
106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************
116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh ****************************************************************************/
126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#ifndef _LINUX_IN6_H
136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define _LINUX_IN6_H
146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#include <linux/types.h>
166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct in6_addr
186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh{
196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh union
206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh {
216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u8 u6_addr8[16];
226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 u6_addr16[8];
236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 u6_addr32[4];
246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh } in6_u;
256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define s6_addr in6_u.u6_addr8
266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define s6_addr16 in6_u.u6_addr16
276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define s6_addr32 in6_u.u6_addr32
286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } }
316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct sockaddr_in6 {
336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh unsigned short int sin6_family;
346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 sin6_port;
356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 sin6_flowinfo;
366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct in6_addr sin6_addr;
376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 sin6_scope_id;
386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct ipv6_mreq {
416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct in6_addr ipv6mr_multiaddr;
436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh int ipv6mr_ifindex;
456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define ipv6mr_acaddr ipv6mr_multiaddr
486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsiehstruct in6_flowlabel_req
506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh{
516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh struct in6_addr flr_dst;
526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 flr_label;
536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u8 flr_action;
546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u8 flr_share;
556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 flr_flags;
566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 flr_expires;
576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u16 flr_linger;
586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh __u32 __flr_pad;
596ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
606ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh};
616ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
626ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_A_GET 0
636ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_A_PUT 1
646ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_A_RENEW 2
656ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
666ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_F_CREATE 1
676ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_F_EXCL 2
686ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
696ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_S_NONE 0
706ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_S_EXCL 1
716ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_S_PROCESS 2
726ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_S_USER 3
736ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FL_S_ANY 255
746ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
756ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
766ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
776ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
786ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
796ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_FILLER 0x0100
806ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_UNATTENDED 0x0200
816ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_RESERVED1 0x0300
826ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_BULK 0x0400
836ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_RESERVED2 0x0500
846ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_INTERACTIVE 0x0600
856ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_CONTROL 0x0700
866ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_8 0x0800
876ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_9 0x0900
886ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_10 0x0a00
896ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_11 0x0b00
906ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_12 0x0c00
916ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_13 0x0d00
926ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_14 0x0e00
936ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PRIORITY_15 0x0f00
946ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
956ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPPROTO_HOPOPTS 0
966ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPPROTO_ROUTING 43
976ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPPROTO_FRAGMENT 44
986ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPPROTO_ICMPV6 58
996ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPPROTO_NONE 59
1006ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPPROTO_DSTOPTS 60
1016ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1026ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_TLV_PAD0 0
1036ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_TLV_PADN 1
1046ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_TLV_ROUTERALERT 5
1056ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_TLV_JUMBO 194
1066ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1076ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_ADDRFORM 1
1086ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_2292PKTINFO 2
1096ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_2292HOPOPTS 3
1106ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_2292DSTOPTS 4
1116ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_2292RTHDR 5
1126ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_2292PKTOPTIONS 6
1136ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_CHECKSUM 7
1146ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_2292HOPLIMIT 8
1156ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_NEXTHOP 9
1166ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_AUTHHDR 10
1176ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FLOWINFO 11
1186ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1196ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_UNICAST_HOPS 16
1206ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_MULTICAST_IF 17
1216ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_MULTICAST_HOPS 18
1226ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_MULTICAST_LOOP 19
1236ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_ADD_MEMBERSHIP 20
1246ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_DROP_MEMBERSHIP 21
1256ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_ROUTER_ALERT 22
1266ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_MTU_DISCOVER 23
1276ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_MTU 24
1286ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVERR 25
1296ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_V6ONLY 26
1306ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_JOIN_ANYCAST 27
1316ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_LEAVE_ANYCAST 28
1326ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1336ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PMTUDISC_DONT 0
1346ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PMTUDISC_WANT 1
1356ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PMTUDISC_DO 2
1366ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1376ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FLOWLABEL_MGR 32
1386ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_FLOWINFO_SEND 33
1396ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1406ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_IPSEC_POLICY 34
1416ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_XFRM_POLICY 35
1426ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1436ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVPKTINFO 49
1446ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_PKTINFO 50
1456ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVHOPLIMIT 51
1466ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_HOPLIMIT 52
1476ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVHOPOPTS 53
1486ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_HOPOPTS 54
1496ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RTHDRDSTOPTS 55
1506ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVRTHDR 56
1516ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RTHDR 57
1526ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVDSTOPTS 58
1536ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_DSTOPTS 59
1546ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1556ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_RECVTCLASS 66
1566ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#define IPV6_TCLASS 67
1576ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh
1586ecc1bfab1621eaf5a17f82020a26468c537cdeaAndrew Hsieh#endif
159