text: // Copyright 2009 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.
  
  // +build amd64,openbsd
  
  package unix
  
  func setTimespec(sec, nsec int64) Timespec {
  	return Timespec{Sec: sec, Nsec: nsec}
  }
  
  func setTimeval(sec, usec int64) Timeval {
  	return Timeval{Sec: sec, Usec: usec}
  }
  
  func SetKevent(k *Kevent_t, fd, mode, flags int) {
  	k.Ident = uint64(fd)
  	k.Filter = int16(mode)
  	k.Flags = uint16(flags)
  }
  
  func (iov *Iovec) SetLen(length int) {
  	iov.Len = uint64(length)
  }
  
  func (msghdr *Msghdr) SetControllen(length int) {
  	msghdr.Controllen = uint32(length)
  }
  
  func (msghdr *Msghdr) SetIovlen(length int) {
  	msghdr.Iovlen = uint32(length)
  }
  
  func (cmsg *Cmsghdr) SetLen(length int) {
  	cmsg.Len = uint32(length)
  }
  
  // SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
  // of openbsd/amd64 the syscall is called sysctl instead of __sysctl.
  const SYS___SYSCTL = SYS_SYSCTL
  