mirror of
https://github.com/golang/net.git
synced 2026-03-31 10:27:08 +09:00
This CL chops existing ancillary data socket option handlers and puts them into platform dependent ancillary data socket option binding table for code readability. Fixes golang/go#6710. LGTM=iant R=iant CC=golang-codereviews https://golang.org/cl/153860043
32 lines
1.0 KiB
Go
32 lines
1.0 KiB
Go
// 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
|
|
|
|
type sysSockoptLen int32
|
|
|
|
var (
|
|
ctlOpts = [ctlMax]ctlOpt{
|
|
ctlTTL: {sysIP_TTL, 1, marshalTTL, parseTTL},
|
|
ctlPacketInfo: {sysIP_PKTINFO, sysSizeofInetPktinfo, marshalPacketInfo, parsePacketInfo},
|
|
}
|
|
|
|
sockOpts = [ssoMax]sockOpt{
|
|
ssoTOS: {sysIP_TOS, ssoTypeInt},
|
|
ssoTTL: {sysIP_TTL, ssoTypeInt},
|
|
ssoMulticastTTL: {sysIP_MULTICAST_TTL, ssoTypeInt},
|
|
ssoMulticastInterface: {sysIP_MULTICAST_IF, ssoTypeIPMreqn},
|
|
ssoMulticastLoopback: {sysIP_MULTICAST_LOOP, ssoTypeInt},
|
|
ssoReceiveTTL: {sysIP_RECVTTL, ssoTypeInt},
|
|
ssoPacketInfo: {sysIP_PKTINFO, ssoTypeInt},
|
|
ssoHeaderPrepend: {sysIP_HDRINCL, ssoTypeInt},
|
|
ssoJoinGroup: {sysIP_ADD_MEMBERSHIP, ssoTypeIPMreqn},
|
|
ssoLeaveGroup: {sysIP_DROP_MEMBERSHIP, ssoTypeIPMreqn},
|
|
}
|
|
)
|
|
|
|
func (pi *sysInetPktinfo) setIfindex(i int) {
|
|
pi.Ifindex = int32(i)
|
|
}
|