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

Packit 63bb0d
// Copyright 2009,2010 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
// FreeBSD system calls.
Packit 63bb0d
// This file is compiled as ordinary Go code,
Packit 63bb0d
// but it is also input to mksyscall,
Packit 63bb0d
// which parses the //sys lines and generates system call stubs.
Packit 63bb0d
// Note that sometimes we use a lowercase //sys name and wrap
Packit 63bb0d
// it in our own nicer implementation, either here or in
Packit 63bb0d
// syscall_bsd.go or syscall_unix.go.
Packit 63bb0d
Packit 63bb0d
package unix
Packit 63bb0d
Packit 63bb0d
import (
Packit 63bb0d
	"sync"
Packit 63bb0d
	"unsafe"
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
const (
Packit 63bb0d
	SYS_FSTAT_FREEBSD12         = 551 // { int fstat(int fd, _Out_ struct stat *sb); }
Packit 63bb0d
	SYS_FSTATAT_FREEBSD12       = 552 // { int fstatat(int fd, _In_z_ char *path, \
Packit 63bb0d
	SYS_GETDIRENTRIES_FREEBSD12 = 554 // { ssize_t getdirentries(int fd, \
Packit 63bb0d
	SYS_STATFS_FREEBSD12        = 555 // { int statfs(_In_z_ char *path, \
Packit 63bb0d
	SYS_FSTATFS_FREEBSD12       = 556 // { int fstatfs(int fd, \
Packit 63bb0d
	SYS_GETFSSTAT_FREEBSD12     = 557 // { int getfsstat( \
Packit 63bb0d
	SYS_MKNODAT_FREEBSD12       = 559 // { int mknodat(int fd, _In_z_ char *path, \
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// See https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/versions.html.
Packit 63bb0d
var (
Packit 63bb0d
	osreldateOnce sync.Once
Packit 63bb0d
	osreldate     uint32
Packit 63bb0d
)
Packit 63bb0d
Packit 63bb0d
// INO64_FIRST from /usr/src/lib/libc/sys/compat-ino64.h
Packit 63bb0d
const _ino64First = 1200031
Packit 63bb0d
Packit 63bb0d
func supportsABI(ver uint32) bool {
Packit 63bb0d
	osreldateOnce.Do(func() { osreldate, _ = SysctlUint32("kern.osreldate") })
Packit 63bb0d
	return osreldate >= ver
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// SockaddrDatalink implements the Sockaddr interface for AF_LINK type sockets.
Packit 63bb0d
type SockaddrDatalink struct {
Packit 63bb0d
	Len    uint8
Packit 63bb0d
	Family uint8
Packit 63bb0d
	Index  uint16
Packit 63bb0d
	Type   uint8
Packit 63bb0d
	Nlen   uint8
Packit 63bb0d
	Alen   uint8
Packit 63bb0d
	Slen   uint8
Packit 63bb0d
	Data   [46]int8
Packit 63bb0d
	raw    RawSockaddrDatalink
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// Translate "kern.hostname" to []_C_int{0,1,2,3}.
Packit 63bb0d
func nametomib(name string) (mib []_C_int, err error) {
Packit 63bb0d
	const siz = unsafe.Sizeof(mib[0])
Packit 63bb0d
Packit 63bb0d
	// NOTE(rsc): It seems strange to set the buffer to have
Packit 63bb0d
	// size CTL_MAXNAME+2 but use only CTL_MAXNAME
Packit 63bb0d
	// as the size. I don't know why the +2 is here, but the
Packit 63bb0d
	// kernel uses +2 for its own implementation of this function.
Packit 63bb0d
	// I am scared that if we don't include the +2 here, the kernel
Packit 63bb0d
	// will silently write 2 words farther than we specify
Packit 63bb0d
	// and we'll get memory corruption.
Packit 63bb0d
	var buf [CTL_MAXNAME + 2]_C_int
Packit 63bb0d
	n := uintptr(CTL_MAXNAME) * siz
Packit 63bb0d
Packit 63bb0d
	p := (*byte)(unsafe.Pointer(&buf[0]))
Packit 63bb0d
	bytes, err := ByteSliceFromString(name)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return nil, err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	// Magic sysctl: "setting" 0.3 to a string name
Packit 63bb0d
	// lets you read back the array of integers form.
Packit 63bb0d
	if err = sysctl([]_C_int{0, 3}, p, &n, &bytes[0], uintptr(len(name))); err != nil {
Packit 63bb0d
		return nil, err
Packit 63bb0d
	}
Packit 63bb0d
	return buf[0 : n/siz], nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func direntIno(buf []byte) (uint64, bool) {
Packit 63bb0d
	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func direntReclen(buf []byte) (uint64, bool) {
Packit 63bb0d
	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func direntNamlen(buf []byte) (uint64, bool) {
Packit 63bb0d
	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Pipe(p []int) (err error) {
Packit 63bb0d
	return Pipe2(p, 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//sysnb	pipe2(p *[2]_C_int, flags int) (err error)
Packit 63bb0d
Packit 63bb0d
func Pipe2(p []int, flags int) error {
Packit 63bb0d
	if len(p) != 2 {
Packit 63bb0d
		return EINVAL
Packit 63bb0d
	}
Packit 63bb0d
	var pp [2]_C_int
Packit 63bb0d
	err := pipe2(&pp, flags)
Packit 63bb0d
	p[0] = int(pp[0])
Packit 63bb0d
	p[1] = int(pp[1])
Packit 63bb0d
	return err
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func GetsockoptIPMreqn(fd, level, opt int) (*IPMreqn, error) {
Packit 63bb0d
	var value IPMreqn
Packit 63bb0d
	vallen := _Socklen(SizeofIPMreqn)
Packit 63bb0d
	errno := getsockopt(fd, level, opt, unsafe.Pointer(&value), &vallen)
Packit 63bb0d
	return &value, errno
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func SetsockoptIPMreqn(fd, level, opt int, mreq *IPMreqn) (err error) {
Packit 63bb0d
	return setsockopt(fd, level, opt, unsafe.Pointer(mreq), unsafe.Sizeof(*mreq))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Accept4(fd, flags int) (nfd int, sa Sockaddr, err error) {
Packit 63bb0d
	var rsa RawSockaddrAny
Packit 63bb0d
	var len _Socklen = SizeofSockaddrAny
Packit 63bb0d
	nfd, err = accept4(fd, &rsa, &len, flags)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
	if len > SizeofSockaddrAny {
Packit 63bb0d
		panic("RawSockaddrAny too small")
Packit 63bb0d
	}
Packit 63bb0d
	sa, err = anyToSockaddr(fd, &rsa)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		Close(nfd)
Packit 63bb0d
		nfd = 0
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
const ImplementsGetwd = true
Packit 63bb0d
Packit 63bb0d
//sys	Getcwd(buf []byte) (n int, err error) = SYS___GETCWD
Packit 63bb0d
Packit 63bb0d
func Getwd() (string, error) {
Packit 63bb0d
	var buf [PathMax]byte
Packit 63bb0d
	_, err := Getcwd(buf[0:])
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return "", err
Packit 63bb0d
	}
Packit 63bb0d
	n := clen(buf[:])
Packit 63bb0d
	if n < 1 {
Packit 63bb0d
		return "", EINVAL
Packit 63bb0d
	}
Packit 63bb0d
	return string(buf[:n]), nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
Packit 63bb0d
	var (
Packit 63bb0d
		_p0          unsafe.Pointer
Packit 63bb0d
		bufsize      uintptr
Packit 63bb0d
		oldBuf       []statfs_freebsd11_t
Packit 63bb0d
		needsConvert bool
Packit 63bb0d
	)
Packit 63bb0d
Packit 63bb0d
	if len(buf) > 0 {
Packit 63bb0d
		if supportsABI(_ino64First) {
Packit 63bb0d
			_p0 = unsafe.Pointer(&buf[0])
Packit 63bb0d
			bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
Packit 63bb0d
		} else {
Packit 63bb0d
			n := len(buf)
Packit 63bb0d
			oldBuf = make([]statfs_freebsd11_t, n)
Packit 63bb0d
			_p0 = unsafe.Pointer(&oldBuf[0])
Packit 63bb0d
			bufsize = unsafe.Sizeof(statfs_freebsd11_t{}) * uintptr(n)
Packit 63bb0d
			needsConvert = true
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	var sysno uintptr = SYS_GETFSSTAT
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		sysno = SYS_GETFSSTAT_FREEBSD12
Packit 63bb0d
	}
Packit 63bb0d
	r0, _, e1 := Syscall(sysno, uintptr(_p0), bufsize, uintptr(flags))
Packit 63bb0d
	n = int(r0)
Packit 63bb0d
	if e1 != 0 {
Packit 63bb0d
		err = e1
Packit 63bb0d
	}
Packit 63bb0d
	if e1 == 0 && needsConvert {
Packit 63bb0d
		for i := range oldBuf {
Packit 63bb0d
			buf[i].convertFrom(&oldBuf[i])
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func setattrlistTimes(path string, times []Timespec, flags int) error {
Packit 63bb0d
	// used on Darwin for UtimesNano
Packit 63bb0d
	return ENOSYS
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//sys   ioctl(fd int, req uint, arg uintptr) (err error)
Packit 63bb0d
Packit 63bb0d
//sys   sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
Packit 63bb0d
Packit 63bb0d
func Uname(uname *Utsname) error {
Packit 63bb0d
	mib := []_C_int{CTL_KERN, KERN_OSTYPE}
Packit 63bb0d
	n := unsafe.Sizeof(uname.Sysname)
Packit 63bb0d
	if err := sysctl(mib, &uname.Sysname[0], &n, nil, 0); err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	mib = []_C_int{CTL_KERN, KERN_HOSTNAME}
Packit 63bb0d
	n = unsafe.Sizeof(uname.Nodename)
Packit 63bb0d
	if err := sysctl(mib, &uname.Nodename[0], &n, nil, 0); err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	mib = []_C_int{CTL_KERN, KERN_OSRELEASE}
Packit 63bb0d
	n = unsafe.Sizeof(uname.Release)
Packit 63bb0d
	if err := sysctl(mib, &uname.Release[0], &n, nil, 0); err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	mib = []_C_int{CTL_KERN, KERN_VERSION}
Packit 63bb0d
	n = unsafe.Sizeof(uname.Version)
Packit 63bb0d
	if err := sysctl(mib, &uname.Version[0], &n, nil, 0); err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	// The version might have newlines or tabs in it, convert them to
Packit 63bb0d
	// spaces.
Packit 63bb0d
	for i, b := range uname.Version {
Packit 63bb0d
		if b == '\n' || b == '\t' {
Packit 63bb0d
			if i == len(uname.Version)-1 {
Packit 63bb0d
				uname.Version[i] = 0
Packit 63bb0d
			} else {
Packit 63bb0d
				uname.Version[i] = ' '
Packit 63bb0d
			}
Packit 63bb0d
		}
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	mib = []_C_int{CTL_HW, HW_MACHINE}
Packit 63bb0d
	n = unsafe.Sizeof(uname.Machine)
Packit 63bb0d
	if err := sysctl(mib, &uname.Machine[0], &n, nil, 0); err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Stat(path string, st *Stat_t) (err error) {
Packit 63bb0d
	var oldStat stat_freebsd11_t
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return fstatat_freebsd12(AT_FDCWD, path, st, 0)
Packit 63bb0d
	}
Packit 63bb0d
	err = stat(path, &oldStat)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	st.convertFrom(&oldStat)
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Lstat(path string, st *Stat_t) (err error) {
Packit 63bb0d
	var oldStat stat_freebsd11_t
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return fstatat_freebsd12(AT_FDCWD, path, st, AT_SYMLINK_NOFOLLOW)
Packit 63bb0d
	}
Packit 63bb0d
	err = lstat(path, &oldStat)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	st.convertFrom(&oldStat)
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Fstat(fd int, st *Stat_t) (err error) {
Packit 63bb0d
	var oldStat stat_freebsd11_t
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return fstat_freebsd12(fd, st)
Packit 63bb0d
	}
Packit 63bb0d
	err = fstat(fd, &oldStat)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	st.convertFrom(&oldStat)
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Fstatat(fd int, path string, st *Stat_t, flags int) (err error) {
Packit 63bb0d
	var oldStat stat_freebsd11_t
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return fstatat_freebsd12(fd, path, st, flags)
Packit 63bb0d
	}
Packit 63bb0d
	err = fstatat(fd, path, &oldStat, flags)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	st.convertFrom(&oldStat)
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Statfs(path string, st *Statfs_t) (err error) {
Packit 63bb0d
	var oldStatfs statfs_freebsd11_t
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return statfs_freebsd12(path, st)
Packit 63bb0d
	}
Packit 63bb0d
	err = statfs(path, &oldStatfs)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	st.convertFrom(&oldStatfs)
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Fstatfs(fd int, st *Statfs_t) (err error) {
Packit 63bb0d
	var oldStatfs statfs_freebsd11_t
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return fstatfs_freebsd12(fd, st)
Packit 63bb0d
	}
Packit 63bb0d
	err = fstatfs(fd, &oldStatfs)
Packit 63bb0d
	if err != nil {
Packit 63bb0d
		return err
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	st.convertFrom(&oldStatfs)
Packit 63bb0d
	return nil
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Getdents(fd int, buf []byte) (n int, err error) {
Packit 63bb0d
	return Getdirentries(fd, buf, nil)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) {
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		if basep == nil || unsafe.Sizeof(*basep) == 8 {
Packit 63bb0d
			return getdirentries_freebsd12(fd, buf, (*uint64)(unsafe.Pointer(basep)))
Packit 63bb0d
		}
Packit 63bb0d
		// The freebsd12 syscall needs a 64-bit base. On 32-bit machines
Packit 63bb0d
		// we can't just use the basep passed in. See #32498.
Packit 63bb0d
		var base uint64 = uint64(*basep)
Packit 63bb0d
		n, err = getdirentries_freebsd12(fd, buf, &base)
Packit 63bb0d
		*basep = uintptr(base)
Packit 63bb0d
		if base>>32 != 0 {
Packit 63bb0d
			// We can't stuff the base back into a uintptr, so any
Packit 63bb0d
			// future calls would be suspect. Generate an error.
Packit 63bb0d
			// EIO is allowed by getdirentries.
Packit 63bb0d
			err = EIO
Packit 63bb0d
		}
Packit 63bb0d
		return
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	// The old syscall entries are smaller than the new. Use 1/4 of the original
Packit 63bb0d
	// buffer size rounded up to DIRBLKSIZ (see /usr/src/lib/libc/sys/getdirentries.c).
Packit 63bb0d
	oldBufLen := roundup(len(buf)/4, _dirblksiz)
Packit 63bb0d
	oldBuf := make([]byte, oldBufLen)
Packit 63bb0d
	n, err = getdirentries(fd, oldBuf, basep)
Packit 63bb0d
	if err == nil && n > 0 {
Packit 63bb0d
		n = convertFromDirents11(buf, oldBuf[:n])
Packit 63bb0d
	}
Packit 63bb0d
	return
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Mknod(path string, mode uint32, dev uint64) (err error) {
Packit 63bb0d
	var oldDev int
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return mknodat_freebsd12(AT_FDCWD, path, mode, dev)
Packit 63bb0d
	}
Packit 63bb0d
	oldDev = int(dev)
Packit 63bb0d
	return mknod(path, mode, oldDev)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Mknodat(fd int, path string, mode uint32, dev uint64) (err error) {
Packit 63bb0d
	var oldDev int
Packit 63bb0d
	if supportsABI(_ino64First) {
Packit 63bb0d
		return mknodat_freebsd12(fd, path, mode, dev)
Packit 63bb0d
	}
Packit 63bb0d
	oldDev = int(dev)
Packit 63bb0d
	return mknodat(fd, path, mode, oldDev)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
// round x to the nearest multiple of y, larger or equal to x.
Packit 63bb0d
//
Packit 63bb0d
// from /usr/include/sys/param.h Macros for counting and rounding.
Packit 63bb0d
// #define roundup(x, y)   ((((x)+((y)-1))/(y))*(y))
Packit 63bb0d
func roundup(x, y int) int {
Packit 63bb0d
	return ((x + y - 1) / y) * y
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (s *Stat_t) convertFrom(old *stat_freebsd11_t) {
Packit 63bb0d
	*s = Stat_t{
Packit 63bb0d
		Dev:     uint64(old.Dev),
Packit 63bb0d
		Ino:     uint64(old.Ino),
Packit 63bb0d
		Nlink:   uint64(old.Nlink),
Packit 63bb0d
		Mode:    old.Mode,
Packit 63bb0d
		Uid:     old.Uid,
Packit 63bb0d
		Gid:     old.Gid,
Packit 63bb0d
		Rdev:    uint64(old.Rdev),
Packit 63bb0d
		Atim:    old.Atim,
Packit 63bb0d
		Mtim:    old.Mtim,
Packit 63bb0d
		Ctim:    old.Ctim,
Packit 63bb0d
		Btim:    old.Btim,
Packit 63bb0d
		Size:    old.Size,
Packit 63bb0d
		Blocks:  old.Blocks,
Packit 63bb0d
		Blksize: old.Blksize,
Packit 63bb0d
		Flags:   old.Flags,
Packit 63bb0d
		Gen:     uint64(old.Gen),
Packit 63bb0d
	}
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func (s *Statfs_t) convertFrom(old *statfs_freebsd11_t) {
Packit 63bb0d
	*s = Statfs_t{
Packit 63bb0d
		Version:     _statfsVersion,
Packit 63bb0d
		Type:        old.Type,
Packit 63bb0d
		Flags:       old.Flags,
Packit 63bb0d
		Bsize:       old.Bsize,
Packit 63bb0d
		Iosize:      old.Iosize,
Packit 63bb0d
		Blocks:      old.Blocks,
Packit 63bb0d
		Bfree:       old.Bfree,
Packit 63bb0d
		Bavail:      old.Bavail,
Packit 63bb0d
		Files:       old.Files,
Packit 63bb0d
		Ffree:       old.Ffree,
Packit 63bb0d
		Syncwrites:  old.Syncwrites,
Packit 63bb0d
		Asyncwrites: old.Asyncwrites,
Packit 63bb0d
		Syncreads:   old.Syncreads,
Packit 63bb0d
		Asyncreads:  old.Asyncreads,
Packit 63bb0d
		// Spare
Packit 63bb0d
		Namemax: old.Namemax,
Packit 63bb0d
		Owner:   old.Owner,
Packit 63bb0d
		Fsid:    old.Fsid,
Packit 63bb0d
		// Charspare
Packit 63bb0d
		// Fstypename
Packit 63bb0d
		// Mntfromname
Packit 63bb0d
		// Mntonname
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	sl := old.Fstypename[:]
Packit 63bb0d
	n := clen(*(*[]byte)(unsafe.Pointer(&sl)))
Packit 63bb0d
	copy(s.Fstypename[:], old.Fstypename[:n])
Packit 63bb0d
Packit 63bb0d
	sl = old.Mntfromname[:]
Packit 63bb0d
	n = clen(*(*[]byte)(unsafe.Pointer(&sl)))
Packit 63bb0d
	copy(s.Mntfromname[:], old.Mntfromname[:n])
Packit 63bb0d
Packit 63bb0d
	sl = old.Mntonname[:]
Packit 63bb0d
	n = clen(*(*[]byte)(unsafe.Pointer(&sl)))
Packit 63bb0d
	copy(s.Mntonname[:], old.Mntonname[:n])
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func convertFromDirents11(buf []byte, old []byte) int {
Packit 63bb0d
	const (
Packit 63bb0d
		fixedSize    = int(unsafe.Offsetof(Dirent{}.Name))
Packit 63bb0d
		oldFixedSize = int(unsafe.Offsetof(dirent_freebsd11{}.Name))
Packit 63bb0d
	)
Packit 63bb0d
Packit 63bb0d
	dstPos := 0
Packit 63bb0d
	srcPos := 0
Packit 63bb0d
	for dstPos+fixedSize < len(buf) && srcPos+oldFixedSize < len(old) {
Packit 63bb0d
		var dstDirent Dirent
Packit 63bb0d
		var srcDirent dirent_freebsd11
Packit 63bb0d
Packit 63bb0d
		// If multiple direntries are written, sometimes when we reach the final one,
Packit 63bb0d
		// we may have cap of old less than size of dirent_freebsd11.
Packit 63bb0d
		copy((*[unsafe.Sizeof(srcDirent)]byte)(unsafe.Pointer(&srcDirent))[:], old[srcPos:])
Packit 63bb0d
Packit 63bb0d
		reclen := roundup(fixedSize+int(srcDirent.Namlen)+1, 8)
Packit 63bb0d
		if dstPos+reclen > len(buf) {
Packit 63bb0d
			break
Packit 63bb0d
		}
Packit 63bb0d
Packit 63bb0d
		dstDirent.Fileno = uint64(srcDirent.Fileno)
Packit 63bb0d
		dstDirent.Off = 0
Packit 63bb0d
		dstDirent.Reclen = uint16(reclen)
Packit 63bb0d
		dstDirent.Type = srcDirent.Type
Packit 63bb0d
		dstDirent.Pad0 = 0
Packit 63bb0d
		dstDirent.Namlen = uint16(srcDirent.Namlen)
Packit 63bb0d
		dstDirent.Pad1 = 0
Packit 63bb0d
Packit 63bb0d
		copy(dstDirent.Name[:], srcDirent.Name[:srcDirent.Namlen])
Packit 63bb0d
		copy(buf[dstPos:], (*[unsafe.Sizeof(dstDirent)]byte)(unsafe.Pointer(&dstDirent))[:])
Packit 63bb0d
		padding := buf[dstPos+fixedSize+int(dstDirent.Namlen) : dstPos+reclen]
Packit 63bb0d
		for i := range padding {
Packit 63bb0d
			padding[i] = 0
Packit 63bb0d
		}
Packit 63bb0d
Packit 63bb0d
		dstPos += int(dstDirent.Reclen)
Packit 63bb0d
		srcPos += int(srcDirent.Reclen)
Packit 63bb0d
	}
Packit 63bb0d
Packit 63bb0d
	return dstPos
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
Packit 63bb0d
	if raceenabled {
Packit 63bb0d
		raceReleaseMerge(unsafe.Pointer(&ioSync))
Packit 63bb0d
	}
Packit 63bb0d
	return sendfile(outfd, infd, offset, count)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
//sys	ptrace(request int, pid int, addr uintptr, data int) (err error)
Packit 63bb0d
Packit 63bb0d
func PtraceAttach(pid int) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_ATTACH, pid, 0, 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceCont(pid int, signal int) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_CONT, pid, 1, signal)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceDetach(pid int) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_DETACH, pid, 1, 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceGetFpRegs(pid int, fpregsout *FpReg) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_GETFPREGS, pid, uintptr(unsafe.Pointer(fpregsout)), 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceGetRegs(pid int, regsout *Reg) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_GETREGS, pid, uintptr(unsafe.Pointer(regsout)), 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceLwpEvents(pid int, enable int) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_LWPEVENTS, pid, 0, enable)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceLwpInfo(pid int, info uintptr) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_LWPINFO, pid, info, int(unsafe.Sizeof(PtraceLwpInfoStruct{})))
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtracePeekData(pid int, addr uintptr, out []byte) (count int, err error) {
Packit 63bb0d
	return PtraceIO(PIOD_READ_D, pid, addr, out, SizeofLong)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtracePeekText(pid int, addr uintptr, out []byte) (count int, err error) {
Packit 63bb0d
	return PtraceIO(PIOD_READ_I, pid, addr, out, SizeofLong)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtracePokeData(pid int, addr uintptr, data []byte) (count int, err error) {
Packit 63bb0d
	return PtraceIO(PIOD_WRITE_D, pid, addr, data, SizeofLong)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtracePokeText(pid int, addr uintptr, data []byte) (count int, err error) {
Packit 63bb0d
	return PtraceIO(PIOD_WRITE_I, pid, addr, data, SizeofLong)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceSetRegs(pid int, regs *Reg) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_SETREGS, pid, uintptr(unsafe.Pointer(regs)), 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
func PtraceSingleStep(pid int) (err error) {
Packit 63bb0d
	return ptrace(PTRACE_SINGLESTEP, pid, 1, 0)
Packit 63bb0d
}
Packit 63bb0d
Packit 63bb0d
/*
Packit 63bb0d
 * Exposed directly
Packit 63bb0d
 */
Packit 63bb0d
//sys	Access(path string, mode uint32) (err error)
Packit 63bb0d
//sys	Adjtime(delta *Timeval, olddelta *Timeval) (err error)
Packit 63bb0d
//sys	CapEnter() (err error)
Packit 63bb0d
//sys	capRightsGet(version int, fd int, rightsp *CapRights) (err error) = SYS___CAP_RIGHTS_GET
Packit 63bb0d
//sys	capRightsLimit(fd int, rightsp *CapRights) (err error)
Packit 63bb0d
//sys	Chdir(path string) (err error)
Packit 63bb0d
//sys	Chflags(path string, flags int) (err error)
Packit 63bb0d
//sys	Chmod(path string, mode uint32) (err error)
Packit 63bb0d
//sys	Chown(path string, uid int, gid int) (err error)
Packit 63bb0d
//sys	Chroot(path string) (err error)
Packit 63bb0d
//sys	Close(fd int) (err error)
Packit 63bb0d
//sys	Dup(fd int) (nfd int, err error)
Packit 63bb0d
//sys	Dup2(from int, to int) (err error)
Packit 63bb0d
//sys	Exit(code int)
Packit 63bb0d
//sys	ExtattrGetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrSetFd(fd int, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrDeleteFd(fd int, attrnamespace int, attrname string) (err error)
Packit 63bb0d
//sys	ExtattrListFd(fd int, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrGetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrSetFile(file string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrDeleteFile(file string, attrnamespace int, attrname string) (err error)
Packit 63bb0d
//sys	ExtattrListFile(file string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrGetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrSetLink(link string, attrnamespace int, attrname string, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	ExtattrDeleteLink(link string, attrnamespace int, attrname string) (err error)
Packit 63bb0d
//sys	ExtattrListLink(link string, attrnamespace int, data uintptr, nbytes int) (ret int, err error)
Packit 63bb0d
//sys	Fadvise(fd int, offset int64, length int64, advice int) (err error) = SYS_POSIX_FADVISE
Packit 63bb0d
//sys	Faccessat(dirfd int, path string, mode uint32, flags int) (err error)
Packit 63bb0d
//sys	Fchdir(fd int) (err error)
Packit 63bb0d
//sys	Fchflags(fd int, flags int) (err error)
Packit 63bb0d
//sys	Fchmod(fd int, mode uint32) (err error)
Packit 63bb0d
//sys	Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
Packit 63bb0d
//sys	Fchown(fd int, uid int, gid int) (err error)
Packit 63bb0d
//sys	Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
Packit 63bb0d
//sys	Flock(fd int, how int) (err error)
Packit 63bb0d
//sys	Fpathconf(fd int, name int) (val int, err error)
Packit 63bb0d
//sys	fstat(fd int, stat *stat_freebsd11_t) (err error)
Packit 63bb0d
//sys	fstat_freebsd12(fd int, stat *Stat_t) (err error)
Packit 63bb0d
//sys	fstatat(fd int, path string, stat *stat_freebsd11_t, flags int) (err error)
Packit 63bb0d
//sys	fstatat_freebsd12(fd int, path string, stat *Stat_t, flags int) (err error)
Packit 63bb0d
//sys	fstatfs(fd int, stat *statfs_freebsd11_t) (err error)
Packit 63bb0d
//sys	fstatfs_freebsd12(fd int, stat *Statfs_t) (err error)
Packit 63bb0d
//sys	Fsync(fd int) (err error)
Packit 63bb0d
//sys	Ftruncate(fd int, length int64) (err error)
Packit 63bb0d
//sys	getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error)
Packit 63bb0d
//sys	getdirentries_freebsd12(fd int, buf []byte, basep *uint64) (n int, err error)
Packit 63bb0d
//sys	Getdtablesize() (size int)
Packit 63bb0d
//sysnb	Getegid() (egid int)
Packit 63bb0d
//sysnb	Geteuid() (uid int)
Packit 63bb0d
//sysnb	Getgid() (gid int)
Packit 63bb0d
//sysnb	Getpgid(pid int) (pgid int, err error)
Packit 63bb0d
//sysnb	Getpgrp() (pgrp int)
Packit 63bb0d
//sysnb	Getpid() (pid int)
Packit 63bb0d
//sysnb	Getppid() (ppid int)
Packit 63bb0d
//sys	Getpriority(which int, who int) (prio int, err error)
Packit 63bb0d
//sysnb	Getrlimit(which int, lim *Rlimit) (err error)
Packit 63bb0d
//sysnb	Getrusage(who int, rusage *Rusage) (err error)
Packit 63bb0d
//sysnb	Getsid(pid int) (sid int, err error)
Packit 63bb0d
//sysnb	Gettimeofday(tv *Timeval) (err error)
Packit 63bb0d
//sysnb	Getuid() (uid int)
Packit 63bb0d
//sys	Issetugid() (tainted bool)
Packit 63bb0d
//sys	Kill(pid int, signum syscall.Signal) (err error)
Packit 63bb0d
//sys	Kqueue() (fd int, err error)
Packit 63bb0d
//sys	Lchown(path string, uid int, gid int) (err error)
Packit 63bb0d
//sys	Link(path string, link string) (err error)
Packit 63bb0d
//sys	Linkat(pathfd int, path string, linkfd int, link string, flags int) (err error)
Packit 63bb0d
//sys	Listen(s int, backlog int) (err error)
Packit 63bb0d
//sys	lstat(path string, stat *stat_freebsd11_t) (err error)
Packit 63bb0d
//sys	Mkdir(path string, mode uint32) (err error)
Packit 63bb0d
//sys	Mkdirat(dirfd int, path string, mode uint32) (err error)
Packit 63bb0d
//sys	Mkfifo(path string, mode uint32) (err error)
Packit 63bb0d
//sys	mknod(path string, mode uint32, dev int) (err error)
Packit 63bb0d
//sys	mknodat(fd int, path string, mode uint32, dev int) (err error)
Packit 63bb0d
//sys	mknodat_freebsd12(fd int, path string, mode uint32, dev uint64) (err error)
Packit 63bb0d
//sys	Nanosleep(time *Timespec, leftover *Timespec) (err error)
Packit 63bb0d
//sys	Open(path string, mode int, perm uint32) (fd int, err error)
Packit 63bb0d
//sys	Openat(fdat int, path string, mode int, perm uint32) (fd int, err error)
Packit 63bb0d
//sys	Pathconf(path string, name int) (val int, err error)
Packit 63bb0d
//sys	Pread(fd int, p []byte, offset int64) (n int, err error)
Packit 63bb0d
//sys	Pwrite(fd int, p []byte, offset int64) (n int, err error)
Packit 63bb0d
//sys	read(fd int, p []byte) (n int, err error)
Packit 63bb0d
//sys	Readlink(path string, buf []byte) (n int, err error)
Packit 63bb0d
//sys	Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
Packit 63bb0d
//sys	Rename(from string, to string) (err error)
Packit 63bb0d
//sys	Renameat(fromfd int, from string, tofd int, to string) (err error)
Packit 63bb0d
//sys	Revoke(path string) (err error)
Packit 63bb0d
//sys	Rmdir(path string) (err error)
Packit 63bb0d
//sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
Packit 63bb0d
//sys	Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
Packit 63bb0d
//sysnb	Setegid(egid int) (err error)
Packit 63bb0d
//sysnb	Seteuid(euid int) (err error)
Packit 63bb0d
//sysnb	Setgid(gid int) (err error)
Packit 63bb0d
//sys	Setlogin(name string) (err error)
Packit 63bb0d
//sysnb	Setpgid(pid int, pgid int) (err error)
Packit 63bb0d
//sys	Setpriority(which int, who int, prio int) (err error)
Packit 63bb0d
//sysnb	Setregid(rgid int, egid int) (err error)
Packit 63bb0d
//sysnb	Setreuid(ruid int, euid int) (err error)
Packit 63bb0d
//sysnb	Setresgid(rgid int, egid int, sgid int) (err error)
Packit 63bb0d
//sysnb	Setresuid(ruid int, euid int, suid int) (err error)
Packit 63bb0d
//sysnb	Setrlimit(which int, lim *Rlimit) (err error)
Packit 63bb0d
//sysnb	Setsid() (pid int, err error)
Packit 63bb0d
//sysnb	Settimeofday(tp *Timeval) (err error)
Packit 63bb0d
//sysnb	Setuid(uid int) (err error)
Packit 63bb0d
//sys	stat(path string, stat *stat_freebsd11_t) (err error)
Packit 63bb0d
//sys	statfs(path string, stat *statfs_freebsd11_t) (err error)
Packit 63bb0d
//sys	statfs_freebsd12(path string, stat *Statfs_t) (err error)
Packit 63bb0d
//sys	Symlink(path string, link string) (err error)
Packit 63bb0d
//sys	Symlinkat(oldpath string, newdirfd int, newpath string) (err error)
Packit 63bb0d
//sys	Sync() (err error)
Packit 63bb0d
//sys	Truncate(path string, length int64) (err error)
Packit 63bb0d
//sys	Umask(newmask int) (oldmask int)
Packit 63bb0d
//sys	Undelete(path string) (err error)
Packit 63bb0d
//sys	Unlink(path string) (err error)
Packit 63bb0d
//sys	Unlinkat(dirfd int, path string, flags int) (err error)
Packit 63bb0d
//sys	Unmount(path string, flags int) (err error)
Packit 63bb0d
//sys	write(fd int, p []byte) (n int, err error)
Packit 63bb0d
//sys   mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
Packit 63bb0d
//sys   munmap(addr uintptr, length uintptr) (err error)
Packit 63bb0d
//sys	readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ
Packit 63bb0d
//sys	writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE
Packit 63bb0d
//sys	accept4(fd int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (nfd int, err error)
Packit 63bb0d
//sys	utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
Packit 63bb0d
Packit 63bb0d
/*
Packit 63bb0d
 * Unimplemented
Packit 63bb0d
 */
Packit 63bb0d
// Profil
Packit 63bb0d
// Sigaction
Packit 63bb0d
// Sigprocmask
Packit 63bb0d
// Getlogin
Packit 63bb0d
// Sigpending
Packit 63bb0d
// Sigaltstack
Packit 63bb0d
// Ioctl
Packit 63bb0d
// Reboot
Packit 63bb0d
// Execve
Packit 63bb0d
// Vfork
Packit 63bb0d
// Sbrk
Packit 63bb0d
// Sstk
Packit 63bb0d
// Ovadvise
Packit 63bb0d
// Mincore
Packit 63bb0d
// Setitimer
Packit 63bb0d
// Swapon
Packit 63bb0d
// Select
Packit 63bb0d
// Sigsuspend
Packit 63bb0d
// Readv
Packit 63bb0d
// Writev
Packit 63bb0d
// Nfssvc
Packit 63bb0d
// Getfh
Packit 63bb0d
// Quotactl
Packit 63bb0d
// Mount
Packit 63bb0d
// Csops
Packit 63bb0d
// Waitid
Packit 63bb0d
// Add_profil
Packit 63bb0d
// Kdebug_trace
Packit 63bb0d
// Sigreturn
Packit 63bb0d
// Atsocket
Packit 63bb0d
// Kqueue_from_portset_np
Packit 63bb0d
// Kqueue_portset
Packit 63bb0d
// Getattrlist
Packit 63bb0d
// Setattrlist
Packit 63bb0d
// Getdents
Packit 63bb0d
// Getdirentriesattr
Packit 63bb0d
// Searchfs
Packit 63bb0d
// Delete
Packit 63bb0d
// Copyfile
Packit 63bb0d
// Watchevent
Packit 63bb0d
// Waitevent
Packit 63bb0d
// Modwatch
Packit 63bb0d
// Fsctl
Packit 63bb0d
// Initgroups
Packit 63bb0d
// Posix_spawn
Packit 63bb0d
// Nfsclnt
Packit 63bb0d
// Fhopen
Packit 63bb0d
// Minherit
Packit 63bb0d
// Semsys
Packit 63bb0d
// Msgsys
Packit 63bb0d
// Shmsys
Packit 63bb0d
// Semctl
Packit 63bb0d
// Semget
Packit 63bb0d
// Semop
Packit 63bb0d
// Msgctl
Packit 63bb0d
// Msgget
Packit 63bb0d
// Msgsnd
Packit 63bb0d
// Msgrcv
Packit 63bb0d
// Shmat
Packit 63bb0d
// Shmctl
Packit 63bb0d
// Shmdt
Packit 63bb0d
// Shmget
Packit 63bb0d
// Shm_open
Packit 63bb0d
// Shm_unlink
Packit 63bb0d
// Sem_open
Packit 63bb0d
// Sem_close
Packit 63bb0d
// Sem_unlink
Packit 63bb0d
// Sem_wait
Packit 63bb0d
// Sem_trywait
Packit 63bb0d
// Sem_post
Packit 63bb0d
// Sem_getvalue
Packit 63bb0d
// Sem_init
Packit 63bb0d
// Sem_destroy
Packit 63bb0d
// Open_extended
Packit 63bb0d
// Umask_extended
Packit 63bb0d
// Stat_extended
Packit 63bb0d
// Lstat_extended
Packit 63bb0d
// Fstat_extended
Packit 63bb0d
// Chmod_extended
Packit 63bb0d
// Fchmod_extended
Packit 63bb0d
// Access_extended
Packit 63bb0d
// Settid
Packit 63bb0d
// Gettid
Packit 63bb0d
// Setsgroups
Packit 63bb0d
// Getsgroups
Packit 63bb0d
// Setwgroups
Packit 63bb0d
// Getwgroups
Packit 63bb0d
// Mkfifo_extended
Packit 63bb0d
// Mkdir_extended
Packit 63bb0d
// Identitysvc
Packit 63bb0d
// Shared_region_check_np
Packit 63bb0d
// Shared_region_map_np
Packit 63bb0d
// __pthread_mutex_destroy
Packit 63bb0d
// __pthread_mutex_init
Packit 63bb0d
// __pthread_mutex_lock
Packit 63bb0d
// __pthread_mutex_trylock
Packit 63bb0d
// __pthread_mutex_unlock
Packit 63bb0d
// __pthread_cond_init
Packit 63bb0d
// __pthread_cond_destroy
Packit 63bb0d
// __pthread_cond_broadcast
Packit 63bb0d
// __pthread_cond_signal
Packit 63bb0d
// Setsid_with_pid
Packit 63bb0d
// __pthread_cond_timedwait
Packit 63bb0d
// Aio_fsync
Packit 63bb0d
// Aio_return
Packit 63bb0d
// Aio_suspend
Packit 63bb0d
// Aio_cancel
Packit 63bb0d
// Aio_error
Packit 63bb0d
// Aio_read
Packit 63bb0d
// Aio_write
Packit 63bb0d
// Lio_listio
Packit 63bb0d
// __pthread_cond_wait
Packit 63bb0d
// Iopolicysys
Packit 63bb0d
// __pthread_kill
Packit 63bb0d
// __pthread_sigmask
Packit 63bb0d
// __sigwait
Packit 63bb0d
// __disable_threadsignal
Packit 63bb0d
// __pthread_markcancel
Packit 63bb0d
// __pthread_canceled
Packit 63bb0d
// __semwait_signal
Packit 63bb0d
// Proc_info
Packit 63bb0d
// Stat64_extended
Packit 63bb0d
// Lstat64_extended
Packit 63bb0d
// Fstat64_extended
Packit 63bb0d
// __pthread_chdir
Packit 63bb0d
// __pthread_fchdir
Packit 63bb0d
// Audit
Packit 63bb0d
// Auditon
Packit 63bb0d
// Getauid
Packit 63bb0d
// Setauid
Packit 63bb0d
// Getaudit
Packit 63bb0d
// Setaudit
Packit 63bb0d
// Getaudit_addr
Packit 63bb0d
// Setaudit_addr
Packit 63bb0d
// Auditctl
Packit 63bb0d
// Bsdthread_create
Packit 63bb0d
// Bsdthread_terminate
Packit 63bb0d
// Stack_snapshot
Packit 63bb0d
// Bsdthread_register
Packit 63bb0d
// Workq_open
Packit 63bb0d
// Workq_ops
Packit 63bb0d
// __mac_execve
Packit 63bb0d
// __mac_syscall
Packit 63bb0d
// __mac_get_file
Packit 63bb0d
// __mac_set_file
Packit 63bb0d
// __mac_get_link
Packit 63bb0d
// __mac_set_link
Packit 63bb0d
// __mac_get_proc
Packit 63bb0d
// __mac_set_proc
Packit 63bb0d
// __mac_get_fd
Packit 63bb0d
// __mac_set_fd
Packit 63bb0d
// __mac_get_pid
Packit 63bb0d
// __mac_get_lcid
Packit 63bb0d
// __mac_get_lctx
Packit 63bb0d
// __mac_set_lctx
Packit 63bb0d
// Setlcid
Packit 63bb0d
// Read_nocancel
Packit 63bb0d
// Write_nocancel
Packit 63bb0d
// Open_nocancel
Packit 63bb0d
// Close_nocancel
Packit 63bb0d
// Wait4_nocancel
Packit 63bb0d
// Recvmsg_nocancel
Packit 63bb0d
// Sendmsg_nocancel
Packit 63bb0d
// Recvfrom_nocancel
Packit 63bb0d
// Accept_nocancel
Packit 63bb0d
// Fcntl_nocancel
Packit 63bb0d
// Select_nocancel
Packit 63bb0d
// Fsync_nocancel
Packit 63bb0d
// Connect_nocancel
Packit 63bb0d
// Sigsuspend_nocancel
Packit 63bb0d
// Readv_nocancel
Packit 63bb0d
// Writev_nocancel
Packit 63bb0d
// Sendto_nocancel
Packit 63bb0d
// Pread_nocancel
Packit 63bb0d
// Pwrite_nocancel
Packit 63bb0d
// Waitid_nocancel
Packit 63bb0d
// Poll_nocancel
Packit 63bb0d
// Msgsnd_nocancel
Packit 63bb0d
// Msgrcv_nocancel
Packit 63bb0d
// Sem_wait_nocancel
Packit 63bb0d
// Aio_suspend_nocancel
Packit 63bb0d
// __sigwait_nocancel
Packit 63bb0d
// __semwait_signal_nocancel
Packit 63bb0d
// __mac_mount
Packit 63bb0d
// __mac_get_mount
Packit 63bb0d
// __mac_getfsstat