1// Copyright 2014 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build ignore
6
7// +godefs map struct_in6_addr [16]byte /* in6_addr */
8
9package ipv6
10
11/*
12#include <sys/socket.h>
13
14#include <netinet/in.h>
15#include <netinet/icmp6.h>
16*/
17import "C"
18
19const (
20	sysIPV6_UNICAST_HOPS   = C.IPV6_UNICAST_HOPS
21	sysIPV6_MULTICAST_IF   = C.IPV6_MULTICAST_IF
22	sysIPV6_MULTICAST_HOPS = C.IPV6_MULTICAST_HOPS
23	sysIPV6_MULTICAST_LOOP = C.IPV6_MULTICAST_LOOP
24	sysIPV6_JOIN_GROUP     = C.IPV6_JOIN_GROUP
25	sysIPV6_LEAVE_GROUP    = C.IPV6_LEAVE_GROUP
26
27	sysIPV6_PKTINFO = C.IPV6_PKTINFO
28
29	sysIPV6_HOPLIMIT = C.IPV6_HOPLIMIT
30	sysIPV6_NEXTHOP  = C.IPV6_NEXTHOP
31	sysIPV6_HOPOPTS  = C.IPV6_HOPOPTS
32	sysIPV6_DSTOPTS  = C.IPV6_DSTOPTS
33
34	sysIPV6_RTHDR        = C.IPV6_RTHDR
35	sysIPV6_RTHDRDSTOPTS = C.IPV6_RTHDRDSTOPTS
36
37	sysIPV6_RECVPKTINFO  = C.IPV6_RECVPKTINFO
38	sysIPV6_RECVHOPLIMIT = C.IPV6_RECVHOPLIMIT
39	sysIPV6_RECVHOPOPTS  = C.IPV6_RECVHOPOPTS
40
41	sysIPV6_RECVRTHDR = C.IPV6_RECVRTHDR
42
43	sysIPV6_RECVRTHDRDSTOPTS = C.IPV6_RECVRTHDRDSTOPTS
44
45	sysIPV6_CHECKSUM        = C.IPV6_CHECKSUM
46	sysIPV6_RECVTCLASS      = C.IPV6_RECVTCLASS
47	sysIPV6_USE_MIN_MTU     = C.IPV6_USE_MIN_MTU
48	sysIPV6_DONTFRAG        = C.IPV6_DONTFRAG
49	sysIPV6_SEC_OPT         = C.IPV6_SEC_OPT
50	sysIPV6_SRC_PREFERENCES = C.IPV6_SRC_PREFERENCES
51	sysIPV6_RECVPATHMTU     = C.IPV6_RECVPATHMTU
52	sysIPV6_PATHMTU         = C.IPV6_PATHMTU
53	sysIPV6_TCLASS          = C.IPV6_TCLASS
54	sysIPV6_V6ONLY          = C.IPV6_V6ONLY
55
56	sysIPV6_RECVDSTOPTS = C.IPV6_RECVDSTOPTS
57
58	sysMCAST_JOIN_GROUP         = C.MCAST_JOIN_GROUP
59	sysMCAST_LEAVE_GROUP        = C.MCAST_LEAVE_GROUP
60	sysMCAST_BLOCK_SOURCE       = C.MCAST_BLOCK_SOURCE
61	sysMCAST_UNBLOCK_SOURCE     = C.MCAST_UNBLOCK_SOURCE
62	sysMCAST_JOIN_SOURCE_GROUP  = C.MCAST_JOIN_SOURCE_GROUP
63	sysMCAST_LEAVE_SOURCE_GROUP = C.MCAST_LEAVE_SOURCE_GROUP
64
65	sysIPV6_PREFER_SRC_HOME   = C.IPV6_PREFER_SRC_HOME
66	sysIPV6_PREFER_SRC_COA    = C.IPV6_PREFER_SRC_COA
67	sysIPV6_PREFER_SRC_PUBLIC = C.IPV6_PREFER_SRC_PUBLIC
68	sysIPV6_PREFER_SRC_TMP    = C.IPV6_PREFER_SRC_TMP
69	sysIPV6_PREFER_SRC_NONCGA = C.IPV6_PREFER_SRC_NONCGA
70	sysIPV6_PREFER_SRC_CGA    = C.IPV6_PREFER_SRC_CGA
71
72	sysIPV6_PREFER_SRC_MIPMASK    = C.IPV6_PREFER_SRC_MIPMASK
73	sysIPV6_PREFER_SRC_MIPDEFAULT = C.IPV6_PREFER_SRC_MIPDEFAULT
74	sysIPV6_PREFER_SRC_TMPMASK    = C.IPV6_PREFER_SRC_TMPMASK
75	sysIPV6_PREFER_SRC_TMPDEFAULT = C.IPV6_PREFER_SRC_TMPDEFAULT
76	sysIPV6_PREFER_SRC_CGAMASK    = C.IPV6_PREFER_SRC_CGAMASK
77	sysIPV6_PREFER_SRC_CGADEFAULT = C.IPV6_PREFER_SRC_CGADEFAULT
78
79	sysIPV6_PREFER_SRC_MASK = C.IPV6_PREFER_SRC_MASK
80
81	sysIPV6_PREFER_SRC_DEFAULT = C.IPV6_PREFER_SRC_DEFAULT
82
83	sysIPV6_BOUND_IF   = C.IPV6_BOUND_IF
84	sysIPV6_UNSPEC_SRC = C.IPV6_UNSPEC_SRC
85
86	sysICMP6_FILTER = C.ICMP6_FILTER
87
88	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
89	sizeofSockaddrInet6   = C.sizeof_struct_sockaddr_in6
90	sizeofInet6Pktinfo    = C.sizeof_struct_in6_pktinfo
91	sizeofIPv6Mtuinfo     = C.sizeof_struct_ip6_mtuinfo
92
93	sizeofIPv6Mreq       = C.sizeof_struct_ipv6_mreq
94	sizeofGroupReq       = C.sizeof_struct_group_req
95	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
96
97	sizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
98)
99
100type sockaddrStorage C.struct_sockaddr_storage
101
102type sockaddrInet6 C.struct_sockaddr_in6
103
104type inet6Pktinfo C.struct_in6_pktinfo
105
106type ipv6Mtuinfo C.struct_ip6_mtuinfo
107
108type ipv6Mreq C.struct_ipv6_mreq
109
110type groupReq C.struct_group_req
111
112type groupSourceReq C.struct_group_source_req
113
114type icmpv6Filter C.struct_icmp6_filter
115