1// Copyright 2020 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 syscall
6
7const (
8	_SYS_DUP3         = SYS_DUP3
9	_F_DUP2FD_CLOEXEC = 0
10)
11
12func setTimespec(sec, nsec int64) Timespec {
13	return Timespec{Sec: sec, Nsec: nsec}
14}
15
16func setTimeval(sec, usec int64) Timeval {
17	return Timeval{Sec: sec, Usec: usec}
18}
19
20func SetKevent(k *Kevent_t, fd, mode, flags int) {
21	k.Ident = uint64(fd)
22	k.Filter = int16(mode)
23	k.Flags = uint16(flags)
24}
25
26func (iov *Iovec) SetLen(length int) {
27	iov.Len = uint64(length)
28}
29
30func (msghdr *Msghdr) SetControllen(length int) {
31	msghdr.Controllen = uint32(length)
32}
33
34func (cmsg *Cmsghdr) SetLen(length int) {
35	cmsg.Len = uint32(length)
36}
37
38// RTM_LOCK only exists in OpenBSD 6.3 and earlier.
39const RTM_LOCK = 0x8
40
41// SYS___SYSCTL only exists in OpenBSD 5.8 and earlier, when it was
42// was renamed to SYS_SYSCTL.
43const SYS___SYSCTL = SYS_SYSCTL
44