syscalls.master revision 161367
1 $FreeBSD: head/sys/kern/syscalls.master 161367 2006-08-16 22:32:50Z peter $ 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_O_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_SIGPENDING 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_O_GETPAGESIZE 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_NULL STD { int sysarch(int op, char *parms); } 320166 AUE_NULL 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_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_NULL STD { int clock_settime(clockid_t clock_id, \ 434 const struct timespec *tp); } 435234 AUE_NULL STD { int clock_getres(clockid_t clock_id, \ 436 struct timespec *tp); } 437235 AUE_NULL STD { int ktimer_create(clockid_t clock_id, \ 438 struct sigevent *evp, int *timerid); } 439236 AUE_NULL STD { int ktimer_delete(int timerid); } 440237 AUE_NULL STD { int ktimer_settime(int timerid, int flags, \ 441 const struct itimerspec *value, \ 442 struct itimerspec *ovalue); } 443238 AUE_NULL STD { int ktimer_gettime(int timerid, struct \ 444 itimerspec *value); } 445239 AUE_NULL STD { int ktimer_getoverrun(int timerid); } 446240 AUE_NULL STD { int nanosleep(const struct timespec *rqtp, \ 447 struct timespec *rmtp); } 448241 AUE_NULL UNIMPL nosys 449242 AUE_NULL UNIMPL nosys 450243 AUE_NULL UNIMPL nosys 451244 AUE_NULL UNIMPL nosys 452245 AUE_NULL UNIMPL nosys 453246 AUE_NULL UNIMPL nosys 454247 AUE_NULL UNIMPL nosys 455248 AUE_NULL STD { int ntp_gettime(struct ntptimeval *ntvp); } 456249 AUE_NULL UNIMPL nosys 457; syscall numbers initially used in OpenBSD 458250 AUE_MINHERIT STD { int minherit(void *addr, size_t len, \ 459 int inherit); } 460251 AUE_RFORK STD { int rfork(int flags); } 461252 AUE_POLL STD { int openbsd_poll(struct pollfd *fds, \ 462 u_int nfds, int timeout); } 463253 AUE_ISSETUGID STD { int issetugid(void); } 464254 AUE_LCHOWN STD { int lchown(char *path, int uid, int gid); } 465255 AUE_NULL NOSTD { int aio_read(struct aiocb *aiocbp); } 466256 AUE_NULL NOSTD { int aio_write(struct aiocb *aiocbp); } 467257 AUE_NULL NOSTD { int lio_listio(int mode, \ 468 struct aiocb * const *acb_list, \ 469 int nent, struct sigevent *sig); } 470258 AUE_NULL UNIMPL nosys 471259 AUE_NULL UNIMPL nosys 472260 AUE_NULL UNIMPL nosys 473261 AUE_NULL UNIMPL nosys 474262 AUE_NULL UNIMPL nosys 475263 AUE_NULL UNIMPL nosys 476264 AUE_NULL UNIMPL nosys 477265 AUE_NULL UNIMPL nosys 478266 AUE_NULL UNIMPL nosys 479267 AUE_NULL UNIMPL nosys 480268 AUE_NULL UNIMPL nosys 481269 AUE_NULL UNIMPL nosys 482270 AUE_NULL UNIMPL nosys 483271 AUE_NULL UNIMPL nosys 484272 AUE_O_GETDENTS STD { int getdents(int fd, char *buf, \ 485 size_t count); } 486273 AUE_NULL UNIMPL nosys 487274 AUE_LCHMOD STD { int lchmod(char *path, mode_t mode); } 488275 AUE_LCHOWN NOPROTO { int lchown(char *path, uid_t uid, \ 489 gid_t gid); } netbsd_lchown lchown_args \ 490 int 491276 AUE_LUTIMES STD { int lutimes(char *path, \ 492 struct timeval *tptr); } 493277 AUE_MSYNC NOPROTO { int msync(void *addr, size_t len, \ 494 int flags); } netbsd_msync msync_args int 495278 AUE_STAT STD { int nstat(char *path, struct nstat *ub); } 496279 AUE_FSTAT STD { int nfstat(int fd, struct nstat *sb); } 497280 AUE_LSTAT STD { int nlstat(char *path, struct nstat *ub); } 498281 AUE_NULL UNIMPL nosys 499282 AUE_NULL UNIMPL nosys 500283 AUE_NULL UNIMPL nosys 501284 AUE_NULL UNIMPL nosys 502285 AUE_NULL UNIMPL nosys 503286 AUE_NULL UNIMPL nosys 504287 AUE_NULL UNIMPL nosys 505288 AUE_NULL UNIMPL nosys 506; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 507289 AUE_NULL STD { ssize_t preadv(int fd, struct iovec *iovp, \ 508 u_int iovcnt, off_t offset); } 509290 AUE_NULL STD { ssize_t pwritev(int fd, struct iovec *iovp, \ 510 u_int iovcnt, off_t offset); } 511291 AUE_NULL UNIMPL nosys 512292 AUE_NULL UNIMPL nosys 513293 AUE_NULL UNIMPL nosys 514294 AUE_NULL UNIMPL nosys 515295 AUE_NULL UNIMPL nosys 516296 AUE_NULL UNIMPL nosys 517; XXX 297 is 300 in NetBSD 518297 AUE_FHSTATFS COMPAT4 { int fhstatfs( \ 519 const struct fhandle *u_fhp, \ 520 struct ostatfs *buf); } 521298 AUE_FHOPEN STD { int fhopen(const struct fhandle *u_fhp, \ 522 int flags); } 523299 AUE_FHSTAT STD { int fhstat(const struct fhandle *u_fhp, \ 524 struct stat *sb); } 525; syscall numbers for FreeBSD 526300 AUE_NULL STD { int modnext(int modid); } 527301 AUE_NULL STD { int modstat(int modid, \ 528 struct module_stat *stat); } 529302 AUE_NULL STD { int modfnext(int modid); } 530303 AUE_NULL STD { int modfind(const char *name); } 531304 AUE_MODLOAD STD { int kldload(const char *file); } 532305 AUE_MODUNLOAD STD { int kldunload(int fileid); } 533306 AUE_NULL STD { int kldfind(const char *file); } 534307 AUE_NULL STD { int kldnext(int fileid); } 535308 AUE_NULL STD { int kldstat(int fileid, struct \ 536 kld_file_stat* stat); } 537309 AUE_NULL STD { int kldfirstmod(int fileid); } 538310 AUE_GETSID STD { int getsid(pid_t pid); } 539311 AUE_SETRESUID STD { int setresuid(uid_t ruid, uid_t euid, \ 540 uid_t suid); } 541312 AUE_SETRESGID STD { int setresgid(gid_t rgid, gid_t egid, \ 542 gid_t sgid); } 543313 AUE_NULL OBSOL signanosleep 544314 AUE_NULL NOSTD { int aio_return(struct aiocb *aiocbp); } 545315 AUE_NULL NOSTD { int aio_suspend( \ 546 struct aiocb * const * aiocbp, int nent, \ 547 const struct timespec *timeout); } 548316 AUE_NULL NOSTD { int aio_cancel(int fd, \ 549 struct aiocb *aiocbp); } 550317 AUE_NULL NOSTD { int aio_error(struct aiocb *aiocbp); } 551318 AUE_NULL NOSTD { int oaio_read(struct oaiocb *aiocbp); } 552319 AUE_NULL NOSTD { int oaio_write(struct oaiocb *aiocbp); } 553320 AUE_NULL NOSTD { int olio_listio(int mode, \ 554 struct oaiocb * const *acb_list, \ 555 int nent, struct osigevent *sig); } 556321 AUE_NULL STD { int yield(void); } 557322 AUE_NULL OBSOL thr_sleep 558323 AUE_NULL OBSOL thr_wakeup 559324 AUE_MLOCKALL STD { int mlockall(int how); } 560325 AUE_MUNLOCKALL STD { int munlockall(void); } 561326 AUE_NULL STD { int __getcwd(u_char *buf, u_int buflen); } 562 563327 AUE_NULL STD { int sched_setparam (pid_t pid, \ 564 const struct sched_param *param); } 565328 AUE_NULL STD { int sched_getparam (pid_t pid, struct \ 566 sched_param *param); } 567 568329 AUE_NULL STD { int sched_setscheduler (pid_t pid, int \ 569 policy, const struct sched_param \ 570 *param); } 571330 AUE_NULL STD { int sched_getscheduler (pid_t pid); } 572 573331 AUE_NULL STD { int sched_yield (void); } 574332 AUE_NULL STD { int sched_get_priority_max (int policy); } 575333 AUE_NULL STD { int sched_get_priority_min (int policy); } 576334 AUE_NULL STD { int sched_rr_get_interval (pid_t pid, \ 577 struct timespec *interval); } 578335 AUE_NULL STD { int utrace(const void *addr, size_t len); } 579336 AUE_SENDFILE COMPAT4 { int sendfile(int fd, int s, \ 580 off_t offset, size_t nbytes, \ 581 struct sf_hdtr *hdtr, off_t *sbytes, \ 582 int flags); } 583337 AUE_NULL STD { int kldsym(int fileid, int cmd, \ 584 void *data); } 585338 AUE_JAIL STD { int jail(struct jail *jail); } 586339 AUE_NULL UNIMPL pioctl 587340 AUE_SIGPROCMASK STD { int sigprocmask(int how, \ 588 const sigset_t *set, sigset_t *oset); } 589341 AUE_SIGSUSPEND STD { int sigsuspend(const sigset_t *sigmask); } 590342 AUE_SIGACTION COMPAT4 { int sigaction(int sig, const \ 591 struct sigaction *act, \ 592 struct sigaction *oact); } 593343 AUE_SIGPENDING STD { int sigpending(sigset_t *set); } 594344 AUE_SIGRETURN COMPAT4 { int sigreturn( \ 595 const struct ucontext4 *sigcntxp); } 596345 AUE_SIGWAIT STD { int sigtimedwait(const sigset_t *set, \ 597 siginfo_t *info, \ 598 const struct timespec *timeout); } 599346 AUE_NULL STD { int sigwaitinfo(const sigset_t *set, \ 600 siginfo_t *info); } 601347 AUE_NULL STD { int __acl_get_file(const char *path, \ 602 acl_type_t type, struct acl *aclp); } 603348 AUE_NULL STD { int __acl_set_file(const char *path, \ 604 acl_type_t type, struct acl *aclp); } 605349 AUE_NULL STD { int __acl_get_fd(int filedes, \ 606 acl_type_t type, struct acl *aclp); } 607350 AUE_NULL STD { int __acl_set_fd(int filedes, \ 608 acl_type_t type, struct acl *aclp); } 609351 AUE_NULL STD { int __acl_delete_file(const char *path, \ 610 acl_type_t type); } 611352 AUE_NULL STD { int __acl_delete_fd(int filedes, \ 612 acl_type_t type); } 613353 AUE_NULL STD { int __acl_aclcheck_file(const char *path, \ 614 acl_type_t type, struct acl *aclp); } 615354 AUE_NULL STD { int __acl_aclcheck_fd(int filedes, \ 616 acl_type_t type, struct acl *aclp); } 617355 AUE_EXTATTRCTL STD { int extattrctl(const char *path, int cmd, \ 618 const char *filename, int attrnamespace, \ 619 const char *attrname); } 620356 AUE_EXTATTR_SET_FILE STD { int extattr_set_file( \ 621 const char *path, int attrnamespace, \ 622 const char *attrname, void *data, \ 623 size_t nbytes); } 624357 AUE_EXTATTR_GET_FILE STD { ssize_t extattr_get_file( \ 625 const char *path, int attrnamespace, \ 626 const char *attrname, void *data, \ 627 size_t nbytes); } 628358 AUE_EXTATTR_DELETE_FILE STD { int extattr_delete_file(const char *path, \ 629 int attrnamespace, \ 630 const char *attrname); } 631359 AUE_NULL NOSTD { int aio_waitcomplete( \ 632 struct aiocb **aiocbp, \ 633 struct timespec *timeout); } 634360 AUE_GETRESUID STD { int getresuid(uid_t *ruid, uid_t *euid, \ 635 uid_t *suid); } 636361 AUE_GETRESGID STD { int getresgid(gid_t *rgid, gid_t *egid, \ 637 gid_t *sgid); } 638362 AUE_NULL STD { int kqueue(void); } 639363 AUE_NULL STD { int kevent(int fd, \ 640 struct kevent *changelist, int nchanges, \ 641 struct kevent *eventlist, int nevents, \ 642 const struct timespec *timeout); } 643364 AUE_NULL UNIMPL __cap_get_proc 644365 AUE_NULL UNIMPL __cap_set_proc 645366 AUE_NULL UNIMPL __cap_get_fd 646367 AUE_NULL UNIMPL __cap_get_file 647368 AUE_NULL UNIMPL __cap_set_fd 648369 AUE_NULL UNIMPL __cap_set_file 649370 AUE_NULL NODEF lkmressys lkmressys nosys_args int 650371 AUE_EXTATTR_SET_FD STD { int extattr_set_fd(int fd, \ 651 int attrnamespace, const char *attrname, \ 652 void *data, size_t nbytes); } 653372 AUE_EXTATTR_GET_FD STD { ssize_t extattr_get_fd(int fd, \ 654 int attrnamespace, const char *attrname, \ 655 void *data, size_t nbytes); } 656373 AUE_EXTATTR_DELETE_FD STD { int extattr_delete_fd(int fd, \ 657 int attrnamespace, \ 658 const char *attrname); } 659374 AUE_NULL STD { int __setugid(int flag); } 660375 AUE_NULL NOIMPL { int nfsclnt(int flag, caddr_t argp); } 661376 AUE_EACCESS STD { int eaccess(char *path, int flags); } 662377 AUE_NULL UNIMPL afs_syscall 663378 AUE_NMOUNT STD { int nmount(struct iovec *iovp, \ 664 unsigned int iovcnt, int flags); } 665379 AUE_NULL STD { int kse_exit(void); } 666380 AUE_NULL STD { int kse_wakeup(struct kse_mailbox *mbx); } 667381 AUE_NULL STD { int kse_create(struct kse_mailbox *mbx, \ 668 int newgroup); } 669382 AUE_NULL STD { int kse_thr_interrupt( \ 670 struct kse_thr_mailbox *tmbx, int cmd, \ 671 long data); } 672383 AUE_NULL STD { int kse_release(struct timespec *timeout); } 673384 AUE_NULL STD { int __mac_get_proc(struct mac *mac_p); } 674385 AUE_NULL STD { int __mac_set_proc(struct mac *mac_p); } 675386 AUE_NULL STD { int __mac_get_fd(int fd, \ 676 struct mac *mac_p); } 677387 AUE_NULL STD { int __mac_get_file(const char *path_p, \ 678 struct mac *mac_p); } 679388 AUE_NULL STD { int __mac_set_fd(int fd, \ 680 struct mac *mac_p); } 681389 AUE_NULL STD { int __mac_set_file(const char *path_p, \ 682 struct mac *mac_p); } 683390 AUE_NULL STD { int kenv(int what, const char *name, \ 684 char *value, int len); } 685391 AUE_LCHFLAGS STD { int lchflags(const char *path, int flags); } 686392 AUE_NULL STD { int uuidgen(struct uuid *store, \ 687 int count); } 688393 AUE_SENDFILE STD { int sendfile(int fd, int s, off_t offset, \ 689 size_t nbytes, struct sf_hdtr *hdtr, \ 690 off_t *sbytes, int flags); } 691394 AUE_NULL STD { int mac_syscall(const char *policy, \ 692 int call, void *arg); } 693395 AUE_GETFSSTAT STD { int getfsstat(struct statfs *buf, \ 694 long bufsize, int flags); } 695396 AUE_STATFS STD { int statfs(char *path, \ 696 struct statfs *buf); } 697397 AUE_FSTATFS STD { int fstatfs(int fd, struct statfs *buf); } 698398 AUE_NULL STD { int fhstatfs(const struct fhandle *u_fhp, \ 699 struct statfs *buf); } 700399 AUE_NULL UNIMPL nosys 701400 AUE_NULL NOSTD { int ksem_close(semid_t id); } 702401 AUE_NULL NOSTD { int ksem_post(semid_t id); } 703402 AUE_NULL NOSTD { int ksem_wait(semid_t id); } 704403 AUE_NULL NOSTD { int ksem_trywait(semid_t id); } 705404 AUE_NULL NOSTD { int ksem_init(semid_t *idp, \ 706 unsigned int value); } 707405 AUE_NULL NOSTD { int ksem_open(semid_t *idp, \ 708 const char *name, int oflag, \ 709 mode_t mode, unsigned int value); } 710406 AUE_NULL NOSTD { int ksem_unlink(const char *name); } 711407 AUE_NULL NOSTD { int ksem_getvalue(semid_t id, int *val); } 712408 AUE_NULL NOSTD { int ksem_destroy(semid_t id); } 713409 AUE_NULL STD { int __mac_get_pid(pid_t pid, \ 714 struct mac *mac_p); } 715410 AUE_NULL STD { int __mac_get_link(const char *path_p, \ 716 struct mac *mac_p); } 717411 AUE_NULL STD { int __mac_set_link(const char *path_p, \ 718 struct mac *mac_p); } 719412 AUE_EXTATTR_SET_LINK STD { int extattr_set_link( \ 720 const char *path, int attrnamespace, \ 721 const char *attrname, void *data, \ 722 size_t nbytes); } 723413 AUE_EXTATTR_GET_LINK STD { ssize_t extattr_get_link( \ 724 const char *path, int attrnamespace, \ 725 const char *attrname, void *data, \ 726 size_t nbytes); } 727414 AUE_EXTATTR_DELETE_LINK STD { int extattr_delete_link( \ 728 const char *path, int attrnamespace, \ 729 const char *attrname); } 730415 AUE_NULL STD { int __mac_execve(char *fname, char **argv, \ 731 char **envv, struct mac *mac_p); } 732416 AUE_SIGACTION STD { int sigaction(int sig, \ 733 const struct sigaction *act, \ 734 struct sigaction *oact); } 735417 AUE_SIGRETURN STD { int sigreturn( \ 736 const struct __ucontext *sigcntxp); } 737418 AUE_NULL UNIMPL __xstat 738419 AUE_NULL UNIMPL __xfstat 739420 AUE_NULL UNIMPL __xlstat 740421 AUE_NULL STD { int getcontext(struct __ucontext *ucp); } 741422 AUE_NULL STD { int setcontext( \ 742 const struct __ucontext *ucp); } 743423 AUE_NULL STD { int swapcontext(struct __ucontext *oucp, \ 744 const struct __ucontext *ucp); } 745424 AUE_SWAPOFF STD { int swapoff(const char *name); } 746425 AUE_NULL STD { int __acl_get_link(const char *path, \ 747 acl_type_t type, struct acl *aclp); } 748426 AUE_NULL STD { int __acl_set_link(const char *path, \ 749 acl_type_t type, struct acl *aclp); } 750427 AUE_NULL STD { int __acl_delete_link(const char *path, \ 751 acl_type_t type); } 752428 AUE_NULL STD { int __acl_aclcheck_link(const char *path, \ 753 acl_type_t type, struct acl *aclp); } 754429 AUE_SIGWAIT STD { int sigwait(const sigset_t *set, \ 755 int *sig); } 756430 AUE_NULL STD { int thr_create(ucontext_t *ctx, long *id, \ 757 int flags); } 758431 AUE_NULL STD { void thr_exit(long *state); } 759432 AUE_NULL STD { int thr_self(long *id); } 760433 AUE_NULL STD { int thr_kill(long id, int sig); } 761434 AUE_NULL STD { int _umtx_lock(struct umtx *umtx); } 762435 AUE_NULL STD { int _umtx_unlock(struct umtx *umtx); } 763436 AUE_NULL STD { int jail_attach(int jid); } 764437 AUE_EXTATTR_LIST_FD STD { ssize_t extattr_list_fd(int fd, \ 765 int attrnamespace, void *data, \ 766 size_t nbytes); } 767438 AUE_EXTATTR_LIST_FILE STD { ssize_t extattr_list_file( \ 768 const char *path, int attrnamespace, \ 769 void *data, size_t nbytes); } 770439 AUE_EXTATTR_LIST_LINK STD { ssize_t extattr_list_link( \ 771 const char *path, int attrnamespace, \ 772 void *data, size_t nbytes); } 773440 AUE_NULL STD { int kse_switchin( \ 774 struct kse_thr_mailbox *tmbx, \ 775 int flags); } 776441 AUE_NULL NOSTD { int ksem_timedwait(semid_t id, \ 777 const struct timespec *abstime); } 778442 AUE_NULL STD { int thr_suspend( \ 779 const struct timespec *timeout); } 780443 AUE_NULL STD { int thr_wake(long id); } 781444 AUE_NULL STD { int kldunloadf(int fileid, int flags); } 782445 AUE_AUDIT STD { int audit(const void *record, \ 783 u_int length); } 784446 AUE_AUDITON STD { int auditon(int cmd, void *data, \ 785 u_int length); } 786447 AUE_GETAUID STD { int getauid(uid_t *auid); } 787448 AUE_SETAUID STD { int setauid(uid_t *auid); } 788449 AUE_GETAUDIT STD { int getaudit(struct auditinfo *auditinfo); } 789450 AUE_SETAUDIT STD { int setaudit(struct auditinfo *auditinfo); } 790451 AUE_GETAUDIT_ADDR STD { int getaudit_addr( \ 791 struct auditinfo_addr *auditinfo_addr, \ 792 u_int length); } 793452 AUE_SETAUDIT_ADDR STD { int setaudit_addr( \ 794 struct auditinfo_addr *auditinfo_addr, \ 795 u_int length); } 796453 AUE_AUDITCTL STD { int auditctl(char *path); } 797454 AUE_NULL STD { int _umtx_op(struct umtx *umtx, int op, \ 798 long id, void *uaddr, void *uaddr2); } 799455 AUE_NULL STD { int thr_new(struct thr_param *param, \ 800 int param_size); } 801456 AUE_NULL STD { int sigqueue(pid_t pid, int signum, void *value); } 802457 AUE_NULL NOSTD { int kmq_open(const char *path, int flags, \ 803 mode_t mode, const struct mq_attr *attr); } 804458 AUE_NULL NOSTD { int kmq_setattr(int mqd, \ 805 const struct mq_attr *attr, \ 806 struct mq_attr *oattr); } 807459 AUE_NULL NOSTD { int kmq_timedreceive(int mqd, \ 808 char *msg_ptr, size_t msg_len, \ 809 unsigned *msg_prio, \ 810 const struct timespec *abs_timeout); } 811460 AUE_NULL NOSTD { int kmq_timedsend(int mqd, \ 812 const char *msg_ptr, size_t msg_len,\ 813 unsigned msg_prio, \ 814 const struct timespec *abs_timeout);} 815461 AUE_NULL NOSTD { int kmq_notify(int mqd, \ 816 const struct sigevent *sigev); } 817462 AUE_NULL NOSTD { int kmq_unlink(const char *path); } 818463 AUE_NULL STD { int abort2(const char *why, int nargs, void **args); } 819464 AUE_NULL STD { int thr_set_name(long id, const char *name); } 820465 AUE_NULL NOSTD { int aio_fsync(int op, struct aiocb *aiocbp); } 821466 AUE_NULL STD { int thr_setscheduler(long id, int policy,\ 822 const struct sched_param *param, \ 823 int param_size); } 824467 AUE_NULL STD { int thr_getscheduler(long id, int *policy,\ 825 struct sched_param *param, \ 826 int param_size); } 827468 AUE_NULL STD { int thr_setschedparam(long id, \ 828 const struct sched_param *param, \ 829 int param_size); } 830469 AUE_NULL UNIMPL __getpath_fromfd 831470 AUE_NULL UNIMPL __getpath_fromaddr 832; Please copy any additions and changes to the following compatability tables: 833; sys/compat/freebsd32/syscalls.master 834