| 
									
										
										
										
											2016-02-11 16:16:52 +02:00
										 |  |  | // Copyright 2009,2010 The Go Authors. All rights reserved. | 
					
						
							|  |  |  | // Use of this source code is governed by a BSD-style | 
					
						
							|  |  |  | // license that can be found in the LICENSE file. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // NetBSD system calls. | 
					
						
							|  |  |  | // This file is compiled as ordinary Go code, | 
					
						
							|  |  |  | // but it is also input to mksyscall, | 
					
						
							|  |  |  | // which parses the //sys lines and generates system call stubs. | 
					
						
							|  |  |  | // Note that sometimes we use a lowercase //sys name and wrap | 
					
						
							|  |  |  | // it in our own nicer implementation, either here or in | 
					
						
							|  |  |  | // syscall_bsd.go or syscall_unix.go. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package unix | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"syscall" | 
					
						
							|  |  |  | 	"unsafe" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | type SockaddrDatalink struct { | 
					
						
							|  |  |  | 	Len    uint8 | 
					
						
							|  |  |  | 	Family uint8 | 
					
						
							|  |  |  | 	Index  uint16 | 
					
						
							|  |  |  | 	Type   uint8 | 
					
						
							|  |  |  | 	Nlen   uint8 | 
					
						
							|  |  |  | 	Alen   uint8 | 
					
						
							|  |  |  | 	Slen   uint8 | 
					
						
							|  |  |  | 	Data   [12]int8 | 
					
						
							|  |  |  | 	raw    RawSockaddrDatalink | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr, err syscall.Errno) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func sysctlNodes(mib []_C_int) (nodes []Sysctlnode, err error) { | 
					
						
							|  |  |  | 	var olen uintptr | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Get a list of all sysctl nodes below the given MIB by performing | 
					
						
							|  |  |  | 	// a sysctl for the given MIB with CTL_QUERY appended. | 
					
						
							|  |  |  | 	mib = append(mib, CTL_QUERY) | 
					
						
							|  |  |  | 	qnode := Sysctlnode{Flags: SYSCTL_VERS_1} | 
					
						
							|  |  |  | 	qp := (*byte)(unsafe.Pointer(&qnode)) | 
					
						
							|  |  |  | 	sz := unsafe.Sizeof(qnode) | 
					
						
							|  |  |  | 	if err = sysctl(mib, nil, &olen, qp, sz); err != nil { | 
					
						
							|  |  |  | 		return nil, err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Now that we know the size, get the actual nodes. | 
					
						
							|  |  |  | 	nodes = make([]Sysctlnode, olen/sz) | 
					
						
							|  |  |  | 	np := (*byte)(unsafe.Pointer(&nodes[0])) | 
					
						
							|  |  |  | 	if err = sysctl(mib, np, &olen, qp, sz); err != nil { | 
					
						
							|  |  |  | 		return nil, err | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return nodes, nil | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func nametomib(name string) (mib []_C_int, err error) { | 
					
						
							|  |  |  | 	// Split name into components. | 
					
						
							|  |  |  | 	var parts []string | 
					
						
							|  |  |  | 	last := 0 | 
					
						
							|  |  |  | 	for i := 0; i < len(name); i++ { | 
					
						
							|  |  |  | 		if name[i] == '.' { | 
					
						
							|  |  |  | 			parts = append(parts, name[last:i]) | 
					
						
							|  |  |  | 			last = i + 1 | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	parts = append(parts, name[last:]) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	// Discover the nodes and construct the MIB OID. | 
					
						
							|  |  |  | 	for partno, part := range parts { | 
					
						
							|  |  |  | 		nodes, err := sysctlNodes(mib) | 
					
						
							|  |  |  | 		if err != nil { | 
					
						
							|  |  |  | 			return nil, err | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		for _, node := range nodes { | 
					
						
							|  |  |  | 			n := make([]byte, 0) | 
					
						
							|  |  |  | 			for i := range node.Name { | 
					
						
							|  |  |  | 				if node.Name[i] != 0 { | 
					
						
							|  |  |  | 					n = append(n, byte(node.Name[i])) | 
					
						
							|  |  |  | 				} | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 			if string(n) == part { | 
					
						
							|  |  |  | 				mib = append(mib, _C_int(node.Num)) | 
					
						
							|  |  |  | 				break | 
					
						
							|  |  |  | 			} | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 		if len(mib) != partno+1 { | 
					
						
							|  |  |  | 			return nil, EINVAL | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return mib, nil | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-12 12:24:42 -08:00
										 |  |  | func direntIno(buf []byte) (uint64, bool) { | 
					
						
							|  |  |  | 	return readInt(buf, unsafe.Offsetof(Dirent{}.Fileno), unsafe.Sizeof(Dirent{}.Fileno)) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func direntReclen(buf []byte) (uint64, bool) { | 
					
						
							|  |  |  | 	return readInt(buf, unsafe.Offsetof(Dirent{}.Reclen), unsafe.Sizeof(Dirent{}.Reclen)) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func direntNamlen(buf []byte) (uint64, bool) { | 
					
						
							|  |  |  | 	return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen)) | 
					
						
							| 
									
										
										
										
											2016-02-11 16:16:52 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //sysnb pipe() (fd1 int, fd2 int, err error) | 
					
						
							|  |  |  | func Pipe(p []int) (err error) { | 
					
						
							|  |  |  | 	if len(p) != 2 { | 
					
						
							|  |  |  | 		return EINVAL | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 	p[0], p[1], err = pipe() | 
					
						
							|  |  |  | 	return | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //sys getdents(fd int, buf []byte) (n int, err error) | 
					
						
							|  |  |  | func Getdirentries(fd int, buf []byte, basep *uintptr) (n int, err error) { | 
					
						
							|  |  |  | 	return getdents(fd, buf) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // TODO | 
					
						
							|  |  |  | func sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) { | 
					
						
							|  |  |  | 	return -1, ENOSYS | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-12 12:24:42 -08:00
										 |  |  | func setattrlistTimes(path string, times []Timespec, flags int) error { | 
					
						
							|  |  |  | 	// used on Darwin for UtimesNano | 
					
						
							|  |  |  | 	return ENOSYS | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | //sys	ioctl(fd int, req uint, arg uintptr) (err error) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ioctl itself should not be exposed directly, but additional get/set | 
					
						
							|  |  |  | // functions for specific types are permissible. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // IoctlSetInt performs an ioctl operation which sets an integer value | 
					
						
							|  |  |  | // on fd, using the specified request number. | 
					
						
							|  |  |  | func IoctlSetInt(fd int, req uint, value int) error { | 
					
						
							|  |  |  | 	return ioctl(fd, req, uintptr(value)) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func IoctlSetWinsize(fd int, req uint, value *Winsize) error { | 
					
						
							|  |  |  | 	return ioctl(fd, req, uintptr(unsafe.Pointer(value))) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func IoctlSetTermios(fd int, req uint, value *Termios) error { | 
					
						
							|  |  |  | 	return ioctl(fd, req, uintptr(unsafe.Pointer(value))) | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // IoctlGetInt performs an ioctl operation which gets an integer value | 
					
						
							|  |  |  | // from fd, using the specified request number. | 
					
						
							|  |  |  | func IoctlGetInt(fd int, req uint) (int, error) { | 
					
						
							|  |  |  | 	var value int | 
					
						
							|  |  |  | 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) | 
					
						
							|  |  |  | 	return value, err | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { | 
					
						
							|  |  |  | 	var value Winsize | 
					
						
							|  |  |  | 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) | 
					
						
							|  |  |  | 	return &value, err | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func IoctlGetTermios(fd int, req uint) (*Termios, error) { | 
					
						
							|  |  |  | 	var value Termios | 
					
						
							|  |  |  | 	err := ioctl(fd, req, uintptr(unsafe.Pointer(&value))) | 
					
						
							|  |  |  | 	return &value, err | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-11 16:16:52 +02:00
										 |  |  | /* | 
					
						
							|  |  |  |  * Exposed directly | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | //sys	Access(path string, mode uint32) (err error) | 
					
						
							|  |  |  | //sys	Adjtime(delta *Timeval, olddelta *Timeval) (err error) | 
					
						
							|  |  |  | //sys	Chdir(path string) (err error) | 
					
						
							|  |  |  | //sys	Chflags(path string, flags int) (err error) | 
					
						
							|  |  |  | //sys	Chmod(path string, mode uint32) (err error) | 
					
						
							|  |  |  | //sys	Chown(path string, uid int, gid int) (err error) | 
					
						
							|  |  |  | //sys	Chroot(path string) (err error) | 
					
						
							|  |  |  | //sys	Close(fd int) (err error) | 
					
						
							|  |  |  | //sys	Dup(fd int) (nfd int, err error) | 
					
						
							|  |  |  | //sys	Dup2(from int, to int) (err error) | 
					
						
							|  |  |  | //sys	Exit(code int) | 
					
						
							|  |  |  | //sys	Fchdir(fd int) (err error) | 
					
						
							|  |  |  | //sys	Fchflags(fd int, flags int) (err error) | 
					
						
							|  |  |  | //sys	Fchmod(fd int, mode uint32) (err error) | 
					
						
							|  |  |  | //sys	Fchown(fd int, uid int, gid int) (err error) | 
					
						
							|  |  |  | //sys	Flock(fd int, how int) (err error) | 
					
						
							|  |  |  | //sys	Fpathconf(fd int, name int) (val int, err error) | 
					
						
							|  |  |  | //sys	Fstat(fd int, stat *Stat_t) (err error) | 
					
						
							|  |  |  | //sys	Fsync(fd int) (err error) | 
					
						
							|  |  |  | //sys	Ftruncate(fd int, length int64) (err error) | 
					
						
							|  |  |  | //sysnb	Getegid() (egid int) | 
					
						
							|  |  |  | //sysnb	Geteuid() (uid int) | 
					
						
							|  |  |  | //sysnb	Getgid() (gid int) | 
					
						
							|  |  |  | //sysnb	Getpgid(pid int) (pgid int, err error) | 
					
						
							|  |  |  | //sysnb	Getpgrp() (pgrp int) | 
					
						
							|  |  |  | //sysnb	Getpid() (pid int) | 
					
						
							|  |  |  | //sysnb	Getppid() (ppid int) | 
					
						
							|  |  |  | //sys	Getpriority(which int, who int) (prio int, err error) | 
					
						
							|  |  |  | //sysnb	Getrlimit(which int, lim *Rlimit) (err error) | 
					
						
							|  |  |  | //sysnb	Getrusage(who int, rusage *Rusage) (err error) | 
					
						
							|  |  |  | //sysnb	Getsid(pid int) (sid int, err error) | 
					
						
							|  |  |  | //sysnb	Gettimeofday(tv *Timeval) (err error) | 
					
						
							|  |  |  | //sysnb	Getuid() (uid int) | 
					
						
							|  |  |  | //sys	Issetugid() (tainted bool) | 
					
						
							|  |  |  | //sys	Kill(pid int, signum syscall.Signal) (err error) | 
					
						
							|  |  |  | //sys	Kqueue() (fd int, err error) | 
					
						
							|  |  |  | //sys	Lchown(path string, uid int, gid int) (err error) | 
					
						
							|  |  |  | //sys	Link(path string, link string) (err error) | 
					
						
							|  |  |  | //sys	Listen(s int, backlog int) (err error) | 
					
						
							|  |  |  | //sys	Lstat(path string, stat *Stat_t) (err error) | 
					
						
							|  |  |  | //sys	Mkdir(path string, mode uint32) (err error) | 
					
						
							|  |  |  | //sys	Mkfifo(path string, mode uint32) (err error) | 
					
						
							|  |  |  | //sys	Mknod(path string, mode uint32, dev int) (err error) | 
					
						
							|  |  |  | //sys	Nanosleep(time *Timespec, leftover *Timespec) (err error) | 
					
						
							|  |  |  | //sys	Open(path string, mode int, perm uint32) (fd int, err error) | 
					
						
							|  |  |  | //sys	Pathconf(path string, name int) (val int, err error) | 
					
						
							|  |  |  | //sys	Pread(fd int, p []byte, offset int64) (n int, err error) | 
					
						
							|  |  |  | //sys	Pwrite(fd int, p []byte, offset int64) (n int, err error) | 
					
						
							|  |  |  | //sys	read(fd int, p []byte) (n int, err error) | 
					
						
							|  |  |  | //sys	Readlink(path string, buf []byte) (n int, err error) | 
					
						
							|  |  |  | //sys	Rename(from string, to string) (err error) | 
					
						
							|  |  |  | //sys	Revoke(path string) (err error) | 
					
						
							|  |  |  | //sys	Rmdir(path string) (err error) | 
					
						
							|  |  |  | //sys	Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK | 
					
						
							|  |  |  | //sys	Select(n int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (err error) | 
					
						
							|  |  |  | //sysnb	Setegid(egid int) (err error) | 
					
						
							|  |  |  | //sysnb	Seteuid(euid int) (err error) | 
					
						
							|  |  |  | //sysnb	Setgid(gid int) (err error) | 
					
						
							|  |  |  | //sysnb	Setpgid(pid int, pgid int) (err error) | 
					
						
							|  |  |  | //sys	Setpriority(which int, who int, prio int) (err error) | 
					
						
							|  |  |  | //sysnb	Setregid(rgid int, egid int) (err error) | 
					
						
							|  |  |  | //sysnb	Setreuid(ruid int, euid int) (err error) | 
					
						
							|  |  |  | //sysnb	Setrlimit(which int, lim *Rlimit) (err error) | 
					
						
							|  |  |  | //sysnb	Setsid() (pid int, err error) | 
					
						
							|  |  |  | //sysnb	Settimeofday(tp *Timeval) (err error) | 
					
						
							|  |  |  | //sysnb	Setuid(uid int) (err error) | 
					
						
							|  |  |  | //sys	Stat(path string, stat *Stat_t) (err error) | 
					
						
							|  |  |  | //sys	Symlink(path string, link string) (err error) | 
					
						
							|  |  |  | //sys	Sync() (err error) | 
					
						
							|  |  |  | //sys	Truncate(path string, length int64) (err error) | 
					
						
							|  |  |  | //sys	Umask(newmask int) (oldmask int) | 
					
						
							|  |  |  | //sys	Unlink(path string) (err error) | 
					
						
							|  |  |  | //sys	Unmount(path string, flags int) (err error) | 
					
						
							|  |  |  | //sys	write(fd int, p []byte) (n int, err error) | 
					
						
							|  |  |  | //sys	mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) | 
					
						
							|  |  |  | //sys	munmap(addr uintptr, length uintptr) (err error) | 
					
						
							|  |  |  | //sys	readlen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_READ | 
					
						
							|  |  |  | //sys	writelen(fd int, buf *byte, nbuf int) (n int, err error) = SYS_WRITE | 
					
						
							| 
									
										
										
										
											2017-11-12 12:24:42 -08:00
										 |  |  | //sys	utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) | 
					
						
							| 
									
										
										
										
											2016-02-11 16:16:52 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | /* | 
					
						
							|  |  |  |  * Unimplemented | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | // ____semctl13 | 
					
						
							|  |  |  | // __clone | 
					
						
							|  |  |  | // __fhopen40 | 
					
						
							|  |  |  | // __fhstat40 | 
					
						
							|  |  |  | // __fhstatvfs140 | 
					
						
							|  |  |  | // __fstat30 | 
					
						
							|  |  |  | // __getcwd | 
					
						
							|  |  |  | // __getfh30 | 
					
						
							|  |  |  | // __getlogin | 
					
						
							|  |  |  | // __lstat30 | 
					
						
							|  |  |  | // __mount50 | 
					
						
							|  |  |  | // __msgctl13 | 
					
						
							|  |  |  | // __msync13 | 
					
						
							|  |  |  | // __ntp_gettime30 | 
					
						
							|  |  |  | // __posix_chown | 
					
						
							|  |  |  | // __posix_fadvise50 | 
					
						
							|  |  |  | // __posix_fchown | 
					
						
							|  |  |  | // __posix_lchown | 
					
						
							|  |  |  | // __posix_rename | 
					
						
							|  |  |  | // __setlogin | 
					
						
							|  |  |  | // __shmctl13 | 
					
						
							|  |  |  | // __sigaction_sigtramp | 
					
						
							|  |  |  | // __sigaltstack14 | 
					
						
							|  |  |  | // __sigpending14 | 
					
						
							|  |  |  | // __sigprocmask14 | 
					
						
							|  |  |  | // __sigsuspend14 | 
					
						
							|  |  |  | // __sigtimedwait | 
					
						
							|  |  |  | // __stat30 | 
					
						
							|  |  |  | // __syscall | 
					
						
							|  |  |  | // __vfork14 | 
					
						
							|  |  |  | // _ksem_close | 
					
						
							|  |  |  | // _ksem_destroy | 
					
						
							|  |  |  | // _ksem_getvalue | 
					
						
							|  |  |  | // _ksem_init | 
					
						
							|  |  |  | // _ksem_open | 
					
						
							|  |  |  | // _ksem_post | 
					
						
							|  |  |  | // _ksem_trywait | 
					
						
							|  |  |  | // _ksem_unlink | 
					
						
							|  |  |  | // _ksem_wait | 
					
						
							|  |  |  | // _lwp_continue | 
					
						
							|  |  |  | // _lwp_create | 
					
						
							|  |  |  | // _lwp_ctl | 
					
						
							|  |  |  | // _lwp_detach | 
					
						
							|  |  |  | // _lwp_exit | 
					
						
							|  |  |  | // _lwp_getname | 
					
						
							|  |  |  | // _lwp_getprivate | 
					
						
							|  |  |  | // _lwp_kill | 
					
						
							|  |  |  | // _lwp_park | 
					
						
							|  |  |  | // _lwp_self | 
					
						
							|  |  |  | // _lwp_setname | 
					
						
							|  |  |  | // _lwp_setprivate | 
					
						
							|  |  |  | // _lwp_suspend | 
					
						
							|  |  |  | // _lwp_unpark | 
					
						
							|  |  |  | // _lwp_unpark_all | 
					
						
							|  |  |  | // _lwp_wait | 
					
						
							|  |  |  | // _lwp_wakeup | 
					
						
							|  |  |  | // _pset_bind | 
					
						
							|  |  |  | // _sched_getaffinity | 
					
						
							|  |  |  | // _sched_getparam | 
					
						
							|  |  |  | // _sched_setaffinity | 
					
						
							|  |  |  | // _sched_setparam | 
					
						
							|  |  |  | // acct | 
					
						
							|  |  |  | // aio_cancel | 
					
						
							|  |  |  | // aio_error | 
					
						
							|  |  |  | // aio_fsync | 
					
						
							|  |  |  | // aio_read | 
					
						
							|  |  |  | // aio_return | 
					
						
							|  |  |  | // aio_suspend | 
					
						
							|  |  |  | // aio_write | 
					
						
							|  |  |  | // break | 
					
						
							|  |  |  | // clock_getres | 
					
						
							|  |  |  | // clock_gettime | 
					
						
							|  |  |  | // clock_settime | 
					
						
							|  |  |  | // compat_09_ogetdomainname | 
					
						
							|  |  |  | // compat_09_osetdomainname | 
					
						
							|  |  |  | // compat_09_ouname | 
					
						
							|  |  |  | // compat_10_omsgsys | 
					
						
							|  |  |  | // compat_10_osemsys | 
					
						
							|  |  |  | // compat_10_oshmsys | 
					
						
							|  |  |  | // compat_12_fstat12 | 
					
						
							|  |  |  | // compat_12_getdirentries | 
					
						
							|  |  |  | // compat_12_lstat12 | 
					
						
							|  |  |  | // compat_12_msync | 
					
						
							|  |  |  | // compat_12_oreboot | 
					
						
							|  |  |  | // compat_12_oswapon | 
					
						
							|  |  |  | // compat_12_stat12 | 
					
						
							|  |  |  | // compat_13_sigaction13 | 
					
						
							|  |  |  | // compat_13_sigaltstack13 | 
					
						
							|  |  |  | // compat_13_sigpending13 | 
					
						
							|  |  |  | // compat_13_sigprocmask13 | 
					
						
							|  |  |  | // compat_13_sigreturn13 | 
					
						
							|  |  |  | // compat_13_sigsuspend13 | 
					
						
							|  |  |  | // compat_14___semctl | 
					
						
							|  |  |  | // compat_14_msgctl | 
					
						
							|  |  |  | // compat_14_shmctl | 
					
						
							|  |  |  | // compat_16___sigaction14 | 
					
						
							|  |  |  | // compat_16___sigreturn14 | 
					
						
							|  |  |  | // compat_20_fhstatfs | 
					
						
							|  |  |  | // compat_20_fstatfs | 
					
						
							|  |  |  | // compat_20_getfsstat | 
					
						
							|  |  |  | // compat_20_statfs | 
					
						
							|  |  |  | // compat_30___fhstat30 | 
					
						
							|  |  |  | // compat_30___fstat13 | 
					
						
							|  |  |  | // compat_30___lstat13 | 
					
						
							|  |  |  | // compat_30___stat13 | 
					
						
							|  |  |  | // compat_30_fhopen | 
					
						
							|  |  |  | // compat_30_fhstat | 
					
						
							|  |  |  | // compat_30_fhstatvfs1 | 
					
						
							|  |  |  | // compat_30_getdents | 
					
						
							|  |  |  | // compat_30_getfh | 
					
						
							|  |  |  | // compat_30_ntp_gettime | 
					
						
							|  |  |  | // compat_30_socket | 
					
						
							|  |  |  | // compat_40_mount | 
					
						
							|  |  |  | // compat_43_fstat43 | 
					
						
							|  |  |  | // compat_43_lstat43 | 
					
						
							|  |  |  | // compat_43_oaccept | 
					
						
							|  |  |  | // compat_43_ocreat | 
					
						
							|  |  |  | // compat_43_oftruncate | 
					
						
							|  |  |  | // compat_43_ogetdirentries | 
					
						
							|  |  |  | // compat_43_ogetdtablesize | 
					
						
							|  |  |  | // compat_43_ogethostid | 
					
						
							|  |  |  | // compat_43_ogethostname | 
					
						
							|  |  |  | // compat_43_ogetkerninfo | 
					
						
							|  |  |  | // compat_43_ogetpagesize | 
					
						
							|  |  |  | // compat_43_ogetpeername | 
					
						
							|  |  |  | // compat_43_ogetrlimit | 
					
						
							|  |  |  | // compat_43_ogetsockname | 
					
						
							|  |  |  | // compat_43_okillpg | 
					
						
							|  |  |  | // compat_43_olseek | 
					
						
							|  |  |  | // compat_43_ommap | 
					
						
							|  |  |  | // compat_43_oquota | 
					
						
							|  |  |  | // compat_43_orecv | 
					
						
							|  |  |  | // compat_43_orecvfrom | 
					
						
							|  |  |  | // compat_43_orecvmsg | 
					
						
							|  |  |  | // compat_43_osend | 
					
						
							|  |  |  | // compat_43_osendmsg | 
					
						
							|  |  |  | // compat_43_osethostid | 
					
						
							|  |  |  | // compat_43_osethostname | 
					
						
							|  |  |  | // compat_43_osetrlimit | 
					
						
							|  |  |  | // compat_43_osigblock | 
					
						
							|  |  |  | // compat_43_osigsetmask | 
					
						
							|  |  |  | // compat_43_osigstack | 
					
						
							|  |  |  | // compat_43_osigvec | 
					
						
							|  |  |  | // compat_43_otruncate | 
					
						
							|  |  |  | // compat_43_owait | 
					
						
							|  |  |  | // compat_43_stat43 | 
					
						
							|  |  |  | // execve | 
					
						
							|  |  |  | // extattr_delete_fd | 
					
						
							|  |  |  | // extattr_delete_file | 
					
						
							|  |  |  | // extattr_delete_link | 
					
						
							|  |  |  | // extattr_get_fd | 
					
						
							|  |  |  | // extattr_get_file | 
					
						
							|  |  |  | // extattr_get_link | 
					
						
							|  |  |  | // extattr_list_fd | 
					
						
							|  |  |  | // extattr_list_file | 
					
						
							|  |  |  | // extattr_list_link | 
					
						
							|  |  |  | // extattr_set_fd | 
					
						
							|  |  |  | // extattr_set_file | 
					
						
							|  |  |  | // extattr_set_link | 
					
						
							|  |  |  | // extattrctl | 
					
						
							|  |  |  | // fchroot | 
					
						
							|  |  |  | // fdatasync | 
					
						
							|  |  |  | // fgetxattr | 
					
						
							|  |  |  | // fktrace | 
					
						
							|  |  |  | // flistxattr | 
					
						
							|  |  |  | // fork | 
					
						
							|  |  |  | // fremovexattr | 
					
						
							|  |  |  | // fsetxattr | 
					
						
							|  |  |  | // fstatvfs1 | 
					
						
							|  |  |  | // fsync_range | 
					
						
							|  |  |  | // getcontext | 
					
						
							|  |  |  | // getitimer | 
					
						
							|  |  |  | // getvfsstat | 
					
						
							|  |  |  | // getxattr | 
					
						
							|  |  |  | // ktrace | 
					
						
							|  |  |  | // lchflags | 
					
						
							|  |  |  | // lchmod | 
					
						
							|  |  |  | // lfs_bmapv | 
					
						
							|  |  |  | // lfs_markv | 
					
						
							|  |  |  | // lfs_segclean | 
					
						
							|  |  |  | // lfs_segwait | 
					
						
							|  |  |  | // lgetxattr | 
					
						
							|  |  |  | // lio_listio | 
					
						
							|  |  |  | // listxattr | 
					
						
							|  |  |  | // llistxattr | 
					
						
							|  |  |  | // lremovexattr | 
					
						
							|  |  |  | // lseek | 
					
						
							|  |  |  | // lsetxattr | 
					
						
							|  |  |  | // lutimes | 
					
						
							|  |  |  | // madvise | 
					
						
							|  |  |  | // mincore | 
					
						
							|  |  |  | // minherit | 
					
						
							|  |  |  | // modctl | 
					
						
							|  |  |  | // mq_close | 
					
						
							|  |  |  | // mq_getattr | 
					
						
							|  |  |  | // mq_notify | 
					
						
							|  |  |  | // mq_open | 
					
						
							|  |  |  | // mq_receive | 
					
						
							|  |  |  | // mq_send | 
					
						
							|  |  |  | // mq_setattr | 
					
						
							|  |  |  | // mq_timedreceive | 
					
						
							|  |  |  | // mq_timedsend | 
					
						
							|  |  |  | // mq_unlink | 
					
						
							|  |  |  | // mremap | 
					
						
							|  |  |  | // msgget | 
					
						
							|  |  |  | // msgrcv | 
					
						
							|  |  |  | // msgsnd | 
					
						
							|  |  |  | // nfssvc | 
					
						
							|  |  |  | // ntp_adjtime | 
					
						
							|  |  |  | // pmc_control | 
					
						
							|  |  |  | // pmc_get_info | 
					
						
							|  |  |  | // pollts | 
					
						
							|  |  |  | // preadv | 
					
						
							|  |  |  | // profil | 
					
						
							|  |  |  | // pselect | 
					
						
							|  |  |  | // pset_assign | 
					
						
							|  |  |  | // pset_create | 
					
						
							|  |  |  | // pset_destroy | 
					
						
							|  |  |  | // ptrace | 
					
						
							|  |  |  | // pwritev | 
					
						
							|  |  |  | // quotactl | 
					
						
							|  |  |  | // rasctl | 
					
						
							|  |  |  | // readv | 
					
						
							|  |  |  | // reboot | 
					
						
							|  |  |  | // removexattr | 
					
						
							|  |  |  | // sa_enable | 
					
						
							|  |  |  | // sa_preempt | 
					
						
							|  |  |  | // sa_register | 
					
						
							|  |  |  | // sa_setconcurrency | 
					
						
							|  |  |  | // sa_stacks | 
					
						
							|  |  |  | // sa_yield | 
					
						
							|  |  |  | // sbrk | 
					
						
							|  |  |  | // sched_yield | 
					
						
							|  |  |  | // semconfig | 
					
						
							|  |  |  | // semget | 
					
						
							|  |  |  | // semop | 
					
						
							|  |  |  | // setcontext | 
					
						
							|  |  |  | // setitimer | 
					
						
							|  |  |  | // setxattr | 
					
						
							|  |  |  | // shmat | 
					
						
							|  |  |  | // shmdt | 
					
						
							|  |  |  | // shmget | 
					
						
							|  |  |  | // sstk | 
					
						
							|  |  |  | // statvfs1 | 
					
						
							|  |  |  | // swapctl | 
					
						
							|  |  |  | // sysarch | 
					
						
							|  |  |  | // syscall | 
					
						
							|  |  |  | // timer_create | 
					
						
							|  |  |  | // timer_delete | 
					
						
							|  |  |  | // timer_getoverrun | 
					
						
							|  |  |  | // timer_gettime | 
					
						
							|  |  |  | // timer_settime | 
					
						
							|  |  |  | // undelete | 
					
						
							|  |  |  | // utrace | 
					
						
							|  |  |  | // uuidgen | 
					
						
							|  |  |  | // vadvise | 
					
						
							|  |  |  | // vfork | 
					
						
							|  |  |  | // writev |