1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- // Copyright 2014 The Go Authors. All rights reserved.
- // Use of this source code is governed by a BSD-style
- // license that can be found in the LICENSE file.
-
- package ipv4
-
- import "golang.org/x/net/internal/socket"
-
- // Sticky socket options
- const (
- ssoTOS = iota // header field for unicast packet
- ssoTTL // header field for unicast packet
- ssoMulticastTTL // header field for multicast packet
- ssoMulticastInterface // outbound interface for multicast packet
- ssoMulticastLoopback // loopback for multicast packet
- ssoReceiveTTL // header field on received packet
- ssoReceiveDst // header field on received packet
- ssoReceiveInterface // inbound interface on received packet
- ssoPacketInfo // incbound or outbound packet path
- ssoHeaderPrepend // ipv4 header prepend
- ssoStripHeader // strip ipv4 header
- ssoICMPFilter // icmp filter
- ssoJoinGroup // any-source multicast
- ssoLeaveGroup // any-source multicast
- ssoJoinSourceGroup // source-specific multicast
- ssoLeaveSourceGroup // source-specific multicast
- ssoBlockSourceGroup // any-source or source-specific multicast
- ssoUnblockSourceGroup // any-source or source-specific multicast
- ssoAttachFilter // attach BPF for filtering inbound traffic
- )
-
- // Sticky socket option value types
- const (
- ssoTypeIPMreq = iota + 1
- ssoTypeIPMreqn
- ssoTypeGroupReq
- ssoTypeGroupSourceReq
- )
-
- // A sockOpt represents a binding for sticky socket option.
- type sockOpt struct {
- socket.Option
- typ int // hint for option value type; optional
- }
|