OSDN Git Service

Hulk did something
[bytom/vapor.git] / vendor / golang.org / x / net / ipv4 / sockopt.go
diff --git a/vendor/golang.org/x/net/ipv4/sockopt.go b/vendor/golang.org/x/net/ipv4/sockopt.go
new file mode 100644 (file)
index 0000000..22e90c0
--- /dev/null
@@ -0,0 +1,44 @@
+// 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
+}