syscalls.master revision 1.13
1 $NetBSD: syscalls.master,v 1.13 1997/11/30 18:06:39 veego 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 switch definition file only. 33 34#include <sys/param.h> 35#include <sys/systm.h> 36#include <sys/signal.h> 37#include <sys/mount.h> 38#include <sys/syscallargs.h> 39 40#include <compat/freebsd/freebsd_syscallargs.h> 41 42#include <machine/freebsd_machdep.h> 43 44; Reserved/unimplemented system calls in the range 0-150 inclusive 45; are reserved for use in future Berkeley releases. 46; Additional system calls implemented in vendor and other 47; redistributions should be placed in the reserved range at the end 48; of the current calls. 49 500 NOARGS { int sys_nosys(void); } syscall 511 NOARGS { int sys_exit(int rval); } 522 NOARGS { int sys_fork(void); } 533 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 544 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 555 STD { int freebsd_sys_open(char *path, int flags, \ 56 int mode); } 576 NOARGS { int sys_close(int fd); } 587 NOARGS { int sys_wait4(int pid, int *status, int options, \ 59 struct rusage *rusage); } 608 STD { int compat_43_freebsd_sys_creat(char *path, \ 61 int mode); } ocreat 629 STD { int freebsd_sys_link(char *path, char *link); } 6310 STD { int freebsd_sys_unlink(char *path); } 6411 OBSOL execv 6512 STD { int freebsd_sys_chdir(char *path); } 6613 NOARGS { int sys_fchdir(int fd); } 6714 STD { int freebsd_sys_mknod(char *path, int mode, \ 68 int dev); } 6915 STD { int freebsd_sys_chmod(char *path, int mode); } 7016 STD { int freebsd_sys_chown(char *path, int uid, int gid); } 7117 NOARGS { int sys_obreak(char *nsize); } break 7218 NOARGS { int sys_getfsstat(struct statfs *buf, long bufsize, \ 73 int flags); } 7419 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ 75 int whence); } olseek 7620 NOARGS { pid_t sys_getpid(void); } 7721 STD { int freebsd_sys_mount(int type, char *path, \ 78 int flags, caddr_t data); } 7922 STD { int freebsd_sys_unmount(char *path, int flags); } 8023 NOARGS { int sys_setuid(uid_t uid); } 8124 NOARGS { uid_t sys_getuid(void); } 8225 NOARGS { uid_t sys_geteuid(void); } 8326 STD { int freebsd_sys_ptrace(int req, pid_t pid, \ 84 caddr_t addr, int data); } 8527 NOARGS { int sys_recvmsg(int s, struct msghdr *msg, \ 86 int flags); } 8728 NOARGS { int sys_sendmsg(int s, caddr_t msg, int flags); } 8829 NOARGS { int sys_recvfrom(int s, caddr_t buf, size_t len, \ 89 int flags, caddr_t from, int *fromlenaddr); } 9030 NOARGS { int sys_accept(int s, caddr_t name, int *anamelen); } 9131 NOARGS { int sys_getpeername(int fdes, caddr_t asa, \ 92 int *alen); } 9332 NOARGS { int sys_getsockname(int fdes, caddr_t asa, \ 94 int *alen); } 9533 STD { int freebsd_sys_access(char *path, int flags); } 9634 STD { int freebsd_sys_chflags(char *path, int flags); } 9735 NOARGS { int sys_fchflags(int fd, int flags); } 9836 NOARGS { int sys_sync(void); } 9937 NOARGS { int sys_kill(int pid, int signum); } 10038 STD { int compat_43_freebsd_sys_stat(char *path, \ 101 struct stat43 *ub); } stat43 10239 NOARGS { pid_t sys_getppid(void); } 10340 STD { int compat_43_freebsd_sys_lstat(char *path, \ 104 struct stat43 *ub); } lstat43 10541 NOARGS { int sys_dup(u_int fd); } 10642 NOARGS { int sys_pipe(void); } 10743 NOARGS { gid_t sys_getegid(void); } 10844 NOARGS { int sys_profil(caddr_t samples, u_int size, \ 109 u_int offset, u_int scale); } 110#ifdef KTRACE 11145 NOARGS { int sys_ktrace(char *fname, int ops, int facs, \ 112 int pid); } 113#else 11445 UNIMPL ktrace 115#endif 11646 NOARGS { int sys_sigaction(int signum, struct sigaction *nsa, \ 117 struct sigaction *osa); } 11847 NOARGS { gid_t sys_getgid(void); } 11948 NOARGS { int sys_sigprocmask(int how, sigset_t mask); } 12049 NOARGS { int sys___getlogin(char *namebuf, u_int namelen); } 12150 NOARGS { int sys_setlogin(char *namebuf); } 12251 NOARGS { int sys_acct(char *path); } 12352 NOARGS { int sys_sigpending(void); } 12453 NOARGS { int compat_13_sys_sigaltstack( \ 125 const struct sigaltstack13 *nss, \ 126 struct sigaltstack13 *oss); } 12754 STD { int freebsd_sys_ioctl(int fd, u_long com, \ 128 caddr_t data); } 12955 NOARGS { int sys_reboot(int opt); } 13056 STD { int freebsd_sys_revoke(char *path); } 13157 STD { int freebsd_sys_symlink(char *path, char *link); } 13258 STD { int freebsd_sys_readlink(char *path, char *buf, \ 133 int count); } 13459 STD { int freebsd_sys_execve(char *path, char **argp, \ 135 char **envp); } 13660 NOARGS { int sys_umask(int newmask); } 13761 STD { int freebsd_sys_chroot(char *path); } 13862 NOARGS { int compat_43_sys_fstat(int fd, struct stat43 *sb); } \ 139 fstat43 14063 NOARGS { int compat_43_sys_getkerninfo(int op, char *where, \ 141 int *size, int arg); } ogetkerninfo 14264 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 14365 STD { int freebsd_sys_msync(caddr_t addr, size_t len, \ 144 int flags); } 14566 NOARGS { int sys_vfork(void); } 14667 OBSOL vread 14768 OBSOL vwrite 14869 NOARGS { int sys_sbrk(int incr); } 14970 NOARGS { int sys_sstk(int incr); } 15071 NOARGS { int compat_43_sys_mmap(caddr_t addr, size_t len, \ 151 int prot, int flags, int fd, long pos); } ommap 15272 NOARGS { int sys_ovadvise(int anom); } vadvise 15373 NOARGS { int sys_munmap(caddr_t addr, size_t len); } 15474 NOARGS { int sys_mprotect(caddr_t addr, size_t len, \ 155 int prot); } 15675 NOARGS { int sys_madvise(caddr_t addr, size_t len, \ 157 int behav); } 15876 OBSOL vhangup 15977 OBSOL vlimit 16078 NOARGS { int sys_mincore(caddr_t addr, size_t len, char *vec); } 16179 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 16280 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 16381 NOARGS { int sys_getpgrp(void); } 16482 NOARGS { int sys_setpgid(int pid, int pgid); } 16583 NOARGS { int sys_setitimer(u_int which, \ 166 struct itimerval *itv, struct itimerval *oitv); } 16784 NOARGS { int compat_43_sys_wait(void); } owait 16885 NOARGS { int compat_12_sys_swapon(char *name); } 16986 NOARGS { int sys_getitimer(u_int which, \ 170 struct itimerval *itv); } 17187 NOARGS { int compat_43_sys_gethostname(char *hostname, \ 172 u_int len); } ogethostname 17388 NOARGS { int compat_43_sys_sethostname(char *hostname, \ 174 u_int len); } osethostname 17589 NOARGS { int compat_43_sys_getdtablesize(void); } \ 176 ogetdtablesize 17790 NOARGS { int sys_dup2(u_int from, u_int to); } 17891 UNIMPL getdopt 17992 NOARGS { int sys_fcntl(int fd, int cmd, void *arg); } 18093 NOARGS { int sys_select(u_int nd, fd_set *in, fd_set *ou, \ 181 fd_set *ex, struct timeval *tv); } 18294 UNIMPL setdopt 18395 NOARGS { int sys_fsync(int fd); } 18496 NOARGS { int sys_setpriority(int which, int who, int prio); } 18597 NOARGS { int sys_socket(int domain, int type, int protocol); } 18698 NOARGS { int sys_connect(int s, caddr_t name, int namelen); } 18799 NOARGS { int compat_43_sys_accept(int s, caddr_t name, \ 188 int *anamelen); } oaccept 189100 NOARGS { int sys_getpriority(int which, int who); } 190101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \ 191 int flags); } osend 192102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \ 193 int flags); } orecv 194103 STD { int freebsd_sys_sigreturn( \ 195 struct freebsd_sigcontext *scp); } 196104 NOARGS { int sys_bind(int s, caddr_t name, int namelen); } 197105 NOARGS { int sys_setsockopt(int s, int level, int name, \ 198 caddr_t val, int valsize); } 199106 NOARGS { int sys_listen(int s, int backlog); } 200107 OBSOL vtimes 201108 NOARGS { int compat_43_sys_sigvec(int signum, \ 202 struct sigvec *nsv, struct sigvec *osv); } osigvec 203109 NOARGS { int compat_43_sys_sigblock(int mask); } osigblock 204110 NOARGS { int compat_43_sys_sigsetmask(int mask); } osigsetmask 205111 NOARGS { int sys_sigsuspend(int mask); } 206112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \ 207 struct sigstack *oss); } osigstack 208113 NOARGS { int compat_43_sys_recvmsg(int s, \ 209 struct omsghdr *msg, int flags); } orecvmsg 210114 NOARGS { int compat_43_sys_sendmsg(int s, caddr_t msg, \ 211 int flags); } osendmsg 212#ifdef TRACE 213115 NOARGS { int sys_vtrace(int request, int value); } 214#else 215115 OBSOL vtrace 216#endif 217116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ 218 struct timezone *tzp); } 219117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 220118 NOARGS { int sys_getsockopt(int s, int level, int name, \ 221 caddr_t val, int *avalsize); } 222119 OBSOL resuba 223120 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ 224 u_int iovcnt); } 225121 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ 226 u_int iovcnt); } 227122 NOARGS { int sys_settimeofday(struct timeval *tv, \ 228 struct timezone *tzp); } 229123 NOARGS { int sys_fchown(int fd, int uid, int gid); } 230124 NOARGS { int sys_fchmod(int fd, int mode); } 231125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \ 232 size_t len, int flags, caddr_t from, \ 233 int *fromlenaddr); } orecvfrom 234126 NOARGS { int sys_setreuid(int ruid, int euid); } 235127 NOARGS { int sys_setregid(int rgid, int egid); } 236128 STD { int freebsd_sys_rename(char *from, char *to); } 237129 STD { int compat_43_freebsd_sys_truncate(char *path, \ 238 long length); } otruncate 239130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ 240 oftruncate 241131 NOARGS { int sys_flock(int fd, int how); } 242132 STD { int freebsd_sys_mkfifo(char *path, int mode); } 243133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ 244 int flags, caddr_t to, int tolen); } 245134 NOARGS { int sys_shutdown(int s, int how); } 246135 NOARGS { int sys_socketpair(int domain, int type, \ 247 int protocol, int *rsv); } 248136 STD { int freebsd_sys_mkdir(char *path, int mode); } 249137 STD { int freebsd_sys_rmdir(char *path); } 250138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 251139 OBSOL 4.2 sigreturn 252140 NOARGS { int sys_adjtime(struct timeval *delta, \ 253 struct timeval *olddelta); } 254141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ 255 int *alen); } ogetpeername 256142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 257143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ 258 osethostid 259144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ 260 struct orlimit *rlp); } ogetrlimit 261145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ 262 struct orlimit *rlp); } osetrlimit 263146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ 264 okillpg 265147 NOARGS { int sys_setsid(void); } 266148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ 267 caddr_t arg); } 268149 NOARGS { int compat_43_sys_quota(void); } oquota 269150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ 270 int *alen); } ogetsockname 271 272; Syscalls 151-180 inclusive are reserved for vendor-specific 273; system calls. (This includes various calls added for compatibity 274; with other Unix variants.) 275; Some of these calls are now supported by BSD... 276151 UNIMPL 277152 UNIMPL 278153 UNIMPL 279154 UNIMPL 280#if defined(NFS) || defined(NFSSERVER) 281155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } 282#else 283155 UNIMPL 284#endif 285156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ 286 u_int count, long *basep); } ogetdirentries 287157 STD { int freebsd_sys_statfs(char *path, \ 288 struct statfs *buf); } 289158 NOARGS { int sys_fstatfs(int fd, struct statfs *buf); } 290159 UNIMPL 291160 UNIMPL 292#ifdef NFS 293161 STD { int freebsd_sys_getfh(char *fname, fhandle_t *fhp); } 294#else 295161 UNIMPL getfh 296#endif 297162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ 298 int len); } 299163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ 300 int len); } 301164 NOARGS { int compat_09_sys_uname(struct outsname *name); } 302165 NOARGS { int sys_sysarch(int op, char *parms); } 303166 STD { int freebsd_sys_rtprio(int function, pid_t pid, \ 304 struct freebsd_rtprio *rtp); } 305167 UNIMPL 306168 UNIMPL 307; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 308#if defined(SYSVSEM) && !defined(alpha) 309169 NOARGS { int compat_10_sys_semsys(int which, int a2, int a3, \ 310 int a4, int a5); } 311#else 312169 UNIMPL 1.0 semsys 313#endif 314; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 315#if defined(SYSVMSG) && !defined(alpha) 316170 NOARGS { int compat_10_sys_msgsys(int which, int a2, int a3, \ 317 int a4, int a5, int a6); } 318#else 319170 UNIMPL 1.0 msgsys 320#endif 321; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 322#if defined(SYSVSHM) && !defined(alpha) 323171 NOARGS { int compat_10_sys_shmsys(int which, int a2, int a3, \ 324 int a4); } 325#else 326171 UNIMPL 1.0 shmsys 327#endif 328172 UNIMPL 329173 UNIMPL 330174 UNIMPL 331175 UNIMPL 332176 STD { int freebsd_ntp_adjtime(struct freebsd_timex *tp); } 333177 UNIMPL 334178 UNIMPL 335179 UNIMPL 336180 UNIMPL 337 338; Syscalls 180-199 are used by/reserved for BSD 339181 NOARGS { int sys_setgid(gid_t gid); } 340182 NOARGS { int sys_setegid(gid_t egid); } 341183 NOARGS { int sys_seteuid(uid_t euid); } 342#ifdef LFS 343184 NOARGS { int lfs_bmapv(fsid_t *fsidp, \ 344 struct block_info *blkiov, int blkcnt); } 345185 NOARGS { int lfs_markv(fsid_t *fsidp, \ 346 struct block_info *blkiov, int blkcnt); } 347186 NOARGS { int lfs_segclean(fsid_t *fsidp, u_long segment); } 348187 NOARGS { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 349#else 350184 UNIMPL 351185 UNIMPL 352186 UNIMPL 353187 UNIMPL 354#endif 355188 STD { int freebsd_sys_stat(char *path, \ 356 struct stat12 *ub); } 357189 NOARGS { int compat_12_sys_fstat(int fd, \ 358 struct stat12 *sb); } 359190 STD { int freebsd_sys_lstat(char *path, \ 360 struct stat12 *ub); } 361191 STD { int freebsd_sys_pathconf(char *path, int name); } 362192 NOARGS { int sys_fpathconf(int fd, int name); } 363193 UNIMPL 364194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 365195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 366196 NOARGS { int compat_12_sys_getdirentries(int fd, char *buf, \ 367 u_int count, long *basep); } 368197 NOARGS { caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \ 369 int flags, int fd, long pad, off_t pos); } 370198 NOARGS { int sys_nosys(void); } __syscall 371199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ 372 int whence); } 373200 STD { int freebsd_sys_truncate(char *path, int pad, \ 374 off_t length); } 375201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 376202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ 377 void *old, size_t *oldlenp, void *new, \ 378 size_t newlen); } 379203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 380204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 381#ifdef FREEBSD_BASED_ON_44LITE_R2 382205 STD { int freebsd_sys_undelete(char *path); } 383#else 384205 UNIMPL 385#endif 386206 UNIMPL 387207 UNIMPL 388208 UNIMPL 389209 UNIMPL 390; 391; Syscalls 210-219 are reserved for dynamically loaded syscalls 392; 393210 UNIMPL 394211 UNIMPL 395212 UNIMPL 396213 UNIMPL 397214 UNIMPL 398215 UNIMPL 399216 UNIMPL 400217 UNIMPL 401218 UNIMPL 402219 UNIMPL 403; 404; Syscalls 220-239 are reserved for syscalls imported from NetBSD 405; 406220 UNIMPL 407221 UNIMPL 408222 UNIMPL 409223 UNIMPL 410224 UNIMPL 411225 UNIMPL 412226 UNIMPL 413227 UNIMPL 414228 UNIMPL 415229 UNIMPL 416230 UNIMPL 417231 UNIMPL 418232 UNIMPL 419233 UNIMPL 420234 UNIMPL 421235 UNIMPL 422236 UNIMPL 423237 UNIMPL 424238 UNIMPL 425239 UNIMPL 426240 UNIMPL 427241 UNIMPL 428242 UNIMPL 429243 UNIMPL 430244 UNIMPL 431245 UNIMPL 432246 UNIMPL 433247 UNIMPL 434248 UNIMPL 435249 UNIMPL 436250 UNIMPL 437251 UNIMPL 438252 UNIMPL 439253 UNIMPL 440254 STD { int freebsd_sys_lchown(char *path, int uid, \ 441 int gid); } 442