github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/net/ipv4/sys_bsd.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  // +build dragonfly netbsd
     6  
     7  package ipv4
     8  
     9  import (
    10  	"net"
    11  	"syscall"
    12  )
    13  
    14  type sysSockoptLen int32
    15  
    16  var (
    17  	ctlOpts = [ctlMax]ctlOpt{
    18  		ctlTTL:       {sysIP_RECVTTL, 1, marshalTTL, parseTTL},
    19  		ctlDst:       {sysIP_RECVDSTADDR, net.IPv4len, marshalDst, parseDst},
    20  		ctlInterface: {sysIP_RECVIF, syscall.SizeofSockaddrDatalink, marshalInterface, parseInterface},
    21  	}
    22  
    23  	sockOpts = [ssoMax]sockOpt{
    24  		ssoTOS:                {sysIP_TOS, ssoTypeInt},
    25  		ssoTTL:                {sysIP_TTL, ssoTypeInt},
    26  		ssoMulticastTTL:       {sysIP_MULTICAST_TTL, ssoTypeByte},
    27  		ssoMulticastInterface: {sysIP_MULTICAST_IF, ssoTypeInterface},
    28  		ssoMulticastLoopback:  {sysIP_MULTICAST_LOOP, ssoTypeInt},
    29  		ssoReceiveTTL:         {sysIP_RECVTTL, ssoTypeInt},
    30  		ssoReceiveDst:         {sysIP_RECVDSTADDR, ssoTypeInt},
    31  		ssoReceiveInterface:   {sysIP_RECVIF, ssoTypeInt},
    32  		ssoHeaderPrepend:      {sysIP_HDRINCL, ssoTypeInt},
    33  		ssoJoinGroup:          {sysIP_ADD_MEMBERSHIP, ssoTypeIPMreq},
    34  		ssoLeaveGroup:         {sysIP_DROP_MEMBERSHIP, ssoTypeIPMreq},
    35  	}
    36  )