syscalls.master revision 171213
1 $FreeBSD: head/sys/compat/freebsd32/syscalls.master 171213 2007-07-04 23:02:40Z peter $ 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 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 STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT, 16; NODEF, NOARGS, NOPROTO, NOIMPL, NOSTD, COMPAT4 17; name psuedo-prototype of syscall routine 18; If one of the following alts is different, then all appear: 19; altname name of system call if different 20; alttag name of args struct tag if different from [o]`name'"_args" 21; altrtyp return type if not int (bogus - syscalls always return int) 22; for UNIMPL/OBSOL, name continues with comments 23 24; types: 25; STD always included 26; COMPAT included on COMPAT #ifdef 27; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) 28; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 29; OBSOL obsolete, not included in system, only specifies name 30; UNIMPL not implemented, placeholder only 31; NOSTD implemented but as a lkm that can be statically 32; compiled in; sysent entry will be filled with lkmsys 33; so the SYSCALL_MODULE macro works 34 35; #ifdef's, etc. may be included, and are copied to the output files. 36 37#include <sys/param.h> 38#include <sys/sysent.h> 39#include <sys/sysproto.h> 40#include <sys/mount.h> 41#include <compat/freebsd32/freebsd32.h> 42#include <compat/freebsd32/freebsd32_proto.h> 43 44; Reserved/unimplemented system calls in the range 0-150 inclusive 45; are reserved for use in future Berkeley releases. 46; Additional system calls implemented in vendor and other 47; redistributions should be placed in the reserved range at the end 48; of the current calls. 49 500 AUE_NULL NOPROTO { int nosys(void); } syscall nosys_args int 511 AUE_EXIT NOPROTO { void sys_exit(int rval); } exit \ 52 sys_exit_args void 532 AUE_FORK NOPROTO { int fork(void); } 543 AUE_READ NOPROTO { ssize_t read(int fd, void *buf, \ 55 size_t nbyte); } 564 AUE_WRITE NOPROTO { ssize_t write(int fd, const void *buf, \ 57 size_t nbyte); } 585 AUE_OPEN_RWTC NOPROTO { int open(char *path, int flags, \ 59 int mode); } 606 AUE_CLOSE NOPROTO { int close(int fd); } 617 AUE_WAIT4 STD { int freebsd32_wait4(int pid, int *status, \ 62 int options, struct rusage32 *rusage); } 638 AUE_CREAT OBSOL old creat 649 AUE_LINK NOPROTO { int link(char *path, char *link); } 6510 AUE_UNLINK NOPROTO { int unlink(char *path); } 6611 AUE_NULL OBSOL execv 6712 AUE_CHDIR NOPROTO { int chdir(char *path); } 6813 AUE_FCHDIR NOPROTO { int fchdir(int fd); } 6914 AUE_MKNOD NOPROTO { int mknod(char *path, int mode, int dev); } 7015 AUE_CHMOD NOPROTO { int chmod(char *path, int mode); } 7116 AUE_CHOWN NOPROTO { int chown(char *path, int uid, int gid); } 7217 AUE_NULL NOPROTO { int obreak(char *nsize); } break \ 73 obreak_args int 7418 AUE_GETFSSTAT COMPAT4 { int freebsd32_getfsstat( \ 75 struct statfs32 *buf, long bufsize, \ 76 int flags); } 7719 AUE_LSEEK OBSOL olseek 7820 AUE_GETPID NOPROTO { pid_t getpid(void); } 7921 AUE_MOUNT NOPROTO { int mount(char *type, char *path, \ 80 int flags, caddr_t data); } 8122 AUE_UMOUNT NOPROTO { int unmount(char *path, int flags); } 8223 AUE_SETUID NOPROTO { int setuid(uid_t uid); } 8324 AUE_GETUID NOPROTO { uid_t getuid(void); } 8425 AUE_GETEUID NOPROTO { uid_t geteuid(void); } 8526 AUE_PTRACE NOPROTO { int ptrace(int req, pid_t pid, \ 86 caddr_t addr, int data); } 8727 AUE_RECVMSG STD { int freebsd32_recvmsg(int s, struct msghdr32 *msg, \ 88 int flags); } 8928 AUE_SENDMSG STD { int freebsd32_sendmsg(int s, struct msghdr32 *msg, \ 90 int flags); } 9129 AUE_RECVFROM STD { int freebsd32_recvfrom(int s, u_int32_t buf, \ 92 u_int32_t len, int flags, u_int32_t from, \ 93 u_int32_t fromlenaddr); } 9430 AUE_ACCEPT NOPROTO { int accept(int s, caddr_t name, \ 95 int *anamelen); } 9631 AUE_GETPEERNAME NOPROTO { int getpeername(int fdes, caddr_t asa, \ 97 int *alen); } 9832 AUE_GETSOCKNAME NOPROTO { int getsockname(int fdes, caddr_t asa, \ 99 int *alen); } 10033 AUE_ACCESS NOPROTO { int access(char *path, int flags); } 10134 AUE_CHFLAGS NOPROTO { int chflags(char *path, int flags); } 10235 AUE_FCHFLAGS NOPROTO { int fchflags(int fd, int flags); } 10336 AUE_SYNC NOPROTO { int sync(void); } 10437 AUE_KILL NOPROTO { int kill(int pid, int signum); } 10538 AUE_STAT UNIMPL ostat 10639 AUE_GETPPID NOPROTO { pid_t getppid(void); } 10740 AUE_LSTAT UNIMPL olstat 10841 AUE_DUP NOPROTO { int dup(u_int fd); } 10942 AUE_PIPE NOPROTO { int pipe(void); } 11043 AUE_GETEGID NOPROTO { gid_t getegid(void); } 11144 AUE_PROFILE NOPROTO { int profil(caddr_t samples, size_t size, \ 112 size_t offset, u_int scale); } 11345 AUE_KTRACE NOPROTO { int ktrace(const char *fname, int ops, \ 114 int facs, int pid); } 11546 AUE_SIGACTION COMPAT { int freebsd32_sigaction( int signum, \ 116 struct osigaction32 *nsa, \ 117 struct osigaction32 *osa); } 11847 AUE_GETGID NOPROTO { gid_t getgid(void); } 11948 AUE_SIGPROCMASK COMPAT { int freebsd32_sigprocmask(int how, \ 120 osigset_t mask); } 12149 AUE_GETLOGIN NOPROTO { int getlogin(char *namebuf, \ 122 u_int namelen); } 12350 AUE_SETLOGIN NOPROTO { int setlogin(char *namebuf); } 12451 AUE_ACCT NOPROTO { int acct(char *path); } 12552 AUE_SIGPENDING COMPAT { int freebsd32_sigpending(void); } 12653 AUE_SIGALTSTACK STD { int freebsd32_sigaltstack( \ 127 struct sigaltstack32 *ss, \ 128 struct sigaltstack32 *oss); } 12954 AUE_IOCTL NOPROTO { int ioctl(int fd, u_long com, \ 130 caddr_t data); } 13155 AUE_REBOOT NOPROTO { int reboot(int opt); } 13256 AUE_REVOKE NOPROTO { int revoke(char *path); } 13357 AUE_SYMLINK NOPROTO { int symlink(char *path, char *link); } 13458 AUE_READLINK NOPROTO { int readlink(char *path, char *buf, \ 135 int count); } 13659 AUE_EXECVE STD { int freebsd32_execve(char *fname, \ 137 u_int32_t *argv, u_int32_t *envv); } 13860 AUE_UMASK NOPROTO { int umask(int newmask); } umask \ 139 umask_args int 14061 AUE_CHROOT NOPROTO { int chroot(char *path); } 14162 AUE_FSTAT OBSOL ofstat 14263 AUE_NULL OBSOL ogetkerninfo 14364 AUE_NULL OBSOL ogetpagesize 14465 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ 145 int flags); } 14666 AUE_VFORK NOPROTO { int vfork(void); } 14767 AUE_NULL OBSOL vread 14868 AUE_NULL OBSOL vwrite 14969 AUE_SBRK NOPROTO { int sbrk(int incr); } 15070 AUE_SSTK NOPROTO { int sstk(int incr); } 15171 AUE_MMAP OBSOL ommap 15272 AUE_O_VADVISE NOPROTO { int ovadvise(int anom); } vadvise \ 153 ovadvise_args int 15473 AUE_MUNMAP NOPROTO { int munmap(void *addr, size_t len); } 15574 AUE_MPROTECT NOPROTO { int mprotect(const void *addr, \ 156 size_t len, int prot); } 15775 AUE_MADVISE NOPROTO { int madvise(void *addr, size_t len, \ 158 int behav); } 15976 AUE_NULL OBSOL vhangup 16077 AUE_NULL OBSOL vlimit 16178 AUE_MINCORE NOPROTO { int mincore(const void *addr, size_t len, \ 162 char *vec); } 16379 AUE_GETGROUPS NOPROTO { int getgroups(u_int gidsetsize, \ 164 gid_t *gidset); } 16580 AUE_SETGROUPS NOPROTO { int setgroups(u_int gidsetsize, \ 166 gid_t *gidset); } 16781 AUE_GETPGRP NOPROTO { int getpgrp(void); } 16882 AUE_SETPGRP NOPROTO { int setpgid(int pid, int pgid); } 16983 AUE_SETITIMER STD { int freebsd32_setitimer(u_int which, \ 170 struct itimerval32 *itv, \ 171 struct itimerval32 *oitv); } 17284 AUE_NULL OBSOL owait 173; XXX implement 17485 AUE_SWAPON OBSOL oswapon 17586 AUE_GETITIMER STD { int freebsd32_getitimer(u_int which, \ 176 struct itimerval32 *itv); } 17787 AUE_O_GETHOSTNAME OBSOL ogethostname 17888 AUE_O_SETHOSTNAME OBSOL osethostname 17989 AUE_GETDTABLESIZE NOPROTO { int getdtablesize(void); } 18090 AUE_DUP2 NOPROTO { int dup2(u_int from, u_int to); } 18191 AUE_NULL UNIMPL getdopt 18292 AUE_FCNTL NOPROTO { int fcntl(int fd, int cmd, long arg); } 18393 AUE_SELECT STD { int freebsd32_select(int nd, fd_set *in, \ 184 fd_set *ou, fd_set *ex, \ 185 struct timeval32 *tv); } 186; XXX need to override for big-endian - little-endian should work fine. 18794 AUE_NULL UNIMPL setdopt 18895 AUE_FSYNC NOPROTO { int fsync(int fd); } 18996 AUE_SETPRIORITY NOPROTO { int setpriority(int which, int who, \ 190 int prio); } 19197 AUE_SOCKET NOPROTO { int socket(int domain, int type, \ 192 int protocol); } 19398 AUE_CONNECT NOPROTO { int connect(int s, caddr_t name, \ 194 int namelen); } 19599 AUE_NULL OBSOL oaccept 196100 AUE_GETPRIORITY NOPROTO { int getpriority(int which, int who); } 197101 AUE_NULL OBSOL osend 198102 AUE_NULL OBSOL orecv 199103 AUE_NULL OBSOL osigreturn 200104 AUE_BIND NOPROTO { int bind(int s, caddr_t name, \ 201 int namelen); } 202105 AUE_SETSOCKOPT NOPROTO { int setsockopt(int s, int level, \ 203 int name, caddr_t val, int valsize); } 204106 AUE_LISTEN NOPROTO { int listen(int s, int backlog); } 205107 AUE_NULL OBSOL vtimes 206108 AUE_O_SIGVEC COMPAT { int freebsd32_sigvec(int signum, \ 207 struct sigvec32 *nsv, \ 208 struct sigvec32 *osv); } 209109 AUE_O_SIGBLOCK COMPAT { int freebsd32_sigblock(int mask); } 210110 AUE_O_SIGSETMASK COMPAT { int freebsd32_sigsetmask( int mask); } 211111 AUE_SIGSUSPEND COMPAT { int freebsd32_sigsuspend( int mask); } 212112 AUE_O_SIGSTACK COMPAT { int freebsd32_sigstack( \ 213 struct sigstack32 *nss, \ 214 struct sigstack32 *oss); } 215113 AUE_NULL OBSOL orecvmsg 216114 AUE_NULL OBSOL osendmsg 217115 AUE_NULL OBSOL vtrace 218116 AUE_GETTIMEOFDAY STD { int freebsd32_gettimeofday( \ 219 struct timeval32 *tp, \ 220 struct timezone *tzp); } 221117 AUE_GETRUSAGE STD { int freebsd32_getrusage(int who, \ 222 struct rusage32 *rusage); } 223118 AUE_GETSOCKOPT NOPROTO { int getsockopt(int s, int level, \ 224 int name, caddr_t val, int *avalsize); } 225119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) 226120 AUE_READV STD { int freebsd32_readv(int fd, \ 227 struct iovec32 *iovp, u_int iovcnt); } 228121 AUE_WRITEV STD { int freebsd32_writev(int fd, \ 229 struct iovec32 *iovp, u_int iovcnt); } 230122 AUE_SETTIMEOFDAY STD { int freebsd32_settimeofday( \ 231 struct timeval32 *tv, \ 232 struct timezone *tzp); } 233123 AUE_FCHOWN NOPROTO { int fchown(int fd, int uid, int gid); } 234124 AUE_FCHMOD NOPROTO { int fchmod(int fd, int mode); } 235125 AUE_RECVFROM OBSOL orecvfrom 236126 AUE_SETREUID NOPROTO { int setreuid(int ruid, int euid); } 237127 AUE_SETREGID NOPROTO { int setregid(int rgid, int egid); } 238128 AUE_RENAME NOPROTO { int rename(char *from, char *to); } 239129 AUE_TRUNCATE OBSOL otruncate 240130 AUE_FTRUNCATE OBSOL ftruncate 241131 AUE_FLOCK NOPROTO { int flock(int fd, int how); } 242132 AUE_MKFIFO NOPROTO { int mkfifo(char *path, int mode); } 243133 AUE_SENDTO NOPROTO { int sendto(int s, caddr_t buf, \ 244 size_t len, int flags, caddr_t to, \ 245 int tolen); } 246134 AUE_SHUTDOWN NOPROTO { int shutdown(int s, int how); } 247135 AUE_SOCKETPAIR NOPROTO { int socketpair(int domain, int type, \ 248 int protocol, int *rsv); } 249136 AUE_MKDIR NOPROTO { int mkdir(char *path, int mode); } 250137 AUE_RMDIR NOPROTO { int rmdir(char *path); } 251138 AUE_UTIMES STD { int freebsd32_utimes(char *path, \ 252 struct timeval32 *tptr); } 253139 AUE_NULL OBSOL 4.2 sigreturn 254140 AUE_ADJTIME STD { int freebsd32_adjtime( \ 255 struct timeval32 *delta, \ 256 struct timeval32 *olddelta); } 257141 AUE_GETPEERNAME OBSOL ogetpeername 258142 AUE_SYSCTL OBSOL ogethostid 259143 AUE_SYSCTL OBSOL sethostid 260144 AUE_GETRLIMIT OBSOL getrlimit 261145 AUE_SETRLIMIT OBSOL setrlimit 262146 AUE_KILLPG OBSOL killpg 263147 AUE_SETSID NOPROTO { int setsid(void); } 264148 AUE_QUOTACTL NOPROTO { int quotactl(char *path, int cmd, int uid, \ 265 caddr_t arg); } 266149 AUE_O_QUOTA OBSOL oquota 267150 AUE_GETSOCKNAME OBSOL ogetsockname 268 269; Syscalls 151-180 inclusive are reserved for vendor-specific 270; system calls. (This includes various calls added for compatibity 271; with other Unix variants.) 272; Some of these calls are now supported by BSD... 273151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x) 274152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x) 275153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x) 276154 AUE_NULL UNIMPL nosys 277; 155 is initialized by the NFS code, if present. 278; XXX this is a problem!!! 279155 AUE_NFS_SVC UNIMPL nfssvc 280156 AUE_GETDIRENTRIES OBSOL ogetdirentries 281157 AUE_STATFS COMPAT4 { int freebsd32_statfs(char *path, \ 282 struct statfs32 *buf); } 283158 AUE_FSTATFS COMPAT4 { int freebsd32_fstatfs(int fd, \ 284 struct statfs32 *buf); } 285159 AUE_NULL UNIMPL nosys 286160 AUE_LGETFH UNIMPL lgetfh 287161 AUE_NFS_GETFH NOPROTO { int getfh(char *fname, \ 288 struct fhandle *fhp); } 289162 AUE_SYSCTL NOPROTO { int getdomainname(char *domainname, \ 290 int len); } 291163 AUE_SYSCTL NOPROTO { int setdomainname(char *domainname, \ 292 int len); } 293164 AUE_NULL NOPROTO { int uname(struct utsname *name); } 294165 AUE_SYSARCH NOPROTO { int sysarch(int op, char *parms); } 295166 AUE_RTPRIO NOPROTO { int rtprio(int function, pid_t pid, \ 296 struct rtprio *rtp); } 297167 AUE_NULL UNIMPL nosys 298168 AUE_NULL UNIMPL nosys 299169 AUE_SEMSYS STD { int freebsd32_semsys(int which, int a2, \ 300 int a3, int a4, int a5); } 301170 AUE_MSGSYS STD { int freebsd32_msgsys(int which, int a2, \ 302 int a3, int a4, int a5, int a6); } 303171 AUE_SHMSYS STD { int freebsd32_shmsys(uint32_t which, uint32_t a2, \ 304 uint32_t a3, uint32_t a4); } 305172 AUE_NULL UNIMPL nosys 306173 AUE_PREAD COMPAT6 { ssize_t freebsd32_pread(int fd, void *buf, \ 307 size_t nbyte, int pad, \ 308 u_int32_t offsetlo, u_int32_t offsethi); } 309; XXX note - bigendian is different 310174 AUE_PWRITE COMPAT6 { ssize_t freebsd32_pwrite(int fd, \ 311 const void *buf, size_t nbyte, int pad, \ 312 u_int32_t offsetlo, u_int32_t offsethi); } 313; XXX note - bigendian is different 314175 AUE_NULL UNIMPL nosys 315176 AUE_NTP_ADJTIME NOPROTO { int ntp_adjtime(struct timex *tp); } 316177 AUE_NULL UNIMPL sfork (BSD/OS 2.x) 317178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x) 318179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x) 319180 AUE_NULL UNIMPL nosys 320 321; Syscalls 181-199 are used by/reserved for BSD 322181 AUE_SETGID NOPROTO { int setgid(gid_t gid); } 323182 AUE_SETEGID NOPROTO { int setegid(gid_t egid); } 324183 AUE_SETEUID NOPROTO { int seteuid(uid_t euid); } 325184 AUE_NULL UNIMPL lfs_bmapv 326185 AUE_NULL UNIMPL lfs_markv 327186 AUE_NULL UNIMPL lfs_segclean 328187 AUE_NULL UNIMPL lfs_segwait 329188 AUE_STAT STD { int freebsd32_stat(char *path, \ 330 struct stat32 *ub); } 331189 AUE_FSTAT STD { int freebsd32_fstat(int fd, \ 332 struct stat32 *ub); } 333190 AUE_LSTAT STD { int freebsd32_lstat(char *path, \ 334 struct stat32 *ub); } 335191 AUE_PATHCONF NOPROTO { int pathconf(char *path, int name); } 336192 AUE_FPATHCONF NOPROTO { int fpathconf(int fd, int name); } 337193 AUE_NULL UNIMPL nosys 338194 AUE_GETRLIMIT NOPROTO { int getrlimit(u_int which, \ 339 struct rlimit *rlp); } getrlimit \ 340 __getrlimit_args int 341195 AUE_SETRLIMIT NOPROTO { int setrlimit(u_int which, \ 342 struct rlimit *rlp); } setrlimit \ 343 __setrlimit_args int 344196 AUE_GETDIRENTRIES NOPROTO { int getdirentries(int fd, char *buf, \ 345 u_int count, long *basep); } 346197 AUE_MMAP COMPAT6 { caddr_t freebsd32_mmap(caddr_t addr, \ 347 size_t len, int prot, int flags, int fd, \ 348 int pad, u_int32_t poslo, \ 349 u_int32_t poshi); } 350198 AUE_NULL NOPROTO { int nosys(void); } __syscall \ 351 __syscall_args int 352; XXX note - bigendian is different 353199 AUE_LSEEK COMPAT6 { off_t freebsd32_lseek(int fd, int pad, \ 354 u_int32_t offsetlo, u_int32_t offsethi, \ 355 int whence); } 356; XXX note - bigendian is different 357200 AUE_TRUNCATE COMPAT6 { int freebsd32_truncate(char *path, \ 358 int pad, u_int32_t lengthlo, \ 359 u_int32_t lengthhi); } 360; XXX note - bigendian is different 361201 AUE_FTRUNCATE COMPAT6 { int freebsd32_ftruncate(int fd, int pad, \ 362 u_int32_t lengthlo, u_int32_t lengthhi); } 363202 AUE_SYSCTL STD { int freebsd32_sysctl(int *name, \ 364 u_int namelen, void *old, \ 365 u_int32_t *oldlenp, void *new, \ 366 u_int32_t newlen); } 367203 AUE_MLOCK NOPROTO { int mlock(const void *addr, \ 368 size_t len); } 369204 AUE_MUNLOCK NOPROTO { int munlock(const void *addr, \ 370 size_t len); } 371205 AUE_UNDELETE NOPROTO { int undelete(char *path); } 372206 AUE_FUTIMES STD { int freebsd32_futimes(int fd, \ 373 struct timeval32 *tptr); } 374207 AUE_GETPGID NOPROTO { int getpgid(pid_t pid); } 375208 AUE_NULL UNIMPL newreboot (NetBSD) 376209 AUE_POLL NOPROTO { int poll(struct pollfd *fds, u_int nfds, \ 377 int timeout); } 378 379; 380; The following are reserved for loadable syscalls 381; 382210 AUE_NULL UNIMPL 383211 AUE_NULL UNIMPL 384212 AUE_NULL UNIMPL 385213 AUE_NULL UNIMPL 386214 AUE_NULL UNIMPL 387215 AUE_NULL UNIMPL 388216 AUE_NULL UNIMPL 389217 AUE_NULL UNIMPL 390218 AUE_NULL UNIMPL 391219 AUE_NULL UNIMPL 392 393; 394; The following were introduced with NetBSD/4.4Lite-2 395; They are initialized by thier respective modules/sysinits 396; XXX PROBLEM!! 397220 AUE_SEMCTL NOPROTO { int __semctl(int semid, int semnum, \ 398 int cmd, union semun *arg); } 399221 AUE_SEMGET NOPROTO { int semget(key_t key, int nsems, \ 400 int semflg); } 401222 AUE_SEMOP NOPROTO { int semop(int semid, struct sembuf *sops, \ 402 u_int nsops); } 403223 AUE_NULL UNIMPL semconfig 404224 AUE_MSGCTL NOPROTO { int msgctl(int msqid, int cmd, \ 405 struct msqid_ds *buf); } 406225 AUE_MSGGET NOPROTO { int msgget(key_t key, int msgflg); } 407226 AUE_MSGSND STD { int freebsd32_msgsnd(int msqid, void *msgp, \ 408 size_t msgsz, int msgflg); } 409227 AUE_MSGRCV STD { int freebsd32_msgrcv(int msqid, void *msgp, \ 410 size_t msgsz, long msgtyp, int msgflg); } 411228 AUE_SHMAT NOPROTO { int shmat(int shmid, void *shmaddr, \ 412 int shmflg); } 413229 AUE_SHMCTL STD { int freebsd32_shmctl(int shmid, int cmd, \ 414 struct shmid_ds *buf); } 415230 AUE_SHMDT NOPROTO { int shmdt(void *shmaddr); } 416231 AUE_SHMGET NOPROTO { int shmget(key_t key, int size, \ 417 int shmflg); } 418; 419232 AUE_NULL STD { int freebsd32_clock_gettime(clockid_t clock_id, \ 420 struct timespec32 *tp); } 421233 AUE_CLOCK_SETTIME STD { int freebsd32_clock_settime(clockid_t clock_id, \ 422 const struct timespec32 *tp); } 423234 AUE_NULL STD { int freebsd32_clock_getres(clockid_t clock_id, \ 424 struct timespec32 *tp); } 425235 AUE_NULL UNIMPL timer_create 426236 AUE_NULL UNIMPL timer_delete 427237 AUE_NULL UNIMPL timer_settime 428238 AUE_NULL UNIMPL timer_gettime 429239 AUE_NULL UNIMPL timer_getoverrun 430240 AUE_NULL STD { int freebsd32_nanosleep( \ 431 const struct timespec32 *rqtp, \ 432 struct timespec32 *rmtp); } 433241 AUE_NULL UNIMPL nosys 434242 AUE_NULL UNIMPL nosys 435243 AUE_NULL UNIMPL nosys 436244 AUE_NULL UNIMPL nosys 437245 AUE_NULL UNIMPL nosys 438246 AUE_NULL UNIMPL nosys 439247 AUE_NULL UNIMPL nosys 440248 AUE_NULL UNIMPL ntp_gettime 441249 AUE_NULL UNIMPL nosys 442; syscall numbers initially used in OpenBSD 443250 AUE_MINHERIT NOPROTO { int minherit(void *addr, size_t len, \ 444 int inherit); } 445251 AUE_RFORK NOPROTO { int rfork(int flags); } 446252 AUE_POLL NOPROTO { int openbsd_poll(struct pollfd *fds, \ 447 u_int nfds, int timeout); } 448253 AUE_ISSETUGID NOPROTO { int issetugid(void); } 449254 AUE_LCHOWN NOPROTO { int lchown(char *path, int uid, int gid); } 450255 AUE_NULL UNIMPL nosys 451256 AUE_NULL UNIMPL nosys 452257 AUE_NULL UNIMPL nosys 453258 AUE_NULL UNIMPL nosys 454259 AUE_NULL UNIMPL nosys 455260 AUE_NULL UNIMPL nosys 456261 AUE_NULL UNIMPL nosys 457262 AUE_NULL UNIMPL nosys 458263 AUE_NULL UNIMPL nosys 459264 AUE_NULL UNIMPL nosys 460265 AUE_NULL UNIMPL nosys 461266 AUE_NULL UNIMPL nosys 462267 AUE_NULL UNIMPL nosys 463268 AUE_NULL UNIMPL nosys 464269 AUE_NULL UNIMPL nosys 465270 AUE_NULL UNIMPL nosys 466271 AUE_NULL UNIMPL nosys 467272 AUE_O_GETDENTS NOPROTO { int getdents(int fd, char *buf, \ 468 size_t count); } 469273 AUE_NULL UNIMPL nosys 470274 AUE_LCHMOD NOPROTO { int lchmod(char *path, mode_t mode); } 471275 AUE_LCHOWN NOPROTO { int lchown(char *path, uid_t uid, \ 472 gid_t gid); } netbsd_lchown \ 473 lchown_args int 474276 AUE_LUTIMES STD { int freebsd32_lutimes(char *path, \ 475 struct timeval32 *tptr); } 476277 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ 477 int flags); } netbsd_msync msync_args int 478278 AUE_STAT NOPROTO { int nstat(char *path, struct nstat *ub); } 479279 AUE_FSTAT NOPROTO { int nfstat(int fd, struct nstat *sb); } 480280 AUE_LSTAT NOPROTO { int nlstat(char *path, struct nstat *ub); } 481281 AUE_NULL UNIMPL nosys 482282 AUE_NULL UNIMPL nosys 483283 AUE_NULL UNIMPL nosys 484284 AUE_NULL UNIMPL nosys 485285 AUE_NULL UNIMPL nosys 486286 AUE_NULL UNIMPL nosys 487287 AUE_NULL UNIMPL nosys 488288 AUE_NULL UNIMPL nosys 489; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 490289 AUE_PREADV STD { ssize_t freebsd32_preadv(int fd, \ 491 struct iovec32 *iovp, \ 492 u_int iovcnt, off_t offset); } 493; XXX note - bigendian is different 494290 AUE_PWRITEV STD { ssize_t freebsd32_pwritev(int fd, \ 495 struct iovec32 *iovp, \ 496 u_int iovcnt, off_t offset); } 497; XXX note - bigendian is different 498291 AUE_NULL UNIMPL nosys 499292 AUE_NULL UNIMPL nosys 500293 AUE_NULL UNIMPL nosys 501294 AUE_NULL UNIMPL nosys 502295 AUE_NULL UNIMPL nosys 503296 AUE_NULL UNIMPL nosys 504; XXX 297 is 300 in NetBSD 505297 AUE_FHSTATFS COMPAT4 { int freebsd32_fhstatfs( \ 506 const struct fhandle *u_fhp, \ 507 struct statfs32 *buf); } 508298 AUE_FHOPEN NOPROTO { int fhopen(const struct fhandle *u_fhp, \ 509 int flags); } 510299 AUE_FHSTAT NOPROTO { int fhstat(const struct fhandle *u_fhp, \ 511 struct stat *sb); } 512; syscall numbers for FreeBSD 513300 AUE_NULL NOPROTO { int modnext(int modid); } 514301 AUE_NULL STD { int freebsd32_modstat(int modid, \ 515 struct module_stat32* stat); } 516302 AUE_NULL NOPROTO { int modfnext(int modid); } 517303 AUE_NULL NOPROTO { int modfind(const char *name); } 518304 AUE_MODLOAD NOPROTO { int kldload(const char *file); } 519305 AUE_MODUNLOAD NOPROTO { int kldunload(int fileid); } 520306 AUE_NULL NOPROTO { int kldfind(const char *file); } 521307 AUE_NULL NOPROTO { int kldnext(int fileid); } 522308 AUE_NULL NOPROTO { int kldstat(int fileid, \ 523 struct kld_file_stat* stat); } 524309 AUE_NULL NOPROTO { int kldfirstmod(int fileid); } 525310 AUE_GETSID NOPROTO { int getsid(pid_t pid); } 526311 AUE_SETRESUID NOPROTO { int setresuid(uid_t ruid, uid_t euid, \ 527 uid_t suid); } 528312 AUE_SETRESGID NOPROTO { int setresgid(gid_t rgid, gid_t egid, \ 529 gid_t sgid); } 530313 AUE_NULL OBSOL signanosleep 531314 AUE_NULL UNIMPL aio_return 532315 AUE_NULL UNIMPL aio_suspend 533316 AUE_NULL UNIMPL aio_cancel 534317 AUE_NULL UNIMPL aio_error 535318 AUE_NULL UNIMPL aio_read 536319 AUE_NULL UNIMPL aio_write 537320 AUE_NULL UNIMPL lio_listio 538321 AUE_NULL NOPROTO { int yield(void); } 539322 AUE_NULL OBSOL thr_sleep 540323 AUE_NULL OBSOL thr_wakeup 541324 AUE_MLOCKALL NOPROTO { int mlockall(int how); } 542325 AUE_MUNLOCKALL NOPROTO { int munlockall(void); } 543326 AUE_GETCWD NOPROTO { int __getcwd(u_char *buf, u_int buflen); } 544 545327 AUE_NULL NOPROTO { int sched_setparam (pid_t pid, \ 546 const struct sched_param *param); } 547328 AUE_NULL NOPROTO { int sched_getparam (pid_t pid, \ 548 struct sched_param *param); } 549 550329 AUE_NULL NOPROTO { int sched_setscheduler (pid_t pid, \ 551 int policy, \ 552 const struct sched_param *param); } 553330 AUE_NULL NOPROTO { int sched_getscheduler (pid_t pid); } 554 555331 AUE_NULL NOPROTO { int sched_yield (void); } 556332 AUE_NULL NOPROTO { int sched_get_priority_max (int policy); } 557333 AUE_NULL NOPROTO { int sched_get_priority_min (int policy); } 558334 AUE_NULL NOPROTO { int sched_rr_get_interval (pid_t pid, \ 559 struct timespec *interval); } 560335 AUE_NULL NOPROTO { int utrace(const void *addr, size_t len); } 561; XXX note - bigendian is different 562336 AUE_SENDFILE COMPAT4 { int freebsd32_sendfile(int fd, int s, \ 563 u_int32_t offsetlo, u_int32_t offsethi, \ 564 size_t nbytes, struct sf_hdtr32 *hdtr, \ 565 off_t *sbytes, int flags); } 566337 AUE_NULL NOPROTO { int kldsym(int fileid, int cmd, \ 567 void *data); } 568338 AUE_JAIL NOPROTO { int jail(struct jail *jail); } 569339 AUE_NULL UNIMPL pioctl 570340 AUE_SIGPROCMASK NOPROTO { int sigprocmask(int how, \ 571 const sigset_t *set, sigset_t *oset); } 572341 AUE_SIGSUSPEND NOPROTO { int sigsuspend(const sigset_t *sigmask); } 573342 AUE_SIGACTION COMPAT4 { int freebsd32_sigaction(int sig, \ 574 struct sigaction32 *act, \ 575 struct sigaction32 *oact); } 576343 AUE_SIGPENDING NOPROTO { int sigpending(sigset_t *set); } 577344 AUE_SIGRETURN COMPAT4 { int freebsd32_sigreturn( \ 578 const struct freebsd4_freebsd32_ucontext *sigcntxp); } 579345 AUE_SIGWAIT STD { int freebsd32_sigtimedwait(const sigset_t *set, \ 580 siginfo_t *info, \ 581 const struct timespec *timeout); } 582346 AUE_NULL STD { int freebsd32_sigwaitinfo(const sigset_t *set, \ 583 siginfo_t *info); } 584347 AUE_NULL NOPROTO { int __acl_get_file(const char *path, \ 585 acl_type_t type, struct acl *aclp); } 586348 AUE_NULL NOPROTO { int __acl_set_file(const char *path, \ 587 acl_type_t type, struct acl *aclp); } 588349 AUE_NULL NOPROTO { int __acl_get_fd(int filedes, \ 589 acl_type_t type, struct acl *aclp); } 590350 AUE_NULL NOPROTO { int __acl_set_fd(int filedes, \ 591 acl_type_t type, struct acl *aclp); } 592351 AUE_NULL NOPROTO { int __acl_delete_file(const char *path, \ 593 acl_type_t type); } 594352 AUE_NULL NOPROTO { int __acl_delete_fd(int filedes, \ 595 acl_type_t type); } 596353 AUE_NULL NOPROTO { int __acl_aclcheck_file(const char *path, \ 597 acl_type_t type, struct acl *aclp); } 598354 AUE_NULL NOPROTO { int __acl_aclcheck_fd(int filedes, \ 599 acl_type_t type, struct acl *aclp); } 600355 AUE_EXTATTRCTL NOPROTO { int extattrctl(const char *path, int cmd, \ 601 const char *filename, int attrnamespace, \ 602 const char *attrname); } 603356 AUE_EXTATTR_SET_FILE NOPROTO { int extattr_set_file( \ 604 const char *path, int attrnamespace, \ 605 const char *attrname, void *data, \ 606 size_t nbytes); } 607357 AUE_EXTATTR_GET_FILE NOPROTO { ssize_t extattr_get_file( \ 608 const char *path, int attrnamespace, \ 609 const char *attrname, void *data, \ 610 size_t nbytes); } 611358 AUE_EXTATTR_DELETE_FILE NOPROTO { int extattr_delete_file( \ 612 const char *path, int attrnamespace, \ 613 const char *attrname); } 614359 AUE_NULL UNIMPL aio_waitcomplete 615360 AUE_GETRESUID NOPROTO { int getresuid(uid_t *ruid, uid_t *euid, \ 616 uid_t *suid); } 617361 AUE_GETRESGID NOPROTO { int getresgid(gid_t *rgid, gid_t *egid, \ 618 gid_t *sgid); } 619362 AUE_KQUEUE NOPROTO { int kqueue(void); } 620363 AUE_NULL STD { int freebsd32_kevent(int fd, \ 621 const struct kevent32 *changelist, \ 622 int nchanges, \ 623 struct kevent32 *eventlist, int nevents, \ 624 const struct timespec32 *timeout); } 625364 AUE_NULL UNIMPL __cap_get_proc 626365 AUE_NULL UNIMPL __cap_set_proc 627366 AUE_NULL UNIMPL __cap_get_fd 628367 AUE_NULL UNIMPL __cap_get_file 629368 AUE_NULL UNIMPL __cap_set_fd 630369 AUE_NULL UNIMPL __cap_set_file 631370 AUE_NULL UNIMPL lkmressys 632371 AUE_EXTATTR_SET_FD NOPROTO { int extattr_set_fd(int fd, \ 633 int attrnamespace, const char *attrname, \ 634 void *data, size_t nbytes); } 635372 AUE_EXTATTR_GET_FD NOPROTO { ssize_t extattr_get_fd(int fd, \ 636 int attrnamespace, const char *attrname, \ 637 void *data, size_t nbytes); } 638373 AUE_EXTATTR_DELETE_FD NOPROTO { int extattr_delete_fd(int fd, \ 639 int attrnamespace, \ 640 const char *attrname); } 641374 AUE_NULL NOPROTO { int __setugid(int flag); } 642375 AUE_NULL UNIMPL nfsclnt 643376 AUE_EACCESS NOPROTO { int eaccess(char *path, int flags); } 644377 AUE_NULL UNIMPL afs_syscall 645378 AUE_NMOUNT NOPROTO { int nmount(struct iovec *iovp, \ 646 unsigned int iovcnt, int flags); } 647379 AUE_NULL NOPROTO { int kse_exit(void); } 648380 AUE_NULL NOPROTO { int kse_wakeup(struct kse_mailbox *mbx); } 649381 AUE_NULL NOPROTO { int kse_create(struct kse_mailbox *mbx, \ 650 int newgroup); } 651382 AUE_NULL NOPROTO { int kse_thr_interrupt( \ 652 struct kse_thr_mailbox *tmbx); } 653383 AUE_NULL NOPROTO { int kse_release(void); } 654384 AUE_NULL UNIMPL __mac_get_proc 655385 AUE_NULL UNIMPL __mac_set_proc 656386 AUE_NULL UNIMPL __mac_get_fd 657387 AUE_NULL UNIMPL __mac_get_file 658388 AUE_NULL UNIMPL __mac_set_fd 659389 AUE_NULL UNIMPL __mac_set_file 660390 AUE_NULL NOPROTO { int kenv(int what, const char *name, \ 661 char *value, int len); } 662391 AUE_LCHFLAGS NOPROTO { int lchflags(const char *path, int flags); } 663392 AUE_NULL NOPROTO { int uuidgen(struct uuid *store, \ 664 int count); } 665393 AUE_SENDFILE STD { int freebsd32_sendfile(int fd, int s, \ 666 u_int32_t offsetlo, u_int32_t offsethi, \ 667 size_t nbytes, struct sf_hdtr32 *hdtr, \ 668 off_t *sbytes, int flags); } 669394 AUE_NULL UNIMPL mac_syscall 670395 AUE_GETFSSTAT NOPROTO { int getfsstat(struct statfs *buf, \ 671 long bufsize, int flags); } 672396 AUE_STATFS NOPROTO { int statfs(char *path, \ 673 struct statfs *buf); } 674397 AUE_FSTATFS NOPROTO { int fstatfs(int fd, struct statfs *buf); } 675398 AUE_FHSTATFS NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ 676 struct statfs *buf); } 677399 AUE_NULL UNIMPL nosys 678; XXX implement these? 679400 AUE_NULL UNIMPL ksem_close 680401 AUE_NULL UNIMPL ksem_post 681402 AUE_NULL UNIMPL ksem_wait 682403 AUE_NULL UNIMPL ksem_trywait 683404 AUE_NULL UNIMPL ksem_init 684405 AUE_NULL UNIMPL ksem_open 685406 AUE_NULL UNIMPL ksem_unlink 686407 AUE_NULL UNIMPL ksem_getvalue 687408 AUE_NULL UNIMPL ksem_destroy 688409 AUE_NULL UNIMPL __mac_get_pid 689410 AUE_NULL UNIMPL __mac_get_link 690411 AUE_NULL UNIMPL __mac_set_link 691412 AUE_EXTATTR_SET_LINK UNIMPL extattr_set_link 692413 AUE_EXTATTR_GET_LINK UNIMPL extattr_get_link 693414 AUE_EXTATTR_DELETE_LINK UNIMPL extattr_delete_link 694415 AUE_NULL UNIMPL __mac_execve 695416 AUE_SIGACTION STD { int freebsd32_sigaction(int sig, \ 696 struct sigaction32 *act, \ 697 struct sigaction32 *oact); } 698417 AUE_SIGRETURN STD { int freebsd32_sigreturn( \ 699 const struct freebsd32_ucontext *sigcntxp); } 700418 AUE_NULL UNIMPL __xstat 701419 AUE_NULL UNIMPL __xfstat 702420 AUE_NULL UNIMPL __xlstat 703421 AUE_NULL STD { int freebsd32_getcontext( \ 704 struct freebsd32_ucontext *ucp); } 705422 AUE_NULL STD { int freebsd32_setcontext( \ 706 const struct freebsd32_ucontext *ucp); } 707423 AUE_NULL STD { int freebsd32_swapcontext( \ 708 struct freebsd32_ucontext *oucp, \ 709 const struct freebsd32_ucontext *ucp); } 710424 AUE_SWAPOFF UNIMPL swapoff 711425 AUE_NULL UNIMPL __acl_get_link 712426 AUE_NULL UNIMPL __acl_set_link 713427 AUE_NULL UNIMPL __acl_delete_link 714428 AUE_NULL UNIMPL __acl_aclcheck_link 715429 AUE_SIGWAIT NOPROTO { int sigwait(const sigset_t *set, \ 716 int *sig); } 717430 AUE_NULL UNIMPL thr_create; 718431 AUE_NULL NOPROTO { void thr_exit(long *state); } 719432 AUE_NULL NOPROTO { int thr_self(long *id); } 720433 AUE_NULL NOPROTO { int thr_kill(long id, int sig); } 721434 AUE_NULL STD { int freebsd32_umtx_lock(struct umtx *umtx); } 722435 AUE_NULL STD { int freebsd32_umtx_unlock(struct umtx *umtx); } 723436 AUE_NULL NOPROTO { int jail_attach(int jid); } 724437 AUE_EXTATTR_LIST_FD UNIMPL extattr_list_fd 725438 AUE_EXTATTR_LIST_FILE UNIMPL extattr_list_file 726439 AUE_EXTATTR_LIST_LINK UNIMPL extattr_list_link 727440 AUE_NULL UNIMPL kse_switchin 728441 AUE_NULL UNIMPL ksem_timedwait 729442 AUE_NULL STD { int freebsd32_thr_suspend( \ 730 const struct timespec32 *timeout); } 731443 AUE_NULL NOPROTO { int thr_wake(long id); } 732444 AUE_MODUNLOAD NOPROTO { int kldunloadf(int fileid, int flags); } 733445 AUE_AUDIT NOPROTO { int audit(const void *record, \ 734 u_int length); } 735446 AUE_AUDITON NOPROTO { int auditon(int cmd, void *data, \ 736 u_int length); } 737447 AUE_GETAUID NOPROTO { int getauid(uid_t *auid); } 738448 AUE_SETAUID NOPROTO { int setauid(uid_t *auid); } 739449 AUE_GETAUDIT NOPROTO { int getaudit(struct auditinfo *auditinfo); } 740450 AUE_SETAUDIT NOPROTO { int setaudit(struct auditinfo *auditinfo); } 741451 AUE_GETAUDIT_ADDR NOPROTO { int getaudit_addr( \ 742 struct auditinfo_addr *auditinfo_addr, \ 743 u_int length); } 744452 AUE_SETAUDIT_ADDR NOPROTO { int setaudit_addr( \ 745 struct auditinfo_addr *auditinfo_addr, \ 746 u_int length); } 747453 AUE_AUDITCTL NOPROTO { int auditctl(char *path); } 748454 AUE_NULL STD { int freebsd32_umtx_op(void *obj, int op,\ 749 u_long val, void *uaddr, \ 750 void *uaddr2); } 751455 AUE_NULL STD { int freebsd32_thr_new( \ 752 struct thr_param32 *param, \ 753 int param_size); } 754456 AUE_NULL NOPROTO { int sigqueue(pid_t pid, int signum, \ 755 void *value); } 756457 AUE_NULL UNIMPL kmq_open 757458 AUE_NULL UNIMPL kmq_setattr 758459 AUE_NULL UNIMPL kmq_timedreceive 759460 AUE_NULL UNIMPL kmq_timedsend 760461 AUE_NULL UNIMPL kmq_notify 761462 AUE_NULL UNIMPL kmq_unlink 762463 AUE_NULL NOPROTO { int abort2(const char *why, int nargs, void **args); } 763464 AUE_NULL NOPROTO { int thr_set_name(long id, const char *name); } 764465 AUE_NULL UNIMPL aio_fsync 765466 AUE_RTPRIO NOPROTO { int rtprio_thread(int function, \ 766 lwpid_t lwpid, struct rtprio *rtp); } 767467 AUE_NULL UNIMPL nosys 768468 AUE_NULL UNIMPL nosys 769469 AUE_NULL UNIMPL __getpath_fromfd 770470 AUE_NULL UNIMPL __getpath_fromaddr 771471 AUE_NULL NOPROTO { int sctp_peeloff(int sd, uint32_t name); } 772472 AUE_NULL NOPROTO { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ 773 caddr_t to, __socklen_t tolen, \ 774 struct sctp_sndrcvinfo *sinfo, int flags); } 775473 AUE_NULL NOPROTO { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ 776 caddr_t to, __socklen_t tolen, \ 777 struct sctp_sndrcvinfo *sinfo, int flags); } 778474 AUE_NULL NOPROTO { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ 779 struct sockaddr * from, __socklen_t *fromlenaddr, \ 780 struct sctp_sndrcvinfo *sinfo, int *msg_flags); } 781475 AUE_PREAD STD { ssize_t freebsd32_pread(int fd, \ 782 void *buf,size_t nbyte, \ 783 u_int32_t offsetlo, u_int32_t offsethi); } 784476 AUE_PWRITE STD { ssize_t freebsd32_pwrite(int fd, \ 785 const void *buf, size_t nbyte, \ 786 u_int32_t offsetlo, u_int32_t offsethi); } 787477 AUE_MMAP STD { caddr_t freebsd32_mmap(caddr_t addr, \ 788 size_t len, int prot, int flags, int fd, \ 789 u_int32_t poslo, u_int32_t poshi); } 790478 AUE_LSEEK STD { off_t freebsd32_lseek(int fd, \ 791 u_int32_t offsetlo, u_int32_t offsethi, \ 792 int whence); } 793479 AUE_TRUNCATE STD { int freebsd32_truncate(char *path, \ 794 u_int32_t lengthlo, u_int32_t lengthhi); } 795480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \ 796 u_int32_t lengthlo, u_int32_t lengthhi); } 797