blob: 14ddaf3f33c5e7c278a9f19b5d37dacea18871e1 [file] [log] [blame]
David K. Bainbridge215e0242017-09-05 23:18:24 -07001// Copyright 2017 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 arm,openbsd
6
7package unix
8
9import "syscall"
10
11func Getpagesize() int { return syscall.Getpagesize() }
12
13func TimespecToNsec(ts Timespec) int64 { return int64(ts.Sec)*1e9 + int64(ts.Nsec) }
14
15func NsecToTimespec(nsec int64) (ts Timespec) {
16 ts.Sec = int64(nsec / 1e9)
17 ts.Nsec = int32(nsec % 1e9)
18 return
19}
20
21func NsecToTimeval(nsec int64) (tv Timeval) {
22 nsec += 999 // round up to microsecond
23 tv.Usec = int32(nsec % 1e9 / 1e3)
24 tv.Sec = int64(nsec / 1e9)
25 return
26}
27
28func SetKevent(k *Kevent_t, fd, mode, flags int) {
29 k.Ident = uint32(fd)
30 k.Filter = int16(mode)
31 k.Flags = uint16(flags)
32}
33
34func (iov *Iovec) SetLen(length int) {
35 iov.Len = uint32(length)
36}
37
38func (msghdr *Msghdr) SetControllen(length int) {
39 msghdr.Controllen = uint32(length)
40}
41
42func (cmsg *Cmsghdr) SetLen(length int) {
43 cmsg.Len = uint32(length)
44}