1 $FreeBSD$ 2; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 3; 4; System call name/number master file. 5; Processed to created init_sysent.c, syscalls.c and syscall.h. 6 7; Columns: number audit type name alt{name,tag,rtyp}/comments 8; number system call number, must be in order 9; audit the audit event associated with the system call 10; A value of AUE_NULL means no auditing, but it also means that 11; there is no audit event for the call at this time. For the 12; case where the event exists, but we don't want auditing, the 13; event should be #defined to AUE_NULL in audit_kevents.h. 14; type one of STD, OBSOL, UNIMPL, COMPAT, CPT_NOA, LIBCOMPAT, 15; NODEF, NOARGS, NOPROTO, NOIMPL, NOSTD, COMPAT4 16; name psuedo-prototype of syscall routine 17; If one of the following alts is different, then all appear: 18; altname name of system call if different 19; alttag name of args struct tag if different from [o]`name'"_args" 20; altrtyp return type if not int (bogus - syscalls always return int) 21; for UNIMPL/OBSOL, name continues with comments 22 23; types: 24; STD always included 25; COMPAT included on COMPAT #ifdef 26; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) 27; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 28; OBSOL obsolete, not included in system, only specifies name 29; UNIMPL not implemented, placeholder only 30; NOSTD implemented but as a lkm that can be statically 31; compiled in; sysent entry will be filled with lkmsys 32; so the SYSCALL_MODULE macro works 33; 34; Please copy any additions and changes to the following compatability tables: 35; sys/compat/freebsd32/syscalls.master 36 37; #ifdef's, etc. may be included, and are copied to the output files. 38 39#include <sys/param.h> 40#include <sys/sysent.h> 41#include <sys/sysproto.h> 42 43; Reserved/unimplemented system calls in the range 0-150 inclusive 44; are reserved for use in future Berkeley releases. 45; Additional system calls implemented in vendor and other 46; redistributions should be placed in the reserved range at the end 47; of the current calls. 48 490 AUE_NULL STD { int nosys(void); } syscall nosys_args int 501 AUE_EXIT STD { void sys_exit(int rval); } exit \ 51 sys_exit_args void 522 AUE_FORK STD { int fork(void); } 533 AUE_NULL STD { ssize_t read(int fd, void *buf, \ 54 size_t nbyte); } 554 AUE_NULL STD { ssize_t write(int fd, const void *buf, \ 56 size_t nbyte); } 575 AUE_OPEN_RWTC STD { int open(char *path, int flags, int mode); } 58; XXX should be { int open(const char *path, int flags, ...); } 59; but we're not ready for `const' or varargs. 60; XXX man page says `mode_t mode'. 616 AUE_CLOSE STD { int close(int fd); } 627 AUE_WAIT4 STD { int wait4(int pid, int *status, \ 63 int options, struct rusage *rusage); } \ 64 wait4 wait_args int 658 AUE_CREAT COMPAT { int creat(char *path, int mode); } 669 AUE_LINK STD { int link(char *path, char *link); } 6710 AUE_UNLINK STD { int unlink(char *path); } 6811 AUE_NULL OBSOL execv 6912 AUE_CHDIR STD { int chdir(char *path); } 7013 AUE_FCHDIR STD { int fchdir(int fd); } 7114 AUE_MKNOD STD { int mknod(char *path, int mode, int dev); } 7215 AUE_CHMOD STD { int chmod(char *path, int mode); } 7316 AUE_CHOWN STD { int chown(char *path, int uid, int gid); } 7417 AUE_NULL STD { int obreak(char *nsize); } break \ 75 obreak_args int 7618 AUE_GETFSSTAT COMPAT4 { int getfsstat(struct ostatfs *buf, \ 77 long bufsize, int flags); } 7819 AUE_LSEEK COMPAT { long lseek(int fd, long offset, \ 79 int whence); } 8020 AUE_GETPID STD { pid_t getpid(void); } 8121 AUE_MOUNT STD { int mount(char *type, char *path, \ 82 int flags, caddr_t data); } 83; XXX `path' should have type `const char *' but we're not ready for that. 8422 AUE_UMOUNT STD { int unmount(char *path, int flags); } 8523 AUE_SETUID STD { int setuid(uid_t uid); } 8624 AUE_GETUID STD { uid_t getuid(void); } 8725 AUE_GETEUID STD { uid_t geteuid(void); } 8826 AUE_PTRACE STD { int ptrace(int req, pid_t pid, \ 89 caddr_t addr, int data); } 9027 AUE_RECVMSG STD { int recvmsg(int s, struct msghdr *msg, \ 91 int flags); } 9228 AUE_SENDMSG STD { int sendmsg(int s, struct msghdr *msg, \ 93 int flags); } 9429 AUE_RECVFROM STD { int recvfrom(int s, caddr_t buf, \ 95 size_t len, int flags, \ 96 struct sockaddr * __restrict from, \ 97 __socklen_t * __restrict fromlenaddr); } 9830 AUE_ACCEPT STD { int accept(int s, \ 99 struct sockaddr * __restrict name, \ 100 __socklen_t * __restrict anamelen); } 10131 AUE_GETPEERNAME STD { int getpeername(int fdes, \ 102 struct sockaddr * __restrict asa, \ 103 __socklen_t * __restrict alen); } 10432 AUE_GETSOCKNAME STD { int getsockname(int fdes, \ 105 struct sockaddr * __restrict asa, \ 106 __socklen_t * __restrict alen); } 10733 AUE_ACCESS STD { int access(char *path, int flags); } 10834 AUE_CHFLAGS STD { int chflags(char *path, int flags); } 10935 AUE_FCHFLAGS STD { int fchflags(int fd, int flags); } 11036 AUE_SYNC STD { int sync(void); } 11137 AUE_KILL STD { int kill(int pid, int signum); } 11238 AUE_STAT COMPAT { int stat(char *path, struct ostat *ub); } 11339 AUE_GETPPID STD { pid_t getppid(void); } 11440 AUE_LSTAT COMPAT { int lstat(char *path, struct ostat *ub); } 11541 AUE_DUP STD { int dup(u_int fd); } 11642 AUE_PIPE STD { int pipe(void); } 11743 AUE_GETEGID STD { gid_t getegid(void); } 11844 AUE_PROFILE STD { int profil(caddr_t samples, size_t size, \ 119 size_t offset, u_int scale); } 12045 AUE_KTRACE STD { int ktrace(const char *fname, int ops, \ 121 int facs, int pid); } 12246 AUE_SIGACTION COMPAT { int sigaction(int signum, \ 123 struct osigaction *nsa, \ 124 struct osigaction *osa); } 12547 AUE_GETGID STD { gid_t getgid(void); } 12648 AUE_SIGPROCMASK COMPAT { int sigprocmask(int how, osigset_t mask); } 127; XXX note nonstandard (bogus) calling convention - the libc stub passes 128; us the mask, not a pointer to it, and we return the old mask as the 129; (int) return value. 13049 AUE_GETLOGIN STD { int getlogin(char *namebuf, u_int \ 131 namelen); } 13250 AUE_SETLOGIN STD { int setlogin(char *namebuf); } 13351 AUE_ACCT STD { int acct(char *path); } 13452 AUE_SIGPENDING COMPAT { int sigpending(void); } 13553 AUE_SIGALTSTACK STD { int sigaltstack(stack_t *ss, \ 136 stack_t *oss); } 13754 AUE_IOCTL STD { int ioctl(int fd, u_long com, \ 138 caddr_t data); } 13955 AUE_REBOOT STD { int reboot(int opt); } 14056 AUE_REVOKE STD { int revoke(char *path); } 14157 AUE_SYMLINK STD { int symlink(char *path, char *link); } 14258 AUE_READLINK STD { int readlink(char *path, char *buf, \ 143 int count); } 14459 AUE_EXECVE STD { int execve(char *fname, char **argv, \ 145 char **envv); } 14660 AUE_UMASK STD { int umask(int newmask); } umask umask_args \ 147 int 14861 AUE_CHROOT STD { int chroot(char *path); } 14962 AUE_FSTAT COMPAT { int fstat(int fd, struct ostat *sb); } 15063 AUE_NULL COMPAT { int getkerninfo(int op, char *where, \ 151 size_t *size, int arg); } getkerninfo \ 152 getkerninfo_args int 15364 AUE_NULL COMPAT { int getpagesize(void); } getpagesize \ 154 getpagesize_args int 15565 AUE_MSYNC STD { int msync(void *addr, size_t len, \ 156 int flags); } 15766 AUE_VFORK STD { int vfork(void); } 15867 AUE_NULL OBSOL vread 15968 AUE_NULL OBSOL vwrite 16069 AUE_SBRK STD { int sbrk(int incr); } 16170 AUE_SSTK STD { int sstk(int incr); } 16271 AUE_MMAP COMPAT { int mmap(void *addr, int len, int prot, \ 163 int flags, int fd, long pos); } 16472 AUE_O_VADVISE STD { int ovadvise(int anom); } vadvise \ 165 ovadvise_args int 16673 AUE_MUNMAP STD { int munmap(void *addr, size_t len); } 16774 AUE_MPROTECT STD { int mprotect(const void *addr, size_t len, \ 168 int prot); } 16975 AUE_MADVISE STD { int madvise(void *addr, size_t len, \ 170 int behav); } 17176 AUE_NULL OBSOL vhangup 17277 AUE_NULL OBSOL vlimit 17378 AUE_MINCORE STD { int mincore(const void *addr, size_t len, \ 174 char *vec); } 17579 AUE_GETGROUPS STD { int getgroups(u_int gidsetsize, \ 176 gid_t *gidset); } 17780 AUE_SETGROUPS STD { int setgroups(u_int gidsetsize, \ 178 gid_t *gidset); } 17981 AUE_GETPGRP STD { int getpgrp(void); } 18082 AUE_SETPGRP STD { int setpgid(int pid, int pgid); } 18183 AUE_SETITIMER STD { int setitimer(u_int which, struct \ 182 itimerval *itv, struct itimerval *oitv); } 18384 AUE_WAIT4 COMPAT { int wait(void); } 18485 AUE_SWAPON STD { int swapon(char *name); } 18586 AUE_GETITIMER STD { int getitimer(u_int which, \ 186 struct itimerval *itv); } 18787 AUE_SYSCTL COMPAT { int gethostname(char *hostname, \ 188 u_int len); } gethostname \ 189 gethostname_args int 19088 AUE_SYSCTL COMPAT { int sethostname(char *hostname, \ 191 u_int len); } sethostname \ 192 sethostname_args int 19389 AUE_GETDTABLESIZE STD { int getdtablesize(void); } 19490 AUE_DUP2 STD { int dup2(u_int from, u_int to); } 19591 AUE_NULL UNIMPL getdopt 19692 AUE_FCNTL STD { int fcntl(int fd, int cmd, long arg); } 197; XXX should be { int fcntl(int fd, int cmd, ...); } 198; but we're not ready for varargs. 19993 AUE_SELECT STD { int select(int nd, fd_set *in, fd_set *ou, \ 200 fd_set *ex, struct timeval *tv); } 20194 AUE_NULL UNIMPL setdopt 20295 AUE_FSYNC STD { int fsync(int fd); } 20396 AUE_SETPRIORITY STD { int setpriority(int which, int who, \ 204 int prio); } 20597 AUE_SOCKET STD { int socket(int domain, int type, \ 206 int protocol); } 20798 AUE_CONNECT STD { int connect(int s, caddr_t name, \ 208 int namelen); } 20999 AUE_ACCEPT CPT_NOA { int accept(int s, caddr_t name, \ 210 int *anamelen); } accept accept_args int 211100 AUE_GETPRIORITY STD { int getpriority(int which, int who); } 212101 AUE_SEND COMPAT { int send(int s, caddr_t buf, int len, \ 213 int flags); } 214102 AUE_RECV COMPAT { int recv(int s, caddr_t buf, int len, \ 215 int flags); } 216103 AUE_SIGRETURN COMPAT { int sigreturn( \ 217 struct osigcontext *sigcntxp); } 218104 AUE_BIND STD { int bind(int s, caddr_t name, \ 219 int namelen); } 220105 AUE_SETSOCKOPT STD { int setsockopt(int s, int level, int name, \ 221 caddr_t val, int valsize); } 222106 AUE_LISTEN STD { int listen(int s, int backlog); } 223107 AUE_NULL OBSOL vtimes 224108 AUE_NULL COMPAT { int sigvec(int signum, struct sigvec *nsv, \ 225 struct sigvec *osv); } 226109 AUE_NULL COMPAT { int sigblock(int mask); } 227110 AUE_NULL COMPAT { int sigsetmask(int mask); } 228111 AUE_NULL COMPAT { int sigsuspend(osigset_t mask); } 229; XXX note nonstandard (bogus) calling convention - the libc stub passes 230; us the mask, not a pointer to it. 231112 AUE_NULL COMPAT { int sigstack(struct sigstack *nss, \ 232 struct sigstack *oss); } 233113 AUE_RECVMSG COMPAT { int recvmsg(int s, struct omsghdr *msg, \ 234 int flags); } 235114 AUE_SENDMSG COMPAT { int sendmsg(int s, caddr_t msg, \ 236 int flags); } 237115 AUE_NULL OBSOL vtrace 238116 AUE_GETTIMEOFDAY STD { int gettimeofday(struct timeval *tp, \ 239 struct timezone *tzp); } 240117 AUE_GETRUSAGE STD { int getrusage(int who, \ 241 struct rusage *rusage); } 242118 AUE_GETSOCKOPT STD { int getsockopt(int s, int level, int name, \ 243 caddr_t val, int *avalsize); } 244119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) 245120 AUE_READV STD { int readv(int fd, struct iovec *iovp, \ 246 u_int iovcnt); } 247121 AUE_WRITEV STD { int writev(int fd, struct iovec *iovp, \ 248 u_int iovcnt); } 249122 AUE_SETTIMEOFDAY STD { int settimeofday(struct timeval *tv, \ 250 struct timezone *tzp); } 251123 AUE_FCHOWN STD { int fchown(int fd, int uid, int gid); } 252124 AUE_FCHMOD STD { int fchmod(int fd, int mode); } 253125 AUE_RECVFROM CPT_NOA { int recvfrom(int s, caddr_t buf, \ 254 size_t len, int flags, caddr_t from, int \ 255 *fromlenaddr); } recvfrom recvfrom_args \ 256 int 257126 AUE_SETREUID STD { int setreuid(int ruid, int euid); } 258127 AUE_SETREGID STD { int setregid(int rgid, int egid); } 259128 AUE_RENAME STD { int rename(char *from, char *to); } 260129 AUE_TRUNCATE COMPAT { int truncate(char *path, long length); } 261130 AUE_FTRUNCATE COMPAT { int ftruncate(int fd, long length); } 262131 AUE_FLOCK STD { int flock(int fd, int how); } 263132 AUE_MKFIFO STD { int mkfifo(char *path, int mode); } 264133 AUE_SENDTO STD { int sendto(int s, caddr_t buf, size_t len, \ 265 int flags, caddr_t to, int tolen); } 266134 AUE_SHUTDOWN STD { int shutdown(int s, int how); } 267135 AUE_SOCKETPAIR STD { int socketpair(int domain, int type, \ 268 int protocol, int *rsv); } 269136 AUE_MKDIR STD { int mkdir(char *path, int mode); } 270137 AUE_RMDIR STD { int rmdir(char *path); } 271138 AUE_UTIMES STD { int utimes(char *path, \ 272 struct timeval *tptr); } 273139 AUE_NULL OBSOL 4.2 sigreturn 274140 AUE_ADJTIME STD { int adjtime(struct timeval *delta, \ 275 struct timeval *olddelta); } 276141 AUE_GETPEERNAME COMPAT { int getpeername(int fdes, caddr_t asa, \ 277 int *alen); } 278142 AUE_SYSCTL COMPAT { long gethostid(void); } 279143 AUE_SYSCTL COMPAT { int sethostid(long hostid); } 280144 AUE_GETRLIMIT COMPAT { int getrlimit(u_int which, struct \ 281 orlimit *rlp); } 282145 AUE_SETRLIMIT COMPAT { int setrlimit(u_int which, \ 283 struct orlimit *rlp); } 284146 AUE_KILLPG COMPAT { int killpg(int pgid, int signum); } 285147 AUE_SETSID STD { int setsid(void); } 286148 AUE_QUOTACTL STD { int quotactl(char *path, int cmd, int uid, \ 287 caddr_t arg); } 288149 AUE_O_QUOTA COMPAT { int quota(void); } 289150 AUE_GETSOCKNAME CPT_NOA { int getsockname(int fdec, \ 290 caddr_t asa, int *alen); } getsockname \ 291 getsockname_args int 292 293; Syscalls 151-180 inclusive are reserved for vendor-specific 294; system calls. (This includes various calls added for compatibity 295; with other Unix variants.) 296; Some of these calls are now supported by BSD... 297151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x) 298152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x) 299153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x) 300154 AUE_NULL UNIMPL nosys 301; 155 is initialized by the NFS code, if present. 302155 AUE_NFS_SVC NOSTD { int nfssvc(int flag, caddr_t argp); } 303156 AUE_GETDIRENTRIES COMPAT { int getdirentries(int fd, char *buf, \ 304 u_int count, long *basep); } 305157 AUE_STATFS COMPAT4 { int statfs(char *path, \ 306 struct ostatfs *buf); } 307158 AUE_FSTATFS COMPAT4 { int fstatfs(int fd, \ 308 struct ostatfs *buf); } 309159 AUE_NULL UNIMPL nosys 310160 AUE_LGETFH STD { int lgetfh(char *fname, \ 311 struct fhandle *fhp); } 312161 AUE_NFS_GETFH STD { int getfh(char *fname, \ 313 struct fhandle *fhp); } 314162 AUE_SYSCTL STD { int getdomainname(char *domainname, \ 315 int len); } 316163 AUE_SYSCTL STD { int setdomainname(char *domainname, \ 317 int len); } 318164 AUE_NULL STD { int uname(struct utsname *name); } 319165 AUE_SYSARCH STD { int sysarch(int op, char *parms); } 320166 AUE_RTPRIO STD { int rtprio(int function, pid_t pid, \ 321 struct rtprio *rtp); } 322167 AUE_NULL UNIMPL nosys 323168 AUE_NULL UNIMPL nosys 324; 169 is initialized by the SYSVSEM code if present or loaded 325169 AUE_SEMSYS NOSTD { int semsys(int which, int a2, int a3, \ 326 int a4, int a5); } 327; 169 is initialized by the SYSVMSG code if present or loaded 328; XXX should be { int semsys(int which, ...); } 329170 AUE_MSGSYS NOSTD { int msgsys(int which, int a2, int a3, \ 330 int a4, int a5, int a6); } 331; 169 is initialized by the SYSVSHM code if present or loaded 332; XXX should be { int msgsys(int which, ...); } 333171 AUE_SHMSYS NOSTD { int shmsys(int which, int a2, int a3, \ 334 int a4); } 335; XXX should be { int shmsys(int which, ...); } 336172 AUE_NULL UNIMPL nosys 337173 AUE_PREAD STD { ssize_t pread(int fd, void *buf, \ 338 size_t nbyte, int pad, off_t offset); } 339174 AUE_PWRITE STD { ssize_t pwrite(int fd, const void *buf, \ 340 size_t nbyte, int pad, off_t offset); } 341175 AUE_NULL UNIMPL nosys 342176 AUE_NTP_ADJTIME STD { int ntp_adjtime(struct timex *tp); } 343177 AUE_NULL UNIMPL sfork (BSD/OS 2.x) 344178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x) 345179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x) 346180 AUE_NULL UNIMPL nosys 347 348; Syscalls 181-199 are used by/reserved for BSD 349181 AUE_SETGID STD { int setgid(gid_t gid); } 350182 AUE_SETEGID STD { int setegid(gid_t egid); } 351183 AUE_SETEUID STD { int seteuid(uid_t euid); } 352184 AUE_NULL UNIMPL lfs_bmapv 353185 AUE_NULL UNIMPL lfs_markv 354186 AUE_NULL UNIMPL lfs_segclean 355187 AUE_NULL UNIMPL lfs_segwait 356188 AUE_STAT STD { int stat(char *path, struct stat *ub); } 357189 AUE_FSTAT STD { int fstat(int fd, struct stat *sb); } 358190 AUE_LSTAT STD { int lstat(char *path, struct stat *ub); } 359191 AUE_PATHCONF STD { int pathconf(char *path, int name); } 360192 AUE_FPATHCONF STD { int fpathconf(int fd, int name); } 361193 AUE_NULL UNIMPL nosys 362194 AUE_GETRLIMIT STD { int getrlimit(u_int which, \ 363 struct rlimit *rlp); } getrlimit \ 364 __getrlimit_args int 365195 AUE_SETRLIMIT STD { int setrlimit(u_int which, \ 366 struct rlimit *rlp); } setrlimit \ 367 __setrlimit_args int 368196 AUE_GETDIRENTRIES STD { int getdirentries(int fd, char *buf, \ 369 u_int count, long *basep); } 370197 AUE_MMAP STD { caddr_t mmap(caddr_t addr, size_t len, \ 371 int prot, int flags, int fd, int pad, \ 372 off_t pos); } 373198 AUE_NULL STD { int nosys(void); } __syscall \ 374 __syscall_args int 375199 AUE_LSEEK STD { off_t lseek(int fd, int pad, off_t offset, \ 376 int whence); } 377200 AUE_TRUNCATE STD { int truncate(char *path, int pad, \ 378 off_t length); } 379201 AUE_FTRUNCATE STD { int ftruncate(int fd, int pad, \ 380 off_t length); } 381202 AUE_SYSCTL STD { int __sysctl(int *name, u_int namelen, \ 382 void *old, size_t *oldlenp, void *new, \ 383 size_t newlen); } __sysctl sysctl_args int 384203 AUE_MLOCK STD { int mlock(const void *addr, size_t len); } 385204 AUE_MUNLOCK STD { int munlock(const void *addr, size_t len); } 386205 AUE_UNDELETE STD { int undelete(char *path); } 387206 AUE_FUTIMES STD { int futimes(int fd, struct timeval *tptr); } 388207 AUE_GETPGID STD { int getpgid(pid_t pid); } 389208 AUE_NULL UNIMPL newreboot (NetBSD) 390209 AUE_POLL STD { int poll(struct pollfd *fds, u_int nfds, \ 391 int timeout); } 392 393; 394; The following are reserved for loadable syscalls 395; 396210 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 397211 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 398212 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 399213 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 400214 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 401215 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 402216 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 403217 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 404218 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 405219 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 406 407; 408; The following were introduced with NetBSD/4.4Lite-2 409220 AUE_SEMCTL NOSTD { int __semctl(int semid, int semnum, \ 410 int cmd, union semun *arg); } 411221 AUE_SEMGET NOSTD { int semget(key_t key, int nsems, \ 412 int semflg); } 413222 AUE_SEMOP NOSTD { int semop(int semid, struct sembuf *sops, \ 414 size_t nsops); } 415223 AUE_NULL UNIMPL semconfig 416224 AUE_MSGCTL NOSTD { int msgctl(int msqid, int cmd, \ 417 struct msqid_ds *buf); } 418225 AUE_MSGGET NOSTD { int msgget(key_t key, int msgflg); } 419226 AUE_MSGSND NOSTD { int msgsnd(int msqid, const void *msgp, \ 420 size_t msgsz, int msgflg); } 421227 AUE_MSGRCV NOSTD { int msgrcv(int msqid, void *msgp, \ 422 size_t msgsz, long msgtyp, int msgflg); } 423228 AUE_SHMAT NOSTD { int shmat(int shmid, const void *shmaddr, \ 424 int shmflg); } 425229 AUE_SHMCTL NOSTD { int shmctl(int shmid, int cmd, \ 426 struct shmid_ds *buf); } 427230 AUE_SHMDT NOSTD { int shmdt(const void *shmaddr); } 428231 AUE_SHMGET NOSTD { int shmget(key_t key, size_t size, \ 429 int shmflg); } 430; 431232 AUE_NULL STD { int clock_gettime(clockid_t clock_id, \ 432 struct timespec *tp); } 433233 AUE_CLOCK_SETTIME STD { int clock_settime( \ 434 clockid_t clock_id, \ 435 const struct timespec *tp); } 436234 AUE_NULL STD { int clock_getres(clockid_t clock_id, \ 437 struct timespec *tp); } 438235 AUE_NULL STD { int ktimer_create(clockid_t clock_id, \ 439 struct sigevent *evp, int *timerid); } 440236 AUE_NULL STD { int ktimer_delete(int timerid); } 441237 AUE_NULL STD { int ktimer_settime(int timerid, int flags, \ 442 const struct itimerspec *value, \ 443 struct itimerspec *ovalue); } 444238 AUE_NULL STD { int ktimer_gettime(int timerid, struct \ 445 itimerspec *value); } 446239 AUE_NULL STD { int ktimer_getoverrun(int timerid); } 447240 AUE_NULL STD { int nanosleep(const struct timespec *rqtp, \ 448 struct timespec *rmtp); } 449241 AUE_NULL UNIMPL nosys 450242 AUE_NULL UNIMPL nosys 451243 AUE_NULL UNIMPL nosys 452244 AUE_NULL UNIMPL nosys 453245 AUE_NULL UNIMPL nosys 454246 AUE_NULL UNIMPL nosys 455247 AUE_NULL UNIMPL nosys 456248 AUE_NULL STD { int ntp_gettime(struct ntptimeval *ntvp); } 457249 AUE_NULL UNIMPL nosys 458; syscall numbers initially used in OpenBSD 459250 AUE_MINHERIT STD { int minherit(void *addr, size_t len, \ 460 int inherit); } 461251 AUE_RFORK STD { int rfork(int flags); } 462252 AUE_POLL STD { int openbsd_poll(struct pollfd *fds, \ 463 u_int nfds, int timeout); } 464253 AUE_ISSETUGID STD { int issetugid(void); } 465254 AUE_LCHOWN STD { int lchown(char *path, int uid, int gid); } 466255 AUE_NULL NOSTD { int aio_read(struct aiocb *aiocbp); } 467256 AUE_NULL NOSTD { int aio_write(struct aiocb *aiocbp); } 468257 AUE_NULL NOSTD { int lio_listio(int mode, \ 469 struct aiocb * const *acb_list, \ 470 int nent, struct sigevent *sig); } 471258 AUE_NULL UNIMPL nosys 472259 AUE_NULL UNIMPL nosys 473260 AUE_NULL UNIMPL nosys 474261 AUE_NULL UNIMPL nosys 475262 AUE_NULL UNIMPL nosys 476263 AUE_NULL UNIMPL nosys 477264 AUE_NULL UNIMPL nosys 478265 AUE_NULL UNIMPL nosys 479266 AUE_NULL UNIMPL nosys 480267 AUE_NULL UNIMPL nosys 481268 AUE_NULL UNIMPL nosys 482269 AUE_NULL UNIMPL nosys 483270 AUE_NULL UNIMPL nosys 484271 AUE_NULL UNIMPL nosys 485272 AUE_O_GETDENTS STD { int getdents(int fd, char *buf, \ 486 size_t count); } 487273 AUE_NULL UNIMPL nosys 488274 AUE_LCHMOD STD { int lchmod(char *path, mode_t mode); } 489275 AUE_LCHOWN NOPROTO { int lchown(char *path, uid_t uid, \ 490 gid_t gid); } netbsd_lchown lchown_args \ 491 int 492276 AUE_LUTIMES STD { int lutimes(char *path, \ 493 struct timeval *tptr); } 494277 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ 495 int flags); } netbsd_msync msync_args int 496278 AUE_STAT STD { int nstat(char *path, struct nstat *ub); } 497279 AUE_FSTAT STD { int nfstat(int fd, struct nstat *sb); } 498280 AUE_LSTAT STD { int nlstat(char *path, struct nstat *ub); } 499281 AUE_NULL UNIMPL nosys 500282 AUE_NULL UNIMPL nosys 501283 AUE_NULL UNIMPL nosys 502284 AUE_NULL UNIMPL nosys 503285 AUE_NULL UNIMPL nosys 504286 AUE_NULL UNIMPL nosys 505287 AUE_NULL UNIMPL nosys 506288 AUE_NULL UNIMPL nosys 507; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 508289 AUE_PREADV STD { ssize_t preadv(int fd, struct iovec *iovp, \ 509 u_int iovcnt, off_t offset); } 510290 AUE_PWRITEV STD { ssize_t pwritev(int fd, struct iovec *iovp, \ 511 u_int iovcnt, off_t offset); } 512291 AUE_NULL UNIMPL nosys 513292 AUE_NULL UNIMPL nosys 514293 AUE_NULL UNIMPL nosys 515294 AUE_NULL UNIMPL nosys 516295 AUE_NULL UNIMPL nosys 517296 AUE_NULL UNIMPL nosys 518; XXX 297 is 300 in NetBSD 519297 AUE_FHSTATFS COMPAT4 { int fhstatfs( \ 520 const struct fhandle *u_fhp, \ 521 struct ostatfs *buf); } 522298 AUE_FHOPEN STD { int fhopen(const struct fhandle *u_fhp, \ 523 int flags); } 524299 AUE_FHSTAT STD { int fhstat(const struct fhandle *u_fhp, \ 525 struct stat *sb); } 526; syscall numbers for FreeBSD 527300 AUE_NULL STD { int modnext(int modid); } 528301 AUE_NULL STD { int modstat(int modid, \ 529 struct module_stat *stat); } 530302 AUE_NULL STD { int modfnext(int modid); } 531303 AUE_NULL STD { int modfind(const char *name); } 532304 AUE_MODLOAD STD { int kldload(const char *file); } 533305 AUE_MODUNLOAD STD { int kldunload(int fileid); } 534306 AUE_NULL STD { int kldfind(const char *file); } 535307 AUE_NULL STD { int kldnext(int fileid); } 536308 AUE_NULL STD { int kldstat(int fileid, struct \ 537 kld_file_stat* stat); } 538309 AUE_NULL STD { int kldfirstmod(int fileid); } 539310 AUE_GETSID STD { int getsid(pid_t pid); } 540311 AUE_SETRESUID STD { int setresuid(uid_t ruid, uid_t euid, \ 541 uid_t suid); } 542312 AUE_SETRESGID STD { int setresgid(gid_t rgid, gid_t egid, \ 543 gid_t sgid); } 544313 AUE_NULL OBSOL signanosleep 545314 AUE_NULL NOSTD { int aio_return(struct aiocb *aiocbp); } 546315 AUE_NULL NOSTD { int aio_suspend( \ 547 struct aiocb * const * aiocbp, int nent, \ 548 const struct timespec *timeout); } 549316 AUE_NULL NOSTD { int aio_cancel(int fd, \ 550 struct aiocb *aiocbp); } 551317 AUE_NULL NOSTD { int aio_error(struct aiocb *aiocbp); } 552318 AUE_NULL NOSTD { int oaio_read(struct oaiocb *aiocbp); } 553319 AUE_NULL NOSTD { int oaio_write(struct oaiocb *aiocbp); } 554320 AUE_NULL NOSTD { int olio_listio(int mode, \ 555 struct oaiocb * const *acb_list, \ 556 int nent, struct osigevent *sig); } 557321 AUE_NULL STD { int yield(void); } 558322 AUE_NULL OBSOL thr_sleep 559323 AUE_NULL OBSOL thr_wakeup 560324 AUE_MLOCKALL STD { int mlockall(int how); } 561325 AUE_MUNLOCKALL STD { int munlockall(void); } 562326 AUE_GETCWD STD { int __getcwd(u_char *buf, u_int buflen); } 563 564327 AUE_NULL STD { int sched_setparam (pid_t pid, \ 565 const struct sched_param *param); } 566328 AUE_NULL STD { int sched_getparam (pid_t pid, struct \ 567 sched_param *param); } 568 569329 AUE_NULL STD { int sched_setscheduler (pid_t pid, int \ 570 policy, const struct sched_param \ 571 *param); } 572330 AUE_NULL STD { int sched_getscheduler (pid_t pid); } 573 574331 AUE_NULL STD { int sched_yield (void); } 575332 AUE_NULL STD { int sched_get_priority_max (int policy); } 576333 AUE_NULL STD { int sched_get_priority_min (int policy); } 577334 AUE_NULL STD { int sched_rr_get_interval (pid_t pid, \ 578 struct timespec *interval); } 579335 AUE_NULL STD { int utrace(const void *addr, size_t len); } 580336 AUE_SENDFILE COMPAT4 { int sendfile(int fd, int s, \ 581 off_t offset, size_t nbytes, \ 582 struct sf_hdtr *hdtr, off_t *sbytes, \ 583 int flags); } 584337 AUE_NULL STD { int kldsym(int fileid, int cmd, \ 585 void *data); } 586338 AUE_JAIL STD { int jail(struct jail *jail); } 587339 AUE_NULL UNIMPL pioctl 588340 AUE_SIGPROCMASK STD { int sigprocmask(int how, \ 589 const sigset_t *set, sigset_t *oset); } 590341 AUE_SIGSUSPEND STD { int sigsuspend(const sigset_t *sigmask); } 591342 AUE_SIGACTION COMPAT4 { int sigaction(int sig, const \ 592 struct sigaction *act, \ 593 struct sigaction *oact); } 594343 AUE_SIGPENDING STD { int sigpending(sigset_t *set); } 595344 AUE_SIGRETURN COMPAT4 { int sigreturn( \ 596 const struct ucontext4 *sigcntxp); } 597345 AUE_SIGWAIT STD { int sigtimedwait(const sigset_t *set, \ 598 siginfo_t *info, \ 599 const struct timespec *timeout); } 600346 AUE_NULL STD { int sigwaitinfo(const sigset_t *set, \ 601 siginfo_t *info); } 602347 AUE_NULL STD { int __acl_get_file(const char *path, \ 603 acl_type_t type, struct acl *aclp); } 604348 AUE_NULL STD { int __acl_set_file(const char *path, \ 605 acl_type_t type, struct acl *aclp); } 606349 AUE_NULL STD { int __acl_get_fd(int filedes, \ 607 acl_type_t type, struct acl *aclp); } 608350 AUE_NULL STD { int __acl_set_fd(int filedes, \ 609 acl_type_t type, struct acl *aclp); } 610351 AUE_NULL STD { int __acl_delete_file(const char *path, \ 611 acl_type_t type); } 612352 AUE_NULL STD { int __acl_delete_fd(int filedes, \ 613 acl_type_t type); } 614353 AUE_NULL STD { int __acl_aclcheck_file(const char *path, \ 615 acl_type_t type, struct acl *aclp); } 616354 AUE_NULL STD { int __acl_aclcheck_fd(int filedes, \ 617 acl_type_t type, struct acl *aclp); } 618355 AUE_EXTATTRCTL STD { int extattrctl(const char *path, int cmd, \ 619 const char *filename, int attrnamespace, \ 620 const char *attrname); } 621356 AUE_EXTATTR_SET_FILE STD { int extattr_set_file( \ 622 const char *path, int attrnamespace, \ 623 const char *attrname, void *data, \ 624 size_t nbytes); } 625357 AUE_EXTATTR_GET_FILE STD { ssize_t extattr_get_file( \ 626 const char *path, int attrnamespace, \ 627 const char *attrname, void *data, \ 628 size_t nbytes); } 629358 AUE_EXTATTR_DELETE_FILE STD { int extattr_delete_file(const char *path, \ 630 int attrnamespace, \ 631 const char *attrname); } 632359 AUE_NULL NOSTD { int aio_waitcomplete( \ 633 struct aiocb **aiocbp, \ 634 struct timespec *timeout); } 635360 AUE_GETRESUID STD { int getresuid(uid_t *ruid, uid_t *euid, \ 636 uid_t *suid); } 637361 AUE_GETRESGID STD { int getresgid(gid_t *rgid, gid_t *egid, \ 638 gid_t *sgid); } 639362 AUE_KQUEUE STD { int kqueue(void); } 640363 AUE_NULL STD { int kevent(int fd, \ 641 struct kevent *changelist, int nchanges, \ 642 struct kevent *eventlist, int nevents, \ 643 const struct timespec *timeout); } 644364 AUE_NULL UNIMPL __cap_get_proc 645365 AUE_NULL UNIMPL __cap_set_proc 646366 AUE_NULL UNIMPL __cap_get_fd 647367 AUE_NULL UNIMPL __cap_get_file 648368 AUE_NULL UNIMPL __cap_set_fd 649369 AUE_NULL UNIMPL __cap_set_file 650370 AUE_NULL NODEF lkmressys lkmressys nosys_args int 651371 AUE_EXTATTR_SET_FD STD { int extattr_set_fd(int fd, \ 652 int attrnamespace, const char *attrname, \ 653 void *data, size_t nbytes); } 654372 AUE_EXTATTR_GET_FD STD { ssize_t extattr_get_fd(int fd, \ 655 int attrnamespace, const char *attrname, \ 656 void *data, size_t nbytes); } 657373 AUE_EXTATTR_DELETE_FD STD { int extattr_delete_fd(int fd, \ 658 int attrnamespace, \ 659 const char *attrname); } 660374 AUE_NULL STD { int __setugid(int flag); } 661375 AUE_NULL NOIMPL { int nfsclnt(int flag, caddr_t argp); } 662376 AUE_EACCESS STD { int eaccess(char *path, int flags); } 663377 AUE_NULL UNIMPL afs_syscall 664378 AUE_NMOUNT STD { int nmount(struct iovec *iovp, \ 665 unsigned int iovcnt, int flags); } 666379 AUE_NULL STD { int kse_exit(void); } 667380 AUE_NULL STD { int kse_wakeup(struct kse_mailbox *mbx); } 668381 AUE_NULL STD { int kse_create(struct kse_mailbox *mbx, \ 669 int newgroup); } 670382 AUE_NULL STD { int kse_thr_interrupt( \ 671 struct kse_thr_mailbox *tmbx, int cmd, \ 672 long data); } 673383 AUE_NULL STD { int kse_release(struct timespec *timeout); } 674384 AUE_NULL STD { int __mac_get_proc(struct mac *mac_p); } 675385 AUE_NULL STD { int __mac_set_proc(struct mac *mac_p); } 676386 AUE_NULL STD { int __mac_get_fd(int fd, \ 677 struct mac *mac_p); } 678387 AUE_NULL STD { int __mac_get_file(const char *path_p, \ 679 struct mac *mac_p); } 680388 AUE_NULL STD { int __mac_set_fd(int fd, \ 681 struct mac *mac_p); } 682389 AUE_NULL STD { int __mac_set_file(const char *path_p, \ 683 struct mac *mac_p); } 684390 AUE_NULL STD { int kenv(int what, const char *name, \ 685 char *value, int len); } 686391 AUE_LCHFLAGS STD { int lchflags(const char *path, int flags); } 687392 AUE_NULL STD { int uuidgen(struct uuid *store, \ 688 int count); } 689393 AUE_SENDFILE STD { int sendfile(int fd, int s, off_t offset, \ 690 size_t nbytes, struct sf_hdtr *hdtr, \ 691 off_t *sbytes, int flags); } 692394 AUE_NULL STD { int mac_syscall(const char *policy, \ 693 int call, void *arg); } 694395 AUE_GETFSSTAT STD { int getfsstat(struct statfs *buf, \ 695 long bufsize, int flags); } 696396 AUE_STATFS STD { int statfs(char *path, \ 697 struct statfs *buf); } 698397 AUE_FSTATFS STD { int fstatfs(int fd, struct statfs *buf); } 699398 AUE_FHSTATFS STD { int fhstatfs(const struct fhandle *u_fhp, \ 700 struct statfs *buf); } 701399 AUE_NULL UNIMPL nosys 702400 AUE_NULL NOSTD { int ksem_close(semid_t id); } 703401 AUE_NULL NOSTD { int ksem_post(semid_t id); } 704402 AUE_NULL NOSTD { int ksem_wait(semid_t id); } 705403 AUE_NULL NOSTD { int ksem_trywait(semid_t id); } 706404 AUE_NULL NOSTD { int ksem_init(semid_t *idp, \ 707 unsigned int value); } 708405 AUE_NULL NOSTD { int ksem_open(semid_t *idp, \ 709 const char *name, int oflag, \ 710 mode_t mode, unsigned int value); } 711406 AUE_NULL NOSTD { int ksem_unlink(const char *name); } 712407 AUE_NULL NOSTD { int ksem_getvalue(semid_t id, int *val); } 713408 AUE_NULL NOSTD { int ksem_destroy(semid_t id); } 714409 AUE_NULL STD { int __mac_get_pid(pid_t pid, \ 715 struct mac *mac_p); } 716410 AUE_NULL STD { int __mac_get_link(const char *path_p, \ 717 struct mac *mac_p); } 718411 AUE_NULL STD { int __mac_set_link(const char *path_p, \ 719 struct mac *mac_p); } 720412 AUE_EXTATTR_SET_LINK STD { int extattr_set_link( \ 721 const char *path, int attrnamespace, \ 722 const char *attrname, void *data, \ 723 size_t nbytes); } 724413 AUE_EXTATTR_GET_LINK STD { ssize_t extattr_get_link( \ 725 const char *path, int attrnamespace, \ 726 const char *attrname, void *data, \ 727 size_t nbytes); } 728414 AUE_EXTATTR_DELETE_LINK STD { int extattr_delete_link( \ 729 const char *path, int attrnamespace, \ 730 const char *attrname); } 731415 AUE_NULL STD { int __mac_execve(char *fname, char **argv, \ 732 char **envv, struct mac *mac_p); } 733416 AUE_SIGACTION STD { int sigaction(int sig, \ 734 const struct sigaction *act, \ 735 struct sigaction *oact); } 736417 AUE_SIGRETURN STD { int sigreturn( \ 737 const struct __ucontext *sigcntxp); } 738418 AUE_NULL UNIMPL __xstat 739419 AUE_NULL UNIMPL __xfstat 740420 AUE_NULL UNIMPL __xlstat 741421 AUE_NULL STD { int getcontext(struct __ucontext *ucp); } 742422 AUE_NULL STD { int setcontext( \ 743 const struct __ucontext *ucp); } 744423 AUE_NULL STD { int swapcontext(struct __ucontext *oucp, \ 745 const struct __ucontext *ucp); } 746424 AUE_SWAPOFF STD { int swapoff(const char *name); } 747425 AUE_NULL STD { int __acl_get_link(const char *path, \ 748 acl_type_t type, struct acl *aclp); } 749426 AUE_NULL STD { int __acl_set_link(const char *path, \ 750 acl_type_t type, struct acl *aclp); } 751427 AUE_NULL STD { int __acl_delete_link(const char *path, \ 752 acl_type_t type); } 753428 AUE_NULL STD { int __acl_aclcheck_link(const char *path, \ 754 acl_type_t type, struct acl *aclp); } 755429 AUE_SIGWAIT STD { int sigwait(const sigset_t *set, \ 756 int *sig); } 757430 AUE_NULL STD { int thr_create(ucontext_t *ctx, long *id, \ 758 int flags); } 759431 AUE_NULL STD { void thr_exit(long *state); } 760432 AUE_NULL STD { int thr_self(long *id); } 761433 AUE_NULL STD { int thr_kill(long id, int sig); } 762434 AUE_NULL STD { int _umtx_lock(struct umtx *umtx); } 763435 AUE_NULL STD { int _umtx_unlock(struct umtx *umtx); } 764436 AUE_NULL STD { int jail_attach(int jid); } 765437 AUE_EXTATTR_LIST_FD STD { ssize_t extattr_list_fd(int fd, \ 766 int attrnamespace, void *data, \ 767 size_t nbytes); } 768438 AUE_EXTATTR_LIST_FILE STD { ssize_t extattr_list_file( \ 769 const char *path, int attrnamespace, \ 770 void *data, size_t nbytes); } 771439 AUE_EXTATTR_LIST_LINK STD { ssize_t extattr_list_link( \ 772 const char *path, int attrnamespace, \ 773 void *data, size_t nbytes); } 774440 AUE_NULL STD { int kse_switchin( \ 775 struct kse_thr_mailbox *tmbx, \ 776 int flags); } 777441 AUE_NULL NOSTD { int ksem_timedwait(semid_t id, \ 778 const struct timespec *abstime); } 779442 AUE_NULL STD { int thr_suspend( \ 780 const struct timespec *timeout); } 781443 AUE_NULL STD { int thr_wake(long id); } 782444 AUE_MODUNLOAD STD { int kldunloadf(int fileid, int flags); } 783445 AUE_AUDIT STD { int audit(const void *record, \ 784 u_int length); } 785446 AUE_AUDITON STD { int auditon(int cmd, void *data, \ 786 u_int length); } 787447 AUE_GETAUID STD { int getauid(uid_t *auid); } 788448 AUE_SETAUID STD { int setauid(uid_t *auid); } 789449 AUE_GETAUDIT STD { int getaudit(struct auditinfo *auditinfo); } 790450 AUE_SETAUDIT STD { int setaudit(struct auditinfo *auditinfo); } 791451 AUE_GETAUDIT_ADDR STD { int getaudit_addr( \ 792 struct auditinfo_addr *auditinfo_addr, \ 793 u_int length); } 794452 AUE_SETAUDIT_ADDR STD { int setaudit_addr( \ 795 struct auditinfo_addr *auditinfo_addr, \ 796 u_int length); } 797453 AUE_AUDITCTL STD { int auditctl(char *path); } 798454 AUE_NULL STD { int _umtx_op(void *obj, int op, \ 799 u_long val, void *uaddr1, void *uaddr2); } 800455 AUE_NULL STD { int thr_new(struct thr_param *param, \ 801 int param_size); } 802456 AUE_NULL STD { int sigqueue(pid_t pid, int signum, void *value); } 803457 AUE_NULL NOSTD { int kmq_open(const char *path, int flags, \ 804 mode_t mode, const struct mq_attr *attr); } 805458 AUE_NULL NOSTD { int kmq_setattr(int mqd, \ 806 const struct mq_attr *attr, \ 807 struct mq_attr *oattr); } 808459 AUE_NULL NOSTD { int kmq_timedreceive(int mqd, \ 809 char *msg_ptr, size_t msg_len, \ 810 unsigned *msg_prio, \ 811 const struct timespec *abs_timeout); } 812460 AUE_NULL NOSTD { int kmq_timedsend(int mqd, \ 813 const char *msg_ptr, size_t msg_len,\ 814 unsigned msg_prio, \ 815 const struct timespec *abs_timeout);} 816461 AUE_NULL NOSTD { int kmq_notify(int mqd, \ 817 const struct sigevent *sigev); } 818462 AUE_NULL NOSTD { int kmq_unlink(const char *path); } 819463 AUE_NULL STD { int abort2(const char *why, int nargs, void **args); } 820464 AUE_NULL STD { int thr_set_name(long id, const char *name); } 821465 AUE_NULL NOSTD { int aio_fsync(int op, struct aiocb *aiocbp); } 822466 AUE_RTPRIO STD { int rtprio_thread(int function, \ 823 lwpid_t lwpid, struct rtprio *rtp); } 824467 AUE_NULL UNIMPL nosys 825468 AUE_NULL UNIMPL nosys 826469 AUE_NULL UNIMPL __getpath_fromfd 827470 AUE_NULL UNIMPL __getpath_fromaddr 828471 AUE_NULL STD { int sctp_peeloff(int sd, uint32_t name); } 829472 AUE_NULL STD { int sctp_generic_sendmsg(int sd, caddr_t msg, int mlen, \ 830 caddr_t to, __socklen_t tolen, \ 831 struct sctp_sndrcvinfo *sinfo, int flags); } 832473 AUE_NULL STD { int sctp_generic_sendmsg_iov(int sd, struct iovec *iov, int iovlen, \ 833 caddr_t to, __socklen_t tolen, \ 834 struct sctp_sndrcvinfo *sinfo, int flags); } 835474 AUE_NULL STD { int sctp_generic_recvmsg(int sd, struct iovec *iov, int iovlen, \ 836 struct sockaddr * from, __socklen_t *fromlenaddr, \ 837 struct sctp_sndrcvinfo *sinfo, int *msg_flags); } 838; Please copy any additions and changes to the following compatability tables: 839; sys/compat/freebsd32/syscalls.master 840