syscalls.master revision 1.2
1 $NetBSD: syscalls.master,v 1.2 1995/10/10 01:34:37 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 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 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 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 compat_43_sys_setreuid(int ruid, int euid); } \ 234 osetreuid 235127 NOARGS { int compat_43_sys_setregid(int rgid, int egid); } \ 236 osetregid 237128 STD { int freebsd_sys_rename(char *from, char *to); } 238129 STD { int compat_43_freebsd_sys_truncate(char *path, \ 239 long length); } otruncate 240130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ 241 oftruncate 242131 NOARGS { int sys_flock(int fd, int how); } 243132 STD { int freebsd_sys_mkfifo(char *path, int mode); } 244133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ 245 int flags, caddr_t to, int tolen); } 246134 NOARGS { int sys_shutdown(int s, int how); } 247135 NOARGS { int sys_socketpair(int domain, int type, \ 248 int protocol, int *rsv); } 249136 STD { int freebsd_sys_mkdir(char *path, int mode); } 250137 STD { int freebsd_sys_rmdir(char *path); } 251138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 252139 OBSOL 4.2 sigreturn 253140 NOARGS { int sys_adjtime(struct timeval *delta, \ 254 struct timeval *olddelta); } 255141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ 256 int *alen); } ogetpeername 257142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 258143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ 259 osethostid 260144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ 261 struct ogetrlimit *rlp); } ogetrlimit 262145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ 263 struct ogetrlimit *rlp); } osetrlimit 264146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ 265 okillpg 266147 NOARGS { int sys_setsid(void); } 267148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ 268 caddr_t arg); } 269149 NOARGS { int compat_43_sys_quota(void); } oquota 270150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ 271 int *alen); } ogetsockname 272 273; Syscalls 151-180 inclusive are reserved for vendor-specific 274; system calls. (This includes various calls added for compatibity 275; with other Unix variants.) 276; Some of these calls are now supported by BSD... 277151 UNIMPL 278152 UNIMPL 279153 UNIMPL 280154 UNIMPL 281#if defined(NFSCLIENT) || defined(NFSSERVER) 282155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } 283#else 284155 UNIMPL 285#endif 286156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ 287 u_int count, long *basep); } ogetdirentries 288157 STD { int freebsd_sys_statfs(char *path, \ 289 struct statfs *buf); } 290158 NOARGS { int sys_fstatfs(int fd, struct statfs *buf); } 291159 UNIMPL 292160 UNIMPL 293#ifdef NFSCLIENT 294161 STD { int freebsd_sys_getfh(char *fname, fhandle_t *fhp); } 295#else 296161 UNIMPL getfh 297#endif 298162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ 299 int len); } 300163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ 301 int len); } 302164 NOARGS { int compat_09_sys_uname(struct outsname *name); } 303165 NOARGS { int sys_sysarch(int op, char *parms); } 304166 STD { int freebsd_sys_rtprio(int function, pid_t pid, \ 305 struct freebsd_rtprio *rtp); } 306167 UNIMPL 307168 UNIMPL 308; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 309#if defined(SYSVSEM) && !defined(alpha) 310169 NOARGS { int compat_10_sys_semsys(int which, int a2, int a3, \ 311 int a4, int a5); } 312#else 313169 UNIMPL 1.0 semsys 314#endif 315; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 316#if defined(SYSVMSG) && !defined(alpha) 317170 NOARGS { int compat_10_sys_msgsys(int which, int a2, int a3, \ 318 int a4, int a5, int a6); } 319#else 320170 UNIMPL 1.0 msgsys 321#endif 322; XXX more generally, never on machines where sizeof(void *) != sizeof(int) 323#if defined(SYSVSHM) && !defined(alpha) 324171 NOARGS { int compat_10_sys_shmsys(int which, int a2, int a3, \ 325 int a4); } 326#else 327171 UNIMPL 1.0 shmsys 328#endif 329172 UNIMPL 330173 UNIMPL 331174 UNIMPL 332175 UNIMPL 333176 STD { int freebsd_ntp_adjtime(struct freebsd_timex *tp); } 334177 UNIMPL 335178 UNIMPL 336179 UNIMPL 337180 UNIMPL 338 339; Syscalls 180-199 are used by/reserved for BSD 340181 NOARGS { int sys_setgid(gid_t gid); } 341182 NOARGS { int sys_setegid(gid_t egid); } 342183 NOARGS { int sys_seteuid(uid_t euid); } 343#ifdef LFS 344184 NOARGS { int lfs_bmapv(fsid_t *fsidp, \ 345 struct block_info *blkiov, int blkcnt); } 346185 NOARGS { int lfs_markv(fsid_t *fsidp, \ 347 struct block_info *blkiov, int blkcnt); } 348186 NOARGS { int lfs_segclean(fsid_t *fsidp, u_long segment); } 349187 NOARGS { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } 350#else 351184 UNIMPL 352185 UNIMPL 353186 UNIMPL 354187 UNIMPL 355#endif 356188 STD { int freebsd_sys_stat(char *path, struct stat *ub); } 357189 NOARGS { int sys_fstat(int fd, struct stat *sb); } 358190 STD { int freebsd_sys_lstat(char *path, struct stat *ub); } 359191 STD { int freebsd_sys_pathconf(char *path, int name); } 360192 NOARGS { int sys_fpathconf(int fd, int name); } 361193 UNIMPL 362194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 363195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 364196 NOARGS { int sys_getdirentries(int fd, char *buf, \ 365 u_int count, long *basep); } 366197 NOARGS { caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \ 367 int flags, int fd, long pad, off_t pos); } 368198 NOARGS { int sys_nosys(void); } __syscall 369199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ 370 int whence); } 371200 STD { int freebsd_sys_truncate(char *path, int pad, \ 372 off_t length); } 373201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 374202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ 375 void *old, size_t *oldlenp, void *new, \ 376 size_t newlen); } 377203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 378204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 379#ifdef FREEBSD_BASED_ON_44LITE_R2 380205 STD { int freebsd_sys_undelete(char *path); } 381#else 382205 UNIMPL 383#endif 384206 UNIMPL 385207 UNIMPL 386208 UNIMPL 387209 UNIMPL 388; 389; Syscalls 210-219 are reserved for dynamically loaded syscalls 390; 391210 UNIMPL 392211 UNIMPL 393212 UNIMPL 394213 UNIMPL 395214 UNIMPL 396215 UNIMPL 397216 UNIMPL 398217 UNIMPL 399218 UNIMPL 400219 UNIMPL 401