1// Copyright 2019 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
5package unix
6
7func setTimespec(sec, nsec int64) Timespec {
8	return Timespec{Sec: sec, Nsec: nsec}
9}
10
11func setTimeval(sec, usec int64) Timeval {
12	return Timeval{Sec: sec, Usec: usec}
13}
14
15func SetKevent(k *Kevent_t, fd, mode, flags int) {
16	k.Ident = uint64(fd)
17	k.Filter = int16(mode)
18	k.Flags = uint16(flags)
19}
20
21func (iov *Iovec) SetLen(length int) {
22	iov.Len = uint64(length)
23}
24
25func (msghdr *Msghdr) SetControllen(length int) {
26	msghdr.Controllen = uint32(length)
27}
28
29func (cmsg *Cmsghdr) SetLen(length int) {
30	cmsg.Len = uint32(length)
31}
32
33// SYS___SYSCTL is used by syscall_bsd.go for all BSDs, but in modern versions
34// of OpenBSD the syscall is called sysctl instead of __sysctl.
35const SYS___SYSCTL = SYS_SYSCTL
36