1
// Copyright 2013 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.
12
func ipv6ReceiveTrafficClass(fd int) (bool, error) {
13
return false, errNotSupported
16
func setIPv6ReceiveTrafficClass(fd int, v bool) error {
17
return errNotSupported
20
func ipv6ReceiveHopLimit(fd int) (bool, error) {
21
v, err := syscall.GetsockoptInt(fd, ianaProtocolIPv6, syscall.IPV6_2292HOPLIMIT)
23
return false, os.NewSyscallError("getsockopt", err)
28
func setIPv6ReceiveHopLimit(fd int, v bool) error {
29
return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd, ianaProtocolIPv6, syscall.IPV6_2292HOPLIMIT, boolint(v)))
32
func ipv6ReceivePacketInfo(fd int) (bool, error) {
33
v, err := syscall.GetsockoptInt(fd, ianaProtocolIPv6, syscall.IPV6_2292PKTINFO)
35
return false, os.NewSyscallError("getsockopt", err)
40
func setIPv6ReceivePacketInfo(fd int, v bool) error {
41
return os.NewSyscallError("setsockopt", syscall.SetsockoptInt(fd, ianaProtocolIPv6, syscall.IPV6_2292PKTINFO, boolint(v)))
44
func ipv6PathMTU(fd int) (int, error) {
45
return 0, errNotSupported
48
func ipv6ReceivePathMTU(fd int) (bool, error) {
49
return false, errNotSupported
52
func setIPv6ReceivePathMTU(fd int, v bool) error {
53
return errNotSupported
56
func ipv6ICMPFilter(fd int) (*ICMPFilter, error) {
57
v, err := syscall.GetsockoptICMPv6Filter(fd, ianaProtocolIPv6ICMP, syscall.ICMP6_FILTER)
59
return nil, os.NewSyscallError("getsockopt", err)
61
return &ICMPFilter{rawICMPFilter: rawICMPFilter{*v}}, nil
64
func setIPv6ICMPFilter(fd int, f *ICMPFilter) error {
65
return os.NewSyscallError("setsockopt", syscall.SetsockoptICMPv6Filter(fd, ianaProtocolIPv6ICMP, syscall.ICMP6_FILTER, &f.rawICMPFilter.ICMPv6Filter))