syscalls.master revision 160797
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 160797 2006-07-28 18:55:18Z jhb $ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; from: src/sys/kern/syscalls.master 1.107 4; 5; System call name/number master file. 6; Processed to created init_sysent.c, syscalls.c and syscall.h. 7 8; Columns: number audit [M]type nargs name alt{name,tag,rtyp}/comments 9; number system call number, must be in order 10; audit the audit event associated with the system call 11; A value of AUE_NULL means no auditing, but it also means that 12; there is no audit event for the call at this time. For the 13; case where the event exists, but we don't want auditing, the 14; event should be #defined to AUE_NULL in audit_kevents.h. 15; type one of [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA, 16; [M]LIBCOMPAT, [M]NODEF, [M]NOARGS, [M]NOPROTO, [M]NOIMPL, 17; [M]NOSTD, [M]COMPAT4 18; name psuedo-prototype of syscall routine 19; If one of the following alts is different, then all appear: 20; altname name of system call if different 21; alttag name of args struct tag if different from [o]`name'"_args" 22; altrtyp return type if not int (bogus - syscalls always return int) 23; for UNIMPL/OBSOL, name continues with comments 24 25; types: 26; [M] e.g. like MSTD -- means the system call is MP-safe. If no 27; M prefix is used, the syscall wrapper will obtain the Giant 28; lock for the syscall. 29; STD always included 30; COMPAT included on COMPAT #ifdef 31; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) 32; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 33; OBSOL obsolete, not included in system, only specifies name 34; UNIMPL not implemented, placeholder only 35; NOSTD implemented but as a lkm that can be statically 36; compiled in; sysent entry will be filled with lkmsys 37; so the SYSCALL_MODULE macro works 38 39; #ifdef's, etc. may be included, and are copied to the output files. 40 41#include <sys/param.h> 42#include <sys/sysent.h> 43#include <sys/sysproto.h> 44#include <sys/mount.h> 45#include <compat/freebsd32/freebsd32.h> 46#include <compat/freebsd32/freebsd32_proto.h> 47 48; Reserved/unimplemented system calls in the range 0-150 inclusive 49; are reserved for use in future Berkeley releases. 50; Additional system calls implemented in vendor and other 51; redistributions should be placed in the reserved range at the end 52; of the current calls. 53 540 AUE_NULL MNOPROTO { int nosys(void); } syscall nosys_args int 551 AUE_EXIT MNOPROTO { void sys_exit(int rval); } exit \ 56 sys_exit_args void 572 AUE_FORK MNOPROTO { int fork(void); } 583 AUE_READ MNOPROTO { ssize_t read(int fd, void *buf, \ 59 size_t nbyte); } 604 AUE_WRITE MNOPROTO { ssize_t write(int fd, const void *buf, \ 61 size_t nbyte); } 625 AUE_OPEN_RWTC MNOPROTO { int open(char *path, int flags, \ 63 int mode); } 646 AUE_CLOSE MNOPROTO { int close(int fd); } 657 AUE_WAIT4 MSTD { int freebsd32_wait4(int pid, int *status, \ 66 int options, struct rusage32 *rusage); } 678 AUE_CREAT OBSOL old creat 689 AUE_LINK MNOPROTO { int link(char *path, char *link); } 6910 AUE_UNLINK MNOPROTO { int unlink(char *path); } 7011 AUE_NULL OBSOL execv 7112 AUE_CHDIR MNOPROTO { int chdir(char *path); } 7213 AUE_FCHDIR MNOPROTO { int fchdir(int fd); } 7314 AUE_MKNOD MNOPROTO { int mknod(char *path, int mode, int dev); } 7415 AUE_CHMOD MNOPROTO { int chmod(char *path, int mode); } 7516 AUE_CHOWN MNOPROTO { int chown(char *path, int uid, int gid); } 7617 AUE_NULL MNOPROTO { int obreak(char *nsize); } break \ 77 obreak_args int 7818 AUE_GETFSSTAT MCOMPAT4 { int freebsd32_getfsstat( \ 79 struct statfs32 *buf, long bufsize, \ 80 int flags); } 8119 AUE_LSEEK OBSOL olseek 8220 AUE_GETPID MNOPROTO { pid_t getpid(void); } 8321 AUE_MOUNT MNOPROTO { int mount(char *type, char *path, \ 84 int flags, caddr_t data); } 8522 AUE_UMOUNT MNOPROTO { int unmount(char *path, int flags); } 8623 AUE_SETUID MNOPROTO { int setuid(uid_t uid); } 8724 AUE_GETUID MNOPROTO { uid_t getuid(void); } 8825 AUE_GETEUID MNOPROTO { uid_t geteuid(void); } 8926 AUE_PTRACE MNOPROTO { int ptrace(int req, pid_t pid, \ 90 caddr_t addr, int data); } 91; XXX implement 9227 AUE_RECVMSG MSTD { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \ 93 int flags); } 9428 AUE_SENDMSG MSTD { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \ 95 int flags); } 9629 AUE_RECVFROM MSTD { int freebsd32_recvfrom(int s, u_int32_t buf, \ 97 u_int32_t len, int flags, u_int32_t from, \ 98 u_int32_t fromlenaddr); } 9930 AUE_ACCEPT MNOPROTO { int accept(int s, caddr_t name, \ 100 int *anamelen); } 10131 AUE_GETPEERNAME MNOPROTO { int getpeername(int fdes, caddr_t asa, \ 102 int *alen); } 10332 AUE_GETSOCKNAME MNOPROTO { int getsockname(int fdes, caddr_t asa, \ 104 int *alen); } 10533 AUE_ACCESS MNOPROTO { int access(char *path, int flags); } 10634 AUE_CHFLAGS MNOPROTO { int chflags(char *path, int flags); } 10735 AUE_FCHFLAGS MNOPROTO { int fchflags(int fd, int flags); } 10836 AUE_SYNC MNOPROTO { int sync(void); } 10937 AUE_KILL MNOPROTO { int kill(int pid, int signum); } 11038 AUE_STAT UNIMPL ostat 11139 AUE_GETPPID MNOPROTO { pid_t getppid(void); } 11240 AUE_LSTAT UNIMPL olstat 11341 AUE_DUP MNOPROTO { int dup(u_int fd); } 11442 AUE_PIPE MNOPROTO { int pipe(void); } 11543 AUE_GETEGID MNOPROTO { gid_t getegid(void); } 11644 AUE_PROFILE MNOPROTO { int profil(caddr_t samples, size_t size, \ 117 size_t offset, u_int scale); } 11845 AUE_KTRACE MNOPROTO { int ktrace(const char *fname, int ops, \ 119 int facs, int pid); } 12046 AUE_SIGACTION MCOMPAT { int freebsd32_sigaction( int signum, \ 121 struct osigaction32 *nsa, \ 122 struct osigaction32 *osa); } 12347 AUE_GETGID MNOPROTO { gid_t getgid(void); } 12448 AUE_SIGPROCMASK MCOMPAT { int freebsd32_sigprocmask(int how, \ 125 osigset_t mask); } 12649 AUE_GETLOGIN MNOPROTO { int getlogin(char *namebuf, \ 127 u_int namelen); } 12850 AUE_SETLOGIN MNOPROTO { int setlogin(char *namebuf); } 12951 AUE_ACCT MNOPROTO { int acct(char *path); } 13052 AUE_SIGPENDING MCOMPAT { int freebsd32_sigpending(void); } 13153 AUE_SIGPENDING MSTD { int freebsd32_sigaltstack( \ 132 struct sigaltstack32 *ss, \ 133 struct sigaltstack32 *oss); } 13454 AUE_IOCTL MNOPROTO { int ioctl(int fd, u_long com, \ 135 caddr_t data); } 13655 AUE_REBOOT MNOPROTO { int reboot(int opt); } 13756 AUE_REVOKE MNOPROTO { int revoke(char *path); } 13857 AUE_SYMLINK MNOPROTO { int symlink(char *path, char *link); } 13958 AUE_READLINK MNOPROTO { int readlink(char *path, char *buf, \ 140 int count); } 14159 AUE_EXECVE MSTD { int freebsd32_execve(char *fname, \ 142 u_int32_t *argv, u_int32_t *envv); } 14360 AUE_UMASK MNOPROTO { int umask(int newmask); } umask \ 144 umask_args int 14561 AUE_CHROOT MNOPROTO { int chroot(char *path); } 14662 AUE_FSTAT OBSOL ofstat 14763 AUE_NULL OBSOL ogetkerninfo 14864 AUE_GETPAGESIZE OBSOL ogetpagesize 149; XXX implement (not OBSOL at all) 15065 AUE_MSYNC MNOPROTO { int msync(void *addr, size_t len, \ 151 int flags); } 15266 AUE_VFORK MNOPROTO { int vfork(void); } 15367 AUE_NULL OBSOL vread 15468 AUE_NULL OBSOL vwrite 15569 AUE_SBRK MNOPROTO { int sbrk(int incr); } 15670 AUE_SSTK MNOPROTO { int sstk(int incr); } 15771 AUE_MMAP OBSOL ommap 15872 AUE_O_VADVISE MNOPROTO { int ovadvise(int anom); } vadvise \ 159 ovadvise_args int 16073 AUE_MUNMAP MNOPROTO { int munmap(void *addr, size_t len); } 16174 AUE_MPROTECT MNOPROTO { int mprotect(const void *addr, \ 162 size_t len, int prot); } 16375 AUE_MADVISE MNOPROTO { int madvise(void *addr, size_t len, \ 164 int behav); } 16576 AUE_NULL OBSOL vhangup 16677 AUE_NULL OBSOL vlimit 16778 AUE_MINCORE MNOPROTO { int mincore(const void *addr, size_t len, \ 168 char *vec); } 16979 AUE_GETGROUPS MNOPROTO { int getgroups(u_int gidsetsize, \ 170 gid_t *gidset); } 17180 AUE_SETGROUPS MNOPROTO { int setgroups(u_int gidsetsize, \ 172 gid_t *gidset); } 17381 AUE_GETPGRP MNOPROTO { int getpgrp(void); } 17482 AUE_SETPGRP MNOPROTO { int setpgid(int pid, int pgid); } 17583 AUE_SETITIMER MSTD { int freebsd32_setitimer(u_int which, \ 176 struct itimerval32 *itv, \ 177 struct itimerval32 *oitv); } 17884 AUE_NULL OBSOL owait 179; XXX implement 18085 AUE_SWAPON OBSOL oswapon 18186 AUE_GETITIMER MSTD { int freebsd32_getitimer(u_int which, \ 182 struct itimerval32 *itv); } 18387 AUE_O_GETHOSTNAME OBSOL ogethostname 18488 AUE_O_SETHOSTNAME OBSOL osethostname 18589 AUE_GETDTABLESIZE MNOPROTO { int getdtablesize(void); } 18690 AUE_DUP2 MNOPROTO { int dup2(u_int from, u_int to); } 18791 AUE_NULL UNIMPL getdopt 18892 AUE_FCNTL MNOPROTO { int fcntl(int fd, int cmd, long arg); } 18993 AUE_SELECT MSTD { int freebsd32_select(int nd, fd_set *in, \ 190 fd_set *ou, fd_set *ex, \ 191 struct timeval32 *tv); } 192; XXX need to override for big-endian - little-endian should work fine. 19394 AUE_NULL UNIMPL setdopt 19495 AUE_FSYNC MNOPROTO { int fsync(int fd); } 19596 AUE_SETPRIORITY MNOPROTO { int setpriority(int which, int who, \ 196 int prio); } 19797 AUE_SOCKET MNOPROTO { int socket(int domain, int type, \ 198 int protocol); } 19998 AUE_CONNECT MNOPROTO { int connect(int s, caddr_t name, \ 200 int namelen); } 20199 AUE_NULL OBSOL oaccept 202100 AUE_GETPRIORITY MNOPROTO { int getpriority(int which, int who); } 203101 AUE_NULL OBSOL osend 204102 AUE_NULL OBSOL orecv 205103 AUE_NULL OBSOL osigreturn 206104 AUE_BIND MNOPROTO { int bind(int s, caddr_t name, \ 207 int namelen); } 208105 AUE_SETSOCKOPT MNOPROTO { int setsockopt(int s, int level, \ 209 int name, caddr_t val, int valsize); } 210106 AUE_LISTEN MNOPROTO { int listen(int s, int backlog); } 211107 AUE_NULL OBSOL vtimes 212108 AUE_O_SIGVEC MCOMPAT { int freebsd32_sigvec(int signum, \ 213 struct sigvec32 *nsv, \ 214 struct sigvec32 *osv); } 215109 AUE_O_SIGBLOCK MCOMPAT { int freebsd32_sigblock(int mask); } 216110 AUE_O_SIGSETMASK MCOMPAT { int freebsd32_sigsetmask( int mask); } 217111 AUE_SIGSUSPEND MCOMPAT { int freebsd32_sigsuspend( int mask); } 218112 AUE_O_SIGSTACK MCOMPAT { int freebsd32_sigstack( \ 219 struct sigstack32 *nss, \ 220 struct sigstack32 *oss); } 221113 AUE_NULL OBSOL orecvmsg 222114 AUE_NULL OBSOL osendmsg 223115 AUE_NULL OBSOL vtrace 224116 AUE_GETTIMEOFDAY MSTD { int freebsd32_gettimeofday( \ 225 struct timeval32 *tp, \ 226 struct timezone *tzp); } 227117 AUE_GETRUSAGE MSTD { int freebsd32_getrusage(int who, \ 228 struct rusage32 *rusage); } 229118 AUE_GETSOCKOPT MNOPROTO { int getsockopt(int s, int level, \ 230 int name, caddr_t val, int *avalsize); } 231119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) 232120 AUE_READV MSTD { int freebsd32_readv(int fd, \ 233 struct iovec32 *iovp, u_int iovcnt); } 234121 AUE_WRITEV MSTD { int freebsd32_writev(int fd, \ 235 struct iovec32 *iovp, u_int iovcnt); } 236122 AUE_SETTIMEOFDAY MSTD { int freebsd32_settimeofday( \ 237 struct timeval32 *tv, \ 238 struct timezone *tzp); } 239123 AUE_FCHOWN MNOPROTO { int fchown(int fd, int uid, int gid); } 240124 AUE_FCHMOD MNOPROTO { int fchmod(int fd, int mode); } 241125 AUE_RECVFROM OBSOL orecvfrom 242126 AUE_SETREUID MNOPROTO { int setreuid(int ruid, int euid); } 243127 AUE_SETREGID MNOPROTO { int setregid(int rgid, int egid); } 244128 AUE_RENAME MNOPROTO { int rename(char *from, char *to); } 245129 AUE_NULL OBSOL otruncate 246130 AUE_NULL OBSOL ftruncate 247131 AUE_FLOCK MNOPROTO { int flock(int fd, int how); } 248132 AUE_MKFIFO MNOPROTO { int mkfifo(char *path, int mode); } 249133 AUE_SENDTO MNOPROTO { int sendto(int s, caddr_t buf, \ 250 size_t len, int flags, caddr_t to, \ 251 int tolen); } 252134 AUE_SHUTDOWN MNOPROTO { int shutdown(int s, int how); } 253135 AUE_SOCKETPAIR MNOPROTO { int socketpair(int domain, int type, \ 254 int protocol, int *rsv); } 255136 AUE_MKDIR MNOPROTO { int mkdir(char *path, int mode); } 256137 AUE_RMDIR MNOPROTO { int rmdir(char *path); } 257138 AUE_UTIMES MSTD { int freebsd32_utimes(char *path, \ 258 struct timeval32 *tptr); } 259139 AUE_NULL OBSOL 4.2 sigreturn 260140 AUE_ADJTIME MSTD { int freebsd32_adjtime( \ 261 struct timeval32 *delta, \ 262 struct timeval32 *olddelta); } 263141 AUE_NULL OBSOL ogetpeername 264142 AUE_NULL OBSOL ogethostid 265143 AUE_NULL OBSOL sethostid 266144 AUE_NULL OBSOL getrlimit 267145 AUE_NULL OBSOL setrlimit 268146 AUE_NULL OBSOL killpg 269147 AUE_SETSID MNOPROTO { int setsid(void); } 270148 AUE_QUOTACTL MNOPROTO { int quotactl(char *path, int cmd, int uid, \ 271 caddr_t arg); } 272149 AUE_NULL OBSOL oquota 273150 AUE_NULL OBSOL ogetsockname 274 275; Syscalls 151-180 inclusive are reserved for vendor-specific 276; system calls. (This includes various calls added for compatibity 277; with other Unix variants.) 278; Some of these calls are now supported by BSD... 279151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x) 280152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x) 281153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x) 282154 AUE_NULL UNIMPL nosys 283; 155 is initialized by the NFS code, if present. 284; XXX this is a problem!!! 285155 AUE_NFSSVC UNIMPL nfssvc 286156 AUE_NULL OBSOL ogetdirentries 287157 AUE_STATFS MCOMPAT4 { int freebsd32_statfs(char *path, \ 288 struct statfs32 *buf); } 289158 AUE_FSTATFS MCOMPAT4 { int freebsd32_fstatfs(int fd, \ 290 struct statfs32 *buf); } 291159 AUE_NULL UNIMPL nosys 292160 AUE_NULL UNIMPL nosys 293161 AUE_NFS_GETFH MNOPROTO { int getfh(char *fname, \ 294 struct fhandle *fhp); } 295162 AUE_O_GETDOMAINNAME MNOPROTO { int getdomainname(char *domainname, \ 296 int len); } 297163 AUE_O_SETDOMAINNAME MNOPROTO { int setdomainname(char *domainname, \ 298 int len); } 299164 AUE_NULL MNOPROTO { int uname(struct utsname *name); } 300165 AUE_NULL MNOPROTO { int sysarch(int op, char *parms); } 301166 AUE_NULL MNOPROTO { int rtprio(int function, pid_t pid, \ 302 struct rtprio *rtp); } 303167 AUE_NULL UNIMPL nosys 304168 AUE_NULL UNIMPL nosys 305169 AUE_SEMSYS MSTD { int freebsd32_semsys(int which, int a2, \ 306 int a3, int a4, int a5); } 307170 AUE_MSGSYS MSTD { int freebsd32_msgsys(int which, int a2, \ 308 int a3, int a4, int a5, int a6); } 309171 AUE_SHMSYS MSTD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \ 310 uint32_t a3, uint32_t a4); } 311172 AUE_NULL UNIMPL nosys 312173 AUE_PREAD MSTD { ssize_t freebsd32_pread(int fd, void *buf, \ 313 size_t nbyte, int pad, \ 314 u_int32_t offsetlo, u_int32_t offsethi); } 315; XXX note - bigendian is different 316174 AUE_PWRITE MSTD { ssize_t freebsd32_pwrite(int fd, \ 317 const void *buf, size_t nbyte, int pad, \ 318 u_int32_t offsetlo, u_int32_t offsethi); } 319; XXX note - bigendian is different 320175 AUE_NULL UNIMPL nosys 321176 AUE_ADJTIME MNOPROTO { int ntp_adjtime(struct timex *tp); } 322177 AUE_NULL UNIMPL sfork (BSD/OS 2.x) 323178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x) 324179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x) 325180 AUE_NULL UNIMPL nosys 326 327; Syscalls 181-199 are used by/reserved for BSD 328181 AUE_SETGID MNOPROTO { int setgid(gid_t gid); } 329182 AUE_SETEGID MNOPROTO { int setegid(gid_t egid); } 330183 AUE_SETEUID MNOPROTO { int seteuid(uid_t euid); } 331184 AUE_NULL UNIMPL lfs_bmapv 332185 AUE_NULL UNIMPL lfs_markv 333186 AUE_NULL UNIMPL lfs_segclean 334187 AUE_NULL UNIMPL lfs_segwait 335188 AUE_STAT MSTD { int freebsd32_stat(char *path, \ 336 struct stat32 *ub); } 337189 AUE_FSTAT MSTD { int freebsd32_fstat(int fd, \ 338 struct stat32 *ub); } 339190 AUE_LSTAT MSTD { int freebsd32_lstat(char *path, \ 340 struct stat32 *ub); } 341191 AUE_PATHCONF MNOPROTO { int pathconf(char *path, int name); } 342192 AUE_FPATHCONF MNOPROTO { int fpathconf(int fd, int name); } 343193 AUE_NULL UNIMPL nosys 344194 AUE_GETRLIMIT MNOPROTO { int getrlimit(u_int which, \ 345 struct rlimit *rlp); } getrlimit \ 346 __getrlimit_args int 347195 AUE_SETRLIMIT MNOPROTO { int setrlimit(u_int which, \ 348 struct rlimit *rlp); } setrlimit \ 349 __setrlimit_args int 350196 AUE_GETDIRENTRIES MNOPROTO { int getdirentries(int fd, char *buf, \ 351 u_int count, long *basep); } 352197 AUE_MMAP MSTD { caddr_t freebsd32_mmap(caddr_t addr, \ 353 size_t len, int prot, int flags, int fd, \ 354 int pad, u_int32_t poslo, \ 355 u_int32_t poshi); } 356198 AUE_NULL MNOPROTO { int nosys(void); } __syscall \ 357 __syscall_args int 358; XXX note - bigendian is different 359199 AUE_LSEEK MSTD { off_t freebsd32_lseek(int fd, int pad, \ 360 u_int32_t offsetlo, u_int32_t offsethi, \ 361 int whence); } 362; XXX note - bigendian is different 363200 AUE_TRUNCATE MSTD { int freebsd32_truncate(char *path, \ 364 int pad, u_int32_t lengthlo, \ 365 u_int32_t lengthhi); } 366; XXX note - bigendian is different 367201 AUE_FTRUNCATE MSTD { int freebsd32_ftruncate(int fd, int pad, \ 368 u_int32_t lengthlo, u_int32_t lengthhi); } 369202 AUE_SYSCTL MSTD { int freebsd32_sysctl(int *name, \ 370 u_int namelen, void *old, \ 371 u_int32_t *oldlenp, void *new, \ 372 u_int32_t newlen); } 373203 AUE_MLOCK MNOPROTO { int mlock(const void *addr, \ 374 size_t len); } 375204 AUE_MUNLOCK MNOPROTO { int munlock(const void *addr, \ 376 size_t len); } 377205 AUE_UNDELETE MNOPROTO { int undelete(char *path); } 378206 AUE_FUTIMES MSTD { int freebsd32_futimes(int fd, \ 379 struct timeval32 *tptr); } 380207 AUE_GETPGID MNOPROTO { int getpgid(pid_t pid); } 381208 AUE_NULL UNIMPL newreboot (NetBSD) 382209 AUE_POLL MNOPROTO { int poll(struct pollfd *fds, u_int nfds, \ 383 int timeout); } 384 385; 386; The following are reserved for loadable syscalls 387; 388210 AUE_NULL UNIMPL 389211 AUE_NULL UNIMPL 390212 AUE_NULL UNIMPL 391213 AUE_NULL UNIMPL 392214 AUE_NULL UNIMPL 393215 AUE_NULL UNIMPL 394216 AUE_NULL UNIMPL 395217 AUE_NULL UNIMPL 396218 AUE_NULL UNIMPL 397219 AUE_NULL UNIMPL 398 399; 400; The following were introduced with NetBSD/4.4Lite-2 401; They are initialized by thier respective modules/sysinits 402; XXX PROBLEM!! 403220 AUE_SEMCTL MNOPROTO { int __semctl(int semid, int semnum, \ 404 int cmd, union semun *arg); } 405221 AUE_SEMGET MNOPROTO { int semget(key_t key, int nsems, \ 406 int semflg); } 407222 AUE_SEMOP MNOPROTO { int semop(int semid, struct sembuf *sops, \ 408 u_int nsops); } 409223 AUE_NULL UNIMPL semconfig 410224 AUE_MSGCTL MNOPROTO { int msgctl(int msqid, int cmd, \ 411 struct msqid_ds *buf); } 412225 AUE_MSGGET MNOPROTO { int msgget(key_t key, int msgflg); } 413226 AUE_MSGSND MNOPROTO { int msgsnd(int msqid, void *msgp, \ 414 size_t msgsz, int msgflg); } 415227 AUE_MSGRCV MNOPROTO { int msgrcv(int msqid, void *msgp, \ 416 size_t msgsz, long msgtyp, int msgflg); } 417228 AUE_SHMAT MNOPROTO { int shmat(int shmid, void *shmaddr, \ 418 int shmflg); } 419229 AUE_SHMCTL MSTD { int freebsd32_shmctl(int shmid, int cmd, \ 420 struct shmid_ds *buf); } 421230 AUE_SHMDT MNOPROTO { int shmdt(void *shmaddr); } 422231 AUE_SHMGET MNOPROTO { int shmget(key_t key, int size, \ 423 int shmflg); } 424; 425232 AUE_NULL MSTD { int freebsd32_clock_gettime(clockid_t clock_id, \ 426 struct timespec32 *tp); } 427233 AUE_CLOCK_SETTIME MSTD { int freebsd32_clock_settime(clockid_t clock_id, \ 428 const struct timespec32 *tp); } 429234 AUE_NULL MSTD { int freebsd32_clock_getres(clockid_t clock_id, \ 430 struct timespec32 *tp); } 431235 AUE_NULL UNIMPL timer_create 432236 AUE_NULL UNIMPL timer_delete 433237 AUE_NULL UNIMPL timer_settime 434238 AUE_NULL UNIMPL timer_gettime 435239 AUE_NULL UNIMPL timer_getoverrun 436240 AUE_NULL MSTD { int freebsd32_nanosleep( \ 437 const struct timespec32 *rqtp, \ 438 struct timespec32 *rmtp); } 439241 AUE_NULL UNIMPL nosys 440242 AUE_NULL UNIMPL nosys 441243 AUE_NULL UNIMPL nosys 442244 AUE_NULL UNIMPL nosys 443245 AUE_NULL UNIMPL nosys 444246 AUE_NULL UNIMPL nosys 445247 AUE_NULL UNIMPL nosys 446248 AUE_NULL UNIMPL ntp_gettime 447249 AUE_NULL UNIMPL nosys 448; syscall numbers initially used in OpenBSD 449250 AUE_MINHERIT MNOPROTO { int minherit(void *addr, size_t len, \ 450 int inherit); } 451251 AUE_RFORK MNOPROTO { int rfork(int flags); } 452252 AUE_POLL MNOPROTO { int openbsd_poll(struct pollfd *fds, \ 453 u_int nfds, int timeout); } 454253 AUE_ISSETUGID MNOPROTO { int issetugid(void); } 455254 AUE_LCHOWN MNOPROTO { int lchown(char *path, int uid, int gid); } 456255 AUE_NULL UNIMPL nosys 457256 AUE_NULL UNIMPL nosys 458257 AUE_NULL UNIMPL nosys 459258 AUE_NULL UNIMPL nosys 460259 AUE_NULL UNIMPL nosys 461260 AUE_NULL UNIMPL nosys 462261 AUE_NULL UNIMPL nosys 463262 AUE_NULL UNIMPL nosys 464263 AUE_NULL UNIMPL nosys 465264 AUE_NULL UNIMPL nosys 466265 AUE_NULL UNIMPL nosys 467266 AUE_NULL UNIMPL nosys 468267 AUE_NULL UNIMPL nosys 469268 AUE_NULL UNIMPL nosys 470269 AUE_NULL UNIMPL nosys 471270 AUE_NULL UNIMPL nosys 472271 AUE_NULL UNIMPL nosys 473272 AUE_O_GETDENTS MNOPROTO { int getdents(int fd, char *buf, \ 474 size_t count); } 475273 AUE_NULL UNIMPL nosys 476274 AUE_LCHMOD MNOPROTO { int lchmod(char *path, mode_t mode); } 477275 AUE_LCHOWN MNOPROTO { int lchown(char *path, uid_t uid, \ 478 gid_t gid); } netbsd_lchown \ 479 lchown_args int 480276 AUE_LUTIMES MSTD { int freebsd32_lutimes(char *path, \ 481 struct timeval32 *tptr); } 482277 AUE_MSYNC MNOPROTO { int msync(void *addr, size_t len, \ 483 int flags); } netbsd_msync msync_args int 484278 AUE_STAT MNOPROTO { int nstat(char *path, struct nstat *ub); } 485279 AUE_FSTAT MNOPROTO { int nfstat(int fd, struct nstat *sb); } 486280 AUE_LSTAT MNOPROTO { int nlstat(char *path, struct nstat *ub); } 487281 AUE_NULL UNIMPL nosys 488282 AUE_NULL UNIMPL nosys 489283 AUE_NULL UNIMPL nosys 490284 AUE_NULL UNIMPL nosys 491285 AUE_NULL UNIMPL nosys 492286 AUE_NULL UNIMPL nosys 493287 AUE_NULL UNIMPL nosys 494288 AUE_NULL UNIMPL nosys 495; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 496289 AUE_PREADV MSTD { ssize_t freebsd32_preadv(int fd, \ 497 struct iovec32 *iovp, \ 498 u_int iovcnt, off_t offset); } 499; XXX note - bigendian is different 500290 AUE_PWRITEV MSTD { ssize_t freebsd32_pwritev(int fd, \ 501 struct iovec32 *iovp, \ 502 u_int iovcnt, off_t offset); } 503; XXX note - bigendian is different 504291 AUE_NULL UNIMPL nosys 505292 AUE_NULL UNIMPL nosys 506293 AUE_NULL UNIMPL nosys 507294 AUE_NULL UNIMPL nosys 508295 AUE_NULL UNIMPL nosys 509296 AUE_NULL UNIMPL nosys 510; XXX 297 is 300 in NetBSD 511297 AUE_FHSTATFS MCOMPAT4 { int freebsd32_fhstatfs( \ 512 const struct fhandle *u_fhp, \ 513 struct statfs32 *buf); } 514298 AUE_FHOPEN MNOPROTO { int fhopen(const struct fhandle *u_fhp, \ 515 int flags); } 516299 AUE_FHSTAT MNOPROTO { int fhstat(const struct fhandle *u_fhp, \ 517 struct stat *sb); } 518; syscall numbers for FreeBSD 519300 AUE_NULL MNOPROTO { int modnext(int modid); } 520301 AUE_NULL MSTD { int freebsd32_modstat(int modid, \ 521 struct module_stat32* stat); } 522302 AUE_NULL MNOPROTO { int modfnext(int modid); } 523303 AUE_NULL MNOPROTO { int modfind(const char *name); } 524304 AUE_MODLOAD MNOPROTO { int kldload(const char *file); } 525305 AUE_MODUNLOAD MNOPROTO { int kldunload(int fileid); } 526306 AUE_NULL MNOPROTO { int kldfind(const char *file); } 527307 AUE_NULL MNOPROTO { int kldnext(int fileid); } 528308 AUE_NULL MNOPROTO { int kldstat(int fileid, \ 529 struct kld_file_stat* stat); } 530309 AUE_NULL MNOPROTO { int kldfirstmod(int fileid); } 531310 AUE_GETSID MNOPROTO { int getsid(pid_t pid); } 532311 AUE_SETRESUID MNOPROTO { int setresuid(uid_t ruid, uid_t euid, \ 533 uid_t suid); } 534312 AUE_SETRESGID MNOPROTO { int setresgid(gid_t rgid, gid_t egid, \ 535 gid_t sgid); } 536313 AUE_NULL OBSOL signanosleep 537314 AUE_NULL UNIMPL aio_return 538315 AUE_NULL UNIMPL aio_suspend 539316 AUE_NULL UNIMPL aio_cancel 540317 AUE_NULL UNIMPL aio_error 541318 AUE_NULL UNIMPL aio_read 542319 AUE_NULL UNIMPL aio_write 543320 AUE_NULL UNIMPL lio_listio 544321 AUE_NULL MNOPROTO { int yield(void); } 545322 AUE_NULL OBSOL thr_sleep 546323 AUE_NULL OBSOL thr_wakeup 547324 AUE_MLOCKALL MNOPROTO { int mlockall(int how); } 548325 AUE_MUNLOCKALL MNOPROTO { int munlockall(void); } 549326 AUE_NULL MNOPROTO { int __getcwd(u_char *buf, u_int buflen); } 550 551327 AUE_NULL MNOPROTO { int sched_setparam (pid_t pid, \ 552 const struct sched_param *param); } 553328 AUE_NULL MNOPROTO { int sched_getparam (pid_t pid, \ 554 struct sched_param *param); } 555 556329 AUE_NULL MNOPROTO { int sched_setscheduler (pid_t pid, \ 557 int policy, \ 558 const struct sched_param *param); } 559330 AUE_NULL MNOPROTO { int sched_getscheduler (pid_t pid); } 560 561331 AUE_NULL MNOPROTO { int sched_yield (void); } 562332 AUE_NULL MNOPROTO { int sched_get_priority_max (int policy); } 563333 AUE_NULL MNOPROTO { int sched_get_priority_min (int policy); } 564334 AUE_NULL MNOPROTO { int sched_rr_get_interval (pid_t pid, \ 565 struct timespec *interval); } 566335 AUE_NULL MNOPROTO { int utrace(const void *addr, size_t len); } 567; XXX note - bigendian is different 568336 AUE_SENDFILE MCOMPAT4 { int freebsd32_sendfile(int fd, int s, \ 569 u_int32_t offsetlo, u_int32_t offsethi, \ 570 size_t nbytes, struct sf_hdtr32 *hdtr, \ 571 off_t *sbytes, int flags); } 572337 AUE_NULL MNOPROTO { int kldsym(int fileid, int cmd, \ 573 void *data); } 574338 AUE_NULL MNOPROTO { int jail(struct jail *jail); } 575339 AUE_NULL UNIMPL pioctl 576340 AUE_SIGPROCMASK MNOPROTO { int sigprocmask(int how, \ 577 const sigset_t *set, sigset_t *oset); } 578341 AUE_SIGSUSPEND MNOPROTO { int sigsuspend(const sigset_t *sigmask); } 579342 AUE_SIGACTION MCOMPAT4 { int freebsd32_sigaction(int sig, \ 580 struct sigaction32 *act, \ 581 struct sigaction32 *oact); } 582343 AUE_SIGPENDING MNOPROTO { int sigpending(sigset_t *set); } 583344 AUE_SIGRETURN MCOMPAT4 { int freebsd32_sigreturn( \ 584 const struct freebsd4_freebsd32_ucontext *sigcntxp); } 585; XXX implement 586345 AUE_NULL UNIMPL sigtimedwait 587; XXX implement 588346 AUE_NULL UNIMPL sigwaitinfo 589347 AUE_JAIL MNOPROTO { int __acl_get_file(const char *path, \ 590 acl_type_t type, struct acl *aclp); } 591348 AUE_NULL MNOPROTO { int __acl_set_file(const char *path, \ 592 acl_type_t type, struct acl *aclp); } 593349 AUE_NULL MNOPROTO { int __acl_get_fd(int filedes, \ 594 acl_type_t type, struct acl *aclp); } 595350 AUE_NULL MNOPROTO { int __acl_set_fd(int filedes, \ 596 acl_type_t type, struct acl *aclp); } 597351 AUE_NULL MNOPROTO { int __acl_delete_file(const char *path, \ 598 acl_type_t type); } 599352 AUE_NULL MNOPROTO { int __acl_delete_fd(int filedes, \ 600 acl_type_t type); } 601353 AUE_NULL MNOPROTO { int __acl_aclcheck_file(const char *path, \ 602 acl_type_t type, struct acl *aclp); } 603354 AUE_NULL MNOPROTO { int __acl_aclcheck_fd(int filedes, \ 604 acl_type_t type, struct acl *aclp); } 605355 AUE_NULL MNOPROTO { int extattrctl(const char *path, int cmd, \ 606 const char *filename, int attrnamespace, \ 607 const char *attrname); } 608356 AUE_NULL MNOPROTO { int extattr_set_file(const char *path, \ 609 int attrnamespace, const char *attrname, \ 610 void *data, size_t nbytes); } 611357 AUE_NULL MNOPROTO { ssize_t extattr_get_file(const char *path, \ 612 int attrnamespace, const char *attrname, \ 613 void *data, size_t nbytes); } 614358 AUE_NULL MNOPROTO { int extattr_delete_file(const char *path, \ 615 int attrnamespace, \ 616 const char *attrname); } 617359 AUE_NULL UNIMPL aio_waitcomplete 618360 AUE_NULL MNOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ 619 uid_t *suid); } 620361 AUE_NULL MNOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \ 621 gid_t *sgid); } 622362 AUE_NULL MNOPROTO { int kqueue(void); } 623363 AUE_NULL MSTD { int freebsd32_kevent(int fd, \ 624 const struct kevent32 *changelist, \ 625 int nchanges, \ 626 struct kevent32 *eventlist, int nevents, \ 627 const struct timespec32 *timeout); } 628364 AUE_NULL UNIMPL __cap_get_proc 629365 AUE_NULL UNIMPL __cap_set_proc 630366 AUE_NULL UNIMPL __cap_get_fd 631367 AUE_NULL UNIMPL __cap_get_file 632368 AUE_NULL UNIMPL __cap_set_fd 633369 AUE_NULL UNIMPL __cap_set_file 634370 AUE_NULL UNIMPL lkmressys 635371 AUE_NULL MNOPROTO { int extattr_set_fd(int fd, \ 636 int attrnamespace, const char *attrname, \ 637 void *data, size_t nbytes); } 638372 AUE_NULL MNOPROTO { ssize_t extattr_get_fd(int fd, \ 639 int attrnamespace, const char *attrname, \ 640 void *data, size_t nbytes); } 641373 AUE_NULL MNOPROTO { int extattr_delete_fd(int fd, \ 642 int attrnamespace, \ 643 const char *attrname); } 644374 AUE_NULL MNOPROTO { int __setugid(int flag); } 645375 AUE_NULL UNIMPL nfsclnt 646376 AUE_NULL MNOPROTO { int eaccess(char *path, int flags); } 647377 AUE_NULL UNIMPL afs_syscall 648378 AUE_NULL MNOPROTO { int nmount(struct iovec *iovp, \ 649 unsigned int iovcnt, int flags); } 650379 AUE_NULL MNOPROTO { int kse_exit(void); } 651380 AUE_NULL MNOPROTO { int kse_wakeup(struct kse_mailbox *mbx); } 652381 AUE_NULL MNOPROTO { int kse_create(struct kse_mailbox *mbx, \ 653 int newgroup); } 654382 AUE_NULL MNOPROTO { int kse_thr_interrupt( \ 655 struct kse_thr_mailbox *tmbx); } 656383 AUE_NULL MNOPROTO { int kse_release(void); } 657384 AUE_NULL UNIMPL __mac_get_proc 658385 AUE_NULL UNIMPL __mac_set_proc 659386 AUE_NULL UNIMPL __mac_get_fd 660387 AUE_NULL UNIMPL __mac_get_file 661388 AUE_NULL UNIMPL __mac_set_fd 662389 AUE_NULL UNIMPL __mac_set_file 663390 AUE_NULL MNOPROTO { int kenv(int what, const char *name, \ 664 char *value, int len); } 665391 AUE_LCHFLAGS MNOPROTO { int lchflags(const char *path, int flags); } 666392 AUE_NULL MNOPROTO { int uuidgen(struct uuid *store, \ 667 int count); } 668393 AUE_NULL MSTD { int freebsd32_sendfile(int fd, int s, \ 669 u_int32_t offsetlo, u_int32_t offsethi, \ 670 size_t nbytes, struct sf_hdtr32 *hdtr, \ 671 off_t *sbytes, int flags); } 672394 AUE_NULL UNIMPL mac_syscall 673395 AUE_GETFSSTAT MNOPROTO { int getfsstat(struct statfs *buf, \ 674 long bufsize, int flags); } 675396 AUE_STATFS MNOPROTO { int statfs(char *path, \ 676 struct statfs *buf); } 677397 AUE_FSTATFS MNOPROTO { int fstatfs(int fd, struct statfs *buf); } 678398 AUE_NULL MNOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ 679 struct statfs *buf); } 680399 AUE_NULL UNIMPL nosys 681; XXX implement these? 682400 AUE_NULL UNIMPL ksem_close 683401 AUE_NULL UNIMPL ksem_post 684402 AUE_NULL UNIMPL ksem_wait 685403 AUE_NULL UNIMPL ksem_trywait 686404 AUE_NULL UNIMPL ksem_init 687405 AUE_NULL UNIMPL ksem_open 688406 AUE_NULL UNIMPL ksem_unlink 689407 AUE_NULL UNIMPL ksem_getvalue 690408 AUE_NULL UNIMPL ksem_destroy 691409 AUE_NULL UNIMPL __mac_get_pid 692410 AUE_NULL UNIMPL __mac_get_link 693411 AUE_NULL UNIMPL __mac_set_link 694412 AUE_NULL UNIMPL extattr_set_link 695413 AUE_NULL UNIMPL extattr_get_link 696414 AUE_NULL UNIMPL extattr_delete_link 697415 AUE_NULL UNIMPL __mac_execve 698416 AUE_SIGACTION MSTD { int freebsd32_sigaction(int sig, \ 699 struct sigaction32 *act, \ 700 struct sigaction32 *oact); } 701417 AUE_SIGRETURN MSTD { int freebsd32_sigreturn( \ 702 const struct freebsd32_ucontext *sigcntxp); } 703418 AUE_NULL UNIMPL __xstat 704419 AUE_NULL UNIMPL __xfstat 705420 AUE_NULL UNIMPL __xlstat 706421 AUE_NULL MSTD { int freebsd32_getcontext( \ 707 struct freebsd32_ucontext *ucp); } 708422 AUE_NULL MSTD { int freebsd32_setcontext( \ 709 const struct freebsd32_ucontext *ucp); } 710423 AUE_NULL MSTD { int freebsd32_swapcontext( \ 711 struct freebsd32_ucontext *oucp, \ 712 const struct freebsd32_ucontext *ucp); } 713424 AUE_SWAPOFF UNIMPL swapoff 714425 AUE_NULL UNIMPL __acl_get_link 715426 AUE_NULL UNIMPL __acl_set_link 716427 AUE_NULL UNIMPL __acl_delete_link 717428 AUE_NULL UNIMPL __acl_aclcheck_link 718; XXX implement 719429 AUE_SIGWAIT UNIMPL sigwait 720430 AUE_NULL MNOPROTO { int thr_create(ucontext_t *ctx, long *id, \ 721 int flag s); } 722431 AUE_NULL MNOPROTO { void thr_exit(long *state); } 723432 AUE_NULL MNOPROTO { int thr_self(long *id); } 724433 AUE_NULL MNOPROTO { int thr_kill(long id, int sig); } 725434 AUE_NULL MNOPROTO { int _umtx_lock(struct umtx *umtx); } 726435 AUE_NULL MNOPROTO { int _umtx_unlock(struct umtx *umtx); } 727436 AUE_NULL MNOPROTO { int jail_attach(int jid); } 728437 AUE_NULL UNIMPL extattr_list_fd 729438 AUE_NULL UNIMPL extattr_list_file 730439 AUE_NULL UNIMPL extattr_list_link 731440 AUE_NULL UNIMPL kse_switchin 732441 AUE_NULL UNIMPL ksem_timedwait 733442 AUE_NULL MNOPROTO { int thr_suspend( \ 734 const struct timespec *timeout); } 735443 AUE_NULL MNOPROTO { int thr_wake(long id); } 736444 AUE_NULL MNOPROTO { int kldunloadf(int fileid, int flags); } 737445 AUE_AUDIT UNIMPL audit 738446 AUE_AUDITON UNIMPL auditon 739447 AUE_GETAUID UNIMPL getauid 740448 AUE_SETAUID UNIMPL setauid 741449 AUE_GETAUDIT UNIMPL getaudit 742450 AUE_SETAUDIT UNIMPL setaudit 743451 AUE_GETAUDIT_ADDR UNIMPL getaudit_addr 744452 AUE_SETAUDIT_ADDR UNIMPL setaudit_addr 745453 AUE_AUDITCTL UNIMPL auditctl 746454 AUE_NULL UNIMPL _umtx_op 747455 AUE_NULL UNIMPL thr_new 748456 AUE_NULL UNIMPL sigqueue 749457 AUE_NULL UNIMPL kmq_open 750458 AUE_NULL UNIMPL kmq_setattr 751459 AUE_NULL UNIMPL kmq_timedreceive 752460 AUE_NULL UNIMPL kmq_timedsend 753461 AUE_NULL UNIMPL kmq_notify 754462 AUE_NULL UNIMPL kmq_unlink 755463 AUE_NULL MNOPROTO { int abort2(const char *why, int nargs, void **args); } 756464 AUE_NULL UNIMPL thr_set_name 757465 AUE_NULL UNIMPL aio_fsync 758466 AUE_NULL UNIMPL thr_setscheduler 759467 AUE_NULL UNIMPL thr_getscheduler 760468 AUE_NULL UNIMPL thr_setschedparam 761