$NetBSD: syscalls.master,v 1.33 2007/11/09 15:05:33 dsl Exp $ ; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 ; NetBSD 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 STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; An optional field, MPSAFE, after the type field, indicates that ; the system call is MP-safe. ; ; types: ; STD 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 STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, 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 names and switch definition files only. ; ; NB: A lot of system calls are used from FreeBSD emulation, because theses ; system calls are just native NetBSD plus a check in /emul/. #include "opt_ktrace.h" #include "opt_nfsserver.h" #include "opt_ntp.h" #include "opt_compat_netbsd.h" #include "opt_sysv.h" #include "opt_compat_43.h" #include "fs_lfs.h" #include "fs_nfs.h" #include #include #include #include #include #include #include #include #include #include #include #include %% 0 INDIR { int sys_syscall(int code, \ ... register_t args[DARWIN_SYS_MAXSYSARGS]); } 1 NOARGS { void sys_exit(int rval); } 2 STD { int darwin_sys_fork(void); } 3 NOARGS { ssize_t sys_read(int fd, void *buf, size_t nbyte); } 4 NOARGS { ssize_t sys_write(int fd, const void *buf, \ size_t nbyte); } 5 NODEF { int bsd_sys_open(const char *path, \ int flags, ... mode_t mode); } 6 NOARGS { int sys_close(int fd); } 7 NOARGS { int sys_wait4(int pid, int *status, int options, \ struct rusage *rusage); } 8 NODEF { int bsd_compat_43_sys_creat(const char *path, \ mode_t mode); } ocreat 9 NODEF { int bsd_sys_link(const char *path, \ const char *link); } 10 NODEF { int bsd_sys_unlink(const char *path); } 11 UNIMPL execv 12 NODEF { int bsd_sys_chdir(const char *path); } 13 NOARGS { int sys_fchdir(int fd); } 14 STD { int darwin_sys_mknod(const char *path, \ mode_t mode, dev_t dev); } 15 NODEF { int bsd_sys_chmod(const char *path, mode_t mode); } 16 NODEF { int bsd_sys_chown(const char *path, uid_t uid, \ gid_t gid); } 17 NOARGS { int sys_obreak(char *nsize); } break 18 STD { int darwin_sys_getfsstat(struct darwin_statfs *buf, \ long bufsize, int flags); } 19 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } olseek 20 STD { pid_t darwin_sys_getpid(void); } 21 NODEF { int bsd_sys_mount(const char *type, \ const char *path, int flags, void *data); } 22 NODEF { int bsd_sys_unmount(const char *path, int flags); } 23 NOARGS { int sys_setuid(uid_t uid); } #ifdef COMPAT_43 24 NOARGS { uid_t sys_getuid_with_euid(void); } getuid #else 24 NOARGS { uid_t sys_getuid(void); } #endif 25 NOARGS { uid_t sys_geteuid(void); } 26 STD { int darwin_sys_ptrace(int req, pid_t pid, \ void *addr, int data); } 27 NOARGS { ssize_t sys_recvmsg(int s, struct msghdr *msg, \ int flags); } 28 NOARGS { ssize_t sys_sendmsg(int s, \ const struct msghdr *msg, int flags); } 29 STD { ssize_t darwin_sys_recvfrom(int s, void *buf, \ size_t len, int flags, struct sockaddr *from, \ unsigned int *fromlenaddr); } 30 STD { int darwin_sys_accept(int s, struct sockaddr *name, \ unsigned int *anamelen); } 31 STD { int darwin_sys_getpeername(int fdes, \ struct sockaddr *asa, unsigned int *alen); } 32 STD { int darwin_sys_getsockname(int fdes, \ struct sockaddr *asa, unsigned int *alen); } 33 NODEF { int bsd_sys_access(const char *path, \ int flags); } 34 NODEF { int bsd_sys_chflags(const char *path, \ u_long flags); } 35 NOARGS { int sys_fchflags(int fd, u_long flags); } 36 NOARGS { void sys_sync(void); } 37 NOARGS { int sys_kill(int pid, int signum); } 38 NODEF { int bsd_compat_43_sys_stat(const char *path, \ struct stat43 *ub); } stat43 39 NOARGS { pid_t sys_getppid(void); } 40 NODEF { int bsd_compat_43_sys_lstat(const char *path, \ struct stat43 *ub); } lstat43 41 NOARGS { int sys_dup(int fd); } 42 NOARGS { int sys_pipe(void); } 43 NOARGS { gid_t sys_getegid(void); } 44 NOARGS { int sys_profil(void *samples, size_t size, \ u_long offset, u_int scale); } #if defined(KTRACE) || !defined(_KERNEL) 45 NOARGS { int sys_ktrace(const char *fname, int ops, \ int facs, int pid); } #else 45 EXCL ktrace #endif 46 STD { int darwin_sys_sigaction(int signum, \ struct darwin___sigaction *nsa, \ struct sigaction13 *osa); } #ifdef COMPAT_43 47 NOARGS { gid_t sys_getgid_with_egid(void); } getgid #else 47 NOARGS { gid_t sys_getgid(void); } #endif 48 STD { int darwin_sys_sigprocmask(int how, \ sigset13_t *set, sigset13_t *oset); } 49 NOARGS { int sys___getlogin(char *namebuf, size_t namelen); } 50 NOARGS { int sys___setlogin(const char *namebuf); } 51 NODEF { int bsd_sys_acct(const char *path); } 52 NOARGS { int compat_13_sys_sigpending(void); } sigpending13 53 NOARGS { int compat_13_sys_sigaltstack( \ const struct sigaltstack13 *nss, \ struct sigaltstack13 *oss); } sigaltstack13 54 STD { int darwin_sys_ioctl(int fd, \ u_long com, ... void *data); } 55 NOARGS { int sys_reboot(int opt); } oreboot 56 NODEF { int bsd_sys_revoke(const char *path); } 57 NODEF { int bsd_sys_symlink(const char *path, \ const char *link); } 58 NODEF { int bsd_sys_readlink(const char *path, \ char *buf, size_t count); } 59 NODEF { int bsd_sys_execve(const char *path, \ char * const *argp, char * const *envp); } 60 NOARGS { mode_t sys_umask(mode_t newmask); } 61 NODEF { int bsd_sys_chroot(const char *path); } 62 NOARGS { int compat_43_sys_fstat(int fd, \ struct stat43 *sb); } fstat43 63 UNIMPL 64 NOARGS { int compat_43_sys_getpagesize(void); } ogetpagesize 65 NOARGS { int compat_12_sys_msync(void *addr, size_t len); } 66 STD { int darwin_sys_vfork(void); } 67 OBSOL vread 68 OBSOL vwrite 69 NOARGS { int sys_sbrk(intptr_t incr); } 70 NOARGS { int sys_sstk(int incr); } 71 NOARGS { int sys_mmap(void *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(void *addr, size_t len); } 74 NOARGS { int sys_mprotect(void *addr, size_t len, \ int prot); } 75 NOARGS { int sys_madvise(void *addr, size_t len, \ int behav); } 76 UNIMPL 77 UNIMPL 78 NOARGS { int sys_mincore(void *addr, size_t len, \ char *vec); } 79 NOARGS { int sys_getgroups(int gidsetsize, \ gid_t *gidset); } 80 NOARGS { int sys_setgroups(int gidsetsize, \ const gid_t *gidset); } 81 NOARGS { int sys_getpgrp(void); } 82 NOARGS { int sys_setpgid(int pid, int pgid); } 83 NOARGS { int sys_setitimer(int which, \ const struct itimerval *itv, \ struct itimerval *oitv); } 84 NOARGS { int compat_43_sys_wait(void); } owait 85 NODEF { int bsd_compat_12_sys_swapon(const char *name); } 86 NOARGS { int sys_getitimer(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(int from, int to); } 91 UNIMPL 92 NOARGS { int sys_fcntl(int fd, int cmd, ... void *arg); } 93 NOARGS { int sys_select(int nd, fd_set *in, fd_set *ou, \ fd_set *ex, struct timeval *tv); } 94 UNIMPL 95 NOARGS { int sys_fsync(int fd); } 96 NOARGS { int sys_setpriority(int which, int who, int prio); } 97 STD { int darwin_sys_socket(int domain, \ int type, int protocol); } 98 STD { int darwin_sys_connect(int s, \ const struct sockaddr *name, \ unsigned int namelen); } 99 NOARGS { int compat_43_sys_accept(int s, void *name, \ int *anamelen); } oaccept 100 NOARGS { int sys_getpriority(int which, int who); } 101 NOARGS { int compat_43_sys_send(int s, void *buf, int len, \ int flags); } osend 102 NOARGS { int compat_43_sys_recv(int s, void *buf, int len, \ int flags); } orecv 103 STD { int darwin_sys_sigreturn_x2(struct \ darwin_ucontext *uctx); } 104 STD { int darwin_sys_bind(int s, \ const struct sockaddr *name, \ unsigned int namelen); } 105 NOARGS { int sys_setsockopt(int s, int level, int name, \ const void *val, unsigned int valsize); } 106 NOARGS { int sys_listen(int s, int backlog); } 107 UNIMPL 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 compat_13_sys_sigsuspend(int mask); } \ sigsuspend13 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, void *msg, \ int flags); } osendmsg 115 UNIMPL 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, \ void *val, unsigned int *avalsize); } 119 UNIMPL 120 NOARGS { ssize_t sys_readv(int fd, \ const struct iovec *iovp, int iovcnt); } 121 NOARGS { ssize_t sys_writev(int fd, \ const struct iovec *iovp, int iovcnt); } 122 NOARGS { int sys_settimeofday(const struct timeval *tv, \ const struct timezone *tzp); } 123 NOARGS { int sys_fchown(int fd, uid_t uid, gid_t gid); } 124 NOARGS { int sys_fchmod(int fd, mode_t mode); } 125 NOARGS { int compat_43_sys_recvfrom(int s, void *buf, \ size_t len, int flags, void *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 NODEF { int bsd_sys_rename(const char *from, \ const char *to); } 129 NODEF { int bsd_compat_43_sys_truncate(const \ 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 NODEF { int bsd_sys_mkfifo(const char *path, \ mode_t mode); } 133 STD { ssize_t darwin_sys_sendto(int s, const void *buf, \ size_t len, int flags, const struct sockaddr *to, \ unsigned 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 NODEF { int bsd_sys_mkdir(const char *path, mode_t mode); } 137 NODEF { int bsd_sys_rmdir(const char *path); } 138 NODEF { int bsd_sys_utimes(const char *path, \ const struct timeval *tptr); } 139 UNIMPL futimes 140 NOARGS { int sys_adjtime(const struct timeval *delta, \ struct timeval *olddelta); } 141 NOARGS { int compat_43_sys_getpeername(int fdes, \ void *asa, int *alen); } ogetpeername 142 NOARGS { int32_t compat_43_sys_gethostid(void); } ogethostid 143 UNIMPL 144 NOARGS { int compat_43_sys_getrlimit(int which, \ struct orlimit *rlp); } ogetrlimit 145 NOARGS { int compat_43_sys_setrlimit(int which, \ const struct orlimit *rlp); } osetrlimit 146 NOARGS { int compat_43_sys_killpg(int pgid, int signum); } \ okillpg 147 NOARGS { int sys_setsid(void); } 148 UNIMPL 149 UNIMPL 150 NOARGS { int compat_43_sys_getsockname(int fdec, \ void *asa, int *alen); } ogetsockname 151 UNIMPL getpgid 152 UNIMPL setprivexec 153 UNIMPL pread 154 UNIMPL pwrite #if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL) 155 NOARGS { int sys_nfssvc(int flag, void *argp); } #else 155 EXCL nfssvc #endif 156 NOARGS { int compat_43_sys_getdirentries(int fd, char *buf, \ u_int count, long *basep); } ogetdirentries 157 STD { int darwin_sys_statfs(const char *path, \ struct darwin_statfs *buf); } 158 STD { int darwin_sys_fstatfs(int fd, \ struct darwin_statfs *buf); } 159 UNIMPL unmount 160 UNIMPL #if defined(NFS) || defined(NFSSERVER) || !defined(_KERNEL) 161 NODEF { int bsd_sys_getfh(const char *fname, \ fhandle_t *fhp); } #else 161 EXCL getfh #endif 162 NOARGS { int compat_09_sys_getdomainname(char *domainname, \ int len); } ogetdomainname 163 NOARGS { int compat_09_sys_setdomainname(char *domainname, \ int len); } osetdomainname 164 UNIMPL 165 UNIMPL quotactl 166 UNIMPL 167 UNIMPL mount 168 UNIMPL 169 UNIMPL 170 UNIMPL 171 UNIMPL wait3 172 UNIMPL 173 UNIMPL 174 UNIMPL 175 UNIMPL 176 UNIMPL add_profil 177 UNIMPL 178 UNIMPL 179 UNIMPL 180 STD { int darwin_sys_kdebug_trace(int debugid, int arg1, \ int arg2, int arg3, int arg4, int arg5); } 181 NOARGS { int sys_setgid(gid_t gid); } 182 NOARGS { int sys_setegid(gid_t egid); } 183 NOARGS { int sys_seteuid(uid_t euid); } 184 STD { int darwin_sys_sigreturn(struct \ darwin_ucontext *uctx, int ucvers); } 185 UNIMPL 186 UNIMPL 187 UNIMPL 188 STD { int darwin_sys_stat(const char *path, \ struct stat12 *ub); } stat12 189 STD { int darwin_sys_fstat(int fd, \ struct stat12 *sb); } 190 STD { int darwin_sys_lstat(const char *path, \ struct stat12 *ub); } lstat12 191 NODEF { long bsd_sys_pathconf(const char *path, \ int name); } 192 NOARGS { long sys_fpathconf(int fd, int name); } 193 UNIMPL getfsstat 194 NOARGS { int sys_getrlimit(int which, \ struct rlimit *rlp); } 195 NOARGS { int sys_setrlimit(int which, \ const struct rlimit *rlp); } 196 NOARGS { int compat_12_sys_getdirentries(int fd, char *buf, \ u_int count, long *basep); } 197 NOARGS { void *sys_mmap(void *addr, size_t len, int prot, \ int flags, int fd, long pad, off_t pos); } 198 UNIMPL 199 STD { off_t darwin_sys_lseek(int fd, long off1, \ long off2, int whence); } 200 NODEF { int bsd_sys_truncate(const char *path, \ int pad, off_t length); } 201 NOARGS { int sys_ftruncate(int fd, int pad, off_t length); } 202 STD { int darwin_sys___sysctl(int *name, u_int namelen, \ void *oldp, size_t *oldlenp, void *newp, \ size_t newlen); } 203 NOARGS { int sys_mlock(const void *addr, size_t len); } 204 NOARGS { int sys_munlock(const void *addr, size_t len); } 205 STD { int bsd_sys_undelete(const char *path); } 206 UNIMPL atsocket 207 UNIMPL atgetmsg 208 UNIMPL atputmsg 209 UNIMPL atpsndreq 210 UNIMPL atpsndrsp 211 UNIMPL atpgetreq 212 UNIMPL atpgetrsp 213 UNIMPL 214 UNIMPL 215 UNIMPL 216 UNIMPL 217 UNIMPL 218 UNIMPL 219 UNIMPL 220 STD { int darwin_sys_getattrlist(const char *path, \ struct darwin_attrlist *alist, void *attributes, \ size_t buflen, unsigned long options); } 221 UNIMPL setattrlist 222 UNIMPL getdirentriesattr 223 UNIMPL exchangedata 224 UNIMPL checkuseraccess 225 UNIMPL searchfs 226 UNIMPL delete 227 UNIMPL copyfile 228 UNIMPL 229 UNIMPL 230 UNIMPL 231 UNIMPL watchevent 232 UNIMPL waitevent 233 UNIMPL modwatch 234 UNIMPL 235 UNIMPL 236 UNIMPL 237 UNIMPL 238 UNIMPL 239 UNIMPL 240 UNIMPL 241 UNIMPL 242 UNIMPL fsctl 243 UNIMPL 244 UNIMPL 245 UNIMPL 246 UNIMPL 247 UNIMPL 248 UNIMPL 249 UNIMPL 250 UNIMPL minherit 251 UNIMPL semsys 252 UNIMPL msgsys 253 UNIMPL semop 254 UNIMPL semctl 255 UNIMPL semget 256 UNIMPL semop 257 UNIMPL semconfig 258 UNIMPL msgctl 259 UNIMPL msgget 260 UNIMPL msgsnd 261 UNIMPL msgrcv 262 UNIMPL shmat 263 UNIMPL shmctl 264 UNIMPL shmdt 265 UNIMPL shmget 266 UNIMPL shm_open 267 UNIMPL shm_unlink 268 UNIMPL sem_open 269 UNIMPL sem_close 270 UNIMPL sem_unlink 271 UNIMPL sem_wait 272 UNIMPL sem_trywait 273 UNIMPL sem_post 274 UNIMPL sem_getvalue 275 UNIMPL sem_init 276 UNIMPL sem_destroy 277 UNIMPL 278 UNIMPL 279 UNIMPL 280 UNIMPL 281 UNIMPL 282 UNIMPL 283 UNIMPL 284 UNIMPL 285 UNIMPL 286 UNIMPL 287 UNIMPL 288 UNIMPL 289 UNIMPL 290 UNIMPL 291 UNIMPL 292 UNIMPL 293 UNIMPL 294 UNIMPL 295 UNIMPL 296 STD { int darwin_sys_load_shared_file(char *filename, \ void *addr, u_long len, void **base, \ int count, mach_sf_mapping_t *mappings, \ int *flags); } 297 UNIMPL reset_shared_file 298 UNIMPL new_system_shared_regions 299 UNIMPL 300 UNIMPL 301 UNIMPL 302 UNIMPL 303 UNIMPL 304 UNIMPL 305 UNIMPL 306 UNIMPL 307 UNIMPL 308 UNIMPL 309 UNIMPL 310 UNIMPL getsid 311 UNIMPL 312 UNIMPL 313 UNIMPL 314 UNIMPL 315 UNIMPL 316 UNIMPL 317 UNIMPL 318 UNIMPL 319 UNIMPL 320 UNIMPL 321 UNIMPL 322 UNIMPL 323 UNIMPL 324 UNIMPL mlockall 325 UNIMPL munlockall 326 UNIMPL 327 UNIMPL issetugid 328 UNIMPL __pthread_kill 329 UNIMPL pthread_sigmask 330 UNIMPL sigwait 331 STD { void darwin_sys_pthread_exit(void *value_ptr); } 332 UNIMPL 333 UNIMPL 334 UNIMPL 335 STD { int darwin_sys_utrace(void *addr, size_t len); } 336 UNIMPL 337 UNIMPL 338 UNIMPL 339 UNIMPL 340 UNIMPL 341 UNIMPL 342 UNIMPL 343 UNIMPL 344 UNIMPL 345 UNIMPL 346 UNIMPL 347 UNIMPL 348 UNIMPL 349 UNIMPL 350 STD { int darwin_sys_audit(void *record, int len); } 351 STD { int darwin_sys_auditon(int cmd, \ void *data, int len); } 352 UNIMPL 353 STD { int darwin_sys_getauid(darwin_au_id_t *auid); } 354 STD { int darwin_sys_setauid(darwin_au_id_t *auid); } 355 STD { int darwin_sys_getauditinfo(struct \ darwin_auditinfo *auditinfo); } 356 STD { int darwin_sys_setauditinfo(struct \ darwin_auditinfo *auditinfo); } 357 STD { int darwin_sys_getaudit_addr(struct \ darwin_auditinfo_addr *auditinfo_addr, int len); } 358 STD { int darwin_sys_setaudit_addr(struct \ darwin_auditinfo_addr *auditinfo_addr, int len); } 359 STD { int darwin_sys_auditctl(char *path); } 360 UNIMPL 361 UNIMPL 362 UNIMPL kqueue 363 UNIMPL kevent