syscalls.master revision 1.16
1 $NetBSD: syscalls.master,v 1.16 1998/05/02 18:14:06 christos Exp $ 2 3; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94 4 5; NetBSD COMPAT_FREEBSD 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; 20; The compat options are defined in the syscalls.conf file, and the 21; compat option name is prefixed to the syscall name. Other than 22; that, they're like NODEF (for 'compat' options), or STD (for 23; 'libcompat' options). 24; 25; The type-dependent arguments are as follows: 26; For STD, NODEF, NOARGS, and compat syscalls: 27; { pseudo-proto } [alias] 28; For other syscalls: 29; [comment] 30; 31; #ifdef's, etc. may be included, and are copied to the output files. 32; #include's are copied to the syscall names and switch definition files only. 33 34#include "fs_lfs.h" 35#include "fs_nfs.h" 36 37#include <sys/param.h> 38#include <sys/systm.h> 39#include <sys/signal.h> 40#include <sys/mount.h> 41#include <sys/syscallargs.h> 42 43#include <compat/freebsd/freebsd_syscallargs.h> 44 45#include <machine/freebsd_machdep.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 NOARGS { int sys_nosys(void); } syscall 541 NOARGS { int sys_exit(int rval); } 552 NOARGS { int sys_fork(void); } 563 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 574 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 585 STD { int freebsd_sys_open(char *path, int flags, \ 59 int mode); } 606 NOARGS { int sys_close(int fd); } 617 NOARGS { int sys_wait4(int pid, int *status, int options, \ 62 struct rusage *rusage); } 638 STD { int compat_43_freebsd_sys_creat(char *path, \ 64 int mode); } ocreat 659 STD { int freebsd_sys_link(char *path, char *link); } 6610 STD { int freebsd_sys_unlink(char *path); } 6711 OBSOL execv 6812 STD { int freebsd_sys_chdir(char *path); } 6913 NOARGS { int sys_fchdir(int fd); } 7014 STD { int freebsd_sys_mknod(char *path, int mode, \ 71 int dev); } 7215 STD { int freebsd_sys_chmod(char *path, int mode); } 7316 STD { int freebsd_sys_chown(char *path, int uid, int gid); } 7417 NOARGS { int sys_obreak(char *nsize); } break 7518 NOARGS { int sys_getfsstat(struct statfs *buf, long bufsize, \ 76 int flags); } 7719 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ 78 int whence); } olseek 7920 NOARGS { pid_t sys_getpid(void); } 8021 STD { int freebsd_sys_mount(int type, char *path, \ 81 int flags, caddr_t data); } 8222 STD { int freebsd_sys_unmount(char *path, int flags); } 8323 NOARGS { int sys_setuid(uid_t uid); } 8424 NOARGS { uid_t sys_getuid(void); } 8525 NOARGS { uid_t sys_geteuid(void); } 8626 STD { int freebsd_sys_ptrace(int req, pid_t pid, \ 87 caddr_t addr, int data); } 8827 NOARGS { int sys_recvmsg(int s, struct msghdr *msg, \ 89 int flags); } 9028 NOARGS { int sys_sendmsg(int s, caddr_t msg, int flags); } 9129 NOARGS { int sys_recvfrom(int s, caddr_t buf, size_t len, \ 92 int flags, caddr_t from, int *fromlenaddr); } 9330 NOARGS { int sys_accept(int s, caddr_t name, int *anamelen); } 9431 NOARGS { int sys_getpeername(int fdes, caddr_t asa, \ 95 int *alen); } 9632 NOARGS { int sys_getsockname(int fdes, caddr_t asa, \ 97 int *alen); } 9833 STD { int freebsd_sys_access(char *path, int flags); } 9934 STD { int freebsd_sys_chflags(char *path, int flags); } 10035 NOARGS { int sys_fchflags(int fd, int flags); } 10136 NOARGS { int sys_sync(void); } 10237 NOARGS { int sys_kill(int pid, int signum); } 10338 STD { int compat_43_freebsd_sys_stat(char *path, \ 104 struct stat43 *ub); } stat43 10539 NOARGS { pid_t sys_getppid(void); } 10640 STD { int compat_43_freebsd_sys_lstat(char *path, \ 107 struct stat43 *ub); } lstat43 10841 NOARGS { int sys_dup(u_int fd); } 10942 NOARGS { int sys_pipe(void); } 11043 NOARGS { gid_t sys_getegid(void); } 11144 NOARGS { int sys_profil(caddr_t samples, u_int size, \ 112 u_int offset, u_int scale); } 113#ifdef KTRACE 11445 NOARGS { int sys_ktrace(char *fname, int ops, int facs, \ 115 int pid); } 116#else 11745 UNIMPL ktrace 118#endif 11946 NOARGS { int sys_sigaction(int signum, struct sigaction *nsa, \ 120 struct sigaction *osa); } 12147 NOARGS { gid_t sys_getgid(void); } 12248 NOARGS { int sys_sigprocmask(int how, sigset_t mask); } 12349 NOARGS { int sys___getlogin(char *namebuf, u_int namelen); } 12450 NOARGS { int sys_setlogin(char *namebuf); } 12551 NOARGS { int sys_acct(char *path); } 12652 NOARGS { int sys_sigpending(void); } 12753 NOARGS { int compat_13_sys_sigaltstack( \ 128 const struct sigaltstack13 *nss, \ 129 struct sigaltstack13 *oss); } 13054 STD { int freebsd_sys_ioctl(int fd, u_long com, \ 131 caddr_t data); } 13255 NOARGS { int sys_reboot(int opt); } 13356 STD { int freebsd_sys_revoke(char *path); } 13457 STD { int freebsd_sys_symlink(char *path, char *link); } 13558 STD { int freebsd_sys_readlink(char *path, char *buf, \ 136 int count); } 13759 STD { int freebsd_sys_execve(char *path, char **argp, \ 138 char **envp); } 13960 NOARGS { int sys_umask(int newmask); } 14061 STD { int freebsd_sys_chroot(char *path); } 14162 NOARGS { int compat_43_sys_fstat(int fd, struct stat43 *sb); } \ 142 fstat43 14363 NOARGS { int compat_43_sys_getkerninfo(int op, char *where, \ 144 int *size, int arg); } ogetkerninfo 14564 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 14665 STD { int freebsd_sys_msync(caddr_t addr, size_t len, \ 147 int flags); } 14866 NOARGS { int sys_vfork(void); } 14967 OBSOL vread 15068 OBSOL vwrite 15169 NOARGS { int sys_sbrk(int incr); } 15270 NOARGS { int sys_sstk(int incr); } 15371 NOARGS { int compat_43_sys_mmap(caddr_t addr, size_t len, \ 154 int prot, int flags, int fd, long pos); } ommap 15572 NOARGS { int sys_ovadvise(int anom); } vadvise 15673 NOARGS { int sys_munmap(caddr_t addr, size_t len); } 15774 NOARGS { int sys_mprotect(caddr_t addr, size_t len, \ 158 int prot); } 15975 NOARGS { int sys_madvise(caddr_t addr, size_t len, \ 160 int behav); } 16176 OBSOL vhangup 16277 OBSOL vlimit 16378 NOARGS { int sys_mincore(caddr_t addr, size_t len, char *vec); } 16479 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 16580 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 16681 NOARGS { int sys_getpgrp(void); } 16782 NOARGS { int sys_setpgid(int pid, int pgid); } 16883 NOARGS { int sys_setitimer(u_int which, \ 169 struct itimerval *itv, struct itimerval *oitv); } 17084 NOARGS { int compat_43_sys_wait(void); } owait 17185 NOARGS { int compat_12_sys_swapon(char *name); } 17286 NOARGS { int sys_getitimer(u_int which, \ 173 struct itimerval *itv); } 17487 NOARGS { int compat_43_sys_gethostname(char *hostname, \ 175 u_int len); } ogethostname 17688 NOARGS { int compat_43_sys_sethostname(char *hostname, \ 177 u_int len); } osethostname 17889 NOARGS { int compat_43_sys_getdtablesize(void); } \ 179 ogetdtablesize 18090 NOARGS { int sys_dup2(u_int from, u_int to); } 18191 UNIMPL getdopt 18292 NOARGS { int sys_fcntl(int fd, int cmd, void *arg); } 18393 NOARGS { int sys_select(u_int nd, fd_set *in, fd_set *ou, \ 184 fd_set *ex, struct timeval *tv); } 18594 UNIMPL setdopt 18695 NOARGS { int sys_fsync(int fd); } 18796 NOARGS { int sys_setpriority(int which, int who, int prio); } 18897 NOARGS { int sys_socket(int domain, int type, int protocol); } 18998 NOARGS { int sys_connect(int s, caddr_t name, int namelen); } 19099 NOARGS { int compat_43_sys_accept(int s, caddr_t name, \ 191 int *anamelen); } oaccept 192100 NOARGS { int sys_getpriority(int which, int who); } 193101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \ 194 int flags); } osend 195102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \ 196 int flags); } orecv 197103 STD { int freebsd_sys_sigreturn( \ 198 struct freebsd_sigcontext *scp); } 199104 NOARGS { int sys_bind(int s, caddr_t name, int namelen); } 200105 NOARGS { int sys_setsockopt(int s, int level, int name, \ 201 caddr_t val, int valsize); } 202106 NOARGS { int sys_listen(int s, int backlog); } 203107 OBSOL vtimes 204108 NOARGS { int compat_43_sys_sigvec(int signum, \ 205 struct sigvec *nsv, struct sigvec *osv); } osigvec 206109 NOARGS { int compat_43_sys_sigblock(int mask); } osigblock 207110 NOARGS { int compat_43_sys_sigsetmask(int mask); } osigsetmask 208111 NOARGS { int sys_sigsuspend(int mask); } 209112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \ 210 struct sigstack *oss); } osigstack 211113 NOARGS { int compat_43_sys_recvmsg(int s, \ 212 struct omsghdr *msg, int flags); } orecvmsg 213114 NOARGS { int compat_43_sys_sendmsg(int s, caddr_t msg, \ 214 int flags); } osendmsg 215#ifdef TRACE 216115 NOARGS { int sys_vtrace(int request, int value); } 217#else 218115 OBSOL vtrace 219#endif 220116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ 221 struct timezone *tzp); } 222117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 223118 NOARGS { int sys_getsockopt(int s, int level, int name, \ 224 caddr_t val, int *avalsize); } 225119 OBSOL resuba 226120 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ 227 u_int iovcnt); } 228121 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ 229 u_int iovcnt); } 230122 NOARGS { int sys_settimeofday(struct timeval *tv, \ 231 struct timezone *tzp); } 232123 NOARGS { int sys_fchown(int fd, int uid, int gid); } 233124 NOARGS { int sys_fchmod(int fd, int mode); } 234125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \ 235 size_t len, int flags, caddr_t from, \ 236 int *fromlenaddr); } orecvfrom 237126 NOARGS { int sys_setreuid(int ruid, int euid); } 238127 NOARGS { int sys_setregid(int rgid, int egid); } 239128 STD { int freebsd_sys_rename(char *from, char *to); } 240129 STD { int compat_43_freebsd_sys_truncate(char *path, \ 241 long length); } otruncate 242130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ 243 oftruncate 244131 NOARGS { int sys_flock(int fd, int how); } 245132 STD { int freebsd_sys_mkfifo(char *path, int mode); } 246133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ 247 int flags, caddr_t to, int tolen); } 248134 NOARGS { int sys_shutdown(int s, int how); } 249135 NOARGS { int sys_socketpair(int domain, int type, \ 250 int protocol, int *rsv); } 251136 STD { int freebsd_sys_mkdir(char *path, int mode); } 252137 STD { int freebsd_sys_rmdir(char *path); } 253138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 254139 OBSOL 4.2 sigreturn 255140 NOARGS { int sys_adjtime(struct timeval *delta, \ 256 struct timeval *olddelta); } 257141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ 258 int *alen); } ogetpeername 259142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 260143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ 261 osethostid 262144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ 263 struct orlimit *rlp); } ogetrlimit 264145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ 265 struct orlimit *rlp); } osetrlimit 266146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ 267 okillpg 268147 NOARGS { int sys_setsid(void); } 269148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ 270 caddr_t arg); } 271149 NOARGS { int compat_43_sys_quota(void); } oquota 272150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ 273 int *alen); } ogetsockname 274 275; Syscalls 151-180 inclusive are reserved for vendor-specific 276; system calls. (This includes various calls added for compatibity 277; with other Unix variants.) 278; Some of these calls are now supported by BSD... 279151 UNIMPL 280152 UNIMPL 281153 UNIMPL 282154 UNIMPL 283#if defined(NFS) || defined(NFSSERVER) 284155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } 285#else 286155 UNIMPL 287#endif 288156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ 289 u_int count, long *basep); } ogetdirentries 290157 STD { int freebsd_sys_statfs(char *path, \ 291 struct statfs *buf); } 292158 NOARGS { int sys_fstatfs(int fd, struct statfs *buf); } 293159 UNIMPL 294160 UNIMPL 295#ifdef NFS 296161 STD { int freebsd_sys_getfh(char *fname, fhandle_t *fhp); } 297#else 298161 UNIMPL getfh 299#endif 300162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ 301 int len); } 302163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ 303 int len); } 304164 NOARGS { int compat_09_sys_uname(struct outsname *name); } 305165 NOARGS { int sys_sysarch(int op, char *parms); } 306166 STD { int freebsd_sys_rtprio(int function, pid_t pid, \ 307 struct freebsd_rtprio *rtp); } 308167 UNIMPL 309168 UNIMPL 310; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 311#if defined(SYSVSEM) && !defined(alpha) 312169 STD { int freebsd_sys_semsys(int which, int a2, int a3, \ 313 int a4, int a5); } 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 STD { int freebsd_sys_msgsys(int which, int a2, int a3, \ 320 int a4, int a5, int a6); } 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 STD { int freebsd_sys_shmsys(int which, int a2, int a3, \ 327 int a4); } 328#else 329171 UNIMPL 1.0 shmsys 330#endif 331172 UNIMPL 332173 UNIMPL 333174 UNIMPL 334175 UNIMPL 335176 STD { int freebsd_ntp_adjtime(struct freebsd_timex *tp); } 336177 UNIMPL 337178 UNIMPL 338179 UNIMPL 339180 UNIMPL 340 341; Syscalls 180-199 are used by/reserved for BSD 342181 NOARGS { int sys_setgid(gid_t gid); } 343182 NOARGS { int sys_setegid(gid_t egid); } 344183 NOARGS { int sys_seteuid(uid_t euid); } 345#ifdef LFS 346184 NOARGS { int lfs_bmapv(fsid_t *fsidp, \ 347 struct block_info *blkiov, int blkcnt); } 348185 NOARGS { int lfs_markv(fsid_t *fsidp, \ 349 struct block_info *blkiov, int blkcnt); } 350186 NOARGS { int lfs_segclean(fsid_t *fsidp, u_long segment); } 351187 NOARGS { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 352#else 353184 UNIMPL 354185 UNIMPL 355186 UNIMPL 356187 UNIMPL 357#endif 358188 STD { int freebsd_sys_stat(char *path, \ 359 struct stat12 *ub); } 360189 NOARGS { int compat_12_sys_fstat(int fd, \ 361 struct stat12 *sb); } 362190 STD { int freebsd_sys_lstat(char *path, \ 363 struct stat12 *ub); } 364191 STD { int freebsd_sys_pathconf(char *path, int name); } 365192 NOARGS { int sys_fpathconf(int fd, int name); } 366193 UNIMPL 367194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 368195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 369196 NOARGS { int compat_12_sys_getdirentries(int fd, char *buf, \ 370 u_int count, long *basep); } 371197 NOARGS { caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \ 372 int flags, int fd, long pad, off_t pos); } 373198 NOARGS { int sys_nosys(void); } __syscall 374199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ 375 int whence); } 376200 STD { int freebsd_sys_truncate(char *path, int pad, \ 377 off_t length); } 378201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 379202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ 380 void *old, size_t *oldlenp, void *new, \ 381 size_t newlen); } 382203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 383204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 384#ifdef FREEBSD_BASED_ON_44LITE_R2 385205 STD { int freebsd_sys_undelete(char *path); } 386#else 387205 UNIMPL 388#endif 389206 UNIMPL 390207 UNIMPL 391208 UNIMPL 392209 UNIMPL 393; 394; Syscalls 210-219 are reserved for dynamically loaded syscalls 395; 396210 UNIMPL 397211 UNIMPL 398212 UNIMPL 399213 UNIMPL 400214 UNIMPL 401215 UNIMPL 402216 UNIMPL 403217 UNIMPL 404218 UNIMPL 405219 UNIMPL 406; 407; Syscalls 220-239 are reserved for syscalls imported from NetBSD 408; 409220 UNIMPL 410221 UNIMPL 411222 UNIMPL 412223 UNIMPL 413224 UNIMPL 414225 UNIMPL 415226 UNIMPL 416227 UNIMPL 417228 UNIMPL 418229 UNIMPL 419230 UNIMPL 420231 UNIMPL 421232 UNIMPL 422233 UNIMPL 423234 UNIMPL 424235 UNIMPL 425236 UNIMPL 426237 UNIMPL 427238 UNIMPL 428239 UNIMPL 429240 UNIMPL 430241 UNIMPL 431242 UNIMPL 432243 UNIMPL 433244 UNIMPL 434245 UNIMPL 435246 UNIMPL 436247 UNIMPL 437248 UNIMPL 438249 UNIMPL 439250 UNIMPL 440251 UNIMPL 441252 UNIMPL 442253 STD { int freebsd_sys_issetugid(void); } 443254 STD { int freebsd_sys_lchown(char *path, int uid, \ 444 int gid); } 445