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/param.h>
13#include <sys/socket.h>
14
15#include <netinet/in.h>
16#include <netinet/icmp6.h>
17*/
18import "C"
19
20const (
21	sysIPV6_UNICAST_HOPS   = C.IPV6_UNICAST_HOPS
22	sysIPV6_MULTICAST_IF   = C.IPV6_MULTICAST_IF
23	sysIPV6_MULTICAST_HOPS = C.IPV6_MULTICAST_HOPS
24	sysIPV6_MULTICAST_LOOP = C.IPV6_MULTICAST_LOOP
25	sysIPV6_JOIN_GROUP     = C.IPV6_JOIN_GROUP
26	sysIPV6_LEAVE_GROUP    = C.IPV6_LEAVE_GROUP
27	sysIPV6_PORTRANGE      = C.IPV6_PORTRANGE
28	sysICMP6_FILTER        = C.ICMP6_FILTER
29
30	sysIPV6_CHECKSUM = C.IPV6_CHECKSUM
31	sysIPV6_V6ONLY   = C.IPV6_V6ONLY
32
33	sysIPV6_IPSEC_POLICY = C.IPV6_IPSEC_POLICY
34
35	sysIPV6_RTHDRDSTOPTS = C.IPV6_RTHDRDSTOPTS
36
37	sysIPV6_RECVPKTINFO  = C.IPV6_RECVPKTINFO
38	sysIPV6_RECVHOPLIMIT = C.IPV6_RECVHOPLIMIT
39	sysIPV6_RECVRTHDR    = C.IPV6_RECVRTHDR
40	sysIPV6_RECVHOPOPTS  = C.IPV6_RECVHOPOPTS
41	sysIPV6_RECVDSTOPTS  = C.IPV6_RECVDSTOPTS
42
43	sysIPV6_USE_MIN_MTU = C.IPV6_USE_MIN_MTU
44	sysIPV6_RECVPATHMTU = C.IPV6_RECVPATHMTU
45
46	sysIPV6_PATHMTU = C.IPV6_PATHMTU
47
48	sysIPV6_PKTINFO  = C.IPV6_PKTINFO
49	sysIPV6_HOPLIMIT = C.IPV6_HOPLIMIT
50	sysIPV6_NEXTHOP  = C.IPV6_NEXTHOP
51	sysIPV6_HOPOPTS  = C.IPV6_HOPOPTS
52	sysIPV6_DSTOPTS  = C.IPV6_DSTOPTS
53	sysIPV6_RTHDR    = C.IPV6_RTHDR
54
55	sysIPV6_RECVTCLASS = C.IPV6_RECVTCLASS
56
57	sysIPV6_AUTOFLOWLABEL = C.IPV6_AUTOFLOWLABEL
58
59	sysIPV6_TCLASS   = C.IPV6_TCLASS
60	sysIPV6_DONTFRAG = C.IPV6_DONTFRAG
61
62	sysIPV6_PREFER_TEMPADDR = C.IPV6_PREFER_TEMPADDR
63
64	sysIPV6_BINDANY = C.IPV6_BINDANY
65
66	sysIPV6_MSFILTER = C.IPV6_MSFILTER
67
68	sysMCAST_JOIN_GROUP         = C.MCAST_JOIN_GROUP
69	sysMCAST_LEAVE_GROUP        = C.MCAST_LEAVE_GROUP
70	sysMCAST_JOIN_SOURCE_GROUP  = C.MCAST_JOIN_SOURCE_GROUP
71	sysMCAST_LEAVE_SOURCE_GROUP = C.MCAST_LEAVE_SOURCE_GROUP
72	sysMCAST_BLOCK_SOURCE       = C.MCAST_BLOCK_SOURCE
73	sysMCAST_UNBLOCK_SOURCE     = C.MCAST_UNBLOCK_SOURCE
74
75	sysIPV6_PORTRANGE_DEFAULT = C.IPV6_PORTRANGE_DEFAULT
76	sysIPV6_PORTRANGE_HIGH    = C.IPV6_PORTRANGE_HIGH
77	sysIPV6_PORTRANGE_LOW     = C.IPV6_PORTRANGE_LOW
78
79	sizeofSockaddrStorage = C.sizeof_struct_sockaddr_storage
80	sizeofSockaddrInet6   = C.sizeof_struct_sockaddr_in6
81	sizeofInet6Pktinfo    = C.sizeof_struct_in6_pktinfo
82	sizeofIPv6Mtuinfo     = C.sizeof_struct_ip6_mtuinfo
83
84	sizeofIPv6Mreq       = C.sizeof_struct_ipv6_mreq
85	sizeofGroupReq       = C.sizeof_struct_group_req
86	sizeofGroupSourceReq = C.sizeof_struct_group_source_req
87
88	sizeofICMPv6Filter = C.sizeof_struct_icmp6_filter
89)
90
91type sockaddrStorage C.struct_sockaddr_storage
92
93type sockaddrInet6 C.struct_sockaddr_in6
94
95type inet6Pktinfo C.struct_in6_pktinfo
96
97type ipv6Mtuinfo C.struct_ip6_mtuinfo
98
99type ipv6Mreq C.struct_ipv6_mreq
100
101type groupReq C.struct_group_req
102
103type groupSourceReq C.struct_group_source_req
104
105type icmpv6Filter C.struct_icmp6_filter
106