sys_bsd.go 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. // +build dragonfly netbsd openbsd
  5. package ipv4
  6. type sysSockoptLen int32
  7. const (
  8. sysIP_PKTINFO = 0
  9. sysSizeofInetPktinfo = 0xc
  10. )
  11. type sysInetPktinfo struct {
  12. Ifindex uint32
  13. Spec_dst [4]byte /* in_addr */
  14. Addr [4]byte /* in_addr */
  15. }
  16. var (
  17. sockOpts = [ssoMax]sockOpt{
  18. ssoTOS: {sysIP_TOS, ssoTypeInt},
  19. ssoTTL: {sysIP_TTL, ssoTypeInt},
  20. ssoMulticastTTL: {sysIP_MULTICAST_TTL, ssoTypeByte},
  21. ssoMulticastInterface: {sysIP_MULTICAST_IF, ssoTypeInterface},
  22. ssoMulticastLoopback: {sysIP_MULTICAST_LOOP, ssoTypeInt},
  23. ssoReceiveTTL: {sysIP_RECVTTL, ssoTypeInt},
  24. ssoReceiveDst: {sysIP_RECVDSTADDR, ssoTypeInt},
  25. ssoReceiveInterface: {sysIP_RECVIF, ssoTypeInt},
  26. ssoHeaderPrepend: {sysIP_HDRINCL, ssoTypeInt},
  27. ssoJoinGroup: {sysIP_ADD_MEMBERSHIP, ssoTypeIPMreq},
  28. ssoLeaveGroup: {sysIP_DROP_MEMBERSHIP, ssoTypeIPMreq},
  29. }
  30. )