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.
12
type sysSockoptLen int32
15
ctlOpts = [ctlMax]ctlOpt{
16
ctlTTL: {sysIP_RECVTTL, 1, marshalTTL, parseTTL},
17
ctlDst: {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst},
18
ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface},
21
sockOpts = [ssoMax]sockOpt{
22
ssoTOS: {sysIP_TOS, ssoTypeInt},
23
ssoTTL: {sysIP_TTL, ssoTypeInt},
24
ssoMulticastTTL: {sysIP_MULTICAST_TTL, ssoTypeByte},
25
ssoMulticastInterface: {sysIP_MULTICAST_IF, ssoTypeInterface},
26
ssoMulticastLoopback: {sysIP_MULTICAST_LOOP, ssoTypeByte},
27
ssoReceiveTTL: {sysIP_RECVTTL, ssoTypeInt},
28
ssoReceiveDst: {sysIP_RECVDSTADDR, ssoTypeInt},
29
ssoReceiveInterface: {sysIP_RECVIF, ssoTypeInt},
30
ssoHeaderPrepend: {sysIP_HDRINCL, ssoTypeInt},
31
ssoJoinGroup: {sysIP_ADD_MEMBERSHIP, ssoTypeIPMreq},
32
ssoLeaveGroup: {sysIP_DROP_MEMBERSHIP, ssoTypeIPMreq},