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 [M]type nargs 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 [M]STD, [M]OBSOL, [M]UNIMPL, [M]COMPAT, [M]CPT_NOA, 15; [M]LIBCOMPAT, [M]NODEF, [M]NOARGS, [M]NOPROTO, [M]NOIMPL, 16; [M]NOSTD, [M]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; [M] e.g. like MSTD -- means the system call is MP-safe. If no 26; M prefix is used, the syscall wrapper will obtain the Giant 27; lock for the syscall. 28; STD always included 29; COMPAT included on COMPAT #ifdef 30; COMPAT4 included on COMPAT4 #ifdef (FreeBSD 4 compat) 31; LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h 32; OBSOL obsolete, not included in system, only specifies name 33; UNIMPL not implemented, placeholder only 34; NOSTD implemented but as a lkm that can be statically 35; compiled in sysent entry will be filled with lkmsys 36; so the SYSCALL_MODULE macro works 37; 38; Please copy any additions and changes to the following compatability tables: 39; sys/compat/freebsd32/syscalls.master 40 41; #ifdef's, etc. may be included, and are copied to the output files. 42 43#include <sys/param.h> 44#include <sys/sysent.h> 45#include <sys/sysproto.h> 46 47; Reserved/unimplemented system calls in the range 0-150 inclusive 48; are reserved for use in future Berkeley releases. 49; Additional system calls implemented in vendor and other 50; redistributions should be placed in the reserved range at the end 51; of the current calls. 52 530 AUE_NULL MSTD { int nosys(void); } syscall nosys_args int 541 AUE_NULL MSTD { void sys_exit(int rval); } exit \ 55 sys_exit_args void 562 AUE_NULL MSTD { int fork(void); } 573 AUE_NULL MSTD { ssize_t read(int fd, void *buf, \ 58 size_t nbyte); } 594 AUE_NULL MSTD { ssize_t write(int fd, const void *buf, \ 60 size_t nbyte); } 615 AUE_NULL MSTD { int open(char *path, int flags, int mode); } 62; XXX should be { int open(const char *path, int flags, ...); } 63; but we're not ready for `const' or varargs. 64; XXX man page says `mode_t mode'. 656 AUE_NULL MSTD { int close(int fd); } 667 AUE_NULL MSTD { int wait4(int pid, int *status, \ 67 int options, struct rusage *rusage); } \ 68 wait4 wait_args int 698 AUE_NULL MCOMPAT { int creat(char *path, int mode); } 709 AUE_NULL MSTD { int link(char *path, char *link); } 7110 AUE_NULL MSTD { int unlink(char *path); } 7211 AUE_NULL OBSOL execv 7312 AUE_NULL MSTD { int chdir(char *path); } 7413 AUE_NULL MSTD { int fchdir(int fd); } 7514 AUE_NULL MSTD { int mknod(char *path, int mode, int dev); } 7615 AUE_NULL MSTD { int chmod(char *path, int mode); } 7716 AUE_NULL MSTD { int chown(char *path, int uid, int gid); } 7817 AUE_NULL MSTD { int obreak(char *nsize); } break \ 79 obreak_args int 8018 AUE_NULL MCOMPAT4 { int getfsstat(struct ostatfs *buf, \ 81 long bufsize, int flags); } 8219 AUE_NULL MCOMPAT { long lseek(int fd, long offset, \ 83 int whence); } 8420 AUE_NULL MSTD { pid_t getpid(void); } 8521 AUE_NULL STD { int mount(char *type, char *path, \ 86 int flags, caddr_t data); } 87; XXX `path' should have type `const char *' but we're not ready for that. 8822 AUE_NULL STD { int unmount(char *path, int flags); } 8923 AUE_NULL MSTD { int setuid(uid_t uid); } 9024 AUE_NULL MSTD { uid_t getuid(void); } 9125 AUE_NULL MSTD { uid_t geteuid(void); } 9226 AUE_NULL MSTD { int ptrace(int req, pid_t pid, \ 93 caddr_t addr, int data); } 9427 AUE_NULL MSTD { int recvmsg(int s, struct msghdr *msg, \ 95 int flags); } 9628 AUE_NULL MSTD { int sendmsg(int s, struct msghdr *msg, \ 97 int flags); } 9829 AUE_NULL MSTD { int recvfrom(int s, caddr_t buf, \ 99 size_t len, int flags, \ 100 struct sockaddr * __restrict from, \ 101 __socklen_t * __restrict fromlenaddr); } 10230 AUE_NULL MSTD { int accept(int s, \ 103 struct sockaddr * __restrict name, \ 104 __socklen_t * __restrict anamelen); } 10531 AUE_NULL MSTD { int getpeername(int fdes, \ 106 struct sockaddr * __restrict asa, \ 107 __socklen_t * __restrict alen); } 10832 AUE_NULL MSTD { int getsockname(int fdes, \ 109 struct sockaddr * __restrict asa, \ 110 __socklen_t * __restrict alen); } 11133 AUE_NULL MSTD { int access(char *path, int flags); } 11234 AUE_NULL MSTD { int chflags(char *path, int flags); } 11335 AUE_NULL MSTD { int fchflags(int fd, int flags); } 11436 AUE_NULL MSTD { int sync(void); } 11537 AUE_NULL MSTD { int kill(int pid, int signum); } 11638 AUE_NULL MCOMPAT { int stat(char *path, struct ostat *ub); } 11739 AUE_NULL MSTD { pid_t getppid(void); } 11840 AUE_NULL MCOMPAT { int lstat(char *path, struct ostat *ub); } 11941 AUE_NULL MSTD { int dup(u_int fd); } 12042 AUE_NULL MSTD { int pipe(void); } 12143 AUE_NULL MSTD { gid_t getegid(void); } 12244 AUE_NULL MSTD { int profil(caddr_t samples, size_t size, \ 123 size_t offset, u_int scale); } 12445 AUE_NULL MSTD { int ktrace(const char *fname, int ops, \ 125 int facs, int pid); } 12646 AUE_NULL MCOMPAT { int sigaction(int signum, \ 127 struct osigaction *nsa, \ 128 struct osigaction *osa); } 12947 AUE_NULL MSTD { gid_t getgid(void); } 13048 AUE_NULL MCOMPAT { int sigprocmask(int how, osigset_t mask); } 131; XXX note nonstandard (bogus) calling convention - the libc stub passes 132; us the mask, not a pointer to it, and we return the old mask as the 133; (int) return value. 13449 AUE_NULL MSTD { int getlogin(char *namebuf, u_int \ 135 namelen); } 13650 AUE_NULL MSTD { int setlogin(char *namebuf); } 13751 AUE_NULL MSTD { int acct(char *path); } 13852 AUE_NULL MCOMPAT { int sigpending(void); } 13953 AUE_NULL MSTD { int sigaltstack(stack_t *ss, \ 140 stack_t *oss); } 14154 AUE_NULL MSTD { int ioctl(int fd, u_long com, \ 142 caddr_t data); } 14355 AUE_NULL MSTD { int reboot(int opt); } 14456 AUE_NULL MSTD { int revoke(char *path); } 14557 AUE_NULL MSTD { int symlink(char *path, char *link); } 14658 AUE_NULL MSTD { int readlink(char *path, char *buf, \ 147 int count); } 14859 AUE_NULL MSTD { int execve(char *fname, char **argv, \ 149 char **envv); } 15060 AUE_NULL MSTD { int umask(int newmask); } umask umask_args \ 151 int 15261 AUE_NULL MSTD { int chroot(char *path); } 15362 AUE_NULL MCOMPAT { int fstat(int fd, struct ostat *sb); } 15463 AUE_NULL MCOMPAT { int getkerninfo(int op, char *where, \ 155 size_t *size, int arg); } getkerninfo \ 156 getkerninfo_args int 15764 AUE_NULL MCOMPAT { int getpagesize(void); } getpagesize \ 158 getpagesize_args int 15965 AUE_NULL MSTD { int msync(void *addr, size_t len, \ 160 int flags); } 16166 AUE_NULL MSTD { int vfork(void); } 16267 AUE_NULL OBSOL vread 16368 AUE_NULL OBSOL vwrite 16469 AUE_NULL MSTD { int sbrk(int incr); } 16570 AUE_NULL MSTD { int sstk(int incr); } 16671 AUE_NULL MCOMPAT { int mmap(void *addr, int len, int prot, \ 167 int flags, int fd, long pos); } 16872 AUE_NULL MSTD { int ovadvise(int anom); } vadvise \ 169 ovadvise_args int 17073 AUE_NULL MSTD { int munmap(void *addr, size_t len); } 17174 AUE_NULL MSTD { int mprotect(const void *addr, size_t len, \ 172 int prot); } 17375 AUE_NULL MSTD { int madvise(void *addr, size_t len, \ 174 int behav); } 17576 AUE_NULL OBSOL vhangup 17677 AUE_NULL OBSOL vlimit 17778 AUE_NULL MSTD { int mincore(const void *addr, size_t len, \ 178 char *vec); } 17979 AUE_NULL MSTD { int getgroups(u_int gidsetsize, \ 180 gid_t *gidset); } 18180 AUE_NULL MSTD { int setgroups(u_int gidsetsize, \ 182 gid_t *gidset); } 18381 AUE_NULL MSTD { int getpgrp(void); } 18482 AUE_NULL MSTD { int setpgid(int pid, int pgid); } 18583 AUE_NULL MSTD { int setitimer(u_int which, struct \ 186 itimerval *itv, struct itimerval *oitv); } 18784 AUE_NULL MCOMPAT { int wait(void); } 18885 AUE_NULL MSTD { int swapon(char *name); } 18986 AUE_NULL MSTD { int getitimer(u_int which, \ 190 struct itimerval *itv); } 19187 AUE_NULL MCOMPAT { int gethostname(char *hostname, \ 192 u_int len); } gethostname \ 193 gethostname_args int 19488 AUE_NULL MCOMPAT { int sethostname(char *hostname, \ 195 u_int len); } sethostname \ 196 sethostname_args int 19789 AUE_NULL MSTD { int getdtablesize(void); } 19890 AUE_NULL MSTD { int dup2(u_int from, u_int to); } 19991 AUE_NULL UNIMPL getdopt 20092 AUE_NULL MSTD { int fcntl(int fd, int cmd, long arg); } 201; XXX should be { int fcntl(int fd, int cmd, ...); } 202; but we're not ready for varargs. 20393 AUE_NULL MSTD { int select(int nd, fd_set *in, fd_set *ou, \ 204 fd_set *ex, struct timeval *tv); } 20594 AUE_NULL UNIMPL setdopt 20695 AUE_NULL MSTD { int fsync(int fd); } 20796 AUE_NULL MSTD { int setpriority(int which, int who, \ 208 int prio); } 20997 AUE_NULL MSTD { int socket(int domain, int type, \ 210 int protocol); } 21198 AUE_NULL MSTD { int connect(int s, caddr_t name, \ 212 int namelen); } 21399 AUE_NULL MCPT_NOA { int accept(int s, caddr_t name, \ 214 int *anamelen); } accept accept_args int 215100 AUE_NULL MSTD { int getpriority(int which, int who); } 216101 AUE_NULL MCOMPAT { int send(int s, caddr_t buf, int len, \ 217 int flags); } 218102 AUE_NULL MCOMPAT { int recv(int s, caddr_t buf, int len, \ 219 int flags); } 220103 AUE_NULL MCOMPAT { int sigreturn( \ 221 struct osigcontext *sigcntxp); } 222104 AUE_NULL MSTD { int bind(int s, caddr_t name, \ 223 int namelen); } 224105 AUE_NULL MSTD { int setsockopt(int s, int level, int name, \ 225 caddr_t val, int valsize); } 226106 AUE_NULL MSTD { int listen(int s, int backlog); } 227107 AUE_NULL OBSOL vtimes 228108 AUE_NULL MCOMPAT { int sigvec(int signum, struct sigvec *nsv, \ 229 struct sigvec *osv); } 230109 AUE_NULL MCOMPAT { int sigblock(int mask); } 231110 AUE_NULL MCOMPAT { int sigsetmask(int mask); } 232111 AUE_NULL MCOMPAT { int sigsuspend(osigset_t mask); } 233; XXX note nonstandard (bogus) calling convention - the libc stub passes 234; us the mask, not a pointer to it. 235112 AUE_NULL MCOMPAT { int sigstack(struct sigstack *nss, \ 236 struct sigstack *oss); } 237113 AUE_NULL MCOMPAT { int recvmsg(int s, struct omsghdr *msg, \ 238 int flags); } 239114 AUE_NULL MCOMPAT { int sendmsg(int s, caddr_t msg, \ 240 int flags); } 241115 AUE_NULL OBSOL vtrace 242116 AUE_NULL MSTD { int gettimeofday(struct timeval *tp, \ 243 struct timezone *tzp); } 244117 AUE_NULL MSTD { int getrusage(int who, \ 245 struct rusage *rusage); } 246118 AUE_NULL MSTD { int getsockopt(int s, int level, int name, \ 247 caddr_t val, int *avalsize); } 248119 AUE_NULL UNIMPL resuba (BSD/OS 2.x) 249120 AUE_NULL MSTD { int readv(int fd, struct iovec *iovp, \ 250 u_int iovcnt); } 251121 AUE_NULL MSTD { int writev(int fd, struct iovec *iovp, \ 252 u_int iovcnt); } 253122 AUE_NULL MSTD { int settimeofday(struct timeval *tv, \ 254 struct timezone *tzp); } 255123 AUE_NULL MSTD { int fchown(int fd, int uid, int gid); } 256124 AUE_NULL MSTD { int fchmod(int fd, int mode); } 257125 AUE_NULL MCPT_NOA { int recvfrom(int s, caddr_t buf, \ 258 size_t len, int flags, caddr_t from, int \ 259 *fromlenaddr); } recvfrom recvfrom_args \ 260 int 261126 AUE_NULL MSTD { int setreuid(int ruid, int euid); } 262127 AUE_NULL MSTD { int setregid(int rgid, int egid); } 263128 AUE_NULL MSTD { int rename(char *from, char *to); } 264129 AUE_NULL MCOMPAT { int truncate(char *path, long length); } 265130 AUE_NULL MCOMPAT { int ftruncate(int fd, long length); } 266131 AUE_NULL MSTD { int flock(int fd, int how); } 267132 AUE_NULL MSTD { int mkfifo(char *path, int mode); } 268133 AUE_NULL MSTD { int sendto(int s, caddr_t buf, size_t len, \ 269 int flags, caddr_t to, int tolen); } 270134 AUE_NULL MSTD { int shutdown(int s, int how); } 271135 AUE_NULL MSTD { int socketpair(int domain, int type, \ 272 int protocol, int *rsv); } 273136 AUE_NULL MSTD { int mkdir(char *path, int mode); } 274137 AUE_NULL MSTD { int rmdir(char *path); } 275138 AUE_NULL MSTD { int utimes(char *path, \ 276 struct timeval *tptr); } 277139 AUE_NULL OBSOL 4.2 sigreturn 278140 AUE_NULL MSTD { int adjtime(struct timeval *delta, \ 279 struct timeval *olddelta); } 280141 AUE_NULL MCOMPAT { int getpeername(int fdes, caddr_t asa, \ 281 int *alen); } 282142 AUE_NULL MCOMPAT { long gethostid(void); } 283143 AUE_NULL MCOMPAT { int sethostid(long hostid); } 284144 AUE_NULL MCOMPAT { int getrlimit(u_int which, struct \ 285 orlimit *rlp); } 286145 AUE_NULL MCOMPAT { int setrlimit(u_int which, \ 287 struct orlimit *rlp); } 288146 AUE_NULL MCOMPAT { int killpg(int pgid, int signum); } 289147 AUE_NULL MSTD { int setsid(void); } 290148 AUE_NULL MSTD { int quotactl(char *path, int cmd, int uid, \ 291 caddr_t arg); } 292149 AUE_NULL MCOMPAT { int quota(void); } 293150 AUE_NULL MCPT_NOA { int getsockname(int fdec, \ 294 caddr_t asa, int *alen); } getsockname \ 295 getsockname_args int 296 297; Syscalls 151-180 inclusive are reserved for vendor-specific 298; system calls. (This includes various calls added for compatibity 299; with other Unix variants.) 300; Some of these calls are now supported by BSD... 301151 AUE_NULL UNIMPL sem_lock (BSD/OS 2.x) 302152 AUE_NULL UNIMPL sem_wakeup (BSD/OS 2.x) 303153 AUE_NULL UNIMPL asyncdaemon (BSD/OS 2.x) 304154 AUE_NULL UNIMPL nosys 305; 155 is initialized by the NFS code, if present. 306155 AUE_NULL MNOIMPL { int nfssvc(int flag, caddr_t argp); } 307156 AUE_NULL COMPAT { int getdirentries(int fd, char *buf, \ 308 u_int count, long *basep); } 309157 AUE_NULL MCOMPAT4 { int statfs(char *path, \ 310 struct ostatfs *buf); } 311158 AUE_NULL MCOMPAT4 { int fstatfs(int fd, \ 312 struct ostatfs *buf); } 313159 AUE_NULL UNIMPL nosys 314160 AUE_NULL MSTD { int lgetfh(char *fname, \ 315 struct fhandle *fhp); } 316161 AUE_NULL MSTD { int getfh(char *fname, \ 317 struct fhandle *fhp); } 318162 AUE_NULL MSTD { int getdomainname(char *domainname, \ 319 int len); } 320163 AUE_NULL MSTD { int setdomainname(char *domainname, \ 321 int len); } 322164 AUE_NULL MSTD { int uname(struct utsname *name); } 323165 AUE_NULL MSTD { int sysarch(int op, char *parms); } 324166 AUE_NULL MSTD { int rtprio(int function, pid_t pid, \ 325 struct rtprio *rtp); } 326167 AUE_NULL UNIMPL nosys 327168 AUE_NULL UNIMPL nosys 328; 169 is initialized by the SYSVSEM code if present or loaded 329169 AUE_NULL MNOSTD { int semsys(int which, int a2, int a3, \ 330 int a4, int a5); } 331; 169 is initialized by the SYSVMSG code if present or loaded 332; XXX should be { int semsys(int which, ...); } 333170 AUE_NULL MNOSTD { int msgsys(int which, int a2, int a3, \ 334 int a4, int a5, int a6); } 335; 169 is initialized by the SYSVSHM code if present or loaded 336; XXX should be { int msgsys(int which, ...); } 337171 AUE_NULL MNOSTD { int shmsys(int which, int a2, int a3, \ 338 int a4); } 339; XXX should be { int shmsys(int which, ...); } 340172 AUE_NULL UNIMPL nosys 341173 AUE_NULL MSTD { ssize_t pread(int fd, void *buf, \ 342 size_t nbyte, int pad, off_t offset); } 343174 AUE_NULL MSTD { ssize_t pwrite(int fd, const void *buf, \ 344 size_t nbyte, int pad, off_t offset); } 345175 AUE_NULL UNIMPL nosys 346176 AUE_NULL MSTD { int ntp_adjtime(struct timex *tp); } 347177 AUE_NULL UNIMPL sfork (BSD/OS 2.x) 348178 AUE_NULL UNIMPL getdescriptor (BSD/OS 2.x) 349179 AUE_NULL UNIMPL setdescriptor (BSD/OS 2.x) 350180 AUE_NULL UNIMPL nosys 351 352; Syscalls 181-199 are used by/reserved for BSD 353181 AUE_NULL MSTD { int setgid(gid_t gid); } 354182 AUE_NULL MSTD { int setegid(gid_t egid); } 355183 AUE_NULL MSTD { int seteuid(uid_t euid); } 356184 AUE_NULL UNIMPL lfs_bmapv 357185 AUE_NULL UNIMPL lfs_markv 358186 AUE_NULL UNIMPL lfs_segclean 359187 AUE_NULL UNIMPL lfs_segwait 360188 AUE_NULL MSTD { int stat(char *path, struct stat *ub); } 361189 AUE_NULL MSTD { int fstat(int fd, struct stat *sb); } 362190 AUE_NULL MSTD { int lstat(char *path, struct stat *ub); } 363191 AUE_NULL MSTD { int pathconf(char *path, int name); } 364192 AUE_NULL MSTD { int fpathconf(int fd, int name); } 365193 AUE_NULL UNIMPL nosys 366194 AUE_NULL MSTD { int getrlimit(u_int which, \ 367 struct rlimit *rlp); } getrlimit \ 368 __getrlimit_args int 369195 AUE_NULL MSTD { int setrlimit(u_int which, \ 370 struct rlimit *rlp); } setrlimit \ 371 __setrlimit_args int 372196 AUE_NULL MSTD { int getdirentries(int fd, char *buf, \ 373 u_int count, long *basep); } 374197 AUE_NULL MSTD { caddr_t mmap(caddr_t addr, size_t len, \ 375 int prot, int flags, int fd, int pad, \ 376 off_t pos); } 377198 AUE_NULL MSTD { int nosys(void); } __syscall \ 378 __syscall_args int 379199 AUE_NULL MSTD { off_t lseek(int fd, int pad, off_t offset, \ 380 int whence); } 381200 AUE_NULL MSTD { int truncate(char *path, int pad, \ 382 off_t length); } 383201 AUE_NULL MSTD { int ftruncate(int fd, int pad, \ 384 off_t length); } 385202 AUE_NULL MSTD { int __sysctl(int *name, u_int namelen, \ 386 void *old, size_t *oldlenp, void *new, \ 387 size_t newlen); } __sysctl sysctl_args int 388203 AUE_NULL MSTD { int mlock(const void *addr, size_t len); } 389204 AUE_NULL MSTD { int munlock(const void *addr, size_t len); } 390205 AUE_NULL MSTD { int undelete(char *path); } 391206 AUE_NULL MSTD { int futimes(int fd, struct timeval *tptr); } 392207 AUE_NULL MSTD { int getpgid(pid_t pid); } 393208 AUE_NULL UNIMPL newreboot (NetBSD) 394209 AUE_NULL MSTD { int poll(struct pollfd *fds, u_int nfds, \ 395 int timeout); } 396 397; 398; The following are reserved for loadable syscalls 399; 400210 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 401211 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 402212 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 403213 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 404214 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 405215 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 406216 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 407217 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 408218 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 409219 AUE_NULL NODEF lkmnosys lkmnosys nosys_args int 410 411; 412; The following were introduced with NetBSD/4.4Lite-2 413; They are initialized by their respective modules/sysinits 414220 AUE_NULL MNOSTD { int __semctl(int semid, int semnum, \ 415 int cmd, union semun *arg); } 416221 AUE_NULL MNOSTD { int semget(key_t key, int nsems, \ 417 int semflg); } 418222 AUE_NULL MNOSTD { int semop(int semid, struct sembuf *sops, \ 419 size_t nsops); } 420223 AUE_NULL UNIMPL semconfig 421224 AUE_NULL MNOSTD { int msgctl(int msqid, int cmd, \ 422 struct msqid_ds *buf); } 423225 AUE_NULL MNOSTD { int msgget(key_t key, int msgflg); } 424226 AUE_NULL MNOSTD { int msgsnd(int msqid, const void *msgp, \ 425 size_t msgsz, int msgflg); } 426227 AUE_NULL MNOSTD { int msgrcv(int msqid, void *msgp, \ 427 size_t msgsz, long msgtyp, int msgflg); } 428228 AUE_NULL MNOSTD { int shmat(int shmid, const void *shmaddr, \ 429 int shmflg); } 430229 AUE_NULL MNOSTD { int shmctl(int shmid, int cmd, \ 431 struct shmid_ds *buf); } 432230 AUE_NULL MNOSTD { int shmdt(const void *shmaddr); } 433231 AUE_NULL MNOSTD { int shmget(key_t key, size_t size, \ 434 int shmflg); } 435; 436232 AUE_NULL MSTD { int clock_gettime(clockid_t clock_id, \ 437 struct timespec *tp); } 438233 AUE_NULL MSTD { int clock_settime(clockid_t clock_id, \ 439 const struct timespec *tp); } 440234 AUE_NULL MSTD { int clock_getres(clockid_t clock_id, \ 441 struct timespec *tp); } 442235 AUE_NULL MSTD { int timer_create(clockid_t clock_id, \ 443 struct sigevent *evp, timer_t *timerid); } 444236 AUE_NULL MSTD { int timer_delete(timer_t timerid); } 445237 AUE_NULL MSTD { int timer_settime(timer_t timerid, int flags, \ 446 const struct itimerspec *value, \ 447 struct itimerspec *ovalue); } 448238 AUE_NULL MSTD { int timer_gettime(timer_t timerid, struct \ 449 itimerspec *value); } 450239 AUE_NULL MSTD { int timer_getoverrun(timer_t timerid); } 451240 AUE_NULL MSTD { int nanosleep(const struct timespec *rqtp, \ 452 struct timespec *rmtp); } 453241 AUE_NULL UNIMPL nosys 454242 AUE_NULL UNIMPL nosys 455243 AUE_NULL UNIMPL nosys 456244 AUE_NULL UNIMPL nosys 457245 AUE_NULL UNIMPL nosys 458246 AUE_NULL UNIMPL nosys 459247 AUE_NULL UNIMPL nosys 460248 AUE_NULL MSTD { int ntp_gettime(struct ntptimeval *ntvp); } 461249 AUE_NULL UNIMPL nosys 462; syscall numbers initially used in OpenBSD 463250 AUE_NULL MSTD { int minherit(void *addr, size_t len, \ 464 int inherit); } 465251 AUE_NULL MSTD { int rfork(int flags); } 466252 AUE_NULL MSTD { int openbsd_poll(struct pollfd *fds, \ 467 u_int nfds, int timeout); } 468253 AUE_NULL MSTD { int issetugid(void); } 469254 AUE_NULL MSTD { int lchown(char *path, int uid, int gid); } 470255 AUE_NULL NOSTD { int aio_read(struct aiocb *aiocbp); } 471256 AUE_NULL NOSTD { int aio_write(struct aiocb *aiocbp); } 472257 AUE_NULL NOSTD { int lio_listio(int mode, \ 473 struct aiocb * const *acb_list, \ 474 int nent, struct sigevent *sig); } 475258 AUE_NULL UNIMPL nosys 476259 AUE_NULL UNIMPL nosys 477260 AUE_NULL UNIMPL nosys 478261 AUE_NULL UNIMPL nosys 479262 AUE_NULL UNIMPL nosys 480263 AUE_NULL UNIMPL nosys 481264 AUE_NULL UNIMPL nosys 482265 AUE_NULL UNIMPL nosys 483266 AUE_NULL UNIMPL nosys 484267 AUE_NULL UNIMPL nosys 485268 AUE_NULL UNIMPL nosys 486269 AUE_NULL UNIMPL nosys 487270 AUE_NULL UNIMPL nosys 488271 AUE_NULL UNIMPL nosys 489272 AUE_NULL MSTD { int getdents(int fd, char *buf, \ 490 size_t count); } 491273 AUE_NULL UNIMPL nosys 492274 AUE_NULL MSTD { int lchmod(char *path, mode_t mode); } 493275 AUE_NULL MNOPROTO { int lchown(char *path, uid_t uid, \ 494 gid_t gid); } netbsd_lchown lchown_args \ 495 int 496276 AUE_NULL MSTD { int lutimes(char *path, \ 497 struct timeval *tptr); } 498277 AUE_NULL MNOPROTO { int msync(void *addr, size_t len, \ 499 int flags); } netbsd_msync msync_args int 500278 AUE_NULL MSTD { int nstat(char *path, struct nstat *ub); } 501279 AUE_NULL MSTD { int nfstat(int fd, struct nstat *sb); } 502280 AUE_NULL MSTD { int nlstat(char *path, struct nstat *ub); } 503281 AUE_NULL UNIMPL nosys 504282 AUE_NULL UNIMPL nosys 505283 AUE_NULL UNIMPL nosys 506284 AUE_NULL UNIMPL nosys 507285 AUE_NULL UNIMPL nosys 508286 AUE_NULL UNIMPL nosys 509287 AUE_NULL UNIMPL nosys 510288 AUE_NULL UNIMPL nosys 511; 289 and 290 from NetBSD (OpenBSD: 267 and 268) 512289 AUE_NULL MSTD { ssize_t preadv(int fd, struct iovec *iovp, \ 513 u_int iovcnt, off_t offset); } 514290 AUE_NULL MSTD { ssize_t pwritev(int fd, struct iovec *iovp, \ 515 u_int iovcnt, off_t offset); } 516291 AUE_NULL UNIMPL nosys 517292 AUE_NULL UNIMPL nosys 518293 AUE_NULL UNIMPL nosys 519294 AUE_NULL UNIMPL nosys 520295 AUE_NULL UNIMPL nosys 521296 AUE_NULL UNIMPL nosys 522; XXX 297 is 300 in NetBSD 523297 AUE_NULL MCOMPAT4 { int fhstatfs( \ 524 const struct fhandle *u_fhp, \ 525 struct ostatfs *buf); } 526298 AUE_NULL MSTD { int fhopen(const struct fhandle *u_fhp, \ 527 int flags); } 528299 AUE_NULL MSTD { int fhstat(const struct fhandle *u_fhp, \ 529 struct stat *sb); } 530; syscall numbers for FreeBSD 531300 AUE_NULL MSTD { int modnext(int modid); } 532301 AUE_NULL MSTD { int modstat(int modid, \ 533 struct module_stat *stat); } 534302 AUE_NULL MSTD { int modfnext(int modid); } 535303 AUE_NULL MSTD { int modfind(const char *name); } 536304 AUE_NULL MSTD { int kldload(const char *file); } 537305 AUE_NULL MSTD { int kldunload(int fileid); } 538306 AUE_NULL MSTD { int kldfind(const char *file); } 539307 AUE_NULL MSTD { int kldnext(int fileid); } 540308 AUE_NULL MSTD { int kldstat(int fileid, struct \ 541 kld_file_stat* stat); } 542309 AUE_NULL MSTD { int kldfirstmod(int fileid); } 543310 AUE_NULL MSTD { int getsid(pid_t pid); } 544311 AUE_NULL MSTD { int setresuid(uid_t ruid, uid_t euid, \ 545 uid_t suid); } 546312 AUE_NULL MSTD { int setresgid(gid_t rgid, gid_t egid, \ 547 gid_t sgid); } 548313 AUE_NULL OBSOL signanosleep 549314 AUE_NULL NOSTD { int aio_return(struct aiocb *aiocbp); } 550315 AUE_NULL NOSTD { int aio_suspend( \ 551 struct aiocb * const * aiocbp, int nent, \ 552 const struct timespec *timeout); } 553316 AUE_NULL NOSTD { int aio_cancel(int fd, \ 554 struct aiocb *aiocbp); } 555317 AUE_NULL NOSTD { int aio_error(struct aiocb *aiocbp); } 556318 AUE_NULL NOSTD { int oaio_read(struct oaiocb *aiocbp); } 557319 AUE_NULL NOSTD { int oaio_write(struct oaiocb *aiocbp); } 558320 AUE_NULL NOSTD { int olio_listio(int mode, \ 559 struct oaiocb * const *acb_list, \ 560 int nent, struct osigevent *sig); } 561321 AUE_NULL MSTD { int yield(void); } 562322 AUE_NULL OBSOL thr_sleep 563323 AUE_NULL OBSOL thr_wakeup 564324 AUE_NULL MSTD { int mlockall(int how); } 565325 AUE_NULL MSTD { int munlockall(void); } 566326 AUE_NULL MSTD { int __getcwd(u_char *buf, u_int buflen); } 567 568327 AUE_NULL MSTD { int sched_setparam (pid_t pid, \ 569 const struct sched_param *param); } 570328 AUE_NULL MSTD { int sched_getparam (pid_t pid, struct \ 571 sched_param *param); } 572 573329 AUE_NULL MSTD { int sched_setscheduler (pid_t pid, int \ 574 policy, const struct sched_param \ 575 *param); } 576330 AUE_NULL MSTD { int sched_getscheduler (pid_t pid); } 577 578331 AUE_NULL MSTD { int sched_yield (void); } 579332 AUE_NULL MSTD { int sched_get_priority_max (int policy); } 580333 AUE_NULL MSTD { int sched_get_priority_min (int policy); } 581334 AUE_NULL MSTD { int sched_rr_get_interval (pid_t pid, \ 582 struct timespec *interval); } 583335 AUE_NULL MSTD { int utrace(const void *addr, size_t len); } 584336 AUE_NULL MCOMPAT4 { int sendfile(int fd, int s, \ 585 off_t offset, size_t nbytes, \ 586 struct sf_hdtr *hdtr, off_t *sbytes, \ 587 int flags); } 588337 AUE_NULL MSTD { int kldsym(int fileid, int cmd, \ 589 void *data); } 590338 AUE_NULL MSTD { int jail(struct jail *jail); } 591339 AUE_NULL UNIMPL pioctl 592340 AUE_NULL MSTD { int sigprocmask(int how, \ 593 const sigset_t *set, sigset_t *oset); } 594341 AUE_NULL MSTD { int sigsuspend(const sigset_t *sigmask); } 595342 AUE_NULL MCOMPAT4 { int sigaction(int sig, const \ 596 struct sigaction *act, \ 597 struct sigaction *oact); } 598343 AUE_NULL MSTD { int sigpending(sigset_t *set); } 599344 AUE_NULL MCOMPAT4 { int sigreturn( \ 600 const struct ucontext4 *sigcntxp); } 601345 AUE_NULL MSTD { int sigtimedwait(const sigset_t *set, \ 602 siginfo_t *info, \ 603 const struct timespec *timeout); } 604346 AUE_NULL MSTD { int sigwaitinfo(const sigset_t *set, \ 605 siginfo_t *info); } 606347 AUE_NULL MSTD { int __acl_get_file(const char *path, \ 607 acl_type_t type, struct acl *aclp); } 608348 AUE_NULL MSTD { int __acl_set_file(const char *path, \ 609 acl_type_t type, struct acl *aclp); } 610349 AUE_NULL MSTD { int __acl_get_fd(int filedes, \ 611 acl_type_t type, struct acl *aclp); } 612350 AUE_NULL MSTD { int __acl_set_fd(int filedes, \ 613 acl_type_t type, struct acl *aclp); } 614351 AUE_NULL MSTD { int __acl_delete_file(const char *path, \ 615 acl_type_t type); } 616352 AUE_NULL MSTD { int __acl_delete_fd(int filedes, \ 617 acl_type_t type); } 618353 AUE_NULL MSTD { int __acl_aclcheck_file(const char *path, \ 619 acl_type_t type, struct acl *aclp); } 620354 AUE_NULL MSTD { int __acl_aclcheck_fd(int filedes, \ 621 acl_type_t type, struct acl *aclp); } 622355 AUE_NULL MSTD { int extattrctl(const char *path, int cmd, \ 623 const char *filename, int attrnamespace, \ 624 const char *attrname); } 625356 AUE_NULL MSTD { int extattr_set_file(const char *path, \ 626 int attrnamespace, const char *attrname, \ 627 void *data, size_t nbytes); } 628357 AUE_NULL MSTD { ssize_t extattr_get_file(const char *path, \ 629 int attrnamespace, const char *attrname, \ 630 void *data, size_t nbytes); } 631358 AUE_NULL MSTD { int extattr_delete_file(const char *path, \ 632 int attrnamespace, \ 633 const char *attrname); } 634359 AUE_NULL NOSTD { int aio_waitcomplete( \ 635 struct aiocb **aiocbp, \ 636 struct timespec *timeout); } 637360 AUE_NULL MSTD { int getresuid(uid_t *ruid, uid_t *euid, \ 638 uid_t *suid); } 639361 AUE_NULL MSTD { int getresgid(gid_t *rgid, gid_t *egid, \ 640 gid_t *sgid); } 641362 AUE_NULL MSTD { int kqueue(void); } 642363 AUE_NULL MSTD { int kevent(int fd, \ 643 struct kevent *changelist, int nchanges, \ 644 struct kevent *eventlist, int nevents, \ 645 const struct timespec *timeout); } 646364 AUE_NULL UNIMPL __cap_get_proc 647365 AUE_NULL UNIMPL __cap_set_proc 648366 AUE_NULL UNIMPL __cap_get_fd 649367 AUE_NULL UNIMPL __cap_get_file 650368 AUE_NULL UNIMPL __cap_set_fd 651369 AUE_NULL UNIMPL __cap_set_file 652370 AUE_NULL NODEF lkmressys lkmressys nosys_args int 653371 AUE_NULL MSTD { int extattr_set_fd(int fd, \ 654 int attrnamespace, const char *attrname, \ 655 void *data, size_t nbytes); } 656372 AUE_NULL MSTD { ssize_t extattr_get_fd(int fd, \ 657 int attrnamespace, const char *attrname, \ 658 void *data, size_t nbytes); } 659373 AUE_NULL MSTD { int extattr_delete_fd(int fd, \ 660 int attrnamespace, \ 661 const char *attrname); } 662374 AUE_NULL MSTD { int __setugid(int flag); } 663375 AUE_NULL NOIMPL { int nfsclnt(int flag, caddr_t argp); } 664376 AUE_NULL MSTD { int eaccess(char *path, int flags); } 665377 AUE_NULL UNIMPL afs_syscall 666378 AUE_NULL STD { int nmount(struct iovec *iovp, \ 667 unsigned int iovcnt, int flags); } 668379 AUE_NULL MSTD { int kse_exit(void); } 669380 AUE_NULL MSTD { int kse_wakeup(struct kse_mailbox *mbx); } 670381 AUE_NULL MSTD { int kse_create(struct kse_mailbox *mbx, \ 671 int newgroup); } 672382 AUE_NULL MSTD { int kse_thr_interrupt( \ 673 struct kse_thr_mailbox *tmbx, int cmd, \ 674 long data); } 675383 AUE_NULL MSTD { int kse_release(struct timespec *timeout); } 676384 AUE_NULL MSTD { int __mac_get_proc(struct mac *mac_p); } 677385 AUE_NULL MSTD { int __mac_set_proc(struct mac *mac_p); } 678386 AUE_NULL MSTD { int __mac_get_fd(int fd, \ 679 struct mac *mac_p); } 680387 AUE_NULL MSTD { int __mac_get_file(const char *path_p, \ 681 struct mac *mac_p); } 682388 AUE_NULL MSTD { int __mac_set_fd(int fd, \ 683 struct mac *mac_p); } 684389 AUE_NULL MSTD { int __mac_set_file(const char *path_p, \ 685 struct mac *mac_p); } 686390 AUE_NULL MSTD { int kenv(int what, const char *name, \ 687 char *value, int len); } 688391 AUE_NULL MSTD { int lchflags(const char *path, int flags); } 689392 AUE_NULL MSTD { int uuidgen(struct uuid *store, \ 690 int count); } 691393 AUE_NULL MSTD { int sendfile(int fd, int s, off_t offset, \ 692 size_t nbytes, struct sf_hdtr *hdtr, \ 693 off_t *sbytes, int flags); } 694394 AUE_NULL MSTD { int mac_syscall(const char *policy, \ 695 int call, void *arg); } 696395 AUE_NULL MSTD { int getfsstat(struct statfs *buf, \ 697 long bufsize, int flags); } 698396 AUE_NULL MSTD { int statfs(char *path, \ 699 struct statfs *buf); } 700397 AUE_NULL MSTD { int fstatfs(int fd, struct statfs *buf); } 701398 AUE_NULL MSTD { int fhstatfs(const struct fhandle *u_fhp, \ 702 struct statfs *buf); } 703399 AUE_NULL UNIMPL nosys 704400 AUE_NULL MNOSTD { int ksem_close(semid_t id); } 705401 AUE_NULL MNOSTD { int ksem_post(semid_t id); } 706402 AUE_NULL MNOSTD { int ksem_wait(semid_t id); } 707403 AUE_NULL MNOSTD { int ksem_trywait(semid_t id); } 708404 AUE_NULL MNOSTD { int ksem_init(semid_t *idp, \ 709 unsigned int value); } 710405 AUE_NULL MNOSTD { int ksem_open(semid_t *idp, \ 711 const char *name, int oflag, \ 712 mode_t mode, unsigned int value); } 713406 AUE_NULL MNOSTD { int ksem_unlink(const char *name); } 714407 AUE_NULL MNOSTD { int ksem_getvalue(semid_t id, int *val); } 715408 AUE_NULL MNOSTD { int ksem_destroy(semid_t id); } 716409 AUE_NULL MSTD { int __mac_get_pid(pid_t pid, \ 717 struct mac *mac_p); } 718410 AUE_NULL MSTD { int __mac_get_link(const char *path_p, \ 719 struct mac *mac_p); } 720411 AUE_NULL MSTD { int __mac_set_link(const char *path_p, \ 721 struct mac *mac_p); } 722412 AUE_NULL MSTD { int extattr_set_link(const char *path, \ 723 int attrnamespace, const char *attrname, \ 724 void *data, size_t nbytes); } 725413 AUE_NULL MSTD { ssize_t extattr_get_link(const char *path, \ 726 int attrnamespace, const char *attrname, \ 727 void *data, size_t nbytes); } 728414 AUE_NULL MSTD { int extattr_delete_link(const char *path, \ 729 int attrnamespace, \ 730 const char *attrname); } 731415 AUE_NULL MSTD { int __mac_execve(char *fname, char **argv, \ 732 char **envv, struct mac *mac_p); } 733416 AUE_NULL MSTD { int sigaction(int sig, \ 734 const struct sigaction *act, \ 735 struct sigaction *oact); } 736417 AUE_NULL MSTD { 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 MSTD { int getcontext(struct __ucontext *ucp); } 742422 AUE_NULL MSTD { int setcontext( \ 743 const struct __ucontext *ucp); } 744423 AUE_NULL MSTD { int swapcontext(struct __ucontext *oucp, \ 745 const struct __ucontext *ucp); } 746424 AUE_NULL MSTD { int swapoff(const char *name); } 747425 AUE_NULL MSTD { int __acl_get_link(const char *path, \ 748 acl_type_t type, struct acl *aclp); } 749426 AUE_NULL MSTD { int __acl_set_link(const char *path, \ 750 acl_type_t type, struct acl *aclp); } 751427 AUE_NULL MSTD { int __acl_delete_link(const char *path, \ 752 acl_type_t type); } 753428 AUE_NULL MSTD { int __acl_aclcheck_link(const char *path, \ 754 acl_type_t type, struct acl *aclp); } 755429 AUE_NULL MSTD { int sigwait(const sigset_t *set, \ 756 int *sig); } 757430 AUE_NULL MSTD { int thr_create(ucontext_t *ctx, long *id, \ 758 int flags); } 759431 AUE_NULL MSTD { void thr_exit(long *state); } 760432 AUE_NULL MSTD { int thr_self(long *id); } 761433 AUE_NULL MSTD { int thr_kill(long id, int sig); } 762434 AUE_NULL MSTD { int _umtx_lock(struct umtx *umtx); } 763435 AUE_NULL MSTD { int _umtx_unlock(struct umtx *umtx); } 764436 AUE_NULL MSTD { int jail_attach(int jid); } 765437 AUE_NULL MSTD { ssize_t extattr_list_fd(int fd, \ 766 int attrnamespace, void *data, \ 767 size_t nbytes); } 768438 AUE_NULL MSTD { ssize_t extattr_list_file( \ 769 const char *path, int attrnamespace, \ 770 void *data, size_t nbytes); } 771439 AUE_NULL MSTD { ssize_t extattr_list_link( \ 772 const char *path, int attrnamespace, \ 773 void *data, size_t nbytes); } 774440 AUE_NULL MSTD { int kse_switchin( \ 775 struct kse_thr_mailbox *tmbx, \ 776 int flags); } 777441 AUE_NULL MNOSTD { int ksem_timedwait(semid_t id, \ 778 const struct timespec *abstime); } 779442 AUE_NULL MSTD { int thr_suspend( \ 780 const struct timespec *timeout); } 781443 AUE_NULL MSTD { int thr_wake(long id); } 782444 AUE_NULL MSTD { int kldunloadf(int fileid, int flags); } 783445 AUE_NULL MNOSTD { int audit(const void *record, \ 784 u_int length); } 785446 AUE_NULL MNOSTD { int auditon(int cmd, void *data, \ 786 u_int length); } 787447 AUE_NULL MNOSTD { int getauid(uid_t *auid); } 788448 AUE_NULL MNOSTD { int setauid(uid_t *auid); } 789449 AUE_NULL MNOSTD { int getaudit(struct auditinfo *auditinfo); } 790450 AUE_NULL MNOSTD { int setaudit(struct auditinfo *auditinfo); } 791451 AUE_NULL MNOSTD { int getaudit_addr( \ 792 struct auditinfo_addr *auditinfo_addr, \ 793 u_int length); } 794452 AUE_NULL MNOSTD { int setaudit_addr( \ 795 struct auditinfo_addr *auditinfo_addr, \ 796 u_int length); } 797453 AUE_NULL MNOSTD { int auditctl(int cmd, char *path); } 798454 AUE_NULL MSTD { int _umtx_op(struct umtx *umtx, int op, \ 799 long id, void *uaddr, void *uaddr2); } 800455 AUE_NULL MSTD { int thr_new(struct thr_param *param, \ 801 int param_size); } 802456 AUE_NULL MSTD { int sigqueue(pid_t pid, int signum, void *value); } 803457 AUE_NULL MNOSTD { int mq_open(const char *path, int flags, \ 804 mode_t mode, const struct mq_attr *attr); } 805458 AUE_NULL MNOSTD { int mq_setattr(mqd_t mqd, \ 806 const struct mq_attr *attr, \ 807 struct mq_attr *oattr); } 808459 AUE_NULL MNOSTD { int mq_timedreceive(mqd_t mqd, \ 809 char *msg_ptr, size_t msg_len, \ 810 unsigned *msg_prio, \ 811 const struct timespec *abs_timeout); } 812460 AUE_NULL MNOSTD { int mq_timedsend(mqd_t mqd, \ 813 const char *msg_ptr, size_t msg_len,\ 814 unsigned msg_prio, \ 815 const struct timespec *abs_timeout);} 816461 AUE_NULL MNOSTD { int mq_notify(mqd_t mqd, \ 817 const struct sigevent *sigev); } 818462 AUE_NULL MNOSTD { int mq_unlink(const char *path); } 819; Please copy any additions and changes to the following compatability tables: 820; sys/compat/freebsd32/syscalls.master 821