github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/net/ipv4/sockopt.go (about) 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 package ipv4 6 7 // Sticky socket options 8 const ( 9 ssoTOS = iota // header field for unicast packet 10 ssoTTL // header field for unicast packet 11 ssoMulticastTTL // header field for multicast packet 12 ssoMulticastInterface // outbound interface for multicast packet 13 ssoMulticastLoopback // loopback for multicast packet 14 ssoReceiveTTL // header field on received packet 15 ssoReceiveDst // header field on received packet 16 ssoReceiveInterface // inbound interface on received packet 17 ssoPacketInfo // incbound or outbound packet path 18 ssoHeaderPrepend // ipv4 header prepend 19 ssoStripHeader // strip ipv4 header 20 ssoICMPFilter // icmp filter 21 ssoJoinGroup // any-source multicast 22 ssoLeaveGroup // any-source multicast 23 ssoJoinSourceGroup // source-specific multicast 24 ssoLeaveSourceGroup // source-specific multicast 25 ssoBlockSourceGroup // any-source or source-specific multicast 26 ssoUnblockSourceGroup // any-source or source-specific multicast 27 ssoMax 28 ) 29 30 // Sticky socket option value types 31 const ( 32 ssoTypeByte = iota + 1 33 ssoTypeInt 34 ssoTypeInterface 35 ssoTypeICMPFilter 36 ssoTypeIPMreq 37 ssoTypeIPMreqn 38 ssoTypeGroupReq 39 ssoTypeGroupSourceReq 40 ) 41 42 // A sockOpt represents a binding for sticky socket option. 43 type sockOpt struct { 44 name int // option name, must be equal or greater than 1 45 typ int // option value type, must be equal or greater than 1 46 }