$OpenBSD: syscalls.master,v 1.15 2004/07/13 21:04:28 millert Exp $ ; OpenBSD COMPAT_BSDOS system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of NOARGS, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; NOARGS always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or NOARGS (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For NOARGS, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall switch definition file only. #include <sys/param.h> #include <sys/systm.h> #include <sys/signal.h> #include <sys/mount.h> #include <sys/syscallargs.h> #include <compat/bsdos/bsdos_syscallargs.h> ; Reserved/unimplemented system calls in the range 0-150 inclusive ; are reserved for use in future Berkeley releases. ; Additional system calls implemented in vendor and other ; redistributions should be placed in the reserved range at the end ; of the current calls. 0 NOARGS { int sys_nosys(void); } syscall 1 NOARGS { int sys_exit(int rval); } 2 NOARGS { int sys_fork(void); } 3 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 4 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 5 NOARGS { int sys_open(char *path, int flags, int mode); } 6 NOARGS { int sys_close(int fd); } 7 NOARGS { int sys_wait4(int pid, int *status, int options, \ struct rusage *rusage); } 8 NOARGS { int compat_43_sys_creat(char *path, \ int mode); } ocreat 9 NOARGS { int sys_link(char *path, char *link); } 10 NOARGS { int sys_unlink(char *path); } 11 OBSOL execv 12 NOARGS { int sys_chdir(char *path); } 13 NOARGS { int sys_fchdir(int fd); } 14 NOARGS { int sys_mknod(char *path, int mode, int dev); } 15 NOARGS { int sys_chmod(char *path, int mode); } 16 NOARGS { int sys_chown(char *path, int uid, int gid); } 17 NOARGS { int sys_obreak(char *nsize); } break 18 NOARGS { int compat_25_sys_getfsstat(struct ostatfs *buf, \ long bufsize, int flags); } 19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } olseek 20 NOARGS { pid_t sys_getpid(void); } 21 NOARGS { int sys_mount(int type, char *path, \ int flags, caddr_t data); } 22 NOARGS { int sys_unmount(char *path, int flags); } 23 NOARGS { int sys_setuid(uid_t uid); } 24 NOARGS { uid_t sys_getuid(void); } 25 NOARGS { uid_t sys_geteuid(void); } #ifdef PTRACE 26 NOARGS { int sys_ptrace(int req, pid_t pid, \ caddr_t addr, int data); } #else 26 UNIMPL ptrace #endif 27 NOARGS { int sys_recvmsg(int s, struct msghdr *msg, \ int flags); } 28 NOARGS { int sys_sendmsg(int s, caddr_t msg, int flags); } 29 NOARGS { int sys_recvfrom(int s, caddr_t buf, size_t len, \ int flags, caddr_t from, int *fromlenaddr); } 30 NOARGS { int sys_accept(int s, caddr_t name, int *anamelen); } 31 NOARGS { int sys_getpeername(int fdes, caddr_t asa, \ int *alen); } 32 NOARGS { int sys_getsockname(int fdes, caddr_t asa, \ int *alen); } 33 NOARGS { int sys_access(char *path, int flags); } 34 NOARGS { int sys_chflags(char *path, int flags); } 35 NOARGS { int sys_fchflags(int fd, int flags); } 36 NOARGS { int sys_sync(void); } 37 NOARGS { int sys_kill(int pid, int signum); } 38 NOARGS { int compat_43_sys_stat(char *path, \ struct stat43 *ub); } stat43 39 NOARGS { pid_t sys_getppid(void); } 40 NOARGS { int compat_43_sys_lstat(char *path, \ struct stat43 *ub); } lstat43 41 NOARGS { int sys_dup(u_int fd); } 42 NOARGS { int sys_opipe(void); } 43 NOARGS { gid_t sys_getegid(void); } 44 NOARGS { int sys_profil(caddr_t samples, u_int size, \ u_int offset, u_int scale); } #ifdef KTRACE 45 NOARGS { int sys_ktrace(char *fname, int ops, int facs, \ int pid); } #else 45 UNIMPL ktrace #endif 46 NOARGS { int sys_sigaction(int signum, struct sigaction *nsa, \ struct sigaction *osa); } 47 NOARGS { gid_t sys_getgid(void); } 48 NOARGS { int sys_sigprocmask(int how, sigset_t mask); } 49 NOARGS { int sys_getlogin(char *namebuf, u_int namelen); } 50 NOARGS { int sys_setlogin(char *namebuf); } #ifdef ACCOUNTING 51 NOARGS { int sys_acct(char *path); } #else 51 UNIMPL acct #endif 52 NOARGS { int sys_sigpending(void); } 53 NOARGS { int sys_osigaltstack(struct osigaltstack *nss, \ struct osigaltstack *oss); } 54 STD { int bsdos_sys_ioctl(int fd, u_long com, \ caddr_t data); } 55 NOARGS { int sys_reboot(int opt); } 56 NOARGS { int sys_revoke(char *path); } 57 NOARGS { int sys_symlink(char *path, char *link); } 58 NOARGS { int sys_readlink(char *path, char *buf, int count); } 59 NOARGS { int sys_execve(char *path, char **argp, \ char **envp); } 60 NOARGS { int sys_umask(int newmask); } 61 NOARGS { int sys_chroot(char *path); } 62 NOARGS { int compat_43_sys_fstat(int fd, struct stat43 *sb); } \ fstat43 63 NOARGS { int compat_43_sys_getkerninfo(int op, char *where, \ int *size, int arg); } ogetkerninfo 64 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 65 NOARGS { int sys_msync(void *addr, size_t len, int flags); } 66 NOARGS { int sys_vfork(void); } 67 OBSOL vread 68 OBSOL vwrite 69 NOARGS { int sys_sbrk(int incr); } 70 NOARGS { int sys_sstk(int incr); } 71 NOARGS { int compat_43_sys_mmap(caddr_t addr, size_t len, \ int prot, int flags, int fd, long pos); } ommap 72 NOARGS { int sys_ovadvise(int anom); } vadvise 73 NOARGS { int sys_munmap(caddr_t addr, size_t len); } 74 NOARGS { int sys_mprotect(caddr_t addr, size_t len, \ int prot); } 75 NOARGS { int sys_madvise(caddr_t addr, size_t len, \ int behav); } 76 OBSOL vhangup 77 OBSOL vlimit 78 NOARGS { int sys_mincore(caddr_t addr, size_t len, char *vec); } 79 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 80 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 81 NOARGS { int sys_getpgrp(void); } 82 NOARGS { int sys_setpgid(int pid, int pgid); } 83 NOARGS { int sys_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } 84 NOARGS { int compat_43_sys_wait(void); } owait 85 NOARGS { int compat_25_sys_swapon(char *name); } 86 NOARGS { int sys_getitimer(u_int which, \ struct itimerval *itv); } 87 NOARGS { int compat_43_sys_gethostname(char *hostname, \ u_int len); } ogethostname 88 NOARGS { int compat_43_sys_sethostname(char *hostname, \ u_int len); } osethostname 89 NOARGS { int compat_43_sys_getdtablesize(void); } \ ogetdtablesize 90 NOARGS { int sys_dup2(u_int from, u_int to); } 91 UNIMPL getdopt 92 NOARGS { int sys_fcntl(int fd, int cmd, void *arg); } 93 NOARGS { int sys_select(u_int nd, fd_set *in, fd_set *ou, \ fd_set *ex, struct timeval *tv); } 94 UNIMPL setdopt 95 NOARGS { int sys_fsync(int fd); } 96 NOARGS { int sys_setpriority(int which, int who, int prio); } 97 NOARGS { int sys_socket(int domain, int type, int protocol); } 98 NOARGS { int sys_connect(int s, caddr_t name, int namelen); } 99 NOARGS { int compat_43_sys_accept(int s, caddr_t name, \ int *anamelen); } oaccept 100 NOARGS { int sys_getpriority(int which, int who); } 101 NOARGS { int compat_43_sys_send(int s, caddr_t buf, int len, \ int flags); } osend 102 NOARGS { int compat_43_sys_recv(int s, caddr_t buf, int len, \ int flags); } orecv 103 NOARGS { int sys_sigreturn( struct sigcontext *scp); } 104 NOARGS { int sys_bind(int s, caddr_t name, int namelen); } 105 NOARGS { int sys_setsockopt(int s, int level, int name, \ caddr_t val, int valsize); } 106 NOARGS { int sys_listen(int s, int backlog); } 107 OBSOL vtimes 108 NOARGS { int compat_43_sys_sigvec(int signum, \ struct sigvec *nsv, struct sigvec *osv); } osigvec 109 NOARGS { int compat_43_sys_sigblock(int mask); } osigblock 110 NOARGS { int compat_43_sys_sigsetmask(int mask); } osigsetmask 111 NOARGS { int sys_sigsuspend(int mask); } 112 NOARGS { int compat_43_sys_sigstack(struct sigstack *nss, \ struct sigstack *oss); } osigstack 113 NOARGS { int compat_43_sys_recvmsg(int s, \ struct omsghdr *msg, int flags); } orecvmsg 114 NOARGS { int compat_43_sys_sendmsg(int s, caddr_t msg, \ int flags); } osendmsg #ifdef TRACE 115 NOARGS { int sys_vtrace(int request, int value); } #else 115 OBSOL vtrace #endif 116 NOARGS { int sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 117 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 118 NOARGS { int sys_getsockopt(int s, int level, int name, \ caddr_t val, int *avalsize); } 119 OBSOL resuba 120 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 121 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ u_int iovcnt); } 122 NOARGS { int sys_settimeofday(struct timeval *tv, \ struct timezone *tzp); } 123 NOARGS { int sys_fchown(int fd, int uid, int gid); } 124 NOARGS { int sys_fchmod(int fd, int mode); } 125 NOARGS { int compat_43_sys_recvfrom(int s, caddr_t buf, \ size_t len, int flags, caddr_t from, \ int *fromlenaddr); } orecvfrom 126 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 127 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 128 NOARGS { int sys_rename(char *from, char *to); } 129 NOARGS { int compat_43_sys_truncate(char *path, \ long length); } otruncate 130 NOARGS { int compat_43_sys_ftruncate(int fd, long length); } \ oftruncate 131 NOARGS { int sys_flock(int fd, int how); } 132 NOARGS { int sys_mkfifo(char *path, int mode); } 133 NOARGS { int sys_sendto(int s, caddr_t buf, size_t len, \ int flags, caddr_t to, int tolen); } 134 NOARGS { int sys_shutdown(int s, int how); } 135 NOARGS { int sys_socketpair(int domain, int type, \ int protocol, int *rsv); } 136 NOARGS { int sys_mkdir(char *path, int mode); } 137 NOARGS { int sys_rmdir(char *path); } 138 NOARGS { int sys_utimes(char *path, struct timeval *tptr); } 139 OBSOL 4.2 sigreturn 140 NOARGS { int sys_adjtime(struct timeval *delta, \ struct timeval *olddelta); } 141 NOARGS { int compat_43_sys_getpeername(int fdes, caddr_t asa, \ int *alen); } ogetpeername 142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 143 NOARGS { int compat_43_sys_sethostid(int32_t hostid); } \ osethostid 144 NOARGS { int compat_43_sys_getrlimit(u_int which, \ struct ogetrlimit *rlp); } ogetrlimit 145 NOARGS { int compat_43_sys_setrlimit(u_int which, \ struct ogetrlimit *rlp); } osetrlimit 146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ okillpg 147 NOARGS { int sys_setsid(void); } 148 NOARGS { int sys_quotactl(char *path, int cmd, int uid, \ caddr_t arg); } 149 NOARGS { int compat_43_sys_quota(void); } oquota 150 NOARGS { int compat_43_sys_getsockname(int fdec, caddr_t asa, \ int *alen); } ogetsockname ; Syscalls 151-180 inclusive are reserved for vendor-specific ; system calls. (This includes various calls added for compatibity ; with other Unix variants.) ; Some of these calls are now supported by BSD... ; 151 UNIMPL sem_lock 152 UNIMPL sem_wakeup 153 UNIMPL asyncdaemon 154 UNIMPL #if defined(NFSCLIENT) || defined(NFSSERVER) 155 NOARGS { int sys_nfssvc(int flag, caddr_t argp); } #else 155 UNIMPL #endif 156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ u_int count, long *basep); } ogetdirentries 157 NOARGS { int compat_25_sys_statfs(char *path, \ struct ostatfs *buf); } 158 NOARGS { int compat_25_sys_fstatfs(int fd, \ struct ostatfs *buf); } 159 UNIMPL 160 UNIMPL #ifdef NFSCLIENT 161 NOARGS { int sys_getfh(char *fname, fhandle_t *fhp); } #else 161 UNIMPL getfh #endif 162 UNIMPL 163 UNIMPL 164 UNIMPL 165 UNIMPL 166 UNIMPL 167 UNIMPL 168 UNIMPL 169 UNIMPL 170 UNIMPL ; XXX more generally, never on machines where sizeof(void *) != sizeof(int) #if defined(SYSVSHM) && !defined(alpha) 171 NOARGS { int compat_10_sys_shmsys(int which, int a2, int a3, \ int a4); } #else 171 UNIMPL shmsys #endif 172 UNIMPL 173 UNIMPL 174 UNIMPL 175 UNIMPL 176 UNIMPL 177 UNIMPL sfork 178 UNIMPL 179 UNIMPL getdescriptor 180 UNIMPL setdescriptor ; Syscalls 180-199 are used by/reserved for BSD 181 NOARGS { int sys_setgid(gid_t gid); } 182 NOARGS { int sys_setegid(gid_t egid); } 183 NOARGS { int sys_seteuid(uid_t euid); } #ifdef LFS 184 NOARGS { int lfs_bmapv(fsid_t *fsidp, \ struct block_info *blkiov, int blkcnt); } 185 NOARGS { int lfs_markv(fsid_t *fsidp, \ struct block_info *blkiov, int blkcnt); } 186 NOARGS { int lfs_segclean(fsid_t *fsidp, u_long segment); } 187 NOARGS { int lfs_segwait(fsid_t *fsidp, struct timeval *tv); } #else 184 UNIMPL 185 UNIMPL 186 UNIMPL 187 UNIMPL #endif 188 NOARGS { int compat_35_sys_stat(char *path, \ struct stat35 *ub); } stat35 189 NOARGS { int compat_35_sys_fstat(int fd, \ struct stat35 *sb); } fstat35 190 NOARGS { int compat_35_sys_lstat(char *path, \ struct stat35 *ub); } lstat35 191 NOARGS { int sys_pathconf(char *path, int name); } 192 NOARGS { int sys_fpathconf(int fd, int name); } 193 UNIMPL 194 NOARGS { int sys_getrlimit(u_int which, struct rlimit *rlp); } 195 NOARGS { int sys_setrlimit(u_int which, struct rlimit *rlp); } 196 NOARGS { int sys_getdirentries(int fd, char *buf, \ u_int count, long *basep); } 197 NOARGS { caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \ int flags, int fd, long pad, off_t pos); } 198 NOARGS { int sys_nosys(void); } __syscall 199 NOARGS { off_t sys_lseek(int fd, int pad, off_t offset, \ int whence); } 200 NOARGS { int sys_truncate(char *path, int pad, off_t length); } 201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 202 NOARGS { int sys___sysctl(int *name, u_int namelen, \ void *old, size_t *oldlenp, void *new, \ size_t newlen); } 203 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 204 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 205 NOARGS { int sys_undelete(char *path); } 206 UNIMPL 207 UNIMPL 208 UNIMPL 209 UNIMPL 210 UNIMPL 211 UNIMPL 212 UNIMPL 213 UNIMPL 214 UNIMPL 215 UNIMPL 216 UNIMPL 217 UNIMPL 218 UNIMPL 219 UNIMPL ; BSD/OS 3.0 starts here with the Net/OpenBSD SYSV* syscalls. This needs ; checking against manpages to see how/if these differ. (Probably not at all.) #ifdef SYSVSEM 220 NOARGS { int sys___semctl(int semid, int semnum, int cmd, \ union semun *arg); } 221 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 222 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ u_int nsops); } ; 223 is UNIMPL in BSD/OS 223 OBSOL sys_semconfig #else 220 UNIMPL semctl 221 UNIMPL semget 222 UNIMPL semop 223 UNIMPL semconfig #endif #ifdef SYSVMSG 224 NOARGS { int sys_msgctl(int msqid, int cmd, \ struct msqid_ds *buf); } 225 NOARGS { int sys_msgget(key_t key, int msgflg); } 226 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 227 NOARGS { int sys_msgrcv(int msqid, void *msgp, size_t msgsz, \ long msgtyp, int msgflg); } #else 224 UNIMPL msgctl 225 UNIMPL msgget 226 UNIMPL msgsnd 227 UNIMPL msgrcv #endif #ifdef SYSVSHM 228 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } 229 NOARGS { int sys_shmctl(int shmid, int cmd, \ struct shmid_ds *buf); } 230 NOARGS { int sys_shmdt(void *shmaddr); } 231 NOARGS { int sys_shmget(key_t key, int size, int shmflg); } #else 228 UNIMPL shmat 229 UNIMPL shmctl 230 UNIMPL shmdt 231 UNIMPL shmget #endif