syscalls.master revision 1.65
1 $NetBSD: syscalls.master,v 1.65 1997/11/25 19:32:20 kleink Exp $ 2 3; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 4 5; NetBSD system call name/number "master" file. 6; (See syscalls.conf to see what it is processed into.) 7; 8; Fields: number type [type-dependent ...] 9; number system call number, must be in order 10; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 11; the compatibility options defined in syscalls.conf. 12; 13; types: 14; STD always included 15; OBSOL obsolete, not included in system 16; UNIMPL unimplemented, not included in system 17; NODEF included, but don't define the syscall number 18; NOARGS included, but don't define the syscall args structure 19; INDIR included, but don't define the syscall args structure, 20; and allow it to be "really" varargs. 21; 22; The compat options are defined in the syscalls.conf file, and the 23; compat option name is prefixed to the syscall name. Other than 24; that, they're like NODEF (for 'compat' options), or STD (for 25; 'libcompat' options). 26; 27; The type-dependent arguments are as follows: 28; For STD, NODEF, NOARGS, and compat syscalls: 29; { pseudo-proto } [alias] 30; For other syscalls: 31; [comment] 32; 33; #ifdef's, etc. may be included, and are copied to the output files. 34; #include's are copied to the syscall switch definition file only. 35 36#include <sys/param.h> 37#include <sys/systm.h> 38#include <sys/signal.h> 39#include <sys/mount.h> 40#include <sys/syscallargs.h> 41 42; Reserved/unimplemented system calls in the range 0-150 inclusive 43; are reserved for use in future Berkeley releases. 44; Additional system calls implemented in vendor and other 45; redistributions should be placed in the reserved range at the end 46; of the current calls. 47 480 INDIR { int sys_syscall(int number, ...); } 491 STD { void sys_exit(int rval); } 502 STD { int sys_fork(void); } 513 STD { ssize_t sys_read(int fd, void *buf, size_t nbyte); } 524 STD { ssize_t sys_write(int fd, const void *buf, \ 53 size_t nbyte); } 545 STD { int sys_open(const char *path, \ 55 int flags, ... mode_t mode); } 566 STD { int sys_close(int fd); } 577 STD { int sys_wait4(int pid, int *status, int options, \ 58 struct rusage *rusage); } 598 COMPAT_43 { int sys_creat(const char *path, mode_t mode); } ocreat 609 STD { int sys_link(const char *path, const char *link); } 6110 STD { int sys_unlink(const char *path); } 6211 OBSOL execv 6312 STD { int sys_chdir(const char *path); } 6413 STD { int sys_fchdir(int fd); } 6514 STD { int sys_mknod(const char *path, mode_t mode, \ 66 dev_t dev); } 6715 STD { int sys_chmod(const char *path, mode_t mode); } 6816 STD { int sys_chown(const char *path, uid_t uid, \ 69 gid_t gid); } 7017 STD { int sys_obreak(char *nsize); } break 7118 STD { int sys_getfsstat(struct statfs *buf, long bufsize, \ 72 int flags); } 7319 COMPAT_43 { long sys_lseek(int fd, long offset, int whence); } \ 74 olseek 7520 STD { pid_t sys_getpid(void); } 7621 STD { int sys_mount(const char *type, const char *path, \ 77 int flags, void *data); } 7822 STD { int sys_unmount(const char *path, int flags); } 7923 STD { int sys_setuid(uid_t uid); } 8024 STD { uid_t sys_getuid(void); } 8125 STD { uid_t sys_geteuid(void); } 8226 STD { int sys_ptrace(int req, pid_t pid, caddr_t addr, \ 83 int data); } 8427 STD { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ 85 int flags); } 8628 STD { ssize_t sys_sendmsg(int s, \ 87 const struct msghdr *msg, int flags); } 8829 STD { ssize_t sys_recvfrom(int s, void *buf, size_t len, \ 89 int flags, struct sockaddr *from, \ 90 int *fromlenaddr); } 9130 STD { int sys_accept(int s, struct sockaddr *name, \ 92 int *anamelen); } 9331 STD { int sys_getpeername(int fdes, struct sockaddr *asa, \ 94 int *alen); } 9532 STD { int sys_getsockname(int fdes, struct sockaddr *asa, \ 96 int *alen); } 9733 STD { int sys_access(const char *path, int flags); } 9834 STD { int sys_chflags(const char *path, u_long flags); } 9935 STD { int sys_fchflags(int fd, u_long flags); } 10036 STD { void sys_sync(void); } 10137 STD { int sys_kill(int pid, int signum); } 10238 COMPAT_43 { int sys_stat(const char *path, struct stat43 *ub); } \ 103 stat43 10439 STD { pid_t sys_getppid(void); } 10540 COMPAT_43 { int sys_lstat(const char *path, \ 106 struct stat43 *ub); } lstat43 10741 STD { int sys_dup(int fd); } 10842 STD { int sys_pipe(void); } 10943 STD { gid_t sys_getegid(void); } 11044 STD { int sys_profil(caddr_t samples, size_t size, \ 111 u_long offset, u_int scale); } 112#ifdef KTRACE 11345 STD { int sys_ktrace(const char *fname, int ops, \ 114 int facs, int pid); } 115#else 11645 UNIMPL ktrace 117#endif 11846 STD { int sys_sigaction(int signum, \ 119 const struct sigaction *nsa, \ 120 struct sigaction *osa); } 12147 STD { gid_t sys_getgid(void); } 12248 STD { int sys_sigprocmask(int how, sigset_t mask); } 12349 STD { int sys___getlogin(char *namebuf, u_int namelen); } 12450 STD { int sys_setlogin(const char *namebuf); } 12551 STD { int sys_acct(const char *path); } 12652 STD { int sys_sigpending(void); } 12753 COMPAT_13 { int sys_sigaltstack(const struct sigaltstack13 \ 128 *nss, struct sigaltstack13 *oss); } sigaltstack13 12954 STD { int sys_ioctl(int fd, \ 130 u_long com, ... void *data); } 13155 COMPAT_12 { int sys_reboot(int opt); } oreboot 13256 STD { int sys_revoke(const char *path); } 13357 STD { int sys_symlink(const char *path, \ 134 const char *link); } 13558 STD { int sys_readlink(const char *path, char *buf, \ 136 int count); } 13759 STD { int sys_execve(const char *path, \ 138 char * const *argp, char * const *envp); } 13960 STD { mode_t sys_umask(mode_t newmask); } 14061 STD { int sys_chroot(const char *path); } 14162 COMPAT_43 { int sys_fstat(int fd, struct stat43 *sb); } fstat43 14263 COMPAT_43 { int sys_getkerninfo(int op, char *where, int *size, \ 143 int arg); } ogetkerninfo 14464 COMPAT_43 { int sys_getpagesize(void); } ogetpagesize 14565 COMPAT_12 { int sys_msync(caddr_t addr, size_t len); } 14666 STD { int sys_vfork(void); } 14767 OBSOL vread 14868 OBSOL vwrite 14969 STD { int sys_sbrk(int incr); } 15070 STD { int sys_sstk(int incr); } 15171 COMPAT_43 { int sys_mmap(caddr_t addr, size_t len, int prot, \ 152 int flags, int fd, long pos); } ommap 15372 STD { int sys_ovadvise(int anom); } vadvise 15473 STD { int sys_munmap(void *addr, size_t len); } 15574 STD { int sys_mprotect(void *addr, size_t len, \ 156 int prot); } 15775 STD { int sys_madvise(void *addr, size_t len, \ 158 int behav); } 15976 OBSOL vhangup 16077 OBSOL vlimit 16178 STD { int sys_mincore(caddr_t addr, size_t len, \ 162 char *vec); } 16379 STD { int sys_getgroups(int gidsetsize, \ 164 gid_t *gidset); } 16580 STD { int sys_setgroups(int gidsetsize, \ 166 const gid_t *gidset); } 16781 STD { int sys_getpgrp(void); } 16882 STD { int sys_setpgid(int pid, int pgid); } 16983 STD { int sys_setitimer(int which, \ 170 const struct itimerval *itv, \ 171 struct itimerval *oitv); } 17284 COMPAT_43 { int sys_wait(void); } owait 17385 COMPAT_12 { int sys_swapon(const char *name); } oswapon 17486 STD { int sys_getitimer(int which, \ 175 struct itimerval *itv); } 17687 COMPAT_43 { int sys_gethostname(char *hostname, u_int len); } \ 177 ogethostname 17888 COMPAT_43 { int sys_sethostname(char *hostname, u_int len); } \ 179 osethostname 18089 COMPAT_43 { int sys_getdtablesize(void); } ogetdtablesize 18190 STD { int sys_dup2(int from, int to); } 18291 UNIMPL getdopt 18392 STD { int sys_fcntl(int fd, int cmd, ... void *arg); } 18493 STD { int sys_select(int nd, fd_set *in, fd_set *ou, \ 185 fd_set *ex, struct timeval *tv); } 18694 UNIMPL setdopt 18795 STD { int sys_fsync(int fd); } 18896 STD { int sys_setpriority(int which, int who, int prio); } 18997 STD { int sys_socket(int domain, int type, int protocol); } 19098 STD { int sys_connect(int s, const struct sockaddr *name, \ 191 int namelen); } 19299 COMPAT_43 { int sys_accept(int s, caddr_t name, \ 193 int *anamelen); } oaccept 194100 STD { int sys_getpriority(int which, int who); } 195101 COMPAT_43 { int sys_send(int s, caddr_t buf, int len, \ 196 int flags); } osend 197102 COMPAT_43 { int sys_recv(int s, caddr_t buf, int len, \ 198 int flags); } orecv 199103 STD { int sys_sigreturn(struct sigcontext *sigcntxp); } 200104 STD { int sys_bind(int s, const struct sockaddr *name, \ 201 int namelen); } 202105 STD { int sys_setsockopt(int s, int level, int name, \ 203 const void *val, int valsize); } 204106 STD { int sys_listen(int s, int backlog); } 205107 OBSOL vtimes 206108 COMPAT_43 { int sys_sigvec(int signum, struct sigvec *nsv, \ 207 struct sigvec *osv); } osigvec 208109 COMPAT_43 { int sys_sigblock(int mask); } osigblock 209110 COMPAT_43 { int sys_sigsetmask(int mask); } osigsetmask 210111 STD { int sys_sigsuspend(int mask); } 211112 COMPAT_43 { int sys_sigstack(struct sigstack *nss, \ 212 struct sigstack *oss); } osigstack 213113 COMPAT_43 { int sys_recvmsg(int s, struct omsghdr *msg, \ 214 int flags); } orecvmsg 215114 COMPAT_43 { int sys_sendmsg(int s, caddr_t msg, int flags); } \ 216 osendmsg 217#ifdef TRACE 218115 STD { int sys_vtrace(int request, int value); } 219#else 220115 OBSOL vtrace 221#endif 222116 STD { int sys_gettimeofday(struct timeval *tp, \ 223 struct timezone *tzp); } 224117 STD { int sys_getrusage(int who, struct rusage *rusage); } 225118 STD { int sys_getsockopt(int s, int level, int name, \ 226 void *val, int *avalsize); } 227119 OBSOL resuba 228120 STD { ssize_t sys_readv(int fd, \ 229 const struct iovec *iovp, int iovcnt); } 230121 STD { ssize_t sys_writev(int fd, \ 231 const struct iovec *iovp, int iovcnt); } 232122 STD { int sys_settimeofday(const struct timeval *tv, \ 233 const struct timezone *tzp); } 234123 STD { int sys_fchown(int fd, uid_t uid, gid_t gid); } 235124 STD { int sys_fchmod(int fd, mode_t mode); } 236125 COMPAT_43 { int sys_recvfrom(int s, caddr_t buf, size_t len, \ 237 int flags, caddr_t from, int *fromlenaddr); } \ 238 orecvfrom 239126 STD { int sys_setreuid(uid_t ruid, uid_t euid); } 240127 STD { int sys_setregid(gid_t rgid, gid_t egid); } 241128 STD { int sys_rename(const char *from, const char *to); } 242129 COMPAT_43 { int sys_truncate(const char *path, long length); } \ 243 otruncate 244130 COMPAT_43 { int sys_ftruncate(int fd, long length); } oftruncate 245131 STD { int sys_flock(int fd, int how); } 246132 STD { int sys_mkfifo(const char *path, mode_t mode); } 247133 STD { ssize_t sys_sendto(int s, const void *buf, \ 248 size_t len, int flags, const struct sockaddr *to, \ 249 int tolen); } 250134 STD { int sys_shutdown(int s, int how); } 251135 STD { int sys_socketpair(int domain, int type, \ 252 int protocol, int *rsv); } 253136 STD { int sys_mkdir(const char *path, mode_t mode); } 254137 STD { int sys_rmdir(const char *path); } 255138 STD { int sys_utimes(const char *path, \ 256 const struct timeval *tptr); } 257139 OBSOL 4.2 sigreturn 258140 STD { int sys_adjtime(const struct timeval *delta, \ 259 struct timeval *olddelta); } 260141 COMPAT_43 { int sys_getpeername(int fdes, caddr_t asa, \ 261 int *alen); } ogetpeername 262142 COMPAT_43 { int32_t sys_gethostid(void); } ogethostid 263143 COMPAT_43 { int sys_sethostid(int32_t hostid); } osethostid 264144 COMPAT_43 { int sys_getrlimit(int which, \ 265 struct orlimit *rlp); } ogetrlimit 266145 COMPAT_43 { int sys_setrlimit(int which, \ 267 const struct orlimit *rlp); } osetrlimit 268146 COMPAT_43 { int sys_killpg(int pgid, int signum); } okillpg 269147 STD { int sys_setsid(void); } 270148 STD { int sys_quotactl(const char *path, int cmd, \ 271 int uid, caddr_t arg); } 272149 COMPAT_43 { int sys_quota(void); } oquota 273150 COMPAT_43 { int sys_getsockname(int fdec, caddr_t asa, \ 274 int *alen); } ogetsockname 275 276; Syscalls 151-180 inclusive are reserved for vendor-specific 277; system calls. (This includes various calls added for compatibity 278; with other Unix variants.) 279; Some of these calls are now supported by BSD... 280151 UNIMPL 281152 UNIMPL 282153 UNIMPL 283154 UNIMPL 284#if defined(NFS) || defined(NFSSERVER) 285155 STD { int sys_nfssvc(int flag, void *argp); } 286#else 287155 UNIMPL 288#endif 289156 COMPAT_43 { int sys_getdirentries(int fd, char *buf, \ 290 u_int count, long *basep); } ogetdirentries 291157 STD { int sys_statfs(const char *path, \ 292 struct statfs *buf); } 293158 STD { int sys_fstatfs(int fd, struct statfs *buf); } 294159 UNIMPL 295160 UNIMPL 296#if defined(NFS) || defined(NFSSERVER) 297161 STD { int sys_getfh(const char *fname, fhandle_t *fhp); } 298#else 299161 UNIMPL getfh 300#endif 301162 COMPAT_09 { int sys_getdomainname(char *domainname, int len); } \ 302 ogetdomainname 303163 COMPAT_09 { int sys_setdomainname(char *domainname, int len); } \ 304 osetdomainname 305164 COMPAT_09 { int sys_uname(struct outsname *name); } ouname 306165 STD { int sys_sysarch(int op, char *parms); } 307166 UNIMPL 308167 UNIMPL 309168 UNIMPL 310; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 311#if defined(SYSVSEM) && !defined(alpha) 312169 COMPAT_10 { int sys_semsys(int which, int a2, int a3, int a4, \ 313 int a5); } osemsys 314#else 315169 UNIMPL 1.0 semsys 316#endif 317; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 318#if defined(SYSVMSG) && !defined(alpha) 319170 COMPAT_10 { int sys_msgsys(int which, int a2, int a3, int a4, \ 320 int a5, int a6); } omsgsys 321#else 322170 UNIMPL 1.0 msgsys 323#endif 324; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 325#if defined(SYSVSHM) && !defined(alpha) 326171 COMPAT_10 { int sys_shmsys(int which, int a2, int a3, int a4); } \ 327 oshmsys 328#else 329171 UNIMPL 1.0 shmsys 330#endif 331172 UNIMPL 332173 UNIMPL 333174 UNIMPL 334175 STD { int sys_ntp_gettime(struct ntptimeval *ntvp); } 335176 STD { int sys_ntp_adjtime(struct timex *tp); } 336177 UNIMPL 337178 UNIMPL 338179 UNIMPL 339180 UNIMPL 340 341; Syscalls 180-199 are used by/reserved for BSD 342181 STD { int sys_setgid(gid_t gid); } 343182 STD { int sys_setegid(gid_t egid); } 344183 STD { int sys_seteuid(uid_t euid); } 345#ifdef LFS 346184 STD { int lfs_bmapv(fsid_t *fsidp, \ 347 struct block_info *blkiov, int blkcnt); } 348185 STD { int lfs_markv(fsid_t *fsidp, \ 349 struct block_info *blkiov, int blkcnt); } 350186 STD { int lfs_segclean(fsid_t *fsidp, u_long segment); } 351187 STD { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 352#else 353184 UNIMPL 354185 UNIMPL 355186 UNIMPL 356187 UNIMPL 357#endif 358188 COMPAT_12 { int sys_stat(const char *path, struct stat12 *ub); } \ 359 stat12 360189 COMPAT_12 { int sys_fstat(int fd, struct stat12 *sb); } fstat12 361190 COMPAT_12 { int sys_lstat(const char *path, \ 362 struct stat12 *ub); } lstat12 363191 STD { long sys_pathconf(const char *path, int name); } 364192 STD { long sys_fpathconf(int fd, int name); } 365193 UNIMPL 366194 STD { int sys_getrlimit(int which, \ 367 struct rlimit *rlp); } 368195 STD { int sys_setrlimit(int which, \ 369 const struct rlimit *rlp); } 370196 COMPAT_12 { int sys_getdirentries(int fd, char *buf, \ 371 u_int count, long *basep); } 372197 STD { void *sys_mmap(void *addr, size_t len, int prot, \ 373 int flags, int fd, long pad, off_t pos); } 374198 INDIR { quad_t sys___syscall(quad_t num, ...); } 375199 STD { off_t sys_lseek(int fd, int pad, off_t offset, \ 376 int whence); } 377200 STD { int sys_truncate(const char *path, int pad, \ 378 off_t length); } 379201 STD { int sys_ftruncate(int fd, int pad, off_t length); } 380202 STD { int sys___sysctl(int *name, u_int namelen, \ 381 void *old, size_t *oldlenp, void *new, \ 382 size_t newlen); } 383203 STD { int sys_mlock(void *addr, size_t len); } 384204 STD { int sys_munlock(void *addr, size_t len); } 385205 STD { int sys_undelete(const char *path); } 386206 STD { int sys_futimes(int fd, \ 387 const struct timeval *tptr); } 388207 STD { int sys_getpgid(pid_t pid); } 389208 STD { int sys_reboot(int opt, char *bootstr); } 390209 STD { int sys_poll(struct pollfd *fds, u_int nfds, \ 391 int timeout); } 392; 393; Syscalls 210-219 are reserved for dynamically loaded syscalls 394; 395#ifdef LKM 396210 NODEF { int sys_lkmnosys(void); } 397211 NODEF { int sys_lkmnosys(void); } 398212 NODEF { int sys_lkmnosys(void); } 399213 NODEF { int sys_lkmnosys(void); } 400214 NODEF { int sys_lkmnosys(void); } 401215 NODEF { int sys_lkmnosys(void); } 402216 NODEF { int sys_lkmnosys(void); } 403217 NODEF { int sys_lkmnosys(void); } 404218 NODEF { int sys_lkmnosys(void); } 405219 NODEF { int sys_lkmnosys(void); } 406#else /* !LKM */ 407210 UNIMPL 408211 UNIMPL 409212 UNIMPL 410213 UNIMPL 411214 UNIMPL 412215 UNIMPL 413216 UNIMPL 414217 UNIMPL 415218 UNIMPL 416219 UNIMPL 417#endif /* !LKM */ 418; System calls 220-300 are reserved for use by NetBSD 419#ifdef SYSVSEM 420220 STD { int sys___semctl(int semid, int semnum, int cmd, \ 421 union semun *arg); } 422221 STD { int sys_semget(key_t key, int nsems, int semflg); } 423222 STD { int sys_semop(int semid, struct sembuf *sops, \ 424 u_int nsops); } 425223 STD { int sys_semconfig(int flag); } 426#else 427220 UNIMPL semctl 428221 UNIMPL semget 429222 UNIMPL semop 430223 UNIMPL semconfig 431#endif 432#ifdef SYSVMSG 433224 STD { int sys_msgctl(int msqid, int cmd, \ 434 struct msqid_ds *buf); } 435225 STD { int sys_msgget(key_t key, int msgflg); } 436226 STD { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ 437 int msgflg); } 438227 STD { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ 439 long msgtyp, int msgflg); } 440#else 441224 UNIMPL msgctl 442225 UNIMPL msgget 443226 UNIMPL msgsnd 444227 UNIMPL msgrcv 445#endif 446#ifdef SYSVSHM 447228 STD { void *sys_shmat(int shmid, void *shmaddr, \ 448 int shmflg); } 449229 STD { int sys_shmctl(int shmid, int cmd, \ 450 struct shmid_ds *buf); } 451230 STD { int sys_shmdt(void *shmaddr); } 452231 STD { int sys_shmget(key_t key, int size, int shmflg); } 453#else 454228 UNIMPL shmat 455229 UNIMPL shmctl 456230 UNIMPL shmdt 457231 UNIMPL shmget 458#endif 459232 STD { int sys_clock_gettime(clockid_t clock_id, \ 460 struct timespec *tp); } 461233 STD { int sys_clock_settime(clockid_t clock_id, \ 462 const struct timespec *tp); } 463234 STD { int sys_clock_getres(clockid_t clock_id, \ 464 struct timespec *tp); } 465235 UNIMPL timer_create 466236 UNIMPL timer_delete 467237 UNIMPL timer_settime 468238 UNIMPL timer_gettime 469239 UNIMPL timer_getoverrun 470; 471; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 472; 473240 STD { int sys_nanosleep(const struct timespec *rqtp, \ 474 struct timespec *rmtp); } 475241 UNIMPL 476242 UNIMPL 477243 UNIMPL 478244 UNIMPL 479245 UNIMPL 480246 UNIMPL 481247 UNIMPL 482248 UNIMPL 483249 UNIMPL 484250 UNIMPL 485251 UNIMPL 486252 UNIMPL 487253 UNIMPL 488254 UNIMPL 489255 UNIMPL 490256 UNIMPL 491257 UNIMPL 492258 UNIMPL 493259 UNIMPL 494260 UNIMPL 495261 UNIMPL 496262 UNIMPL 497263 UNIMPL 498264 UNIMPL 499265 UNIMPL 500266 UNIMPL 501267 UNIMPL 502268 UNIMPL 503269 UNIMPL 504270 STD { int sys_posix_rename(const char *from, \ 505 const char *to); } 506271 STD { int sys_swapctl(int cmd, const void *arg, int misc); } 507272 STD { int sys_getdents(int fd, char *buf, size_t count); } 508273 STD { int sys_minherit(void *addr, size_t len, \ 509 int inherit); } 510274 STD { int sys_lchmod(const char *path, mode_t mode); } 511275 STD { int sys_lchown(const char *path, uid_t uid, \ 512 gid_t gid); } 513276 STD { int sys_lutimes(const char *path, \ 514 const struct timeval *tptr); } 515277 STD { int sys___msync13(void *addr, size_t len, int flags); } 516278 STD { int sys___stat13(const char *path, struct stat *ub); } 517279 STD { int sys___fstat13(int fd, struct stat *sb); } 518280 STD { int sys___lstat13(const char *path, struct stat *ub); } 519281 STD { int sys_sigaltstack(const struct sigaltstack *nss, \ 520 struct sigaltstack *oss); } 521