diff --git a/sys/compat/freebsd32/Makefile b/sys/compat/freebsd32/Makefile index 8777b1992768..b4f72fcc2bca 100644 --- a/sys/compat/freebsd32/Makefile +++ b/sys/compat/freebsd32/Makefile @@ -1,8 +1,8 @@ # Makefile for syscall tables # # $FreeBSD$ GENERATED_PREFIX= freebsd32_ -CAPABILITIES_CONF= capabilities.conf +SYSENT_FILE= ${SYSDIR}/kern/syscalls.master .include "../../conf/sysent.mk" diff --git a/sys/compat/freebsd32/capabilities.conf b/sys/compat/freebsd32/capabilities.conf deleted file mode 100644 index 3ec922d54920..000000000000 --- a/sys/compat/freebsd32/capabilities.conf +++ /dev/null @@ -1,784 +0,0 @@ -## -## Copyright (c) 2008-2010 Robert N. M. Watson -## All rights reserved. -## -## This software was developed at the University of Cambridge Computer -## Laboratory with support from a grant from Google, Inc. -## -## Redistribution and use in source and binary forms, with or without -## modification, are permitted provided that the following conditions -## are met: -## 1. Redistributions of source code must retain the above copyright -## notice, this list of conditions and the following disclaimer. -## 2. Redistributions in binary form must reproduce the above copyright -## notice, this list of conditions and the following disclaimer in the -## documentation and/or other materials provided with the distribution. -## -## THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -## SUCH DAMAGE. -## -## List of system calls enabled in capability mode, one name per line. -## -## System calls listed here operate either fully or partially in the absence -## of global namespaces or ambient authority. In capability mode system calls -## that operate only on global namespaces or require ambient authority have no -## utility and thus are not permitted. -## -## Notes: -## - sys_exit(2), abort2(2) and close(2) are very important. -## - Sorted alphabetically, please keep it that way. -## -## $FreeBSD$ -## - -## -## Allow ACL and MAC label operations by file descriptor, subject to -## capability rights. Allow MAC label operations on the current process but -## we will need to scope __mac_get_pid(2). -## -__acl_aclcheck_fd -__acl_delete_fd -__acl_get_fd -__acl_set_fd -__mac_get_fd -#__mac_get_pid -__mac_get_proc -__mac_set_fd -__mac_set_proc - -## -## Allow creating special file descriptors like eventfd(2). -## -__specialfd - -## -## Allow sysctl(2) as we scope internal to the call; this is a global -## namespace, but there are several critical sysctls required for almost -## anything to run, such as hw.pagesize. For now that policy lives in the -## kernel for performance and simplicity, but perhaps it could move to a -## proxying daemon in userspace. -## -__sysctl -__sysctlbyname - -## -## Allow umtx operations as these are scoped by address space. -## -## XXRW: Need to check this very carefully. -## -_umtx_op - -## -## Allow process termination using abort2(2). -## -abort2 - -## -## Allow accept(2) since it doesn't manipulate namespaces directly, rather -## relies on existing bindings on a socket, subject to capability rights. -## -accept -accept4 - -## -## Allow AIO operations by file descriptor, subject to capability rights. -## -aio_cancel -aio_error -aio_fsync -aio_read -aio_return -aio_suspend -aio_waitcomplete -aio_write -aio_writev -aio_readv - -## -## audit(2) is a global operation, submitting to the global trail, but it is -## controlled by privilege, and it might be useful to be able to submit -## records from sandboxes. For now, disallow, but we may want to think about -## providing some sort of proxy service for this. -## -#audit - -## -## Allow bindat(2). -## -bindat - -## -## Allow capability mode and capability system calls. -## -cap_enter -cap_fcntls_get -cap_fcntls_limit -cap_getmode -cap_ioctls_get -cap_ioctls_limit -__cap_rights_get -cap_rights_limit - -## -## Allow read-only clock operations. -## -clock_getres -clock_gettime - -## -## Always allow file descriptor close(2). -## -close -close_range -closefrom - -## -## Allow connectat(2). -## -connectat - -## -## copy_file_range(2) reads from one descriptor and writes to the other. -## -copy_file_range - -## -## cpuset(2) and related calls are limited to caller's own process/thread. -## -#cpuset -cpuset_getaffinity -cpuset_getdomain -#cpuset_getid -cpuset_setaffinity -cpuset_setdomain -#cpuset_setid - -## -## Always allow dup(2) and dup2(2) manipulation of the file descriptor table. -## -dup -dup2 - -## -## Allow extended attribute operations by file descriptor, subject to -## capability rights. -## -extattr_delete_fd -extattr_get_fd -extattr_list_fd -extattr_set_fd - -## -## Allow changing file flags, mode, and owner by file descriptor, subject to -## capability rights. -## -fchflags -fchmod -fchown - -## -## For now, allow fcntl(2), subject to capability rights, but this probably -## needs additional scoping. -## -fcntl - -## -## Allow fexecve(2), subject to capability rights. We perform some scoping, -## such as disallowing privilege escalation. -## -fexecve - -## -## Allow flock(2), subject to capability rights. -## -flock - -## -## Allow fork(2), even though it returns pids -- some applications seem to -## prefer this interface. -## -fork - -## -## Allow fpathconf(2), subject to capability rights. -## -fpathconf - -## -## Allow various file descriptor-based I/O operations, subject to capability -## rights. -## -freebsd11_fstat -freebsd11_fstatat -freebsd11_getdirentries -freebsd11_fstatfs -freebsd11_mknodat -freebsd6_ftruncate -freebsd6_lseek -freebsd6_mmap -freebsd6_pread -freebsd6_pwrite - -## -## Allow I/O-related file operations, subject to capability rights. -## -fspacectl - -## -## Allow querying file and file system state with fstat(2) and fstatfs(2), -## subject to capability rights. -## -fstat -fstatfs - -## -## Allow further file descriptor-based I/O operations, subject to capability -## rights. -## -fdatasync -fsync -ftruncate - -## -## Allow futimens(2) and futimes(2), subject to capability rights. -## -futimens -futimes - -## -## Allow querying process audit state, subject to normal access control. -## -getaudit -getaudit_addr -getauid - -## -## Allow thread context management with getcontext(2). -## -getcontext - -## -## Allow directory I/O on a file descriptor, subject to capability rights. -## Originally we had separate capabilities for directory-specific read -## operations, but on BSD we allow reading the raw directory data, so we just -## rely on CAP_READ now. -## -getdents -getdirentries - -## -## Allow querying certain trivial global state. -## -getdomainname - -## -## Allow querying certain per-process resource limit state. -## -getdtablesize - -## -## Allow querying current process credential state. -## -getegid -geteuid - -## -## Allow querying certain trivial global state. -## -gethostid -gethostname - -## -## Allow querying per-process timer. -## -getitimer - -## -## Allow querying current process credential state. -## -getgid -getgroups -getlogin -getloginclass - -## -## Allow querying certain trivial global state. -## -getpagesize -getpeername - -## -## Allow querying certain per-process scheduling, resource limit, and -## credential state. -## -## XXXRW: getpgid(2) needs scoping. It's not clear if it's worth scoping -## getppid(2). getpriority(2) needs scoping. getrusage(2) needs scoping. -## getsid(2) needs scoping. -## -getpgid -getpgrp -getpid -getppid -getpriority -getresgid -getresuid -getrlimit -getrusage -getsid - -## -## Allow getrandom -## -getrandom - -## -## Allow querying socket state, subject to capability rights. -## -## XXXRW: getsockopt(2) may need more attention. -## -getsockname -getsockopt - -## -## Allow querying the global clock. -## -gettimeofday - -## -## Allow querying current process credential state. -## -getuid - -## -## Allow ioctl(2), which hopefully will be limited by applications only to -## required commands with cap_ioctls_limit(2) syscall. -## -ioctl - -## -## Allow querying current process credential state. -## -issetugid - -## -## Allow kevent(2), as we will authorize based on capability rights on the -## target descriptor. -## -kevent - -## -## Allow kill(2), as we allow the process to send signals only to himself. -## -kill - -## -## Allow message queue operations on file descriptors, subject to capability -## rights. -## NOTE: Corresponding sysents are initialized in sys/kern/uipc_mqueue.c with -## SYF_CAPENABLED. -## -kmq_notify -kmq_setattr -kmq_timedreceive -kmq_timedsend - -## -## Allow kqueue(2), we will control use. -## -kqueue - -## -## Allow managing per-process timers. -## -ktimer_create -ktimer_delete -ktimer_getoverrun -ktimer_gettime -ktimer_settime - -## -## We can't allow ktrace(2) because it relies on a global namespace, but we -## might want to introduce an fktrace(2) of some sort. -## -#ktrace - -## -## Allow AIO operations by file descriptor, subject to capability rights. -## -lio_listio - -## -## Allow listen(2), subject to capability rights. -## -## XXXRW: One might argue this manipulates a global namespace. -## -listen - -## -## Allow I/O-related file descriptors, subject to capability rights. -## -lseek - -## -## Allow simple VM operations on the current process. -## -madvise -mincore -minherit -mlock -mlockall - -## -## Allow memory mapping a file descriptor, and updating protections, subject -## to capability rights. -## -mmap -mprotect - -## -## Allow simple VM operations on the current process. -## -msync -munlock -munlockall -munmap - -## -## Allow the current process to sleep. -## -nanosleep - -## -## Allow querying the global clock. -## -ntp_gettime - -## -## Allow AIO operations by file descriptor, subject to capability rights. -## -oaio_read -oaio_write - -## -## Allow simple VM operations on the current process. -## -break - -## -## Allow AIO operations by file descriptor, subject to capability rights. -## -olio_listio - -## -## Operations relative to directory capabilities. -## -chflagsat -faccessat -fchmodat -fchownat -fstatat -futimesat -linkat -mkdirat -mkfifoat -mknodat -openat -readlinkat -renameat -symlinkat -unlinkat -funlinkat -utimensat - -## -## Process descriptor-related system calls are allowed. -## -pdfork -pdgetpid -pdkill -#pdwait4 # not yet implemented - -## -## Allow pipe(2). -## -pipe -pipe2 - -## -## Allow poll(2), which will be scoped by capability rights. -## -poll -ppoll - -## -## Allow I/O-related file descriptors, subject to capability rights. -## -posix_fallocate -pread -preadv - -## -## Allow access to profiling state on the current process. -## -profil - -## -## Disallow ptrace(2) for now, but we do need debugging facilities in -## capability mode, so we will want to revisit this, possibly by scoping its -## operation. -## -#ptrace - -## -## Allow I/O-related file descriptors, subject to capability rights. -## -pwrite -pwritev -read -readv -recv -recvfrom -recvmsg - -## -## Allow real-time scheduling primitives to be used. -## -## XXXRW: These require scoping. -## -rtprio -rtprio_thread - -## -## Allow simple VM operations on the current process. -## -sbrk - -## -## Allow querying trivial global scheduler state. -## -sched_get_priority_max -sched_get_priority_min -sched_getcpu - -## -## Allow various thread/process scheduler operations. -## -## XXXRW: Some of these require further scoping. -## -sched_getparam -sched_getscheduler -sched_rr_get_interval -sched_setparam -sched_setscheduler -sched_yield - -## -## Allow I/O-related file descriptors, subject to capability rights. -## NOTE: Corresponding sysents are initialized in sys/netinet/sctp_syscalls.c -## with SYF_CAPENABLED. -## -sctp_generic_recvmsg -sctp_generic_sendmsg -sctp_generic_sendmsg_iov -sctp_peeloff - -## -## Allow pselect(2) and select(2), which will be scoped by capability rights. -## -## XXXRW: But is it? -## -pselect -select - -## -## Allow I/O-related file descriptors, subject to capability rights. Use of -## explicit addresses here is restricted by the system calls themselves. -## -send -sendfile -sendmsg -sendto - -## -## Allow setting per-process audit state, which is controlled separately by -## privileges. -## -setaudit -setaudit_addr -setauid - -## -## Allow setting thread context. -## -setcontext - -## -## Allow setting current process credential state, which is controlled -## separately by privilege. -## -setegid -seteuid -setgid - -## -## Allow use of the process interval timer. -## -setitimer - -## -## Allow setpriority(2). -## -## XXXRW: Requires scoping. -## -setpriority - -## -## Allow setting current process credential state, which is controlled -## separately by privilege. -## -setregid -setresgid -setresuid -setreuid - -## -## Allow setting process resource limits with setrlimit(2). -## -setrlimit - -## -## Allow creating a new session with setsid(2). -## -setsid - -## -## Allow setting socket options with setsockopt(2), subject to capability -## rights. -## -## XXXRW: Might require scoping. -## -setsockopt - -## -## Allow setting current process credential state, which is controlled -## separately by privilege. -## -setuid - -## -## shm_open(2) is scoped so as to allow only access to new anonymous objects. -## -shm_open -shm_open2 - -## -## Allow I/O-related file descriptors, subject to capability rights. -## -shutdown - -## -## Allow signal control on current process. -## -sigaction -sigaltstack -sigblock -sigfastblock -sigpending -sigprocmask -sigqueue -sigreturn -sigsetmask -sigstack -sigsuspend -sigtimedwait -sigvec -sigwaitinfo -sigwait - -## -## Allow creating new socket pairs with socket(2) and socketpair(2). -## -socket -socketpair - -## -## Allow simple VM operations on the current process. -## -## XXXRW: Kernel doesn't implement this, so drop? -## -sstk - -## -## Do allow sync(2) for now, but possibly shouldn't. -## -sync - -## -## Always allow process termination with sys_exit(2). -## -sys_exit - -## -## sysarch(2) does rather diverse things, but is required on at least i386 -## in order to configure per-thread data. As such, it's scoped on each -## architecture. -## -sysarch - -## -## Allow thread operations operating only on current process. -## -thr_create -thr_exit -thr_kill - -## -## Disallow thr_kill2(2), as it may operate beyond the current process. -## -## XXXRW: Requires scoping. -## -#thr_kill2 - -## -## Allow thread operations operating only on current process. -## -thr_new -thr_self -thr_set_name -thr_suspend -thr_wake - -## -## Allow manipulation of the current process umask with umask(2). -## -umask - -## -## Allow submitting of process trace entries with utrace(2). -## -utrace - -## -## Allow generating UUIDs with uuidgen(2). -## -uuidgen - -## -## Allow I/O-related file descriptors, subject to capability rights. -## -write -writev - -## -## Allow processes to yield(2). -## -yield diff --git a/sys/compat/freebsd32/syscalls.conf b/sys/compat/freebsd32/syscalls.conf index 4ccf7f545dde..6b80018165df 100644 --- a/sys/compat/freebsd32/syscalls.conf +++ b/sys/compat/freebsd32/syscalls.conf @@ -1,14 +1,59 @@ # $FreeBSD$ sysnames="freebsd32_syscalls.c" sysproto="freebsd32_proto.h" sysproto_h=_FREEBSD32_SYSPROTO_H_ syshdr="freebsd32_syscall.h" syssw="freebsd32_sysent.c" sysmk="/dev/null" syscallprefix="FREEBSD32_SYS_" switchname="freebsd32_sysent" namesname="freebsd32_syscallnames" systrace="freebsd32_systrace_args.c" +abi_flags="long_size|pointer_size|time_t_size|pair_64bit" abi_func_prefix="freebsd32_" -abi_flags="pair_64bit" -capabilities_conf="capabilities.conf" +abi_type_suffix="32" +abi_long="int32_t" +abi_u_long="uint32_t" +abi_semid_t="int32_t" +abi_size_t="uint32_t" +abi_ptr_array_t="uint32_t" +abi_headers="#include " + +# +# Variables below this line are exceptions to the ABI changes programatically +# detected by makesyscalls.lua. New system calls should not require an entry +# here in nearly virtually all cases. New entries are almost certainly +# representative of badly designed interfaces. +# + +# System calls that require freebsd32-specific handling: +# fcntl - need to sign extend arg unless it's a pointer +# ksem_init, ksem_open - XXX not required +# mprotect - i386 read-implies-exec +# msgsys, semsys, shmsys - some sub-syscalls require compat +# sigqueue - union sival requires special handing on big-endian +# sigreturn - struct osigcontext +# sysarch - always MD +# _umtx_lock _umtx_unlock _umtx_op - arguments require special handling +syscall_abi_change="fcntl ksem_init ksem_open mprotect msgsys semsys shmsys sigqueue sigreturn sysarch _umtx_lock _umtx_unlock _umtx_op" + +# System calls that appear to require handling, but don't: +# aio_cancel - the aiocb pointer is just a virtual address +# thr_* - the lack of sign extension of long args is OK +# sctp_generic_* - iovec differences handled internally +syscall_no_abi_change="aio_cancel thr_exit thr_kill thr_kill2 thr_self thr_set_name thr_wake sctp_generic_sendmsg_iov sctp_generic_recvmsg" + +# OBSOL syscalls +# getkerninfo - obsolete and can't be implemented (kernel virtual addresses can't fit in 32-bits) +obsol="getkerninfo" + +# Syscalls without implementations: +# *mac_* - should be implemented +# afs3_syscall - requires significant porting, probably doesn't make sense +# kldsym - can't be implemented (kernel virtual addresses can't fit in 32-bits) +# lgetfh - should be implemented +# nlm_syscall - requires significant porting, probably doesn't make sense +# nnpfs_syscall - requires significant porting, probably doesn't make sense +# ntp_gettime - should be implemented +# thr_create - was unimplemented and appears to be unnecessicary +unimpl="afs3_syscall kldsym __mac_get_proc __mac_set_proc __mac_get_fd __mac_get_file __mac_set_fd __mac_set_file __mac_get_pid __mac_get_link __mac_set_link __mac_execve mac_syscall nfssvc nlm_syscall ntp_gettime lgetfh nnpfs_syscall thr_create" diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master deleted file mode 100644 index d4e309c8f68b..000000000000 --- a/sys/compat/freebsd32/syscalls.master +++ /dev/null @@ -1,1127 +0,0 @@ - $FreeBSD$ -; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 -; from: src/sys/kern/syscalls.master 1.107 -; -; System call name/number master file. -; Processed to created init_sysent.c, syscalls.c and syscall.h. - -; Columns: number audit type name alt{name,tag,rtyp}/comments -; number system call number, must be in order -; audit the audit event associated with the system call -; A value of AUE_NULL means no auditing, but it also means that -; there is no audit event for the call at this time. For the -; case where the event exists, but we don't want auditing, the -; event should be #defined to AUE_NULL in audit_kevents.h. -; type one of STD, OBSOL, UNIMPL, COMPAT, COMPAT4, COMPAT6, -; COMPAT7, COMPAT11, COMPAT12, NODEF, NOARGS, NOPROTO, NOSTD -; The COMPAT* options may be combined with one or more NO* -; options separated by '|' with no spaces (e.g. COMPAT|NOARGS) -; name pseudo-prototype of syscall routine -; If one of the following alts is different, then all appear: -; altname name of system call if different -; alttag name of args struct tag if different from [o]`name'"_args" -; altrtyp return type if not int (bogus - syscalls always return int) -; for UNIMPL/OBSOL, name continues with comments - -; types: -; STD always included -; COMPAT included on COMPAT #ifdef -; COMPAT4 included on COMPAT_FREEBSD4 #ifdef (FreeBSD 4 compat) -; COMPAT6 included on COMPAT_FREEBSD6 #ifdef (FreeBSD 6 compat) -; COMPAT7 included on COMPAT_FREEBSD7 #ifdef (FreeBSD 7 compat) -; COMPAT10 included on COMPAT_FREEBSD10 #ifdef (FreeBSD 10 compat) -; COMPAT11 included on COMPAT_FREEBSD11 #ifdef (FreeBSD 11 compat) -; COMPAT12 included on COMPAT_FREEBSD12 #ifdef (FreeBSD 12 compat) -; OBSOL obsolete, not included in system, only specifies name -; UNIMPL not implemented, placeholder only -; NOSTD implemented but as a lkm that can be statically -; compiled in; sysent entry will be filled with lkmressys -; so the SYSCALL_MODULE macro works -; NOARGS same as STD except do not create structure in sys/sysproto.h -; NODEF same as STD except only have the entry in the syscall table -; added. Meaning - do not create structure or function -; prototype in sys/sysproto.h -; NOPROTO same as STD except do not create structure or -; function prototype in sys/sysproto.h. Does add a -; definition to syscall.h besides adding a sysent. - -; #ifdef's, etc. may be included, and are copied to the output files. - -#include -#include -#include -#include - -; Reserved/unimplemented system calls in the range 0-150 inclusive -; are reserved for use in future Berkeley releases. -; Additional system calls implemented in vendor and other -; redistributions should be placed in the reserved range at the end -; of the current calls. - -0 AUE_NULL NOPROTO { int nosys(void); } syscall nosys_args int -1 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \ - sys_exit_args void -2 AUE_FORK NOPROTO { int fork(void); } -3 AUE_READ NOPROTO { ssize_t read(int fd, void *buf, \ - size_t nbyte); } -4 AUE_WRITE NOPROTO { ssize_t write(int fd, const void *buf, \ - size_t nbyte); } -5 AUE_OPEN_RWTC NOPROTO { int open(const char *path, int flags, \ - mode_t mode); } -6 AUE_CLOSE NOPROTO { int close(int fd); } -7 AUE_WAIT4 STD { int freebsd32_wait4(int pid, int *status, \ - int options, struct rusage32 *rusage); } -8 AUE_CREAT COMPAT|NOPROTO { int creat(const char *path, \ - int mode); } -9 AUE_LINK NOPROTO { int link(const char *path, \ - const char *link); } -10 AUE_UNLINK NOPROTO { int unlink(const char *path); } -11 AUE_NULL OBSOL execv -12 AUE_CHDIR NOPROTO { int chdir(const char *path); } -13 AUE_FCHDIR NOPROTO { int fchdir(int fd); } -14 AUE_MKNOD COMPAT11|NOPROTO { int mknod(const char *path, \ - int mode, uint32_t dev); } -15 AUE_CHMOD NOPROTO { int chmod(const char *path, mode_t mode); } -16 AUE_CHOWN NOPROTO { int chown(const char *path, int uid, int gid); } -17 AUE_NULL NOPROTO { void *break(char *nsize); } -18 AUE_GETFSSTAT COMPAT4 { int freebsd32_getfsstat( \ - struct ostatfs32 *buf, int32_t bufsize, \ - int mode); } -19 AUE_LSEEK COMPAT { int freebsd32_lseek(int fd, int32_t offset, \ - int whence); } -20 AUE_GETPID NOPROTO { pid_t getpid(void); } -21 AUE_MOUNT NOPROTO { int mount(const char *type, \ - const char *path, \ - int flags, void *data); } -22 AUE_UMOUNT NOPROTO { int unmount(const char *path, int flags); } -23 AUE_SETUID NOPROTO { int setuid(uid_t uid); } -24 AUE_GETUID NOPROTO { uid_t getuid(void); } -25 AUE_GETEUID NOPROTO { uid_t geteuid(void); } -26 AUE_PTRACE STD { int freebsd32_ptrace(int req, pid_t pid, \ - caddr_t addr, int data); } -27 AUE_RECVMSG STD { ssize_t freebsd32_recvmsg(int s, struct msghdr32 *msg, \ - int flags); } -28 AUE_SENDMSG STD { ssize_t freebsd32_sendmsg(int s, \ - const struct msghdr32 *msg, int flags); } -29 AUE_RECVFROM NOPROTO { ssize_t recvfrom(int s, void *buf, \ - size_t len, int flags, \ - struct sockaddr *from, \ - __socklen_t *fromlenaddr); } -30 AUE_ACCEPT NOPROTO { int accept(int s, struct sockaddr *name, \ - __socklen_t *anamelen); } -31 AUE_GETPEERNAME NOPROTO { int getpeername(int fdes, \ - struct sockaddr *asa, \ - __socklen_t *alen); } -32 AUE_GETSOCKNAME NOPROTO { int getsockname(int fdes, \ - struct sockaddr *asa, \ - __socklen_t *alen); } -33 AUE_ACCESS NOPROTO { int access(const char *path, int amode); } -34 AUE_CHFLAGS NOPROTO { int chflags(const char *path, u_long flags); } -35 AUE_FCHFLAGS NOPROTO { int fchflags(int fd, u_long flags); } -36 AUE_SYNC NOPROTO { int sync(void); } -37 AUE_KILL NOPROTO { int kill(int pid, int signum); } -38 AUE_STAT COMPAT { int freebsd32_stat(const char *path, \ - struct ostat32 *ub); } -39 AUE_GETPPID NOPROTO { pid_t getppid(void); } -40 AUE_LSTAT COMPAT { int freebsd32_lstat(const char *path, \ - struct ostat32 *ub); } -41 AUE_DUP NOPROTO { int dup(u_int fd); } -42 AUE_PIPE COMPAT10|NOPROTO { int pipe(void); } -43 AUE_GETEGID NOPROTO { gid_t getegid(void); } -44 AUE_PROFILE NOPROTO { int profil(char *samples, size_t size, \ - size_t offset, u_int scale); } -45 AUE_KTRACE NOPROTO { int ktrace(const char *fname, int ops, \ - int facs, int pid); } -46 AUE_SIGACTION COMPAT { int freebsd32_sigaction( int signum, \ - struct osigaction32 *nsa, \ - struct osigaction32 *osa); } -47 AUE_GETGID NOPROTO { gid_t getgid(void); } -48 AUE_SIGPROCMASK COMPAT|NOPROTO { int sigprocmask(int how, osigset_t mask); } -49 AUE_GETLOGIN NOPROTO { int getlogin(char *namebuf, \ - u_int namelen); } -50 AUE_SETLOGIN NOPROTO { int setlogin(const char *namebuf); } -51 AUE_ACCT NOPROTO { int acct(const char *path); } -52 AUE_SIGPENDING COMPAT|NOPROTO { int sigpending(void); } -53 AUE_SIGALTSTACK STD { int freebsd32_sigaltstack( \ - const struct sigaltstack32 *ss, \ - struct sigaltstack32 *oss); } -54 AUE_IOCTL STD { int freebsd32_ioctl(int fd, u_long com, \ - char *data); } -55 AUE_REBOOT NOPROTO { int reboot(int opt); } -56 AUE_REVOKE NOPROTO { int revoke(const char *path); } -57 AUE_SYMLINK NOPROTO { int symlink(const char *path, \ - const char *link); } -58 AUE_READLINK NOPROTO { ssize_t readlink(const char *path, char *buf, \ - size_t count); } -59 AUE_EXECVE STD { int freebsd32_execve(const char *fname, \ - uint32_t *argv, uint32_t *envv); } -60 AUE_UMASK NOPROTO { mode_t umask(mode_t newmask); } -61 AUE_CHROOT NOPROTO { int chroot(const char *path); } -62 AUE_FSTAT COMPAT { int freebsd32_fstat(int fd, \ - struct ostat32 *sb); } -63 AUE_NULL OBSOL ogetkerninfo -64 AUE_NULL COMPAT|NOPROTO { int getpagesize(void); } -65 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ - int flags); } -66 AUE_VFORK NOPROTO { int vfork(void); } -67 AUE_NULL OBSOL vread -68 AUE_NULL OBSOL vwrite -69 AUE_SBRK NOPROTO { int sbrk(int incr); } -70 AUE_SSTK NOPROTO { int sstk(int incr); } -71 AUE_MMAP COMPAT { void *freebsd32_mmap(void *addr, int len, \ - int prot, int flags, int fd, int32_t pos); } -72 AUE_O_VADVISE COMPAT11|NOPROTO { int vadvise(int anom); } -73 AUE_MUNMAP NOPROTO { int munmap(void *addr, size_t len); } -74 AUE_MPROTECT STD { int freebsd32_mprotect(const void *addr, \ - size_t len, int prot); } -75 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, \ - int behav); } -76 AUE_NULL OBSOL vhangup -77 AUE_NULL OBSOL vlimit -78 AUE_MINCORE NOPROTO { int mincore(const void *addr, size_t len, \ - char *vec); } -79 AUE_GETGROUPS NOPROTO { int getgroups(int gidsetsize, \ - gid_t *gidset); } -80 AUE_SETGROUPS NOPROTO { int setgroups(int gidsetsize, \ - const gid_t *gidset); } -81 AUE_GETPGRP NOPROTO { int getpgrp(void); } -82 AUE_SETPGRP NOPROTO { int setpgid(int pid, int pgid); } -83 AUE_SETITIMER STD { int freebsd32_setitimer(int which, \ - const struct itimerval32 *itv, \ - struct itimerval32 *oitv); } -84 AUE_WAIT4 COMPAT|NOPROTO { int wait(void); } -; XXX implement -85 AUE_SWAPON NOPROTO { int swapon(const char *name); } -86 AUE_GETITIMER STD { int freebsd32_getitimer(int which, \ - struct itimerval32 *itv); } -87 AUE_SYSCTL COMPAT|NOPROTO { int gethostname( \ - char *hostname, u_int len); } -88 AUE_SYSCTL COMPAT|NOPROTO { int sethostname( \ - char *hostname, u_int len); } -89 AUE_GETDTABLESIZE NOPROTO { int getdtablesize(void); } -90 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); } -91 AUE_NULL RESERVED -92 AUE_FCNTL STD { int freebsd32_fcntl(int fd, int cmd, \ - int32_t arg); } -93 AUE_SELECT STD { int freebsd32_select(int nd, fd_set *in, \ - fd_set *ou, fd_set *ex, \ - struct timeval32 *tv); } -94 AUE_NULL RESERVED -95 AUE_FSYNC NOPROTO { int fsync(int fd); } -96 AUE_SETPRIORITY NOPROTO { int setpriority(int which, int who, \ - int prio); } -97 AUE_SOCKET NOPROTO { int socket(int domain, int type, \ - int protocol); } -98 AUE_CONNECT NOPROTO { int connect(int s, \ - const struct sockaddr *name, \ - __socklen_t namelen); } -99 AUE_ACCEPT COMPAT|NOPROTO { int accept(int s, \ - struct sockaddr *name, \ - __socklen_t *anamelen); } -100 AUE_GETPRIORITY NOPROTO { int getpriority(int which, int who); } -101 AUE_SEND COMPAT|NOPROTO { int send(int s, const void *buf, \ - int len, int flags); } -102 AUE_RECV COMPAT|NOPROTO { int recv(int s, void *buf, int len, \ - int flags); } -103 AUE_SIGRETURN COMPAT { int freebsd32_sigreturn( \ - struct ia32_sigcontext3 *sigcntxp); } -104 AUE_BIND NOPROTO { int bind(int s, const struct sockaddr *name, \ - __socklen_t namelen); } -105 AUE_SETSOCKOPT NOPROTO { int setsockopt(int s, int level, \ - int name, const void *val, __socklen_t valsize); } -106 AUE_LISTEN NOPROTO { int listen(int s, int backlog); } -107 AUE_NULL OBSOL vtimes -108 AUE_NULL COMPAT { int freebsd32_sigvec(int signum, \ - struct sigvec32 *nsv, \ - struct sigvec32 *osv); } -109 AUE_NULL COMPAT|NOPROTO { int sigblock(int mask); } -110 AUE_NULL COMPAT|NOPROTO { int sigsetmask(int mask); } -111 AUE_NULL COMPAT|NOPROTO { int sigsuspend( int mask); } -112 AUE_NULL COMPAT { int freebsd32_sigstack( \ - struct sigstack32 *nss, \ - struct sigstack32 *oss); } -113 AUE_RECVMSG COMPAT { int freebsd32_recvmsg(int s, \ - struct omsghdr32 *msg, int flags); } -114 AUE_SENDMSG COMPAT { int freebsd32_sendmsg(int s, \ - const struct omsghdr32 *msg, int flags); } -115 AUE_NULL OBSOL vtrace -116 AUE_GETTIMEOFDAY STD { int freebsd32_gettimeofday( \ - struct timeval32 *tp, \ - struct timezone *tzp); } -117 AUE_GETRUSAGE STD { int freebsd32_getrusage(int who, \ - struct rusage32 *rusage); } -118 AUE_GETSOCKOPT NOPROTO { int getsockopt(int s, int level, \ - int name, void *val, __socklen_t *avalsize); } -119 AUE_NULL RESERVED -120 AUE_READV STD { int freebsd32_readv(int fd, \ - struct iovec32 *iovp, u_int iovcnt); } -121 AUE_WRITEV STD { int freebsd32_writev(int fd, \ - struct iovec32 *iovp, u_int iovcnt); } -122 AUE_SETTIMEOFDAY STD { int freebsd32_settimeofday( \ - const struct timeval32 *tv, \ - const struct timezone *tzp); } -123 AUE_FCHOWN NOPROTO { int fchown(int fd, int uid, int gid); } -124 AUE_FCHMOD NOPROTO { int fchmod(int fd, mode_t mode); } -125 AUE_RECVFROM COMPAT|NOPROTO { int recvfrom(int s, void *buf, size_t len, int flags, struct sockaddr *from, __socklen_t *fromlenaddr); } recvfrom recvfrom_args int -126 AUE_SETREUID NOPROTO { int setreuid(int ruid, int euid); } -127 AUE_SETREGID NOPROTO { int setregid(int rgid, int egid); } -128 AUE_RENAME NOPROTO { int rename(const char *from, \ - const char *to); } -129 AUE_TRUNCATE COMPAT { int freebsd32_truncate(const char *path, \ - int32_t length); } -130 AUE_FTRUNCATE COMPAT { int freebsd32_ftruncate(int fd, \ - int32_t length); } -131 AUE_FLOCK NOPROTO { int flock(int fd, int how); } -132 AUE_MKFIFO NOPROTO { int mkfifo(const char *path, mode_t mode); } -133 AUE_SENDTO NOPROTO { ssize_t sendto(int s, const void *buf, \ - size_t len, int flags, \ - const struct sockaddr *to, \ - __socklen_t tolen); } -134 AUE_SHUTDOWN NOPROTO { int shutdown(int s, int how); } -135 AUE_SOCKETPAIR NOPROTO { int socketpair(int domain, int type, \ - int protocol, int *rsv); } -136 AUE_MKDIR NOPROTO { int mkdir(const char *path, mode_t mode); } -137 AUE_RMDIR NOPROTO { int rmdir(const char *path); } -138 AUE_UTIMES STD { int freebsd32_utimes(const char *path, \ - const struct timeval32 *tptr); } -139 AUE_NULL OBSOL 4.2 sigreturn -140 AUE_ADJTIME STD { int freebsd32_adjtime( \ - const struct timeval32 *delta, \ - struct timeval32 *olddelta); } -141 AUE_GETPEERNAME COMPAT|NOPROTO { int getpeername(int fdes, \ - struct sockaddr *asa, \ - __socklen_t *alen); } -142 AUE_SYSCTL COMPAT|NOPROTO { long gethostid(void); } -143 AUE_SYSCTL COMPAT { int freebsd32_sethostid(int32_t hostid); } -144 AUE_GETRLIMIT COMPAT|NOPROTO { int getrlimit(u_int which, \ - struct orlimit *rlp); } -145 AUE_SETRLIMIT COMPAT|NOPROTO { int setrlimit(u_int which, \ - struct orlimit *rlp); } -146 AUE_KILLPG COMPAT|NOPROTO { int killpg(int pgid, int signum); } -147 AUE_SETSID NOPROTO { int setsid(void); } -148 AUE_QUOTACTL NOPROTO { int quotactl(const char *path, int cmd, \ - int uid, void *arg); } -149 AUE_O_QUOTA COMPAT|NOPROTO { int quota(void); } -150 AUE_GETSOCKNAME COMPAT|NOPROTO { int getsockname(int fdec, struct sockaddr *asa, __socklen_t *alen); } getsockname getsockname_args int - -151 AUE_NULL RESERVED -152 AUE_NULL RESERVED -153 AUE_NULL RESERVED -; 154 is initialised by the NLM code, if present. -154 AUE_NULL UNIMPL nlm_syscall -; 155 is initialized by the NFS code, if present. -; XXX this is a problem!!! -155 AUE_NFS_SVC UNIMPL nfssvc -156 AUE_GETDIRENTRIES COMPAT { int freebsd32_getdirentries(int fd, \ - char *buf, u_int count, int32_t *basep); } -157 AUE_STATFS COMPAT4 { int freebsd32_statfs(const char *path, \ - struct ostatfs32 *buf); } -158 AUE_FSTATFS COMPAT4 { int freebsd32_fstatfs(int fd, \ - struct ostatfs32 *buf); } -159 AUE_NULL RESERVED -160 AUE_LGETFH UNIMPL lgetfh -161 AUE_NFS_GETFH NOPROTO { int getfh(const char *fname, \ - struct fhandle *fhp); } -162 AUE_SYSCTL COMPAT4|NOPROTO { int getdomainname(char *domainname, \ - int len); } -163 AUE_SYSCTL COMPAT4|NOPROTO { int setdomainname(char *domainname, \ - int len); } -164 AUE_NULL COMPAT4|NOPROTO { int uname(struct utsname *name); } -165 AUE_SYSARCH STD { int freebsd32_sysarch(int op, char *parms); } -166 AUE_RTPRIO NOPROTO { int rtprio(int function, pid_t pid, \ - struct rtprio *rtp); } -167 AUE_NULL RESERVED -168 AUE_NULL RESERVED -169 AUE_SEMSYS NOSTD { int freebsd32_semsys(int which, int a2, \ - int a3, int a4, int a5); } -170 AUE_MSGSYS NOSTD { int freebsd32_msgsys(int which, int a2, \ - int a3, int a4, int a5, int a6); } -171 AUE_SHMSYS NOSTD { int freebsd32_shmsys(int which, int a2, \ - int a3, int a4); } -172 AUE_NULL RESERVED -173 AUE_PREAD COMPAT6 { ssize_t freebsd32_pread(int fd, void *buf, \ - size_t nbyte, int pad, \ - off_t offset); } -174 AUE_PWRITE COMPAT6 { ssize_t freebsd32_pwrite(int fd, \ - const void *buf, size_t nbyte, int pad, \ - off_t offset); } -175 AUE_SETFIB NOPROTO { int setfib(int fibnum); } -176 AUE_NTP_ADJTIME STD { int freebsd32_ntp_adjtime( \ - struct timex32 *tp); } -177 AUE_NULL RESERVED -178 AUE_NULL RESERVED -179 AUE_NULL RESERVED -180 AUE_NULL RESERVED - -; Syscalls 181-199 are used by/reserved for BSD -181 AUE_SETGID NOPROTO { int setgid(gid_t gid); } -182 AUE_SETEGID NOPROTO { int setegid(gid_t egid); } -183 AUE_SETEUID NOPROTO { int seteuid(uid_t euid); } -184 AUE_NULL OBSOL lfs_bmapv -185 AUE_NULL OBSOL lfs_markv -186 AUE_NULL OBSOL lfs_segclean -187 AUE_NULL OBSOL lfs_segwait -188 AUE_STAT COMPAT11 { int freebsd32_stat(const char *path, \ - struct freebsd11_stat32 *ub); } -189 AUE_FSTAT COMPAT11 { int freebsd32_fstat(int fd, \ - struct freebsd11_stat32 *sb); } -190 AUE_LSTAT COMPAT11 { int freebsd32_lstat(const char *path, \ - struct freebsd11_stat32 *ub); } -191 AUE_PATHCONF NOPROTO { int pathconf(const char *path, int name); } -192 AUE_FPATHCONF NOPROTO { int fpathconf(int fd, int name); } -193 AUE_NULL RESERVED -194 AUE_GETRLIMIT NOPROTO { int getrlimit(u_int which, \ - struct rlimit *rlp); } getrlimit \ - __getrlimit_args int -195 AUE_SETRLIMIT NOPROTO { int setrlimit(u_int which, \ - struct rlimit *rlp); } setrlimit \ - __setrlimit_args int -196 AUE_GETDIRENTRIES COMPAT11 { int freebsd32_getdirentries(int fd, \ - char *buf, u_int count, int32_t *basep); } -197 AUE_MMAP COMPAT6 { void *freebsd32_mmap(void *addr, \ - size_t len, int prot, int flags, int fd, \ - int pad, off_t pos); } -198 AUE_NULL NOPROTO { int nosys(void); } __syscall \ - __syscall_args int -199 AUE_LSEEK COMPAT6 { off_t freebsd32_lseek(int fd, int pad, \ - off_t offset, \ - int whence); } -200 AUE_TRUNCATE COMPAT6 { int freebsd32_truncate(const char *path, \ - int pad, uint32_t length1, \ - uint32_t length2); } -201 AUE_FTRUNCATE COMPAT6 { int freebsd32_ftruncate(int fd, int pad, \ - off_t length); } -202 AUE_SYSCTL STD { int freebsd32___sysctl(int *name, \ - u_int namelen, void *old, \ - uint32_t *oldlenp, const void *new, \ - size_t newlen); } -203 AUE_MLOCK NOPROTO { int mlock(const void *addr, \ - size_t len); } -204 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, \ - size_t len); } -205 AUE_UNDELETE NOPROTO { int undelete(const char *path); } -206 AUE_FUTIMES STD { int freebsd32_futimes(int fd, \ - const struct timeval32 *tptr); } -207 AUE_GETPGID NOPROTO { int getpgid(pid_t pid); } -208 AUE_NULL RESERVED -209 AUE_POLL NOPROTO { int poll(struct pollfd *fds, u_int nfds, \ - int timeout); } - -; -; The following are reserved for loadable syscalls -; -210 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -211 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -212 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -213 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -214 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -215 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -216 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -217 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -218 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int -219 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int - -220 AUE_SEMCTL COMPAT7|NOSTD { int freebsd32___semctl( \ - int semid, int semnum, \ - int cmd, union semun_old32 *arg); } -221 AUE_SEMGET NOSTD|NOPROTO { int semget(key_t key, int nsems, \ - int semflg); } -222 AUE_SEMOP NOSTD|NOPROTO { int semop(int semid, \ - struct sembuf *sops, size_t nsops); } -223 AUE_NULL OBSOL semconfig -224 AUE_MSGCTL COMPAT7|NOSTD { int freebsd32_msgctl( \ - int msqid, int cmd, \ - struct msqid_ds_old32 *buf); } -225 AUE_MSGGET NOSTD|NOPROTO { int msgget(key_t key, int msgflg); } -226 AUE_MSGSND NOSTD { int freebsd32_msgsnd(int msqid, const void *msgp, \ - size_t msgsz, int msgflg); } -227 AUE_MSGRCV NOSTD { ssize_t freebsd32_msgrcv(int msqid, void *msgp, \ - size_t msgsz, int32_t msgtyp, int msgflg); } -228 AUE_SHMAT NOSTD|NOPROTO { void *shmat(int shmid, const void *shmaddr, \ - int shmflg); } -229 AUE_SHMCTL COMPAT7|NOSTD { int freebsd32_shmctl( \ - int shmid, int cmd, \ - struct shmid_ds_old32 *buf); } -230 AUE_SHMDT NOSTD|NOPROTO { int shmdt(const void *shmaddr); } -231 AUE_SHMGET NOSTD|NOPROTO { int shmget(key_t key, size_t size, \ - int shmflg); } -; -232 AUE_NULL STD { int freebsd32_clock_gettime(clockid_t clock_id, \ - struct timespec32 *tp); } -233 AUE_CLOCK_SETTIME STD { int freebsd32_clock_settime(clockid_t clock_id, \ - const struct timespec32 *tp); } -234 AUE_NULL STD { int freebsd32_clock_getres(clockid_t clock_id, \ - struct timespec32 *tp); } -235 AUE_NULL STD { int freebsd32_ktimer_create(\ - clockid_t clock_id, \ - struct sigevent32 *evp, int *timerid); } -236 AUE_NULL NOPROTO { int ktimer_delete(int timerid); } -237 AUE_NULL STD { int freebsd32_ktimer_settime(int timerid,\ - int flags, \ - const struct itimerspec32 *value, \ - struct itimerspec32 *ovalue); } -238 AUE_NULL STD { int freebsd32_ktimer_gettime(int timerid,\ - struct itimerspec32 *value); } -239 AUE_NULL NOPROTO { int ktimer_getoverrun(int timerid); } -240 AUE_NULL STD { int freebsd32_nanosleep( \ - const struct timespec32 *rqtp, \ - struct timespec32 *rmtp); } -241 AUE_NULL NOPROTO { int ffclock_getcounter(ffcounter *ffcount); } -242 AUE_NULL STD { int freebsd32_ffclock_setestimate( \ - struct ffclock_estimate32 *cest); } -243 AUE_NULL STD { int freebsd32_ffclock_getestimate( \ - struct ffclock_estimate32 *cest); } -244 AUE_NULL STD { int freebsd32_clock_nanosleep( \ - clockid_t clock_id, int flags, \ - const struct timespec32 *rqtp, \ - struct timespec32 *rmtp); } -245 AUE_NULL RESERVED -246 AUE_NULL RESERVED -247 AUE_NULL STD { int freebsd32_clock_getcpuclockid2(\ - id_t id,\ - int which, clockid_t *clock_id); } -248 AUE_NULL UNIMPL ntp_gettime -249 AUE_NULL RESERVED -250 AUE_MINHERIT NOPROTO { int minherit(void *addr, size_t len, \ - int inherit); } -251 AUE_RFORK NOPROTO { int rfork(int flags); } -252 AUE_POLL OBSOL openbsd_poll -253 AUE_ISSETUGID NOPROTO { int issetugid(void); } -254 AUE_LCHOWN NOPROTO { int lchown(const char *path, int uid, \ - int gid); } -255 AUE_AIO_READ STD { int freebsd32_aio_read( \ - struct aiocb32 *aiocbp); } -256 AUE_AIO_WRITE STD { int freebsd32_aio_write( \ - struct aiocb32 *aiocbp); } -257 AUE_LIO_LISTIO STD { int freebsd32_lio_listio(int mode, \ - uint32_t *acb_list, \ - int nent, struct sigevent32 *sig); } -258 AUE_NULL RESERVED -259 AUE_NULL RESERVED -260 AUE_NULL RESERVED -261 AUE_NULL RESERVED -262 AUE_NULL RESERVED -263 AUE_NULL RESERVED -264 AUE_NULL RESERVED -265 AUE_NULL RESERVED -266 AUE_NULL RESERVED -267 AUE_NULL RESERVED -268 AUE_NULL RESERVED -269 AUE_NULL RESERVED -270 AUE_NULL RESERVED -271 AUE_NULL RESERVED -272 AUE_O_GETDENTS COMPAT11|NOPROTO { int getdents(int fd, char *buf, \ - int count); } -273 AUE_NULL RESERVED -274 AUE_LCHMOD NOPROTO { int lchmod(const char *path, mode_t mode); } -275 AUE_NULL OBSOL netbsd_lchown -276 AUE_LUTIMES STD { int freebsd32_lutimes(const char *path, \ - const struct timeval32 *tptr); } -277 AUE_NULL OBSOL netbsd_msync -278 AUE_STAT COMPAT11 { int freebsd32_nstat(const char *path, \ - struct nstat32 *ub); } -279 AUE_FSTAT COMPAT11 { int freebsd32_nfstat(int fd, struct nstat32 *sb); } -280 AUE_LSTAT COMPAT11 { int freebsd32_nlstat(const char *path, \ - struct nstat32 *ub); } -281 AUE_NULL RESERVED -282 AUE_NULL RESERVED -283 AUE_NULL RESERVED -284 AUE_NULL RESERVED -285 AUE_NULL RESERVED -286 AUE_NULL RESERVED -287 AUE_NULL RESERVED -288 AUE_NULL RESERVED -289 AUE_PREADV STD { ssize_t freebsd32_preadv(int fd, \ - struct iovec32 *iovp, \ - u_int iovcnt, \ - off_t offset); } -290 AUE_PWRITEV STD { ssize_t freebsd32_pwritev(int fd, \ - struct iovec32 *iovp, \ - u_int iovcnt, \ - off_t offset); } -291 AUE_NULL RESERVED -292 AUE_NULL RESERVED -293 AUE_NULL RESERVED -294 AUE_NULL RESERVED -295 AUE_NULL RESERVED -296 AUE_NULL RESERVED -297 AUE_FHSTATFS COMPAT4 { int freebsd32_fhstatfs( \ - const struct fhandle *u_fhp, \ - struct ostatfs32 *buf); } -298 AUE_FHOPEN NOPROTO { int fhopen(const struct fhandle *u_fhp, \ - int flags); } -299 AUE_FHSTAT COMPAT11 { int freebsd32_fhstat( \ - const struct fhandle *u_fhp, \ - struct freebsd11_stat32 *sb); } -; syscall numbers for FreeBSD -300 AUE_NULL NOPROTO { int modnext(int modid); } -301 AUE_NULL STD { int freebsd32_modstat(int modid, \ - struct module_stat32 *stat); } -302 AUE_NULL NOPROTO { int modfnext(int modid); } -303 AUE_NULL NOPROTO { int modfind(const char *name); } -304 AUE_MODLOAD NOPROTO { int kldload(const char *file); } -305 AUE_MODUNLOAD NOPROTO { int kldunload(int fileid); } -306 AUE_NULL NOPROTO { int kldfind(const char *file); } -307 AUE_NULL NOPROTO { int kldnext(int fileid); } -308 AUE_NULL STD { int freebsd32_kldstat(int fileid, \ - struct kld_file_stat32 *stat); } -309 AUE_NULL NOPROTO { int kldfirstmod(int fileid); } -310 AUE_GETSID NOPROTO { int getsid(pid_t pid); } -311 AUE_SETRESUID NOPROTO { int setresuid(uid_t ruid, uid_t euid, \ - uid_t suid); } -312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \ - gid_t sgid); } -313 AUE_NULL OBSOL signanosleep -314 AUE_AIO_RETURN STD { ssize_t freebsd32_aio_return( \ - struct aiocb32 *aiocbp); } -315 AUE_AIO_SUSPEND STD { int freebsd32_aio_suspend( \ - uint32_t * aiocbp, int nent, \ - const struct timespec32 *timeout); } -316 AUE_AIO_CANCEL NOPROTO { int aio_cancel(int fd, \ - struct aiocb32 *aiocbp); } -317 AUE_AIO_ERROR STD { int freebsd32_aio_error( \ - struct aiocb32 *aiocbp); } -318 AUE_AIO_READ COMPAT6 { int freebsd32_aio_read( \ - struct oaiocb32 *aiocbp); } -319 AUE_AIO_WRITE COMPAT6 { int freebsd32_aio_write( \ - struct oaiocb32 *aiocbp); } -320 AUE_LIO_LISTIO COMPAT6 { int freebsd32_lio_listio(int mode, \ - uint32_t *acb_list, \ - int nent, struct osigevent32 *sig); } -321 AUE_NULL NOPROTO { int yield(void); } -322 AUE_NULL OBSOL thr_sleep -323 AUE_NULL OBSOL thr_wakeup -324 AUE_MLOCKALL NOPROTO { int mlockall(int how); } -325 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } -326 AUE_GETCWD NOPROTO { int __getcwd(char *buf, size_t buflen); } - -327 AUE_NULL NOPROTO { int sched_setparam (pid_t pid, \ - const struct sched_param *param); } -328 AUE_NULL NOPROTO { int sched_getparam (pid_t pid, \ - struct sched_param *param); } - -329 AUE_NULL NOPROTO { int sched_setscheduler (pid_t pid, \ - int policy, \ - const struct sched_param *param); } -330 AUE_NULL NOPROTO { int sched_getscheduler (pid_t pid); } - -331 AUE_NULL NOPROTO { int sched_yield (void); } -332 AUE_NULL NOPROTO { int sched_get_priority_max (int policy); } -333 AUE_NULL NOPROTO { int sched_get_priority_min (int policy); } -334 AUE_NULL STD { int freebsd32_sched_rr_get_interval ( \ - pid_t pid, \ - struct timespec32 *interval); } -335 AUE_NULL NOPROTO { int utrace(const void *addr, size_t len); } -336 AUE_SENDFILE COMPAT4 { int freebsd32_sendfile(int fd, int s, \ - off_t offset, \ - size_t nbytes, struct sf_hdtr32 *hdtr, \ - off_t *sbytes, int flags); } -337 AUE_NULL UNIMPL kldsym -338 AUE_JAIL STD { int freebsd32_jail(struct jail32 *jail); } -339 AUE_NULL UNIMPL nnpfs_syscall -340 AUE_SIGPROCMASK NOPROTO { int sigprocmask(int how, \ - const sigset_t *set, sigset_t *oset); } -341 AUE_SIGSUSPEND NOPROTO { int sigsuspend(const sigset_t *sigmask); } -342 AUE_SIGACTION COMPAT4 { int freebsd32_sigaction(int sig, \ - const struct sigaction32 *act, \ - struct sigaction32 *oact); } -343 AUE_SIGPENDING NOPROTO { int sigpending(sigset_t *set); } -344 AUE_SIGRETURN COMPAT4 { int freebsd32_sigreturn( \ - const struct freebsd4_ucontext32 *sigcntxp); } -345 AUE_SIGWAIT STD { int freebsd32_sigtimedwait(const sigset_t *set, \ - struct siginfo32 *info, \ - const struct timespec32 *timeout); } -346 AUE_NULL STD { int freebsd32_sigwaitinfo(const sigset_t *set, \ - struct siginfo32 *info); } -347 AUE_ACL_GET_FILE NOPROTO { int __acl_get_file(const char *path, \ - acl_type_t type, struct acl *aclp); } -348 AUE_ACL_SET_FILE NOPROTO { int __acl_set_file(const char *path, \ - acl_type_t type, struct acl *aclp); } -349 AUE_ACL_GET_FD NOPROTO { int __acl_get_fd(int filedes, \ - acl_type_t type, struct acl *aclp); } -350 AUE_ACL_SET_FD NOPROTO { int __acl_set_fd(int filedes, \ - acl_type_t type, struct acl *aclp); } -351 AUE_ACL_DELETE_FILE NOPROTO { int __acl_delete_file(const char *path, \ - acl_type_t type); } -352 AUE_ACL_DELETE_FD NOPROTO { int __acl_delete_fd(int filedes, \ - acl_type_t type); } -353 AUE_ACL_CHECK_FILE NOPROTO { int __acl_aclcheck_file(const char *path, \ - acl_type_t type, struct acl *aclp); } -354 AUE_ACL_CHECK_FD NOPROTO { int __acl_aclcheck_fd(int filedes, \ - acl_type_t type, struct acl *aclp); } -355 AUE_EXTATTRCTL NOPROTO { int extattrctl(const char *path, int cmd, \ - const char *filename, int attrnamespace, \ - const char *attrname); } -356 AUE_EXTATTR_SET_FILE NOPROTO { ssize_t extattr_set_file( \ - const char *path, int attrnamespace, \ - const char *attrname, void *data, \ - size_t nbytes); } -357 AUE_EXTATTR_GET_FILE NOPROTO { ssize_t extattr_get_file( \ - const char *path, int attrnamespace, \ - const char *attrname, void *data, \ - size_t nbytes); } -358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \ - const char *path, int attrnamespace, \ - const char *attrname); } -359 AUE_AIO_WAITCOMPLETE STD { ssize_t freebsd32_aio_waitcomplete( \ - uint32_t *aiocbp, \ - struct timespec32 *timeout); } -360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ - uid_t *suid); } -361 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \ - gid_t *sgid); } -362 AUE_KQUEUE NOPROTO { int kqueue(void); } -363 AUE_KEVENT COMPAT11 { int freebsd32_kevent(int fd, \ - const struct freebsd11_kevent32 * \ - changelist, \ - int nchanges, \ - struct freebsd11_kevent32 *eventlist, \ - int nevents, \ - const struct timespec32 *timeout); } -364 AUE_NULL OBSOL __cap_get_proc -365 AUE_NULL OBSOL __cap_set_proc -366 AUE_NULL OBSOL __cap_get_fd -367 AUE_NULL OBSOL __cap_get_file -368 AUE_NULL OBSOL __cap_set_fd -369 AUE_NULL OBSOL __cap_set_file -370 AUE_NULL RESERVED -371 AUE_EXTATTR_SET_FD NOPROTO { ssize_t extattr_set_fd(int fd, \ - int attrnamespace, const char *attrname, \ - void *data, size_t nbytes); } -372 AUE_EXTATTR_GET_FD NOPROTO { ssize_t extattr_get_fd(int fd, \ - int attrnamespace, const char *attrname, \ - void *data, size_t nbytes); } -373 AUE_EXTATTR_DELETE_FD NOPROTO { int extattr_delete_fd(int fd, \ - int attrnamespace, \ - const char *attrname); } -374 AUE_SETUGID NOPROTO { int __setugid(int flag); } -375 AUE_NULL OBSOL nfsclnt -376 AUE_EACCESS NOPROTO { int eaccess(const char *path, int amode); } -377 AUE_NULL UNIMPL afs3_syscall -378 AUE_NMOUNT STD { int freebsd32_nmount(struct iovec32 *iovp, \ - unsigned int iovcnt, int flags); } -379 AUE_NULL OBSOL kse_exit -380 AUE_NULL OBSOL kse_wakeup -381 AUE_NULL OBSOL kse_create -382 AUE_NULL OBSOL kse_thr_interrupt -383 AUE_NULL OBSOL kse_release -384 AUE_NULL UNIMPL __mac_get_proc -385 AUE_NULL UNIMPL __mac_set_proc -386 AUE_NULL UNIMPL __mac_get_fd -387 AUE_NULL UNIMPL __mac_get_file -388 AUE_NULL UNIMPL __mac_set_fd -389 AUE_NULL UNIMPL __mac_set_file -390 AUE_NULL NOPROTO { int kenv(int what, const char *name, \ - char *value, int len); } -391 AUE_LCHFLAGS NOPROTO { int lchflags(const char *path, \ - u_long flags); } -392 AUE_NULL NOPROTO { int uuidgen(struct uuid *store, \ - int count); } -393 AUE_SENDFILE STD { int freebsd32_sendfile(int fd, int s, \ - off_t offset, \ - size_t nbytes, struct sf_hdtr32 *hdtr, \ - off_t *sbytes, int flags); } -394 AUE_NULL UNIMPL mac_syscall -395 AUE_GETFSSTAT COMPAT11 { int freebsd32_getfsstat( \ - struct freebsd11_statfs *buf, \ - int32_t bufsize, int mode); } -396 AUE_STATFS COMPAT11|NOPROTO { int statfs(const char *path, \ - struct statfs *buf); } -397 AUE_FSTATFS COMPAT11|NOPROTO { int fstatfs(int fd, \ - struct freebsd11_statfs *buf); } -398 AUE_FHSTATFS COMPAT11|NOPROTO { int fhstatfs( \ - const struct fhandle *u_fhp, \ - struct freebsd11_statfs *buf); } -399 AUE_NULL RESERVED -400 AUE_SEMCLOSE NOSTD|NOPROTO { int ksem_close(int32_t id); } -401 AUE_SEMPOST NOSTD|NOPROTO { int ksem_post(int32_t id); } -402 AUE_SEMWAIT NOSTD|NOPROTO { int ksem_wait(int32_t id); } -403 AUE_SEMTRYWAIT NOSTD|NOPROTO { int ksem_trywait(int32_t id); } -404 AUE_SEMINIT NOSTD { int freebsd32_ksem_init(int32_t *idp, \ - unsigned int value); } -405 AUE_SEMOPEN NOSTD { int freebsd32_ksem_open(int32_t *idp, \ - const char *name, int oflag, \ - mode_t mode, unsigned int value); } -406 AUE_SEMUNLINK NOSTD|NOPROTO { int ksem_unlink(const char *name); } -407 AUE_SEMGETVALUE NOSTD|NOPROTO { int ksem_getvalue(int32_t id, \ - int *val); } -408 AUE_SEMDESTROY NOSTD|NOPROTO { int ksem_destroy(int32_t id); } -409 AUE_NULL UNIMPL __mac_get_pid -410 AUE_NULL UNIMPL __mac_get_link -411 AUE_NULL UNIMPL __mac_set_link -412 AUE_EXTATTR_SET_LINK NOPROTO { ssize_t extattr_set_link( \ - const char *path, int attrnamespace, \ - const char *attrname, void *data, \ - size_t nbytes); } -413 AUE_EXTATTR_GET_LINK NOPROTO { ssize_t extattr_get_link( \ - const char *path, int attrnamespace, \ - const char *attrname, void *data, \ - size_t nbytes); } -414 AUE_EXTATTR_DELETE_LINK NOPROTO { int extattr_delete_link( \ - const char *path, int attrnamespace, \ - const char *attrname); } -415 AUE_NULL UNIMPL __mac_execve -416 AUE_SIGACTION STD { int freebsd32_sigaction(int sig, \ - const struct sigaction32 *act, \ - struct sigaction32 *oact); } -417 AUE_SIGRETURN STD { int freebsd32_sigreturn( \ - const struct __ucontext32 *sigcntxp); } -418 AUE_NULL RESERVED -419 AUE_NULL RESERVED -420 AUE_NULL RESERVED -421 AUE_NULL STD { int freebsd32_getcontext( \ - struct __ucontext32 *ucp); } -422 AUE_NULL STD { int freebsd32_setcontext( \ - const struct __ucontext32 *ucp); } -423 AUE_NULL STD { int freebsd32_swapcontext( \ - struct __ucontext32 *oucp, \ - const struct __ucontext32 *ucp); } -424 AUE_SWAPOFF NOPROTO { int swapoff(const char *name); } -425 AUE_ACL_GET_LINK NOPROTO { int __acl_get_link(const char *path, \ - acl_type_t type, struct acl *aclp); } -426 AUE_ACL_SET_LINK NOPROTO { int __acl_set_link(const char *path, \ - acl_type_t type, struct acl *aclp); } -427 AUE_ACL_DELETE_LINK NOPROTO { int __acl_delete_link(const char *path, \ - acl_type_t type); } -428 AUE_ACL_CHECK_LINK NOPROTO { int __acl_aclcheck_link(const char *path, \ - acl_type_t type, struct acl *aclp); } -429 AUE_SIGWAIT NOPROTO { int sigwait(const sigset_t *set, \ - int *sig); } -430 AUE_THR_CREATE UNIMPL thr_create -431 AUE_THR_EXIT NOPROTO { void thr_exit(int32_t *state); } -432 AUE_NULL NOPROTO { int thr_self(int32_t *id); } -433 AUE_THR_KILL NOPROTO { int thr_kill(int32_t id, int sig); } -434 AUE_NULL COMPAT10 { int freebsd32__umtx_lock( \ - struct umtx *umtx); } -435 AUE_NULL COMPAT10 { int freebsd32__umtx_unlock( \ - struct umtx *umtx); } -436 AUE_JAIL_ATTACH NOPROTO { int jail_attach(int jid); } -437 AUE_EXTATTR_LIST_FD NOPROTO { ssize_t extattr_list_fd(int fd, \ - int attrnamespace, void *data, \ - size_t nbytes); } -438 AUE_EXTATTR_LIST_FILE NOPROTO { ssize_t extattr_list_file( \ - const char *path, int attrnamespace, \ - void *data, size_t nbytes); } -439 AUE_EXTATTR_LIST_LINK NOPROTO { ssize_t extattr_list_link( \ - const char *path, int attrnamespace, \ - void *data, size_t nbytes); } -440 AUE_NULL OBSOL kse_switchin -441 AUE_SEMWAIT NOSTD { int freebsd32_ksem_timedwait(int32_t id, \ - const struct timespec32 *abstime); } -442 AUE_NULL STD { int freebsd32_thr_suspend( \ - const struct timespec32 *timeout); } -443 AUE_NULL NOPROTO { int thr_wake(int32_t id); } -444 AUE_MODUNLOAD NOPROTO { int kldunloadf(int fileid, int flags); } -445 AUE_AUDIT NOPROTO { int audit(const void *record, \ - u_int length); } -446 AUE_AUDITON NOPROTO { int auditon(int cmd, void *data, \ - u_int length); } -447 AUE_GETAUID NOPROTO { int getauid(uid_t *auid); } -448 AUE_SETAUID NOPROTO { int setauid(uid_t *auid); } -449 AUE_GETAUDIT NOPROTO { int getaudit(struct auditinfo *auditinfo); } -450 AUE_SETAUDIT NOPROTO { int setaudit(struct auditinfo *auditinfo); } -451 AUE_GETAUDIT_ADDR NOPROTO { int getaudit_addr( \ - struct auditinfo_addr *auditinfo_addr, \ - u_int length); } -452 AUE_SETAUDIT_ADDR NOPROTO { int setaudit_addr( \ - struct auditinfo_addr *auditinfo_addr, \ - u_int length); } -453 AUE_AUDITCTL NOPROTO { int auditctl(const char *path); } -454 AUE_NULL STD { int freebsd32__umtx_op(void *obj, int op,\ - u_long val, void *uaddr1, \ - void *uaddr2); } -455 AUE_THR_NEW STD { int freebsd32_thr_new( \ - struct thr_param32 *param, \ - int param_size); } -456 AUE_NULL STD { int freebsd32_sigqueue(pid_t pid, \ - int signum, void *value); } -457 AUE_MQ_OPEN NOSTD { int freebsd32_kmq_open( \ - const char *path, int flags, mode_t mode, \ - const struct mq_attr32 *attr); } -458 AUE_MQ_SETATTR NOSTD { int freebsd32_kmq_setattr(int mqd, \ - const struct mq_attr32 *attr, \ - struct mq_attr32 *oattr); } -459 AUE_MQ_TIMEDRECEIVE NOSTD { int freebsd32_kmq_timedreceive(int mqd, \ - char *msg_ptr, size_t msg_len, \ - unsigned *msg_prio, \ - const struct timespec32 *abs_timeout); } -460 AUE_MQ_TIMEDSEND NOSTD { int freebsd32_kmq_timedsend(int mqd, \ - const char *msg_ptr, size_t msg_len,\ - unsigned msg_prio, \ - const struct timespec32 *abs_timeout);} -461 AUE_MQ_NOTIFY NOSTD { int freebsd32_kmq_notify(int mqd, \ - const struct sigevent32 *sigev); } -462 AUE_MQ_UNLINK NOPROTO|NOSTD { int kmq_unlink(const char *path); } -463 AUE_NULL STD { void freebsd32_abort2(const char *why, int nargs, uint32_t *args); } -464 AUE_NULL NOPROTO { int thr_set_name(int32_t id, const char *name); } -465 AUE_AIO_FSYNC STD { int freebsd32_aio_fsync(int op, \ - struct aiocb32 *aiocbp); } -466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \ - lwpid_t lwpid, struct rtprio *rtp); } -467 AUE_NULL RESERVED -468 AUE_NULL RESERVED -469 AUE_NULL RESERVED -470 AUE_NULL RESERVED -471 AUE_SCTP_PEELOFF NOPROTO|NOSTD { int sctp_peeloff(int sd, uint32_t name); } -472 AUE_SCTP_GENERIC_SENDMSG NOPROTO|NOSTD { int sctp_generic_sendmsg( \ - int sd, void *msg, int mlen, \ - const struct sockaddr *to, __socklen_t tolen, \ - struct sctp_sndrcvinfo *sinfo, int flags); } -473 AUE_SCTP_GENERIC_SENDMSG_IOV NOPROTO|NOSTD { int sctp_generic_sendmsg_iov(int sd, struct iovec32 *iov, int iovlen, \ - const struct sockaddr *to, __socklen_t tolen, \ - struct sctp_sndrcvinfo *sinfo, int flags); } -474 AUE_SCTP_GENERIC_RECVMSG NOPROTO|NOSTD { int sctp_generic_recvmsg(int sd, struct iovec32 *iov, int iovlen, \ - struct sockaddr * from, __socklen_t *fromlenaddr, \ - struct sctp_sndrcvinfo *sinfo, int *msg_flags); } -475 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, \ - void *buf,size_t nbyte, \ - off_t offset); } -476 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \ - const void *buf, size_t nbyte, \ - off_t offset); } -477 AUE_MMAP STD { void *freebsd32_mmap(void *addr, \ - size_t len, int prot, int flags, int fd, \ - off_t pos); } -478 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, \ - off_t offset, \ - int whence); } -479 AUE_TRUNCATE STD { int freebsd32_truncate(const char *path, \ - off_t length); } -480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ - off_t length); } -481 AUE_THR_KILL2 NOPROTO { int thr_kill2(pid_t pid, int32_t id, int sig); } -482 AUE_SHMOPEN COMPAT12|NOPROTO { int shm_open( \ - const char *path, int flags, mode_t mode); } -483 AUE_SHMUNLINK NOPROTO { int shm_unlink(const char *path); } -484 AUE_NULL NOPROTO { int cpuset(cpusetid_t *setid); } -485 AUE_NULL STD { int freebsd32_cpuset_setid(cpuwhich_t which, \ - id_t id, \ - cpusetid_t setid); } -486 AUE_NULL STD { int freebsd32_cpuset_getid(cpulevel_t level, \ - cpuwhich_t which, \ - id_t id, \ - cpusetid_t *setid); } -487 AUE_NULL STD { int freebsd32_cpuset_getaffinity( \ - cpulevel_t level, cpuwhich_t which, \ - id_t id, \ - size_t cpusetsize, \ - cpuset_t *mask); } -488 AUE_NULL STD { int freebsd32_cpuset_setaffinity( \ - cpulevel_t level, cpuwhich_t which, \ - id_t id, \ - size_t cpusetsize, \ - const cpuset_t *mask); } -489 AUE_FACCESSAT NOPROTO { int faccessat(int fd, const char *path, \ - int amode, int flag); } -490 AUE_FCHMODAT NOPROTO { int fchmodat(int fd, const char *path, \ - mode_t mode, int flag); } -491 AUE_FCHOWNAT NOPROTO { int fchownat(int fd, const char *path, \ - uid_t uid, gid_t gid, int flag); } -492 AUE_FEXECVE STD { int freebsd32_fexecve(int fd, \ - uint32_t *argv, uint32_t *envv); } -493 AUE_FSTATAT COMPAT11 { int freebsd32_fstatat(int fd, \ - const char *path, \ - struct freebsd11_stat32 *buf, \ - int flag); } -494 AUE_FUTIMESAT STD { int freebsd32_futimesat(int fd, \ - const char *path, \ - const struct timeval32 *times); } -495 AUE_LINKAT NOPROTO { int linkat(int fd1, const char *path1, \ - int fd2, const char *path2, int flag); } -496 AUE_MKDIRAT NOPROTO { int mkdirat(int fd, const char *path, \ - mode_t mode); } -497 AUE_MKFIFOAT NOPROTO { int mkfifoat(int fd, const char *path, \ - mode_t mode); } -498 AUE_MKNODAT COMPAT11|NOPROTO { int mknodat(int fd, \ - const char *path, mode_t mode, \ - uint32_t dev); } -499 AUE_OPENAT_RWTC NOPROTO { int openat(int fd, const char *path, \ - int flag, mode_t mode); } -500 AUE_READLINKAT NOPROTO { ssize_t readlinkat(int fd, const char *path, \ - char *buf, size_t bufsize); } -501 AUE_RENAMEAT NOPROTO { int renameat(int oldfd, const char *old, \ - int newfd, const char *new); } -502 AUE_SYMLINKAT NOPROTO { int symlinkat(const char *path1, int fd, \ - const char *path2); } -503 AUE_UNLINKAT NOPROTO { int unlinkat(int fd, const char *path, \ - int flag); } -504 AUE_POSIX_OPENPT NOPROTO { int posix_openpt(int flags); } -; 505 is initialised by the kgssapi code, if present. -505 AUE_NULL NOPROTO|NOSTD { int gssd_syscall(const char *path); } -506 AUE_JAIL_GET STD { int freebsd32_jail_get(struct iovec32 *iovp, \ - unsigned int iovcnt, int flags); } -507 AUE_JAIL_SET STD { int freebsd32_jail_set(struct iovec32 *iovp, \ - unsigned int iovcnt, int flags); } -508 AUE_JAIL_REMOVE NOPROTO { int jail_remove(int jid); } -509 AUE_CLOSEFROM COMPAT12|NOPROTO { int closefrom(int lowfd); } -510 AUE_SEMCTL NOSTD { int freebsd32___semctl(int semid, int semnum, \ - int cmd, union semun32 *arg); } -511 AUE_MSGCTL NOSTD { int freebsd32_msgctl(int msqid, int cmd, \ - struct msqid_ds32 *buf); } -512 AUE_SHMCTL NOSTD { int freebsd32_shmctl(int shmid, int cmd, \ - struct shmid_ds32 *buf); } -513 AUE_LPATHCONF NOPROTO { int lpathconf(const char *path, int name); } -514 AUE_NULL OBSOL cap_new -515 AUE_CAP_RIGHTS_GET NOPROTO { int __cap_rights_get(int version, \ - int fd, cap_rights_t *rightsp); } -516 AUE_CAP_ENTER NOPROTO { int cap_enter(void); } -517 AUE_CAP_GETMODE NOPROTO { int cap_getmode(u_int *modep); } -518 AUE_PDFORK NOPROTO { int pdfork(int *fdp, int flags); } -519 AUE_PDKILL NOPROTO { int pdkill(int fd, int signum); } -520 AUE_PDGETPID NOPROTO { int pdgetpid(int fd, pid_t *pidp); } -521 AUE_PDWAIT RESERVED -522 AUE_SELECT STD { int freebsd32_pselect(int nd, fd_set *in, \ - fd_set *ou, fd_set *ex, \ - const struct timespec32 *ts, \ - const sigset_t *sm); } -523 AUE_GETLOGINCLASS NOPROTO { int getloginclass(char *namebuf, \ - size_t namelen); } -524 AUE_SETLOGINCLASS NOPROTO { int setloginclass(const char *namebuf); } -525 AUE_NULL NOPROTO { int rctl_get_racct(const void *inbufp, \ - size_t inbuflen, void *outbufp, \ - size_t outbuflen); } -526 AUE_NULL NOPROTO { int rctl_get_rules(const void *inbufp, \ - size_t inbuflen, void *outbufp, \ - size_t outbuflen); } -527 AUE_NULL NOPROTO { int rctl_get_limits(const void *inbufp, \ - size_t inbuflen, void *outbufp, \ - size_t outbuflen); } -528 AUE_NULL NOPROTO { int rctl_add_rule(const void *inbufp, \ - size_t inbuflen, void *outbufp, \ - size_t outbuflen); } -529 AUE_NULL NOPROTO { int rctl_remove_rule(const void *inbufp, \ - size_t inbuflen, void *outbufp, \ - size_t outbuflen); } -530 AUE_POSIX_FALLOCATE STD { int freebsd32_posix_fallocate(int fd,\ - off_t offset, \ - off_t len); } -531 AUE_POSIX_FADVISE STD { int freebsd32_posix_fadvise(int fd, \ - off_t offset, \ - off_t len, \ - int advice); } -532 AUE_WAIT6 STD { int freebsd32_wait6(idtype_t idtype, \ - id_t id, \ - int *status, int options, \ - struct __wrusage32 *wrusage, \ - struct siginfo32 *info); } -533 AUE_CAP_RIGHTS_LIMIT NOPROTO { \ - int cap_rights_limit(int fd, \ - cap_rights_t *rightsp); } -534 AUE_CAP_IOCTLS_LIMIT STD { \ - int freebsd32_cap_ioctls_limit(int fd, \ - const uint32_t *cmds, size_t ncmds); } -535 AUE_CAP_IOCTLS_GET STD { \ - ssize_t freebsd32_cap_ioctls_get(int fd, \ - uint32_t *cmds, size_t maxcmds); } -536 AUE_CAP_FCNTLS_LIMIT NOPROTO { int cap_fcntls_limit(int fd, \ - uint32_t fcntlrights); } -537 AUE_CAP_FCNTLS_GET NOPROTO { int cap_fcntls_get(int fd, \ - uint32_t *fcntlrightsp); } -538 AUE_BINDAT NOPROTO { int bindat(int fd, int s, \ - const struct sockaddr *name, \ - __socklen_t namelen); } -539 AUE_CONNECTAT NOPROTO { int connectat(int fd, int s, \ - const struct sockaddr *name, \ - __socklen_t namelen); } -540 AUE_CHFLAGSAT NOPROTO { int chflagsat(int fd, const char *path, \ - u_long flags, int atflag); } -541 AUE_ACCEPT NOPROTO { int accept4(int s, \ - struct sockaddr *name, \ - __socklen_t *anamelen, \ - int flags); } -542 AUE_PIPE NOPROTO { int pipe2(int *fildes, int flags); } -543 AUE_AIO_MLOCK STD { int freebsd32_aio_mlock( \ - struct aiocb32 *aiocbp); } -544 AUE_PROCCTL STD { int freebsd32_procctl(idtype_t idtype, \ - id_t id, int com, \ - void *data); } -545 AUE_POLL STD { int freebsd32_ppoll(struct pollfd *fds, \ - u_int nfds, const struct timespec32 *ts, \ - const sigset_t *set); } -546 AUE_FUTIMES STD { int freebsd32_futimens(int fd, \ - const struct timespec32 *times); } -547 AUE_FUTIMESAT STD { int freebsd32_utimensat(int fd, \ - const char *path, \ - const struct timespec32 *times, \ - int flag); } -548 AUE_NULL OBSOL numa_getaffinity -549 AUE_NULL OBSOL numa_setaffinity -550 AUE_FSYNC NOPROTO { int fdatasync(int fd); } -551 AUE_FSTAT STD { int freebsd32_fstat(int fd, \ - struct stat32 *sb); } -552 AUE_FSTATAT STD { int freebsd32_fstatat(int fd, \ - const char *path, struct stat32 *buf, \ - int flag); } -553 AUE_FHSTAT STD { int freebsd32_fhstat( \ - const struct fhandle *u_fhp, \ - struct stat32 *sb); } -554 AUE_GETDIRENTRIES NOPROTO { ssize_t getdirentries( \ - int fd, char *buf, size_t count, \ - off_t *basep); } -555 AUE_STATFS NOPROTO { int statfs(const char *path, \ - struct statfs *buf); } -556 AUE_FSTATFS NOPROTO { int fstatfs(int fd, struct statfs *buf); } -557 AUE_GETFSSTAT STD { int freebsd32_getfsstat(struct statfs *buf, \ - int32_t bufsize, int mode); } -558 AUE_FHSTATFS NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ - struct statfs *buf); } -559 AUE_MKNODAT STD { int freebsd32_mknodat(int fd, \ - const char *path, mode_t mode, \ - dev_t dev); } -560 AUE_KEVENT STD { int freebsd32_kevent(int fd, \ - const struct kevent32 *changelist, \ - int nchanges, \ - struct kevent32 *eventlist, \ - int nevents, \ - const struct timespec32 *timeout); } -561 AUE_NULL STD { int freebsd32_cpuset_getdomain(cpulevel_t level, \ - cpuwhich_t which, id_t id, \ - size_t domainsetsize, domainset_t *mask, \ - int *policy); } -562 AUE_NULL STD { int freebsd32_cpuset_setdomain(cpulevel_t level, \ - cpuwhich_t which, id_t id, \ - size_t domainsetsize, domainset_t *mask, \ - int policy); } -563 AUE_NULL NOPROTO { int getrandom(void *buf, size_t buflen, \ - unsigned int flags); } -564 AUE_NULL NOPROTO { int getfhat( int fd, char *path, \ - struct fhandle *fhp, int flags); } -565 AUE_NULL NOPROTO { int fhlink( struct fhandle *fhp, const char *to ); } -566 AUE_NULL NOPROTO { int fhlinkat( struct fhandle *fhp, int tofd, \ - const char *to); } -567 AUE_NULL NOPROTO { int fhreadlink( struct fhandle *fhp, char *buf, \ - size_t bufsize); } -568 AUE_UNLINKAT NOPROTO { int funlinkat(int dfd, const char *path, int fd, \ - int flag); } -569 AUE_NULL NOPROTO { ssize_t copy_file_range(int infd, \ - off_t *inoffp, int outfd, off_t *outoffp, \ - size_t len, unsigned int flags); } -570 AUE_SYSCTL STD { int freebsd32___sysctlbyname(const char *name, \ - size_t namelen, void *old, uint32_t *oldlenp, \ - void *new, size_t newlen); } -571 AUE_SHMOPEN NOPROTO { int shm_open2( \ - const char *path, int flags, mode_t mode, \ - int shmflags, const char *name); } -572 AUE_SHMRENAME NOPROTO { int shm_rename(const char *path_from, \ - const char *path_to, int flags); } -573 AUE_NULL NOPROTO { int sigfastblock(int cmd, uint32_t *ptr); } -574 AUE_REALPATHAT NOPROTO { int __realpathat(int fd, const char *path, \ - char *buf, size_t size, int flags); } -575 AUE_CLOSERANGE NOPROTO { int close_range(u_int lowfd, u_int highfd, \ - int flags); } -; 576 is initialised by the krpc code, if present. -576 AUE_NULL NOSTD|NOPROTO { int rpctls_syscall(int op, \ - const char *path); } -577 AUE_SPECIALFD NOPROTO { int __specialfd(int type, const void *req, \ - size_t len); } -578 AUE_AIO_WRITEV STD { int freebsd32_aio_writev( \ - struct aiocb32 *aiocbp); } -579 AUE_AIO_READV STD { int freebsd32_aio_readv( \ - struct aiocb32 *aiocbp); } -580 AUE_FSPACECTL NOPROTO { int fspacectl(int fd, \ - int cmd, \ - const struct spacectl_range *rqsr, \ - int flags, \ - struct spacectl_range *rmsr); } -581 AUE_NULL NOPROTO { int sched_getcpu(void); } -; vim: syntax=off diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index b606503e3ba3..315e2692bfa1 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -1,3281 +1,3297 @@ $FreeBSD$ ; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; ; System call name/number master file. ; Processed to created init_sysent.c, syscalls.c and syscall.h. ; New FreeBSD system calls should be added to the bottom of this file. ; Columns: number audit type name alt{name,tag,rtyp}/comments ; number system call number, must be in order ; audit the audit event associated with the system call ; A value of AUE_NULL means no auditing, but it also means that ; there is no audit event for the call at this time. For the ; case where the event exists, but we don't want auditing, the ; event should be #defined to AUE_NULL in audit_kevents.h. ; type one of STD, OBSOL, RESERVED, UNIMPL, COMPAT, COMPAT4, COMPAT6, ; COMPAT7, COMPAT11, COMPAT12, NODEF, NOARGS, NOPROTO, NOSTD ; The COMPAT* options may be combined with one or more NO* ; options separated by '|' with no spaces (e.g. COMPAT|NOARGS) ; The CAPENABLED option may be ORed into a type. ; name pseudo-prototype of syscall routine ; If one of the following alts is different, then all appear: ; altname name of system call if different ; alttag name of args struct tag if different from [o]`name'"_args" ; altrtyp return type if not int (bogus - syscalls always return int) ; for UNIMPL/OBSOL, name continues with comments ; types: ; STD always included ; COMPAT included on COMPAT #ifdef ; COMPAT4 included on COMPAT_FREEBSD4 #ifdef (FreeBSD 4 compat) ; COMPAT6 included on COMPAT_FREEBSD6 #ifdef (FreeBSD 6 compat) ; COMPAT7 included on COMPAT_FREEBSD7 #ifdef (FreeBSD 7 compat) ; COMPAT10 included on COMPAT_FREEBSD10 #ifdef (FreeBSD 10 compat) ; COMPAT11 included on COMPAT_FREEBSD11 #ifdef (FreeBSD 11 compat) ; COMPAT12 included on COMPAT_FREEBSD12 #ifdef (FreeBSD 12 compat) ; OBSOL obsolete, not included in system, only specifies name ; RESERVED reserved for local or vendor use (not for FreeBSD) ; UNIMPL not implemented, placeholder only ; NOSTD implemented but as a lkm that can be statically ; compiled in; sysent entry will be filled with lkmressys ; so the SYSCALL_MODULE macro works ; NOARGS same as STD except do not create structure in sys/sysproto.h ; NODEF same as STD except only have the entry in the syscall table ; added. Meaning - do not create structure or function ; prototype in sys/sysproto.h ; NOPROTO same as STD except do not create structure or ; function prototype in sys/sysproto.h. Does add a ; definition to syscall.h besides adding a sysent. ; NOTSTATIC syscall is loadable ; CAPENABLED syscall is allowed in capability mode +; +; To support programmatic generation of both the default ABI and 32-bit compat +; (freebsd32) we impose a number of restrictions on the types of system calls. +; For integer types: +; - Bare int and long are allowed (long is a sign of a bad interface). +; - Use u_int and u_long rather than "unsigned (int|long)". +; - size_t is allowed. +; - typedefs are allowed, but new signed types that vary between 32- and +; 64-bit ABIs must be added to makesyscalls.lua so it knows they require +; handling. +; - Always-64-bit types other than dev_t, id_t, and off_t must be added to +; makesyscalls.lua. +; For pointers: +; - Prefer structs to typedefs so an ABI-specific suffix (e.g., "32") can +; be prepended (e.g., ucontext_t -> struct ucontext -> struct ucontext32). +; - Pointers to objects (structs, unions, etc) containing any long, pointer, +; or time_t arguments need _Contains_ annotations. Such objects should be +; padded such that all 64-bit types are 64-bit aligned. ; annotations: ; SAL 2.0 annotations are used to specify how system calls treat ; arguments that are passed using pointers. There are three basic ; annotations. ; ; _In_ Object pointed to will be read and not modified. ; _Out_ Object pointed to will be written and not read. ; _Inout_ Object pointed to will be written and read. ; ; These annotations are used alone when the pointer refers to a single ; object i.e. scalar types, structs, and pointers, and not NULL. Adding ; the _opt_ suffix, e.g. _In_opt_, implies that the pointer may also ; refer to NULL. ; ; For pointers to arrays, additional suffixes are added: ; ; _In_z_, _Out_z_, _Inout_z_: ; for a NUL terminated array e.g. a string. ; _In_reads_z_(n),_Out_writes_z_(n), _Inout_updates_z_(n): ; for a NUL terminated array e.g. a string, of known length n bytes. ; _In_reads_(n),_Out_writes_(n),_Inout_updates_(n): ; for an array of n elements. ; _In_reads_bytes_(n), _Out_writes_bytes_(n), _Inout_updates_bytes(n): ; for a buffer of n-bytes. ; ; In addition to SAL annotations, pointers are annotated to indicate ; that they point to types that change between ABIs. That means that ; they contain long, pointer, or time_t types. This is indicated with ; a _Contains_ annotation followed immediately by one or more of: ; ; long_ Object contains a direct (or typedef'd) long value and varies ; between 32- and 64-bit ABIs. This includes size_t. ; ptr_ Object contains pointers (or intptr_t) and varies between ; 32- and 64-bit ABIs. ; timet_ Object contains a time_t and varies between i386 and other ; ABIs. -; Please copy any additions and changes to the following compatability tables: -; sys/compat/freebsd32/syscalls.master - ; #ifdef's, etc. may be included, and are copied to the output files. #include #include #include +%%ABI_HEADERS%% 0 AUE_NULL STD { int nosys(void); } syscall nosys_args int 1 AUE_EXIT STD|CAPENABLED { void sys_exit( int rval ); } exit sys_exit_args void 2 AUE_FORK STD|CAPENABLED { int fork(void); } 3 AUE_READ STD|CAPENABLED { ssize_t read( int fd, _Out_writes_bytes_(nbyte) void *buf, size_t nbyte ); } 4 AUE_WRITE STD|CAPENABLED { ssize_t write( int fd, _In_reads_bytes_(nbyte) const void *buf, size_t nbyte ); } 5 AUE_OPEN_RWTC STD { int open( _In_z_ const char *path, int flags, mode_t mode ); } ; XXX should be { int open(const char *path, int flags, ...); } ; but we're not ready for varargs. 6 AUE_CLOSE STD|CAPENABLED { int close( int fd ); } 7 AUE_WAIT4 STD { int wait4( int pid, _Out_opt_ int *status, int options, _Out_opt_ _Contains_long_timet_ struct rusage *rusage ); } 8 AUE_CREAT COMPAT { int creat( _In_z_ const char *path, int mode ); } 9 AUE_LINK STD { int link( _In_z_ const char *path, _In_z_ const char *link ); } 10 AUE_UNLINK STD { int unlink( _In_z_ const char *path ); } 11 AUE_NULL OBSOL execv 12 AUE_CHDIR STD { int chdir( _In_z_ const char *path ); } 13 AUE_FCHDIR STD { int fchdir( int fd ); } 14 AUE_MKNOD COMPAT11 { int mknod( _In_z_ const char *path, int mode, uint32_t dev ); } 15 AUE_CHMOD STD { int chmod( _In_z_ const char *path, mode_t mode ); } 16 AUE_CHOWN STD { int chown( _In_z_ const char *path, int uid, int gid ); } 17 AUE_NULL STD|CAPENABLED { void *break( _In_ char *nsize ); } 18 AUE_GETFSSTAT COMPAT4 { int getfsstat( _Out_writes_bytes_opt_(bufsize) _Contains_long_ struct ostatfs *buf, long bufsize, int mode ); } 19 AUE_LSEEK COMPAT|CAPENABLED { long lseek( int fd, long offset, int whence ); } 20 AUE_GETPID STD|CAPENABLED { pid_t getpid(void); } 21 AUE_MOUNT STD { int mount( _In_z_ const char *type, _In_z_ const char *path, int flags, _In_opt_ void *data ); } 22 AUE_UMOUNT STD { int unmount( _In_z_ const char *path, int flags ); } 23 AUE_SETUID STD|CAPENABLED { int setuid( uid_t uid ); } 24 AUE_GETUID STD|CAPENABLED { uid_t getuid(void); } 25 AUE_GETEUID STD|CAPENABLED { uid_t geteuid(void); } 26 AUE_PTRACE STD { int ptrace( int req, pid_t pid, _Inout_opt_ _Contains_long_ptr_ caddr_t addr, int data ); } 27 AUE_RECVMSG STD|CAPENABLED { ssize_t recvmsg( int s, _Inout_ _Contains_ptr_ struct msghdr *msg, int flags ); } 28 AUE_SENDMSG STD|CAPENABLED { ssize_t sendmsg( int s, _In_ _Contains_ptr_ const struct msghdr *msg, int flags ); } 29 AUE_RECVFROM STD|CAPENABLED { ssize_t recvfrom( int s, _Out_writes_bytes_(len) void *buf, size_t len, int flags, _Out_writes_bytes_opt_(*fromlenaddr) struct sockaddr *from, _Inout_opt_ __socklen_t *fromlenaddr ); } 30 AUE_ACCEPT STD|CAPENABLED { int accept( int s, _Out_writes_bytes_opt_(*anamelen) struct sockaddr *name, _Inout_opt_ __socklen_t *anamelen ); } 31 AUE_GETPEERNAME STD|CAPENABLED { int getpeername( int fdes, _Out_writes_bytes_(*alen) struct sockaddr *asa, _Inout_opt_ __socklen_t *alen ); } 32 AUE_GETSOCKNAME STD|CAPENABLED { int getsockname( int fdes, _Out_writes_bytes_(*alen) struct sockaddr *asa, _Inout_ __socklen_t *alen ); } 33 AUE_ACCESS STD { int access( _In_z_ const char *path, int amode ); } 34 AUE_CHFLAGS STD { int chflags( _In_z_ const char *path, u_long flags ); } 35 AUE_FCHFLAGS STD|CAPENABLED { int fchflags( int fd, u_long flags ); } 36 AUE_SYNC STD|CAPENABLED { int sync(void); } 37 AUE_KILL STD|CAPENABLED { int kill( int pid, int signum ); } 38 AUE_STAT COMPAT { int stat( _In_z_ const char *path, _Out_ _Contains_timet_ struct ostat *ub ); } 39 AUE_GETPPID STD|CAPENABLED { pid_t getppid(void); } 40 AUE_LSTAT COMPAT { int lstat( _In_z_ const char *path, _Out_ _Contains_timet_ struct ostat *ub ); } 41 AUE_DUP STD|CAPENABLED { int dup( u_int fd ); } 42 AUE_PIPE COMPAT10|CAPENABLED { int pipe(void); } 43 AUE_GETEGID STD|CAPENABLED { gid_t getegid(void); } 44 AUE_PROFILE STD|CAPENABLED { int profil( _Out_writes_bytes_(size) char *samples, size_t size, size_t offset, u_int scale ); } 45 AUE_KTRACE STD { int ktrace( _In_z_ const char *fname, int ops, int facs, int pid ); } 46 AUE_SIGACTION COMPAT|CAPENABLED { int sigaction( int signum, _In_opt_ _Contains_ptr_ struct osigaction *nsa, _Out_opt_ _Contains_ptr_ struct osigaction *osa ); } 47 AUE_GETGID STD|CAPENABLED { gid_t getgid(void); } 48 AUE_SIGPROCMASK COMPAT|CAPENABLED { int sigprocmask( int how, osigset_t mask ); } ; XXX note nonstandard (bogus) calling convention - the libc stub passes ; us the mask, not a pointer to it, and we return the old mask as the ; (int) return value. 49 AUE_GETLOGIN STD|CAPENABLED { int getlogin( _Out_writes_z_(namelen) char *namebuf, u_int namelen ); } 50 AUE_SETLOGIN STD { int setlogin( _In_z_ const char *namebuf ); } 51 AUE_ACCT STD { int acct( _In_z_ const char *path ); } 52 AUE_SIGPENDING COMPAT|CAPENABLED { int sigpending(void); } 53 AUE_SIGALTSTACK STD|CAPENABLED { int sigaltstack( _In_opt_ _Contains_long_ptr_ const struct sigaltstack *ss, _Out_opt_ _Contains_long_ptr_ struct sigaltstack *oss ); } 54 AUE_IOCTL STD|CAPENABLED { int ioctl( int fd, u_long com, _Inout_opt_ _Contains_long_ptr_ char *data ); } 55 AUE_REBOOT STD { int reboot( int opt ); } 56 AUE_REVOKE STD { int revoke( _In_z_ const char *path ); } 57 AUE_SYMLINK STD { int symlink( _In_z_ const char *path, _In_z_ const char *link ); } 58 AUE_READLINK STD { ssize_t readlink( _In_z_ const char *path, _Out_writes_z_(count) char *buf, size_t count ); } 59 AUE_EXECVE STD { int execve( _In_z_ const char *fname, _In_z_ char **argv, _In_z_ char **envv ); } 60 AUE_UMASK STD|CAPENABLED { mode_t umask( mode_t newmask ); } 61 AUE_CHROOT STD { int chroot( _In_z_ const char *path ); } 62 AUE_FSTAT COMPAT|CAPENABLED { int fstat( int fd, _Out_ _Contains_timet_ struct ostat *sb ); } 63 AUE_NULL COMPAT { int getkerninfo( int op, _Out_writes_bytes_opt(*size) char *where, _Inout_opt_ size_t *size, int arg ); } 64 AUE_NULL COMPAT|CAPENABLED { int getpagesize(void); } 65 AUE_MSYNC STD|CAPENABLED { int msync( _In_ void *addr, size_t len, int flags ); } 66 AUE_VFORK STD { int vfork(void); } 67 AUE_NULL OBSOL vread 68 AUE_NULL OBSOL vwrite 69 AUE_SBRK STD|CAPENABLED { int sbrk( int incr ); } 70 AUE_SSTK STD|CAPENABLED { int sstk( int incr ); } 71 AUE_MMAP COMPAT|CAPENABLED { void *mmap( _In_ void *addr, int len, int prot, int flags, int fd, long pos ); } 72 AUE_O_VADVISE COMPAT11 { int vadvise( int anom ); } 73 AUE_MUNMAP STD|CAPENABLED { int munmap( _In_ void *addr, size_t len ); } 74 AUE_MPROTECT STD|CAPENABLED { int mprotect( _In_ const void *addr, size_t len, int prot ); } 75 AUE_MADVISE STD|CAPENABLED { int madvise( _In_ void *addr, size_t len, int behav ); } 76 AUE_NULL OBSOL vhangup 77 AUE_NULL OBSOL vlimit 78 AUE_MINCORE STD|CAPENABLED { int mincore( _In_ const void *addr, size_t len, _Out_writes_bytes_(len/PAGE_SIZE) char *vec ); } 79 AUE_GETGROUPS STD|CAPENABLED { int getgroups( int gidsetsize, _Out_writes_opt_(gidsetsize) gid_t *gidset ); } 80 AUE_SETGROUPS STD { int setgroups( int gidsetsize, _In_reads_(gidsetsize) const gid_t *gidset ); } 81 AUE_GETPGRP STD|CAPENABLED { int getpgrp(void); } 82 AUE_SETPGRP STD { int setpgid( int pid, int pgid ); } 83 AUE_SETITIMER STD|CAPENABLED { int setitimer( int which, _In_ _Contains_timet_ const struct itimerval *itv, _Out_opt_ _Contains_timet_ struct itimerval *oitv ); } 84 AUE_WAIT4 COMPAT { int wait(void); } 85 AUE_SWAPON STD { int swapon( _In_z_ const char *name ); } 86 AUE_GETITIMER STD|CAPENABLED { int getitimer( int which, _Out_ _Contains_timet_ struct itimerval *itv ); } 87 AUE_SYSCTL COMPAT|CAPENABLED { int gethostname( _Out_writes_z_(len) char *hostname, u_int len ); } 88 AUE_SYSCTL COMPAT { int sethostname( _In_reads_z_(len) char *hostname, u_int len ); } 89 AUE_GETDTABLESIZE STD|CAPENABLED { int getdtablesize(void); } 90 AUE_DUP2 STD|CAPENABLED { int dup2( u_int from, u_int to ); } 91 AUE_NULL RESERVED 92 AUE_FCNTL STD|CAPENABLED { int fcntl( int fd, int cmd, long arg ); } ; XXX should be { int fcntl(int fd, int cmd, ...); } ; but we're not ready for varargs. 93 AUE_SELECT STD|CAPENABLED { int select( int nd, _Inout_opt_ fd_set *in, _Inout_opt_ fd_set *ou, _Inout_opt_ fd_set *ex, _In_opt_ _Contains_long_timet_ struct timeval *tv ); } 94 AUE_NULL RESERVED 95 AUE_FSYNC STD|CAPENABLED { int fsync( int fd ); } 96 AUE_SETPRIORITY STD|CAPENABLED { int setpriority( int which, int who, int prio ); } 97 AUE_SOCKET STD|CAPENABLED { int socket( int domain, int type, int protocol ); } 98 AUE_CONNECT STD { int connect( int s, _In_reads_bytes_(namelen) const struct sockaddr *name, __socklen_t namelen ); } 99 AUE_ACCEPT COMPAT|CAPENABLED { int accept( int s, _Out_writes_bytes_opt_(*anamelen) struct sockaddr *name, __socklen_t *anamelen ); } 100 AUE_GETPRIORITY STD|CAPENABLED { int getpriority( int which, int who ); } 101 AUE_SEND COMPAT|CAPENABLED { int send( int s, _In_reads_bytes_(len) const void *buf, int len, int flags ); } 102 AUE_RECV COMPAT|CAPENABLED { int recv( int s, _Out_writes_bytes_(len) void *buf, int len, int flags ); } 103 AUE_SIGRETURN COMPAT|CAPENABLED { int sigreturn( _In_ struct osigcontext *sigcntxp ); } 104 AUE_BIND STD { int bind( int s, _In_reads_bytes_(namelen) const struct sockaddr *name, __socklen_t namelen ); } 105 AUE_SETSOCKOPT STD|CAPENABLED { int setsockopt( int s, int level, int name, _In_reads_bytes_opt_(valsize) const void *val, __socklen_t valsize ); } 106 AUE_LISTEN STD|CAPENABLED { int listen( int s, int backlog ); } 107 AUE_NULL OBSOL vtimes 108 AUE_NULL COMPAT|CAPENABLED { int sigvec( int signum, _In_opt_ _Contains_ptr_ struct sigvec *nsv, _Out_opt_ _Contains_ptr_ struct sigvec *osv ); } 109 AUE_NULL COMPAT|CAPENABLED { int sigblock( int mask ); } 110 AUE_NULL COMPAT|CAPENABLED { int sigsetmask( int mask ); } 111 AUE_NULL COMPAT|CAPENABLED { int sigsuspend( osigset_t mask ); } ; XXX note nonstandard (bogus) calling convention - the libc stub passes ; us the mask, not a pointer to it. 112 AUE_NULL COMPAT|CAPENABLED { int sigstack( _In_opt_ _Contains_ptr_ struct sigstack *nss, _Out_opt_ _Contains_ptr_ struct sigstack *oss ); } 113 AUE_RECVMSG COMPAT|CAPENABLED { int recvmsg( int s, _Inout_ _Contains_ptr_ struct omsghdr *msg, int flags ); } 114 AUE_SENDMSG COMPAT|CAPENABLED { int sendmsg( int s, _In_ _Contains_ptr_ const struct omsghdr *msg, int flags ); } 115 AUE_NULL OBSOL vtrace 116 AUE_GETTIMEOFDAY STD|CAPENABLED { int gettimeofday( _Out_ _Contains_long_timet_ struct timeval *tp, _Out_opt_ struct timezone *tzp ); } 117 AUE_GETRUSAGE STD|CAPENABLED { int getrusage( int who, _Out_ _Contains_long_ struct rusage *rusage ); } 118 AUE_GETSOCKOPT STD|CAPENABLED { int getsockopt( int s, int level, int name, _Out_writes_bytes_opt_(*avalsize) void *val, _Inout_ __socklen_t *avalsize ); } 119 AUE_NULL RESERVED 120 AUE_READV STD|CAPENABLED { int readv( int fd, _Inout_updates_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, u_int iovcnt ); } 121 AUE_WRITEV STD|CAPENABLED { int writev( int fd, _In_reads_opt_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, u_int iovcnt ); } 122 AUE_SETTIMEOFDAY STD { int settimeofday( _In_ _Contains_long_timet_ const struct timeval *tv, _In_opt_ const struct timezone *tzp ); } 123 AUE_FCHOWN STD|CAPENABLED { int fchown( int fd, int uid, int gid ); } 124 AUE_FCHMOD STD|CAPENABLED { int fchmod( int fd, mode_t mode ); } 125 AUE_RECVFROM COMPAT|NOARGS|CAPENABLED { int recvfrom( int s, _Out_writes_(len) void *buf, size_t len, int flags, _Out_writes_bytes_(*fromlenaddr) struct sockaddr *from, _Inout_ __socklen_t *fromlenaddr ); } recvfrom recvfrom_args int 126 AUE_SETREUID STD|CAPENABLED { int setreuid( int ruid, int euid ); } 127 AUE_SETREGID STD|CAPENABLED { int setregid( int rgid, int egid ); } 128 AUE_RENAME STD { int rename( _In_z_ const char *from, _In_z_ const char *to ); } 129 AUE_TRUNCATE COMPAT { int truncate( _In_z_ const char *path, long length ); } 130 AUE_FTRUNCATE COMPAT|CAPENABLED { int ftruncate( int fd, long length ); } 131 AUE_FLOCK STD|CAPENABLED { int flock( int fd, int how ); } 132 AUE_MKFIFO STD { int mkfifo( _In_z_ const char *path, mode_t mode ); } 133 AUE_SENDTO STD|CAPENABLED { ssize_t sendto( int s, _In_reads_bytes_(len) const void *buf, size_t len, int flags, _In_reads_bytes_opt_(tolen) const struct sockaddr *to, __socklen_t tolen ); } 134 AUE_SHUTDOWN STD|CAPENABLED { int shutdown( int s, int how ); } 135 AUE_SOCKETPAIR STD|CAPENABLED { int socketpair( int domain, int type, int protocol, _Out_writes_(2) int *rsv ); } 136 AUE_MKDIR STD { int mkdir( _In_z_ const char *path, mode_t mode ); } 137 AUE_RMDIR STD { int rmdir( _In_z_ const char *path ); } 138 AUE_UTIMES STD { int utimes( _In_z_ const char *path, _In_ _Contains_long_timet_ const struct timeval *tptr ); } 139 AUE_NULL OBSOL 4.2 sigreturn 140 AUE_ADJTIME STD { int adjtime( _In_ _Contains_long_timet_ const struct timeval *delta, _Out_opt_ _Contains_long_timet_ struct timeval *olddelta ); } 141 AUE_GETPEERNAME COMPAT|CAPENABLED { int getpeername( int fdes, _Out_writes_bytes_(*alen) struct sockaddr *asa, _Inout_opt_ __socklen_t *alen ); } 142 AUE_SYSCTL COMPAT|CAPENABLED { long gethostid(void); } 143 AUE_SYSCTL COMPAT { int sethostid( long hostid ); } 144 AUE_GETRLIMIT COMPAT|CAPENABLED { int getrlimit( u_int which, _Out_ struct orlimit *rlp ); } 145 AUE_SETRLIMIT COMPAT|CAPENABLED { int setrlimit( u_int which, _Out_ struct orlimit *rlp ); } 146 AUE_KILLPG COMPAT { int killpg( int pgid, int signum ); } 147 AUE_SETSID STD|CAPENABLED { int setsid(void); } 148 AUE_QUOTACTL STD { int quotactl( _In_z_ const char *path, int cmd, int uid, _In_ void *arg ); } 149 AUE_O_QUOTA COMPAT { int quota(void); } 150 AUE_GETSOCKNAME COMPAT|NOARGS|CAPENABLED { int getsockname( int fdec, _Out_writes_bytes_(*alen) struct sockaddr *asa, _Inout_ __socklen_t *alen ); } getsockname getsockname_args int 151-153 AUE_NULL RESERVED ; 154 is initialised by the NLM code, if present. 154 AUE_NULL NOSTD { int nlm_syscall( int debug_level, int grace_period, int addr_count, _In_reads_(addr_count) char **addrs ); } ; 155 is initialized by the NFS code, if present. 155 AUE_NFS_SVC NOSTD { int nfssvc( int flag, _In_ void *argp ); } 156 AUE_GETDIRENTRIES COMPAT|CAPENABLED { int getdirentries( int fd, _Out_writes_bytes_(count) char *buf, u_int count, _Out_ long *basep ); } 157 AUE_STATFS COMPAT4 { int statfs( _In_z_ const char *path, _Out_ _Contains_long_ struct ostatfs *buf ); } 158 AUE_FSTATFS COMPAT4|CAPENABLED { int fstatfs( int fd, _Out_ _Contains_long_ struct ostatfs *buf ); } 159 AUE_NULL RESERVED 160 AUE_LGETFH STD { int lgetfh( _In_z_ const char *fname, _Out_ struct fhandle *fhp ); } 161 AUE_NFS_GETFH STD { int getfh( _In_z_ const char *fname, _Out_ struct fhandle *fhp ); } 162 AUE_SYSCTL COMPAT4|CAPENABLED { int getdomainname( _Out_writes_z_(len) char *domainname, int len ); } 163 AUE_SYSCTL COMPAT4 { int setdomainname( _In_reads_z_(len) char *domainname, int len ); } 164 AUE_NULL COMPAT4 { int uname( _Out_ struct utsname *name ); } 165 AUE_SYSARCH STD|CAPENABLED { int sysarch( int op, _In_z_ char *parms ); } 166 AUE_RTPRIO STD|CAPENABLED { int rtprio( int function, pid_t pid, _Inout_ struct rtprio *rtp ); } 167-168 AUE_NULL RESERVED 169 AUE_SEMSYS NOSTD { int semsys( int which, int a2, int a3, int a4, int a5 ); } ; XXX should be { int semsys(int which, ...); } 170 AUE_MSGSYS NOSTD { int msgsys( int which, int a2, int a3, int a4, int a5, int a6 ); } ; XXX should be { int msgsys(int which, ...); } 171 AUE_SHMSYS NOSTD { int shmsys( int which, int a2, int a3, int a4 ); } ; XXX should be { int shmsys(int which, ...); } 172 AUE_NULL RESERVED 173 AUE_PREAD COMPAT6|CAPENABLED { ssize_t pread( int fd, _Out_writes_bytes_(nbyte) void *buf, size_t nbyte, int pad, off_t offset ); } 174 AUE_PWRITE COMPAT6|CAPENABLED { ssize_t pwrite( int fd, _In_reads_bytes_(nbyte) const void *buf, size_t nbyte, int pad, off_t offset ); } 175 AUE_SETFIB STD { int setfib( int fibnum ); } 176 AUE_NTP_ADJTIME STD { int ntp_adjtime( _Inout_ _Contains_long_ struct timex *tp ); } 177-180 AUE_NULL RESERVED 181 AUE_SETGID STD|CAPENABLED { int setgid( gid_t gid ); } 182 AUE_SETEGID STD|CAPENABLED { int setegid( gid_t egid ); } 183 AUE_SETEUID STD|CAPENABLED { int seteuid( uid_t euid ); } 184 AUE_NULL OBSOL lfs_bmapv 185 AUE_NULL OBSOL lfs_markv 186 AUE_NULL OBSOL lfs_segclean 187 AUE_NULL OBSOL lfs_segwait 188 AUE_STAT COMPAT11 { int stat( _In_z_ const char *path, _Out_ _Contains_timet_ struct freebsd11_stat *ub ); } 189 AUE_FSTAT COMPAT11|CAPENABLED { int fstat( int fd, _Out_ _Contains_timet_ struct freebsd11_stat *sb ); } 190 AUE_LSTAT COMPAT11 { int lstat( _In_z_ const char *path, _Out_ _Contains_timet_ struct freebsd11_stat *ub ); } 191 AUE_PATHCONF STD { int pathconf( _In_z_ const char *path, int name ); } 192 AUE_FPATHCONF STD|CAPENABLED { int fpathconf( int fd, int name ); } 193 AUE_NULL RESERVED 194 AUE_GETRLIMIT STD|CAPENABLED { int getrlimit( u_int which, _Out_ struct rlimit *rlp ); } getrlimit __getrlimit_args int 195 AUE_SETRLIMIT STD|CAPENABLED { int setrlimit( u_int which, _In_ struct rlimit *rlp ); } setrlimit __setrlimit_args int 196 AUE_GETDIRENTRIES COMPAT11|CAPENABLED { int getdirentries( int fd, _Out_writes_bytes_(count) char *buf, u_int count, _Out_ long *basep ); } 197 AUE_MMAP COMPAT6|CAPENABLED { void *mmap( _In_ void *addr, size_t len, int prot, int flags, int fd, int pad, off_t pos ); } 198 AUE_NULL NOPROTO { int nosys(void); } __syscall __syscall_args int 199 AUE_LSEEK COMPAT6|CAPENABLED { off_t lseek( int fd, int pad, off_t offset, int whence ); } 200 AUE_TRUNCATE COMPAT6 { int truncate( _In_z_ const char *path, int pad, off_t length ); } 201 AUE_FTRUNCATE COMPAT6|CAPENABLED { int ftruncate( int fd, int pad, off_t length ); } 202 AUE_SYSCTL STD|CAPENABLED { int __sysctl( _In_reads_(namelen) int *name, u_int namelen, _Out_writes_bytes_opt_(*oldlenp) void *old, _Inout_opt_ size_t *oldlenp, _In_reads_bytes_opt_(newlen) const void *new, size_t newlen ); } 203 AUE_MLOCK STD|CAPENABLED { int mlock( _In_ const void *addr, size_t len ); } 204 AUE_MUNLOCK STD|CAPENABLED { int munlock( _In_ const void *addr, size_t len ); } 205 AUE_UNDELETE STD { int undelete( _In_z_ const char *path ); } 206 AUE_FUTIMES STD|CAPENABLED { int futimes( int fd, _In_reads_(2) _Contains_long_timet_ const struct timeval *tptr ); } 207 AUE_GETPGID STD|CAPENABLED { int getpgid( pid_t pid ); } 208 AUE_NULL RESERVED 209 AUE_POLL STD|CAPENABLED { int poll( _Inout_updates_(nfds) struct pollfd *fds, u_int nfds, int timeout ); } ; ; The following are reserved for loadable syscalls ; 210 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 211 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 212 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 213 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 214 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 215 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 216 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 217 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 218 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 219 AUE_NULL NODEF|NOTSTATIC lkmnosys lkmnosys nosys_args int 220 AUE_SEMCTL COMPAT7|NOSTD { int __semctl( int semid, int semnum, int cmd, _Contains_ptr_ union semun_old *arg ); } 221 AUE_SEMGET NOSTD { int semget( key_t key, int nsems, int semflg ); } 222 AUE_SEMOP NOSTD { int semop( int semid, _In_reads_(nsops) struct sembuf *sops, size_t nsops ); } 223 AUE_NULL OBSOL semconfig 224 AUE_MSGCTL COMPAT7|NOSTD { int msgctl( int msqid, int cmd, _Contains_long_ptr_timet_ struct msqid_ds_old *buf ); } 225 AUE_MSGGET NOSTD { int msgget( key_t key, int msgflg ); } 226 AUE_MSGSND NOSTD { int msgsnd( int msqid, _In_reads_bytes_(msgsz) _Contains_long_ const void *msgp, size_t msgsz, int msgflg ); } 227 AUE_MSGRCV NOSTD { ssize_t msgrcv( int msqid, _Out_writes_bytes_(msgsz) _Contains_long_ void *msgp, size_t msgsz, long msgtyp, int msgflg ); } 228 AUE_SHMAT NOSTD { void *shmat( int shmid, _In_ const void *shmaddr, int shmflg ); } 229 AUE_SHMCTL COMPAT7|NOSTD { int shmctl( int shmid, int cmd, _Contains_long_ struct shmid_ds_old *buf ); } 230 AUE_SHMDT NOSTD { int shmdt( _In_ const void *shmaddr ); } 231 AUE_SHMGET NOSTD { int shmget( key_t key, size_t size, int shmflg ); } 232 AUE_NULL STD|CAPENABLED { int clock_gettime( clockid_t clock_id, _Out_ _Contains_long_timet_ struct timespec *tp ); } 233 AUE_CLOCK_SETTIME STD { int clock_settime( clockid_t clock_id, _In_ _Contains_long_timet_ const struct timespec *tp ); } 234 AUE_NULL STD|CAPENABLED { int clock_getres( clockid_t clock_id, _Out_ _Contains_long_timet_ struct timespec *tp ); } 235 AUE_NULL STD|CAPENABLED { int ktimer_create( clockid_t clock_id, _In_ _Contains_long_ptr_ struct sigevent *evp, _Out_ int *timerid ); } 236 AUE_NULL STD|CAPENABLED { int ktimer_delete( int timerid ); } 237 AUE_NULL STD|CAPENABLED { int ktimer_settime( int timerid, int flags, _In_ _Contains_long_timet_ const struct itimerspec *value, _Out_opt_ _Contains_long_timet_ struct itimerspec *ovalue ); } 238 AUE_NULL STD|CAPENABLED { int ktimer_gettime( int timerid, _Out_ _Contains_long_timet_ struct itimerspec *value ); } 239 AUE_NULL STD|CAPENABLED { int ktimer_getoverrun( int timerid ); } 240 AUE_NULL STD|CAPENABLED { int nanosleep( _In_ _Contains_long_timet_ const struct timespec *rqtp, _Out_opt_ _Contains_long_timet_ struct timespec *rmtp ); } 241 AUE_NULL STD { int ffclock_getcounter( _Out_ ffcounter *ffcount ); } 242 AUE_NULL STD { int ffclock_setestimate( _In_ _Contains_timet_ struct ffclock_estimate *cest ); } 243 AUE_NULL STD { int ffclock_getestimate( _Out_ _Contains_timet_ struct ffclock_estimate *cest ); } 244 AUE_NULL STD { int clock_nanosleep( clockid_t clock_id, int flags, _In_ _Contains_long_timet_ const struct timespec *rqtp, _Out_opt_ _Contains_long_timet_ struct timespec *rmtp ); } 245-246 AUE_NULL RESERVED 247 AUE_NULL STD { int clock_getcpuclockid2( id_t id, int which, _Out_ clockid_t *clock_id ); } 248 AUE_NULL STD|CAPENABLED { int ntp_gettime( _Out_ _Contains_long_timet_ struct ntptimeval *ntvp ); } 249 AUE_NULL RESERVED 250 AUE_MINHERIT STD|CAPENABLED { int minherit( _In_ void *addr, size_t len, int inherit ); } 251 AUE_RFORK STD { int rfork( int flags ); } 252 AUE_POLL OBSOL openbsd_poll 253 AUE_ISSETUGID STD|CAPENABLED { int issetugid(void); } 254 AUE_LCHOWN STD { int lchown( _In_z_ const char *path, int uid, int gid ); } 255 AUE_AIO_READ STD|CAPENABLED { int aio_read( _Inout_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 256 AUE_AIO_WRITE STD|CAPENABLED { int aio_write( _Inout_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 257 AUE_LIO_LISTIO STD|CAPENABLED { int lio_listio( int mode, _Inout_updates_(nent) _Contains_long_ptr_ struct aiocb * const *acb_list, int nent, _In_opt_ _Contains_long_ptr_ struct sigevent *sig ); } 258-271 AUE_NULL RESERVED 272 AUE_O_GETDENTS COMPAT11|CAPENABLED { int getdents( int fd, _Out_writes_bytes_(count) char *buf, size_t count ); } 273 AUE_NULL RESERVED 274 AUE_LCHMOD STD { int lchmod( _In_z_ const char *path, mode_t mode ); } 275 AUE_NULL OBSOL netbsd_lchown 276 AUE_LUTIMES STD { int lutimes( _In_z_ const char *path, _In_ _Contains_long_timet_ const struct timeval *tptr ); } 277 AUE_NULL OBSOL netbsd_msync 278 AUE_STAT COMPAT11 { int nstat( _In_z_ const char *path, _Out_ _Contains_long_timet_ struct nstat *ub ); } 279 AUE_FSTAT COMPAT11 { int nfstat( int fd, _Out_ _Contains_long_timet_ struct nstat *sb ); } 280 AUE_LSTAT COMPAT11 { int nlstat( _In_z_ const char *path, _Out_ _Contains_long_timet_ struct nstat *ub ); } 281-288 AUE_NULL RESERVED 289 AUE_PREADV STD|CAPENABLED { ssize_t preadv( int fd, _In_reads_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, u_int iovcnt, off_t offset ); } 290 AUE_PWRITEV STD|CAPENABLED { ssize_t pwritev( int fd, _In_reads_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, u_int iovcnt, off_t offset ); } 291-296 AUE_NULL RESERVED 297 AUE_FHSTATFS COMPAT4 { int fhstatfs( _In_ const struct fhandle *u_fhp, _Out_ _Contains_long_ struct ostatfs *buf ); } 298 AUE_FHOPEN STD { int fhopen( _In_ const struct fhandle *u_fhp, int flags ); } 299 AUE_FHSTAT COMPAT11 { int fhstat( _In_ const struct fhandle *u_fhp, _Out_ _Contains_long_timet_ struct freebsd11_stat *sb ); } 300 AUE_NULL STD { int modnext( int modid ); } 301 AUE_NULL STD { int modstat( int modid, _Out_ _Contains_long_ struct module_stat *stat ); } 302 AUE_NULL STD { int modfnext( int modid ); } 303 AUE_NULL STD { int modfind( _In_z_ const char *name ); } 304 AUE_MODLOAD STD { int kldload( _In_z_ const char *file ); } 305 AUE_MODUNLOAD STD { int kldunload( int fileid ); } 306 AUE_NULL STD { int kldfind( _In_z_ const char *file ); } 307 AUE_NULL STD { int kldnext( int fileid ); } 308 AUE_NULL STD { int kldstat( int fileid, _Out_ _Contains_long_ptr_ struct kld_file_stat *stat ); } 309 AUE_NULL STD { int kldfirstmod( int fileid ); } 310 AUE_GETSID STD|CAPENABLED { int getsid( pid_t pid ); } 311 AUE_SETRESUID STD|CAPENABLED { int setresuid( uid_t ruid, uid_t euid, uid_t suid ); } 312 AUE_SETRESGID STD|CAPENABLED { int setresgid( gid_t rgid, gid_t egid, gid_t sgid ); } 313 AUE_NULL OBSOL signanosleep 314 AUE_AIO_RETURN STD|CAPENABLED { ssize_t aio_return( _Inout_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 315 AUE_AIO_SUSPEND STD|CAPENABLED { int aio_suspend( _Inout_updates_(nent) _Contains_long_ptr_ struct aiocb * const * aiocbp, int nent, _In_opt_ _Contains_long_timet_ const struct timespec *timeout ); } 316 AUE_AIO_CANCEL STD|CAPENABLED { int aio_cancel( int fd, _In_opt_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 317 AUE_AIO_ERROR STD|CAPENABLED { int aio_error( _In_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 318 AUE_AIO_READ COMPAT6|CAPENABLED { int aio_read( _Inout_ _Contains_long_ptr_ struct oaiocb *aiocbp ); } 319 AUE_AIO_WRITE COMPAT6|CAPENABLED { int aio_write( _Inout_ _Contains_long_ptr_ struct oaiocb *aiocbp ); } 320 AUE_LIO_LISTIO COMPAT6|CAPENABLED { int lio_listio( int mode, _Inout_updates_(nent) _Contains_long_ptr_ struct oaiocb * const *acb_list, int nent, _In_opt_ _Contains_ptr_ struct osigevent *sig ); } 321 AUE_NULL STD|CAPENABLED { int yield(void); } 322 AUE_NULL OBSOL thr_sleep 323 AUE_NULL OBSOL thr_wakeup 324 AUE_MLOCKALL STD|CAPENABLED { int mlockall( int how ); } 325 AUE_MUNLOCKALL STD|CAPENABLED { int munlockall(void); } 326 AUE_GETCWD STD { int __getcwd( _Out_writes_z_(buflen) char *buf, size_t buflen ); } 327 AUE_NULL STD|CAPENABLED { int sched_setparam( pid_t pid, _In_ const struct sched_param *param ); } 328 AUE_NULL STD|CAPENABLED { int sched_getparam( pid_t pid, _Out_ struct sched_param *param ); } 329 AUE_NULL STD|CAPENABLED { int sched_setscheduler( pid_t pid, int policy, _In_ const struct sched_param *param ); } 330 AUE_NULL STD|CAPENABLED { int sched_getscheduler( pid_t pid ); } 331 AUE_NULL STD|CAPENABLED { int sched_yield(void); } 332 AUE_NULL STD|CAPENABLED { int sched_get_priority_max( int policy ); } 333 AUE_NULL STD|CAPENABLED { int sched_get_priority_min( int policy ); } 334 AUE_NULL STD|CAPENABLED { int sched_rr_get_interval( pid_t pid, _Out_ _Contains_long_timet_ struct timespec *interval ); } 335 AUE_NULL STD|CAPENABLED { int utrace( _In_reads_bytes_(len) const void *addr, size_t len ); } 336 AUE_SENDFILE COMPAT4|CAPENABLED { int sendfile( int fd, int s, off_t offset, size_t nbytes, _In_opt_ _Contains_ptr_ struct sf_hdtr *hdtr, _Out_opt_ off_t *sbytes, int flags ); } 337 AUE_NULL STD { int kldsym( int fileid, int cmd, _In_ _Contains_long_ptr_ void *data ); } 338 AUE_JAIL STD { int jail( _In_ _Contains_ptr_ struct jail *jail ); } 339 AUE_NULL NOSTD|NOTSTATIC { int nnpfs_syscall( int operation, char *a_pathP, int a_opcode, void *a_paramsP, int a_followSymlinks ); } 340 AUE_SIGPROCMASK STD|CAPENABLED { int sigprocmask( int how, _In_opt_ const sigset_t *set, _Out_opt_ sigset_t *oset ); } 341 AUE_SIGSUSPEND STD|CAPENABLED { int sigsuspend( _In_ const sigset_t *sigmask ); } 342 AUE_SIGACTION COMPAT4|CAPENABLED { int sigaction( int sig, _In_opt_ _Contains_ptr_ const struct sigaction *act, _Out_opt_ _Contains_ptr_ struct sigaction *oact ); } 343 AUE_SIGPENDING STD|CAPENABLED { int sigpending( _In_ sigset_t *set ); } 344 AUE_SIGRETURN COMPAT4|CAPENABLED { int sigreturn( _In_ _Contains_long_ptr_ const struct freebsd4_ucontext *sigcntxp ); } 345 AUE_SIGWAIT STD|CAPENABLED { int sigtimedwait( _In_ const sigset_t *set, _Out_opt_ _Contains_long_ptr_ struct siginfo *info, _In_opt_ _Contains_long_timet_ const struct timespec *timeout ); } 346 AUE_NULL STD|CAPENABLED { int sigwaitinfo( _In_ const sigset_t *set, _Out_opt_ _Contains_long_ptr_ struct siginfo *info ); } 347 AUE_ACL_GET_FILE STD { int __acl_get_file( _In_z_ const char *path, acl_type_t type, _Out_ struct acl *aclp ); } 348 AUE_ACL_SET_FILE STD { int __acl_set_file( _In_z_ const char *path, acl_type_t type, _In_ struct acl *aclp ); } 349 AUE_ACL_GET_FD STD|CAPENABLED { int __acl_get_fd( int filedes, acl_type_t type, _Out_ struct acl *aclp ); } 350 AUE_ACL_SET_FD STD|CAPENABLED { int __acl_set_fd( int filedes, acl_type_t type, _In_ struct acl *aclp ); } 351 AUE_ACL_DELETE_FILE STD { int __acl_delete_file( _In_z_ const char *path, acl_type_t type ); } 352 AUE_ACL_DELETE_FD STD|CAPENABLED { int __acl_delete_fd( int filedes, acl_type_t type ); } 353 AUE_ACL_CHECK_FILE STD { int __acl_aclcheck_file( _In_z_ const char *path, acl_type_t type, _In_ struct acl *aclp ); } 354 AUE_ACL_CHECK_FD STD|CAPENABLED { int __acl_aclcheck_fd( int filedes, acl_type_t type, _In_ struct acl *aclp ); } 355 AUE_EXTATTRCTL STD { int extattrctl( _In_z_ const char *path, int cmd, _In_z_opt_ const char *filename, int attrnamespace, _In_z_ const char *attrname ); } 356 AUE_EXTATTR_SET_FILE STD { ssize_t extattr_set_file( _In_z_ const char *path, int attrnamespace, _In_z_ const char *attrname, _In_reads_bytes_(nbytes) void *data, size_t nbytes ); } 357 AUE_EXTATTR_GET_FILE STD { ssize_t extattr_get_file( _In_z_ const char *path, int attrnamespace, _In_z_ const char *attrname, _Out_writes_bytes_(nbytes) void *data, size_t nbytes ); } 358 AUE_EXTATTR_DELETE_FILE STD { int extattr_delete_file( _In_z_ const char *path, int attrnamespace, _In_z_ const char *attrname ); } 359 AUE_AIO_WAITCOMPLETE STD|CAPENABLED { ssize_t aio_waitcomplete( _Outptr_result_maybenull_ struct aiocb **aiocbp, _In_opt_ _Contains_long_timet_ struct timespec *timeout ); } 360 AUE_GETRESUID STD|CAPENABLED { int getresuid( _Out_opt_ uid_t *ruid, _Out_opt_ uid_t *euid, _Out_opt_ uid_t *suid ); } 361 AUE_GETRESGID STD|CAPENABLED { int getresgid( _Out_opt_ gid_t *rgid, _Out_opt_ gid_t *egid, _Out_opt_ gid_t *sgid ); } 362 AUE_KQUEUE STD|CAPENABLED { int kqueue(void); } 363 AUE_KEVENT COMPAT11|CAPENABLED { int kevent( int fd, _In_reads_opt_(nchanges) _Contains_ptr_ const struct freebsd11_kevent *changelist, int nchanges, _Out_writes_opt_(nevents) _Contains_ptr_ struct freebsd11_kevent *eventlist, int nevents, _In_opt_ _Contains_long_timet_ const struct timespec *timeout ); } 364 AUE_NULL OBSOL __cap_get_proc 365 AUE_NULL OBSOL __cap_set_proc 366 AUE_NULL OBSOL __cap_get_fd 367 AUE_NULL OBSOL __cap_get_file 368 AUE_NULL OBSOL __cap_set_fd 369 AUE_NULL OBSOL __cap_set_file 370 AUE_NULL RESERVED 371 AUE_EXTATTR_SET_FD STD|CAPENABLED { ssize_t extattr_set_fd( int fd, int attrnamespace, _In_z_ const char *attrname, _In_reads_bytes_(nbytes) void *data, size_t nbytes ); } 372 AUE_EXTATTR_GET_FD STD|CAPENABLED { ssize_t extattr_get_fd( int fd, int attrnamespace, _In_z_ const char *attrname, _Out_writes_bytes_(nbytes) void *data, size_t nbytes ); } 373 AUE_EXTATTR_DELETE_FD STD|CAPENABLED { int extattr_delete_fd( int fd, int attrnamespace, _In_z_ const char *attrname ); } 374 AUE_SETUGID STD { int __setugid( int flag ); } 375 AUE_NULL OBSOL nfsclnt 376 AUE_EACCESS STD { int eaccess( _In_z_ const char *path, int amode ); } 377 AUE_NULL NOSTD|NOTSTATIC { int afs3_syscall( long syscall, long parm1, long parm2, long parm3, long parm4, long parm5, long parm6 ); } 378 AUE_NMOUNT STD { int nmount( _In_reads_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, unsigned int iovcnt, int flags ); } 379 AUE_NULL OBSOL kse_exit 380 AUE_NULL OBSOL kse_wakeup 381 AUE_NULL OBSOL kse_create 382 AUE_NULL OBSOL kse_thr_interrupt 383 AUE_NULL OBSOL kse_release 384 AUE_NULL STD|CAPENABLED { int __mac_get_proc( _In_ _Contains_long_ptr_ struct mac *mac_p ); } 385 AUE_NULL STD|CAPENABLED { int __mac_set_proc( _In_ _Contains_long_ptr_ struct mac *mac_p ); } 386 AUE_NULL STD|CAPENABLED { int __mac_get_fd( int fd, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 387 AUE_NULL STD { int __mac_get_file( _In_z_ const char *path_p, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 388 AUE_NULL STD|CAPENABLED { int __mac_set_fd( int fd, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 389 AUE_NULL STD { int __mac_set_file( _In_z_ const char *path_p, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 390 AUE_NULL STD { int kenv( int what, _In_z_opt_ const char *name, _Inout_updates_opt_(len) char *value, int len ); } 391 AUE_LCHFLAGS STD { int lchflags( _In_z_ const char *path, u_long flags ); } 392 AUE_NULL STD|CAPENABLED { int uuidgen( _Out_writes_(count) struct uuid *store, int count ); } 393 AUE_SENDFILE STD|CAPENABLED { int sendfile( int fd, int s, off_t offset, size_t nbytes, _In_opt_ _Contains_ptr_ struct sf_hdtr *hdtr, _Out_opt_ off_t *sbytes, int flags ); } 394 AUE_NULL STD { int mac_syscall( _In_z_ const char *policy, int call, _In_opt_ void *arg ); } 395 AUE_GETFSSTAT COMPAT11 { int getfsstat( _Out_writes_bytes_opt_(bufsize) struct freebsd11_statfs *buf, long bufsize, int mode ); } 396 AUE_STATFS COMPAT11 { int statfs( _In_z_ const char *path, _Out_ struct freebsd11_statfs *buf ); } 397 AUE_FSTATFS COMPAT11|CAPENABLED { int fstatfs( int fd, _Out_ struct freebsd11_statfs *buf ); } 398 AUE_FHSTATFS COMPAT11 { int fhstatfs( _In_ const struct fhandle *u_fhp, _Out_ struct freebsd11_statfs *buf ); } 399 AUE_NULL RESERVED 400 AUE_SEMCLOSE NOSTD { int ksem_close( semid_t id ); } 401 AUE_SEMPOST NOSTD { int ksem_post( semid_t id ); } 402 AUE_SEMWAIT NOSTD { int ksem_wait( semid_t id ); } 403 AUE_SEMTRYWAIT NOSTD { int ksem_trywait( semid_t id ); } 404 AUE_SEMINIT NOSTD { int ksem_init( _Out_ semid_t *idp, unsigned int value ); } 405 AUE_SEMOPEN NOSTD { int ksem_open( _Out_ semid_t *idp, _In_z_ const char *name, int oflag, mode_t mode, unsigned int value ); } 406 AUE_SEMUNLINK NOSTD { int ksem_unlink( _In_z_ const char *name ); } 407 AUE_SEMGETVALUE NOSTD { int ksem_getvalue( semid_t id, _Out_ int *val ); } 408 AUE_SEMDESTROY NOSTD { int ksem_destroy( semid_t id ); } 409 AUE_NULL STD { int __mac_get_pid( pid_t pid, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 410 AUE_NULL STD { int __mac_get_link( _In_z_ const char *path_p, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 411 AUE_NULL STD { int __mac_set_link( _In_z_ const char *path_p, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 412 AUE_EXTATTR_SET_LINK STD { ssize_t extattr_set_link( _In_z_ const char *path, int attrnamespace, _In_z_ const char *attrname, _In_reads_bytes_(nbytes) void *data, size_t nbytes ); } 413 AUE_EXTATTR_GET_LINK STD { ssize_t extattr_get_link( _In_z_ const char *path, int attrnamespace, _In_z_ const char *attrname, _Out_writes_bytes_(nbytes) void *data, size_t nbytes ); } 414 AUE_EXTATTR_DELETE_LINK STD { int extattr_delete_link( _In_z_ const char *path, int attrnamespace, _In_z_ const char *attrname ); } 415 AUE_NULL STD { int __mac_execve( _In_z_ const char *fname, _In_ char **argv, _In_ char **envv, _In_ _Contains_long_ptr_ struct mac *mac_p ); } 416 AUE_SIGACTION STD|CAPENABLED { int sigaction( int sig, _In_opt_ _Contains_ptr_ const struct sigaction *act, _Out_opt_ _Contains_ptr_ struct sigaction *oact ); } 417 AUE_SIGRETURN STD|CAPENABLED { int sigreturn( _In_ _Contains_long_ptr_ const struct __ucontext *sigcntxp ); } 418-420 AUE_NULL RESERVED 421 AUE_NULL STD|CAPENABLED { int getcontext( _Out_ _Contains_long_ptr_ struct __ucontext *ucp ); } 422 AUE_NULL STD|CAPENABLED { int setcontext( _In_ _Contains_long_ptr_ const struct __ucontext *ucp ); } 423 AUE_NULL STD { int swapcontext( _Out_ _Contains_long_ptr_ struct __ucontext *oucp, _In_ _Contains_long_ptr_ const struct __ucontext *ucp ); } 424 AUE_SWAPOFF STD { int swapoff( _In_z_ const char *name ); } 425 AUE_ACL_GET_LINK STD { int __acl_get_link( _In_z_ const char *path, acl_type_t type, _Out_ struct acl *aclp ); } 426 AUE_ACL_SET_LINK STD { int __acl_set_link( _In_z_ const char *path, acl_type_t type, _In_ struct acl *aclp ); } 427 AUE_ACL_DELETE_LINK STD { int __acl_delete_link( _In_z_ const char *path, acl_type_t type ); } 428 AUE_ACL_CHECK_LINK STD { int __acl_aclcheck_link( _In_z_ const char *path, acl_type_t type, _In_ struct acl *aclp ); } 429 AUE_SIGWAIT STD|CAPENABLED { int sigwait( _In_ const sigset_t *set, _Out_ int *sig ); } 430 AUE_THR_CREATE STD|CAPENABLED { int thr_create( _In_ _Contains_long_ptr_ ucontext_t *ctx, _Out_ long *id, int flags ); } 431 AUE_THR_EXIT STD|CAPENABLED { void thr_exit( _Out_opt_ long *state ); } 432 AUE_NULL STD|CAPENABLED { int thr_self( _Out_ long *id ); } 433 AUE_THR_KILL STD|CAPENABLED { int thr_kill( long id, int sig ); } 434 AUE_NULL COMPAT10 { int _umtx_lock( _Inout_ struct umtx *umtx ); } 435 AUE_NULL COMPAT10 { int _umtx_unlock( _Inout_ struct umtx *umtx ); } 436 AUE_JAIL_ATTACH STD { int jail_attach( int jid ); } 437 AUE_EXTATTR_LIST_FD STD|CAPENABLED { ssize_t extattr_list_fd( int fd, int attrnamespace, _Out_writes_bytes_opt_(nbytes) void *data, size_t nbytes ); } 438 AUE_EXTATTR_LIST_FILE STD { ssize_t extattr_list_file( _In_z_ const char *path, int attrnamespace, _Out_writes_bytes_opt_(nbytes) void *data, size_t nbytes ); } 439 AUE_EXTATTR_LIST_LINK STD { ssize_t extattr_list_link( _In_z_ const char *path, int attrnamespace, _Out_writes_bytes_opt_(nbytes) void *data, size_t nbytes ); } 440 AUE_NULL OBSOL kse_switchin 441 AUE_SEMWAIT NOSTD { int ksem_timedwait( semid_t id, _In_opt_ _Contains_long_timet_ const struct timespec *abstime ); } 442 AUE_NULL STD|CAPENABLED { int thr_suspend( _In_opt_ _Contains_long_timet_ const struct timespec *timeout ); } 443 AUE_NULL STD|CAPENABLED { int thr_wake( long id ); } 444 AUE_MODUNLOAD STD { int kldunloadf( int fileid, int flags ); } 445 AUE_AUDIT STD { int audit( _In_reads_bytes_(length) const void *record, u_int length ); } 446 AUE_AUDITON STD { int auditon( int cmd, _In_opt_ void *data, u_int length ); } 447 AUE_GETAUID STD|CAPENABLED { int getauid( _Out_ uid_t *auid ); } 448 AUE_SETAUID STD|CAPENABLED { int setauid( _In_ uid_t *auid ); } 449 AUE_GETAUDIT STD|CAPENABLED { int getaudit( _Out_ struct auditinfo *auditinfo ); } 450 AUE_SETAUDIT STD|CAPENABLED { int setaudit( _In_ struct auditinfo *auditinfo ); } 451 AUE_GETAUDIT_ADDR STD|CAPENABLED { int getaudit_addr( _Out_writes_bytes_(length) struct auditinfo_addr *auditinfo_addr, u_int length ); } 452 AUE_SETAUDIT_ADDR STD|CAPENABLED { int setaudit_addr( _In_reads_bytes_(length) struct auditinfo_addr *auditinfo_addr, u_int length ); } 453 AUE_AUDITCTL STD { int auditctl( _In_z_ const char *path ); } 454 AUE_NULL STD|CAPENABLED { int _umtx_op( _Inout_ void *obj, int op, u_long val, _In_ void *uaddr1, _In_ void *uaddr2 ); } 455 AUE_THR_NEW STD|CAPENABLED { int thr_new( _In_ _Contains_long_ptr_ struct thr_param *param, int param_size ); } 456 AUE_NULL STD|CAPENABLED { int sigqueue( pid_t pid, int signum, _In_ void *value ); } 457 AUE_MQ_OPEN NOSTD { int kmq_open( _In_z_ const char *path, int flags, mode_t mode, _In_opt_ _Contains_long_ const struct mq_attr *attr ); } 458 AUE_MQ_SETATTR NOSTD|CAPENABLED { int kmq_setattr( int mqd, _In_opt_ _Contains_long_ const struct mq_attr *attr, _Out_opt_ _Contains_long_ struct mq_attr *oattr ); } 459 AUE_MQ_TIMEDRECEIVE NOSTD|CAPENABLED { int kmq_timedreceive( int mqd, _Out_writes_bytes_(msg_len) char *msg_ptr, size_t msg_len, _Out_opt_ unsigned *msg_prio, _In_opt_ _Contains_long_timet_ const struct timespec *abs_timeout ); } 460 AUE_MQ_TIMEDSEND NOSTD|CAPENABLED { int kmq_timedsend( int mqd, _In_reads_bytes_(msg_len) const char *msg_ptr, size_t msg_len, unsigned msg_prio, _In_opt_ _Contains_long_timet_ const struct timespec *abs_timeout ); } 461 AUE_MQ_NOTIFY NOSTD|CAPENABLED { int kmq_notify( int mqd, _In_opt_ _Contains_long_ptr_ const struct sigevent *sigev ); } 462 AUE_MQ_UNLINK NOSTD { int kmq_unlink( _In_z_ const char *path ); } 463 AUE_NULL STD|CAPENABLED { void abort2( _In_z_ const char *why, int nargs, _In_reads_(nargs) void **args ); } 464 AUE_NULL STD|CAPENABLED { int thr_set_name( long id, _In_z_ const char *name ); } 465 AUE_AIO_FSYNC STD|CAPENABLED { int aio_fsync( int op, _In_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 466 AUE_RTPRIO STD|CAPENABLED { int rtprio_thread( int function, lwpid_t lwpid, _Inout_ struct rtprio *rtp ); } 467-470 AUE_NULL RESERVED 471 AUE_SCTP_PEELOFF NOSTD|CAPENABLED { int sctp_peeloff( int sd, uint32_t name ); } 472 AUE_SCTP_GENERIC_SENDMSG NOSTD|CAPENABLED { int sctp_generic_sendmsg( int sd, _In_reads_bytes_(mlen) void *msg, int mlen, _In_reads_bytes_(tolen) const struct sockaddr *to, __socklen_t tolen, _In_opt_ struct sctp_sndrcvinfo *sinfo, int flags ); } 473 AUE_SCTP_GENERIC_SENDMSG_IOV NOSTD|CAPENABLED { int sctp_generic_sendmsg_iov( int sd, _In_reads_(iovlen) _Contains_long_ptr_ struct iovec *iov, int iovlen, _In_reads_bytes_(tolen) const struct sockaddr *to, __socklen_t tolen, _In_opt_ struct sctp_sndrcvinfo *sinfo, int flags ); } 474 AUE_SCTP_GENERIC_RECVMSG NOSTD|CAPENABLED { int sctp_generic_recvmsg( int sd, _In_reads_(iovlen) _Contains_long_ptr_ struct iovec *iov, int iovlen, _Out_writes_bytes_(*fromlenaddr) struct sockaddr *from, _Out_ __socklen_t *fromlenaddr, _In_opt_ struct sctp_sndrcvinfo *sinfo, _Out_opt_ int *msg_flags ); } 475 AUE_PREAD STD|CAPENABLED { ssize_t pread( int fd, _Out_writes_bytes_(nbyte) void *buf, size_t nbyte, off_t offset ); } 476 AUE_PWRITE STD|CAPENABLED { ssize_t pwrite( int fd, _In_reads_bytes_(nbyte) const void *buf, size_t nbyte, off_t offset ); } 477 AUE_MMAP STD|CAPENABLED { void *mmap( _In_ void *addr, size_t len, int prot, int flags, int fd, off_t pos ); } 478 AUE_LSEEK STD|CAPENABLED { off_t lseek( int fd, off_t offset, int whence ); } 479 AUE_TRUNCATE STD { int truncate( _In_z_ const char *path, off_t length ); } 480 AUE_FTRUNCATE STD|CAPENABLED { int ftruncate( int fd, off_t length ); } 481 AUE_THR_KILL2 STD { int thr_kill2( pid_t pid, long id, int sig ); } 482 AUE_SHMOPEN COMPAT12|CAPENABLED { int shm_open( _In_z_ const char *path, int flags, mode_t mode ); } 483 AUE_SHMUNLINK STD { int shm_unlink( _In_z_ const char *path ); } 484 AUE_NULL STD { int cpuset( _Out_ cpusetid_t *setid ); } 485 AUE_NULL STD { int cpuset_setid( cpuwhich_t which, id_t id, cpusetid_t setid ); } 486 AUE_NULL STD { int cpuset_getid( cpulevel_t level, cpuwhich_t which, id_t id, _Out_ cpusetid_t *setid ); } 487 AUE_NULL STD|CAPENABLED { int cpuset_getaffinity( cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, _Out_ cpuset_t *mask ); } 488 AUE_NULL STD|CAPENABLED { int cpuset_setaffinity( cpulevel_t level, cpuwhich_t which, id_t id, size_t cpusetsize, _Out_ const cpuset_t *mask ); } 489 AUE_FACCESSAT STD|CAPENABLED { int faccessat( int fd, _In_z_ const char *path, int amode, int flag ); } 490 AUE_FCHMODAT STD|CAPENABLED { int fchmodat( int fd, _In_z_ const char *path, mode_t mode, int flag ); } 491 AUE_FCHOWNAT STD|CAPENABLED { int fchownat( int fd, _In_z_ const char *path, uid_t uid, gid_t gid, int flag ); } 492 AUE_FEXECVE STD|CAPENABLED { int fexecve( int fd, _In_ char **argv, _In_ char **envv ); } 493 AUE_FSTATAT COMPAT11|CAPENABLED { int fstatat( int fd, _In_z_ const char *path, _Out_ _Contains_long_timet_ struct freebsd11_stat *buf, int flag ); } 494 AUE_FUTIMESAT STD|CAPENABLED { int futimesat( int fd, _In_z_ const char *path, _In_reads_(2) _Contains_long_timet_ const struct timeval *times ); } 495 AUE_LINKAT STD|CAPENABLED { int linkat( int fd1, _In_z_ const char *path1, int fd2, _In_z_ const char *path2, int flag ); } 496 AUE_MKDIRAT STD|CAPENABLED { int mkdirat( int fd, _In_z_ const char *path, mode_t mode ); } 497 AUE_MKFIFOAT STD|CAPENABLED { int mkfifoat( int fd, _In_z_ const char *path, mode_t mode ); } 498 AUE_MKNODAT COMPAT11|CAPENABLED { int mknodat( int fd, _In_z_ const char *path, mode_t mode, uint32_t dev ); } ; XXX: see the comment for open 499 AUE_OPENAT_RWTC STD|CAPENABLED { int openat( int fd, _In_z_ const char *path, int flag, mode_t mode ); } 500 AUE_READLINKAT STD|CAPENABLED { ssize_t readlinkat( int fd, _In_z_ const char *path, _Out_writes_bytes_(bufsize) char *buf, size_t bufsize ); } 501 AUE_RENAMEAT STD|CAPENABLED { int renameat( int oldfd, _In_z_ const char *old, int newfd, _In_z_ const char *new ); } 502 AUE_SYMLINKAT STD|CAPENABLED { int symlinkat( _In_z_ const char *path1, int fd, _In_z_ const char *path2 ); } 503 AUE_UNLINKAT STD|CAPENABLED { int unlinkat( int fd, _In_z_ const char *path, int flag ); } 504 AUE_POSIX_OPENPT STD { int posix_openpt( int flags ); } ; 505 is initialised by the kgssapi code, if present. 505 AUE_NULL NOSTD { int gssd_syscall( _In_z_ const char *path ); } 506 AUE_JAIL_GET STD { int jail_get( _In_reads_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, unsigned int iovcnt, int flags ); } 507 AUE_JAIL_SET STD { int jail_set( _In_reads_(iovcnt) _Contains_long_ptr_ struct iovec *iovp, unsigned int iovcnt, int flags ); } 508 AUE_JAIL_REMOVE STD { int jail_remove( int jid ); } 509 AUE_CLOSEFROM COMPAT12|CAPENABLED { int closefrom( int lowfd ); } 510 AUE_SEMCTL NOSTD { int __semctl( int semid, int semnum, int cmd, _Inout_ _Contains_ptr_ union semun *arg ); } 511 AUE_MSGCTL NOSTD { int msgctl( int msqid, int cmd, _Inout_opt_ _Contains_long_ptr_ struct msqid_ds *buf ); } 512 AUE_SHMCTL NOSTD { int shmctl( int shmid, int cmd, _Inout_opt_ _Contains_long_ struct shmid_ds *buf ); } 513 AUE_LPATHCONF STD { int lpathconf( _In_z_ const char *path, int name ); } 514 AUE_NULL OBSOL cap_new 515 AUE_CAP_RIGHTS_GET STD|CAPENABLED { int __cap_rights_get( int version, int fd, _Out_ cap_rights_t *rightsp ); } 516 AUE_CAP_ENTER STD|CAPENABLED { int cap_enter(void); } 517 AUE_CAP_GETMODE STD|CAPENABLED { int cap_getmode( _Out_ u_int *modep ); } 518 AUE_PDFORK STD|CAPENABLED { int pdfork( _Out_ int *fdp, int flags ); } 519 AUE_PDKILL STD|CAPENABLED { int pdkill( int fd, int signum ); } 520 AUE_PDGETPID STD|CAPENABLED { int pdgetpid( int fd, _Out_ pid_t *pidp ); } 521 AUE_NULL RESERVED 522 AUE_SELECT STD|CAPENABLED { int pselect( int nd, _Inout_opt_ fd_set *in, _Inout_opt_ fd_set *ou, _Inout_opt_ fd_set *ex, _In_opt_ _Contains_long_timet_ const struct timespec *ts, _In_opt_ const sigset_t *sm ); } 523 AUE_GETLOGINCLASS STD|CAPENABLED { int getloginclass( _Out_writes_z_(namelen) char *namebuf, size_t namelen ); } 524 AUE_SETLOGINCLASS STD { int setloginclass( _In_z_ const char *namebuf ); } 525 AUE_NULL STD { int rctl_get_racct( _In_reads_bytes_(inbuflen) const void *inbufp, size_t inbuflen, _Out_writes_bytes_(outbuflen) void *outbufp, size_t outbuflen ); } 526 AUE_NULL STD { int rctl_get_rules( _In_reads_bytes_(inbuflen) const void *inbufp, size_t inbuflen, _Out_writes_bytes_(outbuflen) void *outbufp, size_t outbuflen ); } 527 AUE_NULL STD { int rctl_get_limits( _In_reads_bytes_(inbuflen) const void *inbufp, size_t inbuflen, _Out_writes_bytes_(outbuflen) void *outbufp, size_t outbuflen ); } 528 AUE_NULL STD { int rctl_add_rule( _In_reads_bytes_(inbuflen) const void *inbufp, size_t inbuflen, _Out_writes_bytes_(outbuflen) void *outbufp, size_t outbuflen ); } 529 AUE_NULL STD { int rctl_remove_rule( _In_reads_bytes_(inbuflen) const void *inbufp, size_t inbuflen, _Out_writes_bytes_(outbuflen) void *outbufp, size_t outbuflen ); } 530 AUE_POSIX_FALLOCATE STD|CAPENABLED { int posix_fallocate( int fd, off_t offset, off_t len ); } 531 AUE_POSIX_FADVISE STD { int posix_fadvise( int fd, off_t offset, off_t len, int advice ); } 532 AUE_WAIT6 STD { int wait6( idtype_t idtype, id_t id, _Out_opt_ int *status, int options, _Out_opt_ _Contains_long_ struct __wrusage *wrusage, _Out_opt_ _Contains_long_ptr_ struct siginfo *info ); } 533 AUE_CAP_RIGHTS_LIMIT STD|CAPENABLED { int cap_rights_limit( int fd, _In_ cap_rights_t *rightsp ); } 534 AUE_CAP_IOCTLS_LIMIT STD|CAPENABLED { int cap_ioctls_limit( int fd, _In_reads_(ncmds) const u_long *cmds, size_t ncmds ); } 535 AUE_CAP_IOCTLS_GET STD|CAPENABLED { ssize_t cap_ioctls_get( int fd, _Out_writes_(maxcmds) u_long *cmds, size_t maxcmds ); } 536 AUE_CAP_FCNTLS_LIMIT STD|CAPENABLED { int cap_fcntls_limit( int fd, uint32_t fcntlrights ); } 537 AUE_CAP_FCNTLS_GET STD|CAPENABLED { int cap_fcntls_get( int fd, _Out_ uint32_t *fcntlrightsp ); } 538 AUE_BINDAT STD|CAPENABLED { int bindat( int fd, int s, _In_reads_bytes_(namelen) const struct sockaddr *name, __socklen_t namelen ); } 539 AUE_CONNECTAT STD|CAPENABLED { int connectat( int fd, int s, _In_reads_bytes_(namelen) const struct sockaddr *name, __socklen_t namelen ); } 540 AUE_CHFLAGSAT STD|CAPENABLED { int chflagsat( int fd, _In_z_ const char *path, u_long flags, int atflag ); } 541 AUE_ACCEPT STD|CAPENABLED { int accept4( int s, _Out_writes_bytes_opt_(*anamelen) struct sockaddr *name, _Inout_opt_ __socklen_t *anamelen, int flags ); } 542 AUE_PIPE STD|CAPENABLED { int pipe2( _Out_writes_(2) int *fildes, int flags ); } 543 AUE_AIO_MLOCK STD { int aio_mlock( _In_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 544 AUE_PROCCTL STD { int procctl( idtype_t idtype, id_t id, int com, _In_opt_ void *data ); } 545 AUE_POLL STD|CAPENABLED { int ppoll( _Inout_updates_(nfds) struct pollfd *fds, u_int nfds, _In_opt_ _Contains_long_timet_ const struct timespec *ts, _In_opt_ const sigset_t *set ); } 546 AUE_FUTIMES STD|CAPENABLED { int futimens( int fd, _In_reads_(2) _Contains_long_timet_ const struct timespec *times ); } 547 AUE_FUTIMESAT STD|CAPENABLED { int utimensat( int fd, _In_z_ const char *path, _In_reads_(2) _Contains_long_timet_ const struct timespec *times, int flag ); } 548 AUE_NULL OBSOL numa_getaffinity 549 AUE_NULL OBSOL numa_setaffinity 550 AUE_FSYNC STD|CAPENABLED { int fdatasync( int fd ); } 551 AUE_FSTAT STD|CAPENABLED { int fstat( int fd, _Out_ _Contains_long_timet_ struct stat *sb ); } 552 AUE_FSTATAT STD|CAPENABLED { int fstatat( int fd, _In_z_ const char *path, _Out_ _Contains_long_timet_ struct stat *buf, int flag ); } 553 AUE_FHSTAT STD { int fhstat( _In_ const struct fhandle *u_fhp, _Out_ _Contains_long_timet_ struct stat *sb ); } 554 AUE_GETDIRENTRIES STD|CAPENABLED { ssize_t getdirentries( int fd, _Out_writes_bytes_(count) char *buf, size_t count, _Out_ off_t *basep ); } 555 AUE_STATFS STD { int statfs( _In_z_ const char *path, _Out_ struct statfs *buf ); } 556 AUE_FSTATFS STD|CAPENABLED { int fstatfs( int fd, _Out_ struct statfs *buf ); } 557 AUE_GETFSSTAT STD { int getfsstat( _Out_writes_bytes_opt_(bufsize) struct statfs *buf, long bufsize, int mode ); } 558 AUE_FHSTATFS STD { int fhstatfs( _In_ const struct fhandle *u_fhp, _Out_ struct statfs *buf ); } 559 AUE_MKNODAT STD|CAPENABLED { int mknodat( int fd, _In_z_ const char *path, mode_t mode, dev_t dev ); } 560 AUE_KEVENT STD|CAPENABLED { int kevent( int fd, _In_reads_opt_(nchanges) _Contains_ptr_ const struct kevent *changelist, int nchanges, _Out_writes_opt_(nevents) _Contains_ptr_ struct kevent *eventlist, int nevents, _In_opt_ _Contains_long_timet_ const struct timespec *timeout ); } 561 AUE_NULL STD|CAPENABLED { int cpuset_getdomain( cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, _Out_writes_bytes_(domainsetsize) domainset_t *mask, _Out_ int *policy ); } 562 AUE_NULL STD|CAPENABLED { int cpuset_setdomain( cpulevel_t level, cpuwhich_t which, id_t id, size_t domainsetsize, _In_ domainset_t *mask, int policy ); } 563 AUE_NULL STD|CAPENABLED { int getrandom( _Out_writes_bytes_(buflen) void *buf, size_t buflen, unsigned int flags ); } 564 AUE_NULL STD { int getfhat( int fd, _In_z_ char *path, _Out_ struct fhandle *fhp, int flags ); } 565 AUE_NULL STD { int fhlink( _In_ struct fhandle *fhp, _In_z_ const char *to ); } 566 AUE_NULL STD { int fhlinkat( _In_ struct fhandle *fhp, int tofd, _In_z_ const char *to, ); } 567 AUE_NULL STD { int fhreadlink( _In_ struct fhandle *fhp, _Out_writes_(bufsize) char *buf, size_t bufsize ); } 568 AUE_UNLINKAT STD|CAPENABLED { int funlinkat( int dfd, _In_z_ const char *path, int fd, int flag ); } 569 AUE_NULL STD|CAPENABLED { ssize_t copy_file_range( int infd, _Inout_opt_ off_t *inoffp, int outfd, _Inout_opt_ off_t *outoffp, size_t len, unsigned int flags ); } 570 AUE_SYSCTL STD|CAPENABLED { int __sysctlbyname( _In_reads_(namelen) const char *name, size_t namelen, _Out_writes_bytes_opt_(*oldlenp) void *old, _Inout_opt_ size_t *oldlenp, _In_reads_bytes_opt_(newlen) void *new, size_t newlen ); } 571 AUE_SHMOPEN STD|CAPENABLED { int shm_open2( _In_z_ const char *path, int flags, mode_t mode, int shmflags, _In_z_ const char *name ); } 572 AUE_SHMRENAME STD { int shm_rename( _In_z_ const char *path_from, _In_z_ const char *path_to, int flags ); } 573 AUE_NULL STD|CAPENABLED { int sigfastblock( int cmd, _Inout_opt_ uint32_t *ptr ); } 574 AUE_REALPATHAT STD { int __realpathat( int fd, _In_z_ const char *path, _Out_writes_z_(size) char *buf, size_t size, int flags ); } 575 AUE_CLOSERANGE STD|CAPENABLED { int close_range( u_int lowfd, u_int highfd, int flags ); } ; 576 is initialised by the krpc code, if present. 576 AUE_NULL NOSTD { int rpctls_syscall( int op, _In_z_ const char *path ); } 577 AUE_SPECIALFD STD|CAPENABLED { int __specialfd( int type, _In_reads_bytes_(len) const void *req, size_t len ); } 578 AUE_AIO_WRITEV STD|CAPENABLED { int aio_writev( _Inout_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 579 AUE_AIO_READV STD|CAPENABLED { int aio_readv( _Inout_ _Contains_long_ptr_ struct aiocb *aiocbp ); } 580 AUE_FSPACECTL STD|CAPENABLED { int fspacectl( int fd, int cmd, _In_ const struct spacectl_range *rqsr, int flags, _Out_opt_ struct spacectl_range *rmsr, ); } 581 AUE_NULL STD|CAPENABLED { int sched_getcpu(void); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master ; vim: syntax=off