syscalls.master revision 1.9
1 $NetBSD: syscalls.master,v 1.9 1997/10/10 01:55:33 enami 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 ostat *ub); } ostat 10239 NOARGS { pid_t sys_getppid(void); } 10340 STD { int compat_43_freebsd_sys_lstat(char *path, \ 104 struct ostat *ub); } olstat 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 sys_sigaltstack(struct sigaltstack *nss, \ 125 struct sigaltstack *oss); } 12654 STD { int freebsd_sys_ioctl(int fd, u_long com, \ 127 caddr_t data); } 12855 NOARGS { int sys_reboot(int opt); } 12956 STD { int freebsd_sys_revoke(char *path); } 13057 STD { int freebsd_sys_symlink(char *path, char *link); } 13158 STD { int freebsd_sys_readlink(char *path, char *buf, \ 132 int count); } 13359 STD { int freebsd_sys_execve(char *path, char **argp, \ 134 char **envp); } 13560 NOARGS { int sys_umask(int newmask); } 13661 STD { int freebsd_sys_chroot(char *path); } 13762 NOARGS { int compat_43_sys_fstat(int fd, struct ostat *sb); } \ 138 ofstat 13963 NOARGS { int compat_43_sys_getkerninfo(int op, char *where, \ 140 int *size, int arg); } ogetkerninfo 14164 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 14265 STD { int freebsd_sys_msync(caddr_t addr, size_t len, \ 143 int flags); } 14466 NOARGS { int sys_vfork(void); } 14567 OBSOL vread 14668 OBSOL vwrite 14769 NOARGS { int sys_sbrk(int incr); } 14870 NOARGS { int sys_sstk(int incr); } 14971 NOARGS { int compat_43_sys_mmap(caddr_t addr, size_t len, \ 150 int prot, int flags, int fd, long pos); } ommap 15172 NOARGS { int sys_ovadvise(int anom); } vadvise 15273 NOARGS { int sys_munmap(caddr_t addr, size_t len); } 15374 NOARGS { int sys_mprotect(caddr_t addr, size_t len, \ 154 int prot); } 15575 NOARGS { int sys_madvise(caddr_t addr, size_t len, \ 156 int behav); } 15776 OBSOL vhangup 15877 OBSOL vlimit 15978 NOARGS { int sys_mincore(caddr_t addr, size_t len, char *vec); } 16079 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 16180 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 16281 NOARGS { int sys_getpgrp(void); } 16382 NOARGS { int sys_setpgid(int pid, int pgid); } 16483 NOARGS { int sys_setitimer(u_int which, \ 165 struct itimerval *itv, struct itimerval *oitv); } 16684 NOARGS { int compat_43_sys_wait(void); } owait 16785 NOARGS { int compat_12_sys_swapon(char *name); } 16886 NOARGS { int sys_getitimer(u_int which, \ 169 struct itimerval *itv); } 17087 NOARGS { int compat_43_sys_gethostname(char *hostname, \ 171 u_int len); } ogethostname 17288 NOARGS { int compat_43_sys_sethostname(char *hostname, \ 173 u_int len); } osethostname 17489 NOARGS { int compat_43_sys_getdtablesize(void); } \ 175 ogetdtablesize 17690 NOARGS { int sys_dup2(u_int from, u_int to); } 17791 UNIMPL getdopt 17892 NOARGS { int sys_fcntl(int fd, int cmd, void *arg); } 17993 NOARGS { int sys_select(u_int nd, fd_set *in, fd_set *ou, \ 180 fd_set *ex, struct timeval *tv); } 18194 UNIMPL setdopt 18295 NOARGS { int sys_fsync(int fd); } 18396 NOARGS { int sys_setpriority(int which, int who, int prio); } 18497 NOARGS { int sys_socket(int domain, int type, int protocol); } 18598 NOARGS { int sys_connect(int s, caddr_t name, int namelen); } 18699 NOARGS { int compat_43_sys_accept(int s, caddr_t name, \ 187 int *anamelen); } oaccept 188100 NOARGS { int sys_getpriority(int which, int who); } 189101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \ 190 int flags); } osend 191102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \ 192 int flags); } orecv 193103 STD { int freebsd_sys_sigreturn( \ 194 struct freebsd_sigcontext *scp); } 195104 NOARGS { int sys_bind(int s, caddr_t name, int namelen); } 196105 NOARGS { int sys_setsockopt(int s, int level, int name, \ 197 caddr_t val, int valsize); } 198106 NOARGS { int sys_listen(int s, int backlog); } 199107 OBSOL vtimes 200108 NOARGS { int compat_43_sys_sigvec(int signum, \ 201 struct sigvec *nsv, struct sigvec *osv); } osigvec 202109 NOARGS { int compat_43_sys_sigblock(int mask); } osigblock 203110 NOARGS { int compat_43_sys_sigsetmask(int mask); } osigsetmask 204111 NOARGS { int sys_sigsuspend(int mask); } 205112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \ 206 struct sigstack *oss); } osigstack 207113 NOARGS { int compat_43_sys_recvmsg(int s, \ 208 struct omsghdr *msg, int flags); } orecvmsg 209114 NOARGS { int compat_43_sys_sendmsg(int s, caddr_t msg, \ 210 int flags); } osendmsg 211#ifdef TRACE 212115 NOARGS { int sys_vtrace(int request, int value); } 213#else 214115 OBSOL vtrace 215#endif 216116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ 217 struct timezone *tzp); } 218117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 219118 NOARGS { int sys_getsockopt(int s, int level, int name, \ 220 caddr_t val, int *avalsize); } 221119 OBSOL resuba 222120 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ 223 u_int iovcnt); } 224121 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ 225 u_int iovcnt); } 226122 NOARGS { int sys_settimeofday(struct timeval *tv, \ 227 struct timezone *tzp); } 228123 NOARGS { int sys_fchown(int fd, int uid, int gid); } 229124 NOARGS { int sys_fchmod(int fd, int mode); } 230125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \ 231 size_t len, int flags, caddr_t from, \ 232 int *fromlenaddr); } orecvfrom 233126 NOARGS { int sys_setreuid(int ruid, int euid); } 234127 NOARGS { int sys_setregid(int rgid, int egid); } 235128 STD { int freebsd_sys_rename(char *from, char *to); } 236129 STD { int compat_43_freebsd_sys_truncate(char *path, \ 237 long length); } otruncate 238130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ 239 oftruncate 240131 NOARGS { int sys_flock(int fd, int how); } 241132 STD { int freebsd_sys_mkfifo(char *path, int mode); } 242133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ 243 int flags, caddr_t to, int tolen); } 244134 NOARGS { int sys_shutdown(int s, int how); } 245135 NOARGS { int sys_socketpair(int domain, int type, \ 246 int protocol, int *rsv); } 247136 STD { int freebsd_sys_mkdir(char *path, int mode); } 248137 STD { int freebsd_sys_rmdir(char *path); } 249138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 250139 OBSOL 4.2 sigreturn 251140 NOARGS { int sys_adjtime(struct timeval *delta, \ 252 struct timeval *olddelta); } 253141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ 254 int *alen); } ogetpeername 255142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 256143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ 257 osethostid 258144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ 259 struct ogetrlimit *rlp); } ogetrlimit 260145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ 261 struct ogetrlimit *rlp); } osetrlimit 262146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ 263 okillpg 264147 NOARGS { int sys_setsid(void); } 265148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ 266 caddr_t arg); } 267149 NOARGS { int compat_43_sys_quota(void); } oquota 268150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ 269 int *alen); } ogetsockname 270 271; Syscalls 151-180 inclusive are reserved for vendor-specific 272; system calls. (This includes various calls added for compatibity 273; with other Unix variants.) 274; Some of these calls are now supported by BSD... 275151 UNIMPL 276152 UNIMPL 277153 UNIMPL 278154 UNIMPL 279#if defined(NFS) || defined(NFSSERVER) 280155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } 281#else 282155 UNIMPL 283#endif 284156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ 285 u_int count, long *basep); } ogetdirentries 286157 STD { int freebsd_sys_statfs(char *path, \ 287 struct statfs *buf); } 288158 NOARGS { int sys_fstatfs(int fd, struct statfs *buf); } 289159 UNIMPL 290160 UNIMPL 291#ifdef NFS 292161 STD { int freebsd_sys_getfh(char *fname, fhandle_t *fhp); } 293#else 294161 UNIMPL getfh 295#endif 296162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ 297 int len); } 298163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ 299 int len); } 300164 NOARGS { int compat_09_sys_uname(struct outsname *name); } 301165 NOARGS { int sys_sysarch(int op, char *parms); } 302166 STD { int freebsd_sys_rtprio(int function, pid_t pid, \ 303 struct freebsd_rtprio *rtp); } 304167 UNIMPL 305168 UNIMPL 306; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 307#if defined(SYSVSEM) && !defined(alpha) 308169 NOARGS { int compat_10_sys_semsys(int which, int a2, int a3, \ 309 int a4, int a5); } 310#else 311169 UNIMPL 1.0 semsys 312#endif 313; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 314#if defined(SYSVMSG) && !defined(alpha) 315170 NOARGS { int compat_10_sys_msgsys(int which, int a2, int a3, \ 316 int a4, int a5, int a6); } 317#else 318170 UNIMPL 1.0 msgsys 319#endif 320; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 321#if defined(SYSVSHM) && !defined(alpha) 322171 NOARGS { int compat_10_sys_shmsys(int which, int a2, int a3, \ 323 int a4); } 324#else 325171 UNIMPL 1.0 shmsys 326#endif 327172 UNIMPL 328173 UNIMPL 329174 UNIMPL 330175 UNIMPL 331176 STD { int freebsd_ntp_adjtime(struct freebsd_timex *tp); } 332177 UNIMPL 333178 UNIMPL 334179 UNIMPL 335180 UNIMPL 336 337; Syscalls 180-199 are used by/reserved for BSD 338181 NOARGS { int sys_setgid(gid_t gid); } 339182 NOARGS { int sys_setegid(gid_t egid); } 340183 NOARGS { int sys_seteuid(uid_t euid); } 341#ifdef LFS 342184 NOARGS { int lfs_bmapv(fsid_t *fsidp, \ 343 struct block_info *blkiov, int blkcnt); } 344185 NOARGS { int lfs_markv(fsid_t *fsidp, \ 345 struct block_info *blkiov, int blkcnt); } 346186 NOARGS { int lfs_segclean(fsid_t *fsidp, u_long segment); } 347187 NOARGS { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 348#else 349184 UNIMPL 350185 UNIMPL 351186 UNIMPL 352187 UNIMPL 353#endif 354188 STD { int freebsd_sys_stat(char *path, struct stat *ub); } 355189 NOARGS { int sys_fstat(int fd, struct stat *sb); } 356190 STD { int freebsd_sys_lstat(char *path, struct stat *ub); } 357191 STD { int freebsd_sys_pathconf(char *path, int name); } 358192 NOARGS { int sys_fpathconf(int fd, int name); } 359193 UNIMPL 360194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 361195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 362196 NOARGS { int compat_12_sys_getdirentries(int fd, char *buf, \ 363 u_int count, long *basep); } 364197 NOARGS { caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \ 365 int flags, int fd, long pad, off_t pos); } 366198 NOARGS { int sys_nosys(void); } __syscall 367199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ 368 int whence); } 369200 STD { int freebsd_sys_truncate(char *path, int pad, \ 370 off_t length); } 371201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 372202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ 373 void *old, size_t *oldlenp, void *new, \ 374 size_t newlen); } 375203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 376204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 377#ifdef FREEBSD_BASED_ON_44LITE_R2 378205 STD { int freebsd_sys_undelete(char *path); } 379#else 380205 UNIMPL 381#endif 382206 UNIMPL 383207 UNIMPL 384208 UNIMPL 385209 UNIMPL 386; 387; Syscalls 210-219 are reserved for dynamically loaded syscalls 388; 389210 UNIMPL 390211 UNIMPL 391212 UNIMPL 392213 UNIMPL 393214 UNIMPL 394215 UNIMPL 395216 UNIMPL 396217 UNIMPL 397218 UNIMPL 398219 UNIMPL 399; 400; Syscalls 220-239 are reserved for syscalls imported from NetBSD 401; 402220 UNIMPL 403221 UNIMPL 404222 UNIMPL 405223 UNIMPL 406224 UNIMPL 407225 UNIMPL 408226 UNIMPL 409227 UNIMPL 410228 UNIMPL 411229 UNIMPL 412230 UNIMPL 413231 UNIMPL 414232 UNIMPL 415233 UNIMPL 416234 UNIMPL 417235 UNIMPL 418236 UNIMPL 419237 UNIMPL 420238 UNIMPL 421239 UNIMPL 422240 UNIMPL 423241 UNIMPL 424242 UNIMPL 425243 UNIMPL 426244 UNIMPL 427245 UNIMPL 428246 UNIMPL 429247 UNIMPL 430248 UNIMPL 431249 UNIMPL 432250 UNIMPL 433251 UNIMPL 434252 UNIMPL 435253 UNIMPL 436254 STD { int freebsd_sys_lchown(char *path, int uid, \ 437 int gid); } 438