Blame vendor/golang.org/x/sys/unix/syscall_freebsd_386.go

Packit 63bb0d
// Copyright 2009 The Go Authors. All rights reserved.
Packit 63bb0d
// Use of this source code is governed by a BSD-style
Packit 63bb0d
// license that can be found in the LICENSE file.
Packit 63bb0d
Packit 63bb0d
// +build 386,freebsd
Packit 63bb0d
Packit 63bb0d
package unix
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"syscall"
Packit 63bb0d
	"unsafe"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
func setTimespec(sec, nsec int64) Timespec {
Packit 63bb0d
	return Timespec{Sec: int32(sec), Nsec: int32(nsec)}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func setTimeval(sec, usec int64) Timeval {
Packit 63bb0d
	return Timeval{Sec: int32(sec), Usec: int32(usec)}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func SetKevent(k *Kevent_t, fd, mode, flags int) {
Packit 63bb0d
	k.Ident = uint32(fd)
Packit 63bb0d
	k.Filter = int16(mode)
Packit 63bb0d
	k.Flags = uint16(flags)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (iov *Iovec) SetLen(length int) {
Packit 63bb0d
	iov.Len = uint32(length)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (msghdr *Msghdr) SetControllen(length int) {
Packit 63bb0d
	msghdr.Controllen = uint32(length)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (msghdr *Msghdr) SetIovlen(length int) {
Packit 63bb0d
	msghdr.Iovlen = int32(length)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (cmsg *Cmsghdr) SetLen(length int) {
Packit 63bb0d
	cmsg.Len = uint32(length)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
Packit 63bb0d
	var writtenOut uint64 = 0
Packit 63bb0d
	_, _, e1 := Syscall9(SYS_SENDFILE, uintptr(infd), uintptr(outfd), uintptr(*offset), uintptr((*offset)>>32), uintptr(count), 0, uintptr(unsafe.Pointer(&writtenOut)), 0, 0)
Packit 63bb0d
Packit 63bb0d
	written = int(writtenOut)
Packit 63bb0d
Packit 63bb0d
	if e1 != 0 {
Packit 63bb0d
		err = e1
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Syscall9(num, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno)
Packit 63bb0d
Packit 63bb0d
func PtraceIO(req int, pid int, addr uintptr, out []byte, countin int) (count int, err error) {
Packit 63bb0d
	ioDesc := PtraceIoDesc{Op: int32(req), Offs: (*byte)(unsafe.Pointer(addr)), Addr: (*byte)(unsafe.Pointer(&out[0])), Len: uint32(countin)}
Packit 63bb0d
	err = ptrace(PTRACE_IO, pid, uintptr(unsafe.Pointer(&ioDesc)), 0)
Packit 63bb0d
	return int(ioDesc.Len), err
Packit 63bb0d
}