syscalls.master revision 1.19
1 $NetBSD: syscalls.master,v 1.19 1998/09/11 12:50:08 mycroft 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 "opt_ktrace.h" 35#include "opt_nfsserver.h" 36 37#include "fs_lfs.h" 38#include "fs_nfs.h" 39 40#include <sys/param.h> 41#include <sys/systm.h> 42#include <sys/signal.h> 43#include <sys/mount.h> 44#include <sys/syscallargs.h> 45 46#include <compat/freebsd/freebsd_syscallargs.h> 47 48#include <machine/freebsd_machdep.h> 49 50; Reserved/unimplemented system calls in the range 0-150 inclusive 51; are reserved for use in future Berkeley releases. 52; Additional system calls implemented in vendor and other 53; redistributions should be placed in the reserved range at the end 54; of the current calls. 55 560 NOARGS { int sys_nosys(void); } syscall 571 NOARGS { int sys_exit(int rval); } 582 NOARGS { int sys_fork(void); } 593 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 604 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 615 STD { int freebsd_sys_open(char *path, int flags, \ 62 int mode); } 636 NOARGS { int sys_close(int fd); } 647 NOARGS { int sys_wait4(int pid, int *status, int options, \ 65 struct rusage *rusage); } 668 STD { int compat_43_freebsd_sys_creat(char *path, \ 67 int mode); } ocreat 689 STD { int freebsd_sys_link(char *path, char *link); } 6910 STD { int freebsd_sys_unlink(char *path); } 7011 OBSOL execv 7112 STD { int freebsd_sys_chdir(char *path); } 7213 NOARGS { int sys_fchdir(int fd); } 7314 STD { int freebsd_sys_mknod(char *path, int mode, \ 74 int dev); } 7515 STD { int freebsd_sys_chmod(char *path, int mode); } 7616 STD { int freebsd_sys_chown(char *path, int uid, int gid); } 7717 NOARGS { int sys_obreak(char *nsize); } break 7818 NOARGS { int sys_getfsstat(struct statfs *buf, long bufsize, \ 79 int flags); } 8019 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ 81 int whence); } olseek 8220 NOARGS { pid_t sys_getpid(void); } 8321 STD { int freebsd_sys_mount(int type, char *path, \ 84 int flags, caddr_t data); } 8522 STD { int freebsd_sys_unmount(char *path, int flags); } 8623 NOARGS { int sys_setuid(uid_t uid); } 8724 NOARGS { uid_t sys_getuid(void); } 8825 NOARGS { uid_t sys_geteuid(void); } 8926 STD { int freebsd_sys_ptrace(int req, pid_t pid, \ 90 caddr_t addr, int data); } 9127 NOARGS { int sys_recvmsg(int s, struct msghdr *msg, \ 92 int flags); } 9328 NOARGS { int sys_sendmsg(int s, caddr_t msg, int flags); } 9429 NOARGS { int sys_recvfrom(int s, caddr_t buf, size_t len, \ 95 int flags, caddr_t from, int *fromlenaddr); } 9630 NOARGS { int sys_accept(int s, caddr_t name, int *anamelen); } 9731 NOARGS { int sys_getpeername(int fdes, caddr_t asa, \ 98 int *alen); } 9932 NOARGS { int sys_getsockname(int fdes, caddr_t asa, \ 100 int *alen); } 10133 STD { int freebsd_sys_access(char *path, int flags); } 10234 STD { int freebsd_sys_chflags(char *path, int flags); } 10335 NOARGS { int sys_fchflags(int fd, int flags); } 10436 NOARGS { int sys_sync(void); } 10537 NOARGS { int sys_kill(int pid, int signum); } 10638 STD { int compat_43_freebsd_sys_stat(char *path, \ 107 struct stat43 *ub); } stat43 10839 NOARGS { pid_t sys_getppid(void); } 10940 STD { int compat_43_freebsd_sys_lstat(char *path, \ 110 struct stat43 *ub); } lstat43 11141 NOARGS { int sys_dup(u_int fd); } 11242 NOARGS { int sys_pipe(void); } 11343 NOARGS { gid_t sys_getegid(void); } 11444 NOARGS { int sys_profil(caddr_t samples, u_int size, \ 115 u_int offset, u_int scale); } 116#ifdef KTRACE 11745 NOARGS { int sys_ktrace(char *fname, int ops, int facs, \ 118 int pid); } 119#else 12045 UNIMPL ktrace 121#endif 12246 NOARGS { int compat_13_sys_sigaction(int signum, \ 123 const struct sigaction13 *nsa, \ 124 struct sigaction13 *osa); } 12547 NOARGS { gid_t sys_getgid(void); } 12648 NOARGS { int compat_13_sys_sigprocmask(int how, \ 127 int mask); } 12849 NOARGS { int sys___getlogin(char *namebuf, u_int namelen); } 12950 NOARGS { int sys_setlogin(char *namebuf); } 13051 NOARGS { int sys_acct(char *path); } 13152 NOARGS { int compat_13_sys_sigpending(void); } 13253 NOARGS { int compat_13_sys_sigaltstack( \ 133 const struct sigaltstack13 *nss, \ 134 struct sigaltstack13 *oss); } 13554 STD { int freebsd_sys_ioctl(int fd, u_long com, \ 136 caddr_t data); } 13755 NOARGS { int sys_reboot(int opt); } 13856 STD { int freebsd_sys_revoke(char *path); } 13957 STD { int freebsd_sys_symlink(char *path, char *link); } 14058 STD { int freebsd_sys_readlink(char *path, char *buf, \ 141 int count); } 14259 STD { int freebsd_sys_execve(char *path, char **argp, \ 143 char **envp); } 14460 NOARGS { int sys_umask(int newmask); } 14561 STD { int freebsd_sys_chroot(char *path); } 14662 NOARGS { int compat_43_sys_fstat(int fd, struct stat43 *sb); } \ 147 fstat43 14863 NOARGS { int compat_43_sys_getkerninfo(int op, char *where, \ 149 int *size, int arg); } ogetkerninfo 15064 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 15165 STD { int freebsd_sys_msync(caddr_t addr, size_t len, \ 152 int flags); } 15366 NOARGS { int sys_vfork(void); } 15467 OBSOL vread 15568 OBSOL vwrite 15669 NOARGS { int sys_sbrk(int incr); } 15770 NOARGS { int sys_sstk(int incr); } 15871 NOARGS { int compat_43_sys_mmap(caddr_t addr, size_t len, \ 159 int prot, int flags, int fd, long pos); } ommap 16072 NOARGS { int sys_ovadvise(int anom); } vadvise 16173 NOARGS { int sys_munmap(caddr_t addr, size_t len); } 16274 NOARGS { int sys_mprotect(caddr_t addr, size_t len, \ 163 int prot); } 16475 NOARGS { int sys_madvise(caddr_t addr, size_t len, \ 165 int behav); } 16676 OBSOL vhangup 16777 OBSOL vlimit 16878 NOARGS { int sys_mincore(caddr_t addr, size_t len, char *vec); } 16979 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 17080 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 17181 NOARGS { int sys_getpgrp(void); } 17282 NOARGS { int sys_setpgid(int pid, int pgid); } 17383 NOARGS { int sys_setitimer(u_int which, \ 174 struct itimerval *itv, struct itimerval *oitv); } 17584 NOARGS { int compat_43_sys_wait(void); } owait 17685 NOARGS { int compat_12_sys_swapon(char *name); } 17786 NOARGS { int sys_getitimer(u_int which, \ 178 struct itimerval *itv); } 17987 NOARGS { int compat_43_sys_gethostname(char *hostname, \ 180 u_int len); } ogethostname 18188 NOARGS { int compat_43_sys_sethostname(char *hostname, \ 182 u_int len); } osethostname 18389 NOARGS { int compat_43_sys_getdtablesize(void); } \ 184 ogetdtablesize 18590 NOARGS { int sys_dup2(u_int from, u_int to); } 18691 UNIMPL getdopt 18792 NOARGS { int sys_fcntl(int fd, int cmd, void *arg); } 18893 NOARGS { int sys_select(u_int nd, fd_set *in, fd_set *ou, \ 189 fd_set *ex, struct timeval *tv); } 19094 UNIMPL setdopt 19195 NOARGS { int sys_fsync(int fd); } 19296 NOARGS { int sys_setpriority(int which, int who, int prio); } 19397 NOARGS { int sys_socket(int domain, int type, int protocol); } 19498 NOARGS { int sys_connect(int s, caddr_t name, int namelen); } 19599 NOARGS { int compat_43_sys_accept(int s, caddr_t name, \ 196 int *anamelen); } oaccept 197100 NOARGS { int sys_getpriority(int which, int who); } 198101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \ 199 int flags); } osend 200102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \ 201 int flags); } orecv 202103 STD { int freebsd_sys_sigreturn( \ 203 struct freebsd_sigcontext *scp); } 204104 NOARGS { int sys_bind(int s, caddr_t name, int namelen); } 205105 NOARGS { int sys_setsockopt(int s, int level, int name, \ 206 caddr_t val, int valsize); } 207106 NOARGS { int sys_listen(int s, int backlog); } 208107 OBSOL vtimes 209108 NOARGS { int compat_43_sys_sigvec(int signum, \ 210 struct sigvec *nsv, struct sigvec *osv); } osigvec 211109 NOARGS { int compat_43_sys_sigblock(int mask); } osigblock 212110 NOARGS { int compat_43_sys_sigsetmask(int mask); } osigsetmask 213111 NOARGS { int compat_13_sys_sigsuspend(int mask); } 214112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \ 215 struct sigstack *oss); } osigstack 216113 NOARGS { int compat_43_sys_recvmsg(int s, \ 217 struct omsghdr *msg, int flags); } orecvmsg 218114 NOARGS { int compat_43_sys_sendmsg(int s, caddr_t msg, \ 219 int flags); } osendmsg 220#ifdef TRACE 221115 NOARGS { int sys_vtrace(int request, int value); } 222#else 223115 OBSOL vtrace 224#endif 225116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ 226 struct timezone *tzp); } 227117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 228118 NOARGS { int sys_getsockopt(int s, int level, int name, \ 229 caddr_t val, int *avalsize); } 230119 OBSOL resuba 231120 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ 232 u_int iovcnt); } 233121 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ 234 u_int iovcnt); } 235122 NOARGS { int sys_settimeofday(struct timeval *tv, \ 236 struct timezone *tzp); } 237123 NOARGS { int sys_fchown(int fd, int uid, int gid); } 238124 NOARGS { int sys_fchmod(int fd, int mode); } 239125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \ 240 size_t len, int flags, caddr_t from, \ 241 int *fromlenaddr); } orecvfrom 242126 NOARGS { int sys_setreuid(int ruid, int euid); } 243127 NOARGS { int sys_setregid(int rgid, int egid); } 244128 STD { int freebsd_sys_rename(char *from, char *to); } 245129 STD { int compat_43_freebsd_sys_truncate(char *path, \ 246 long length); } otruncate 247130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ 248 oftruncate 249131 NOARGS { int sys_flock(int fd, int how); } 250132 STD { int freebsd_sys_mkfifo(char *path, int mode); } 251133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ 252 int flags, caddr_t to, int tolen); } 253134 NOARGS { int sys_shutdown(int s, int how); } 254135 NOARGS { int sys_socketpair(int domain, int type, \ 255 int protocol, int *rsv); } 256136 STD { int freebsd_sys_mkdir(char *path, int mode); } 257137 STD { int freebsd_sys_rmdir(char *path); } 258138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 259139 OBSOL 4.2 sigreturn 260140 NOARGS { int sys_adjtime(struct timeval *delta, \ 261 struct timeval *olddelta); } 262141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ 263 int *alen); } ogetpeername 264142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 265143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ 266 osethostid 267144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ 268 struct orlimit *rlp); } ogetrlimit 269145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ 270 struct orlimit *rlp); } osetrlimit 271146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ 272 okillpg 273147 NOARGS { int sys_setsid(void); } 274148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ 275 caddr_t arg); } 276149 NOARGS { int compat_43_sys_quota(void); } oquota 277150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ 278 int *alen); } ogetsockname 279 280; Syscalls 151-180 inclusive are reserved for vendor-specific 281; system calls. (This includes various calls added for compatibity 282; with other Unix variants.) 283; Some of these calls are now supported by BSD... 284151 UNIMPL 285152 UNIMPL 286153 UNIMPL 287154 UNIMPL 288#if defined(NFS) || defined(NFSSERVER) 289155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } 290#else 291155 UNIMPL 292#endif 293156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ 294 u_int count, long *basep); } ogetdirentries 295157 STD { int freebsd_sys_statfs(char *path, \ 296 struct statfs *buf); } 297158 NOARGS { int sys_fstatfs(int fd, struct statfs *buf); } 298159 UNIMPL 299160 UNIMPL 300#ifdef NFS 301161 STD { int freebsd_sys_getfh(char *fname, fhandle_t *fhp); } 302#else 303161 UNIMPL getfh 304#endif 305162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ 306 int len); } 307163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ 308 int len); } 309164 NOARGS { int compat_09_sys_uname(struct outsname *name); } 310165 NOARGS { int sys_sysarch(int op, char *parms); } 311166 STD { int freebsd_sys_rtprio(int function, pid_t pid, \ 312 struct freebsd_rtprio *rtp); } 313167 UNIMPL 314168 UNIMPL 315; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 316#if defined(SYSVSEM) && !defined(alpha) 317169 STD { int freebsd_sys_semsys(int which, int a2, int a3, \ 318 int a4, int a5); } 319#else 320169 UNIMPL 1.0 semsys 321#endif 322; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 323#if defined(SYSVMSG) && !defined(alpha) 324170 STD { int freebsd_sys_msgsys(int which, int a2, int a3, \ 325 int a4, int a5, int a6); } 326#else 327170 UNIMPL 1.0 msgsys 328#endif 329; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 330#if defined(SYSVSHM) && !defined(alpha) 331171 STD { int freebsd_sys_shmsys(int which, int a2, int a3, \ 332 int a4); } 333#else 334171 UNIMPL 1.0 shmsys 335#endif 336172 UNIMPL 337173 UNIMPL 338174 UNIMPL 339175 UNIMPL 340176 STD { int freebsd_ntp_adjtime(struct freebsd_timex *tp); } 341177 UNIMPL 342178 UNIMPL 343179 UNIMPL 344180 UNIMPL 345 346; Syscalls 180-199 are used by/reserved for BSD 347181 NOARGS { int sys_setgid(gid_t gid); } 348182 NOARGS { int sys_setegid(gid_t egid); } 349183 NOARGS { int sys_seteuid(uid_t euid); } 350#ifdef LFS 351184 NOARGS { int lfs_bmapv(fsid_t *fsidp, \ 352 struct block_info *blkiov, int blkcnt); } 353185 NOARGS { int lfs_markv(fsid_t *fsidp, \ 354 struct block_info *blkiov, int blkcnt); } 355186 NOARGS { int lfs_segclean(fsid_t *fsidp, u_long segment); } 356187 NOARGS { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 357#else 358184 UNIMPL 359185 UNIMPL 360186 UNIMPL 361187 UNIMPL 362#endif 363188 STD { int freebsd_sys_stat(char *path, \ 364 struct stat12 *ub); } 365189 NOARGS { int compat_12_sys_fstat(int fd, \ 366 struct stat12 *sb); } 367190 STD { int freebsd_sys_lstat(char *path, \ 368 struct stat12 *ub); } 369191 STD { int freebsd_sys_pathconf(char *path, int name); } 370192 NOARGS { int sys_fpathconf(int fd, int name); } 371193 UNIMPL 372194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 373195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 374196 NOARGS { int compat_12_sys_getdirentries(int fd, char *buf, \ 375 u_int count, long *basep); } 376197 NOARGS { caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \ 377 int flags, int fd, long pad, off_t pos); } 378198 NOARGS { int sys_nosys(void); } __syscall 379199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ 380 int whence); } 381200 STD { int freebsd_sys_truncate(char *path, int pad, \ 382 off_t length); } 383201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 384202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ 385 void *old, size_t *oldlenp, void *new, \ 386 size_t newlen); } 387203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 388204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 389#ifdef FREEBSD_BASED_ON_44LITE_R2 390205 STD { int freebsd_sys_undelete(char *path); } 391#else 392205 UNIMPL 393#endif 394206 UNIMPL 395207 UNIMPL 396208 UNIMPL 397209 UNIMPL 398; 399; Syscalls 210-219 are reserved for dynamically loaded syscalls 400; 401210 UNIMPL 402211 UNIMPL 403212 UNIMPL 404213 UNIMPL 405214 UNIMPL 406215 UNIMPL 407216 UNIMPL 408217 UNIMPL 409218 UNIMPL 410219 UNIMPL 411; 412; Syscalls 220-239 are reserved for syscalls imported from NetBSD 413; 414220 UNIMPL 415221 UNIMPL 416222 UNIMPL 417223 UNIMPL 418224 UNIMPL 419225 UNIMPL 420226 UNIMPL 421227 UNIMPL 422228 UNIMPL 423229 UNIMPL 424230 UNIMPL 425231 UNIMPL 426232 UNIMPL 427233 UNIMPL 428234 UNIMPL 429235 UNIMPL 430236 UNIMPL 431237 UNIMPL 432238 UNIMPL 433239 UNIMPL 434240 UNIMPL 435241 UNIMPL 436242 UNIMPL 437243 UNIMPL 438244 UNIMPL 439245 UNIMPL 440246 UNIMPL 441247 UNIMPL 442248 UNIMPL 443249 UNIMPL 444250 UNIMPL 445251 UNIMPL 446252 UNIMPL 447253 STD { int freebsd_sys_issetugid(void); } 448254 STD { int freebsd_sys_lchown(char *path, int uid, \ 449 int gid); } 450