$NetBSD: syscalls.master,v 1.16 2014/05/29 10:41:48 njoly 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 NODEF, UNIMPL, or NOARGS ; ; types: ; NODEF always included ; 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 ; ; arguments: ; PAD argument not part of the C interface, used only for padding ; ; ; The purpose of this syscalls.master is to map to the Linux types which ; are marshalled into the arg structure by the clientside rump_syscalls.c ; code in librumpclient. ; #include #include #include #include #include #include #include #include #include #include #include #ifdef LINUX_SYS_socketcall #include #endif #include "rump_linux_syscallargs.h" %% 0 NOARGS { int|linux_sys||nosys(void); } 1 UNIMPL exit 2 UNIMPL fork 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 NOARGS { int|linux_sys||open(const char *path, \ int flags, int mode); } 6 NOARGS { int|sys||close(int fd); } 7 UNIMPL wait4 8 UNIMPL creat 9 NOARGS { int|sys||link(const char *path, const char *link); } 10 NOARGS { int|linux_sys||unlink(const char *path); } 11 UNIMPL execv 12 NOARGS { int|sys||chdir(const char *path); } 13 NOARGS { int|sys||fchdir(int fd); } 14 UNIMPL mknod 15 NOARGS { int|sys||chmod(const char *path, mode_t mode); } 16 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ gid_t gid); } 17 UNIMPL obreak 18 UNIMPL getfsstat 19 UNIMPL lseek 20 NOARGS { pid_t|sys||getpid_with_ppid(void); } getpid 21 UNIMPL mount 22 UNIMPL unmount 23 NOARGS { int|sys||setuid(uid_t uid); } 24 NOARGS { uid_t|sys||getuid_with_euid(void); } getuid 25 NOARGS { uid_t|sys||geteuid(void); } 26 UNIMPL ptrace 27 NOARGS { ssize_t|linux_sys||recvmsg(int s, \ struct linux_msghdr *msg, int flags); } 28 NOARGS { ssize_t|linux_sys||sendmsg(int s, \ const struct linux_msghdr *msg, int flags); } 29 NOARGS { ssize_t|linux_sys||recvfrom(int s, void *buf, \ int len, int flags, struct osockaddr *from, \ int *fromlenaddr); } 30 NOARGS { int|linux_sys||accept(int s, struct osockaddr *name, \ int *anamelen); } 31 NOARGS { int|linux_sys||getpeername(int fdes, \ struct osockaddr *asa, int *alen); } 32 NOARGS { int|linux_sys||getsockname(int fdes, \ struct osockaddr *asa, int *alen); } 33 NOARGS { int|sys||access(const char *path, int flags); } 34 UNIMPL chflags 35 UNIMPL fchflags 36 NOARGS { void|sys||sync(void); } 37 UNIMPL kill 38 UNIMPL stat 39 UNIMPL getppid 40 UNIMPL lstat 41 NOARGS { int|sys||dup(int fd); } ; we mimic the librumpclient calling convention, therefore no linux_sys_pipe 42 NOARGS { int|sys||pipe(void); } 43 UNIMPL getegid 44 UNIMPL profil 45 UNIMPL ktrace 46 UNIMPL sigaction 47 NOARGS { gid_t|sys||getgid_with_egid(void); } getgid 48 UNIMPL sigprocmask 49 UNIMPL __getlogin 50 UNIMPL __setlogin 51 UNIMPL acct 52 UNIMPL sigpending 53 UNIMPL sigaltstack 54 NOARGS { int|linux_sys||ioctl(int fd, \ u_long com, void *data); } 55 UNIMPL reboot 56 UNIMPL revoke 57 NOARGS { int|sys||symlink(const char *path, \ const char *link); } 58 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ int count); } 59 UNIMPL execve 60 NOARGS { mode_t|sys||umask(mode_t newmask); } 61 NOARGS { int|sys||chroot(const char *path); } 62 UNIMPL fstat43 63 UNIMPL getkerninfo 64 UNIMPL getpagesize 65 UNIMPL msync 66 UNIMPL vfork 67 UNIMPL vread 68 UNIMPL vwrite 69 UNIMPL sbrk 70 UNIMPL sstk 71 UNIMPL mmap 72 UNIMPL ovadvise 73 UNIMPL munmap 74 UNIMPL mprotect 75 UNIMPL madvise 76 UNIMPL vhangup 77 UNIMPL vlimit 78 UNIMPL mincore 79 NOARGS { int|sys||getgroups(int gidsetsize, \ int *gidset); } 80 NOARGS { int|sys||setgroups(int gidsetsize, \ const int *gidset); } 81 NOARGS { int|sys||getpgrp(void); } 82 NOARGS { int|sys||setpgid(int pid, int pgid); } 83 UNIMPL setitimer 84 UNIMPL wait 85 UNIMPL swapon 86 UNIMPL getitimer 87 UNIMPL gethostname 88 UNIMPL sethostname 89 UNIMPL getdtablesize 90 NOARGS { int|sys||dup2(int from, int to); } 91 UNIMPL getdopt 92 NOARGS { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 93 UNIMPL select 94 UNIMPL setdopt 95 NOARGS { int|sys||fsync(int fd); } 96 UNIMPL setpriority 97 UNIMPL socket 98 NOARGS { int|linux_sys||connect(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 99 UNIMPL accept 100 UNIMPL getpriority 101 UNIMPL send 102 UNIMPL recv 103 UNIMPL sigreturn 104 NOARGS { int|linux_sys||bind(int s, \ const struct osockaddr *name, unsigned namelen); } 105 NOARGS { int|linux_sys||setsockopt(int s, int level, \ int name, const void *val, int optlen); } 106 NOARGS { int|sys||listen(int s, int backlog); } 107 UNIMPL vtimes 108 UNIMPL sigvec 109 UNIMPL sigblock 110 UNIMPL sigsetmask 111 UNIMPL sigsuspend 112 UNIMPL sigstack 113 UNIMPL orecvmsg 114 UNIMPL osendmsg 115 UNIMPL vtrace 116 UNIMPL gettimeofday 117 UNIMPL getrusage 118 NOARGS { int|linux_sys||getsockopt(int s, int level, \ int name, void *val, int *avalsize); } 119 UNIMPL resuba 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 UNIMPL settimeofday 123 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } 124 NOARGS { int|sys||fchmod(int fd, mode_t mode); } 125 UNIMPL 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||__posix_rename(const char *from, \ const char *to); } 129 UNIMPL otruncate 130 UNIMPL oftruncate 131 NOARGS { int|sys||flock(int fd, int how); } 132 UNIMPL mkfifo 133 NOARGS { int|linux_sys||sendto(int s, void *buf, \ int len, int flags, const struct osockaddr *to, \ int tolen); } 134 NOARGS { int|sys||shutdown(int s, int how); } 135 NOARGS { int|linux_sys||socketpair(int domain, int type, \ int protocol, int *rsv); } 136 NOARGS { int|sys||mkdir(const char *path, mode_t mode); } 137 NOARGS { int|sys||rmdir(const char *path); } 138 UNIMPL utimes 139 UNIMPL 4.2 sigreturn 140 UNIMPL adjtime 141 UNIMPL ogetpeername 142 UNIMPL ogethostid 143 UNIMPL osethostid 144 UNIMPL ogetrlimit 145 UNIMPL osetrlimit 146 UNIMPL okillpg 147 NOARGS { int|sys||setsid(void); } 148 UNIMPL quotactl 149 UNIMPL oquota 150 UNIMPL 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 152 UNIMPL 153 UNIMPL 154 UNIMPL 155 UNIMPL nfssvc 156 UNIMPL ogetdirentries 157 UNIMPL statfs12 158 UNIMPL fstatfs12 159 UNIMPL 160 UNIMPL 161 UNIMPL getfh30 162 UNIMPL ogetdomainname 163 UNIMPL osetdomainname 164 UNIMPL ouname 165 UNIMPL sysarch 166 UNIMPL 167 UNIMPL 168 UNIMPL 169 UNIMPL 1.0 semsys 170 UNIMPL 1.0 msgsys 171 UNIMPL 1.0 shmsys 172 UNIMPL 173 NOARGS { ssize_t|sys||pread(int fd, char *buf, \ size_t nbyte, int PAD, off_t offset); } 174 NOARGS { ssize_t|sys||pwrite(int fd, char *buf, \ size_t nbyte, int PAD, off_t offset); } 175 UNIMPL ntp_gettime 176 UNIMPL ntp_adjtime 177 UNIMPL 178 UNIMPL 179 UNIMPL 180 UNIMPL ; 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); } 184 UNIMPL lfs_bmapv 185 UNIMPL lfs_markv 186 UNIMPL lfs_segclean 187 UNIMPL lfs_segwait 188 UNIMPL stat12 189 UNIMPL fstat12 190 UNIMPL lstat12 191 UNIMPL pathconf 192 UNIMPL fpathconf 193 UNIMPL 194 NOARGS { int|linux_sys||getrlimit(int which, \ struct orlimit *rlp); } 195 NOARGS { int|linux_sys||setrlimit(int which, \ const struct orlimit *rlp); } 196 UNIMPL getdirentries 197 UNIMPL mmap 198 UNIMPL __syscall 199 NOARGS { off_t|sys||lseek(int fd, int PAD, off_t offset, \ int whence); } 200 NOARGS { int|sys||truncate(const char *path, int PAD, \ off_t length); } 201 NOARGS { int|sys||ftruncate(int fd, int PAD, off_t length); } 202 UNIMPL __sysctl 203 UNIMPL mlock 204 UNIMPL munlock 205 UNIMPL undelete 206 UNIMPL futimes 207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 208 UNIMPL reboot 209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ int timeout); } ; ; Syscalls 210-219 are reserved for dynamically loaded syscalls ; 210 UNIMPL afssys 211 UNIMPL 212 UNIMPL 213 UNIMPL 214 UNIMPL 215 UNIMPL 216 UNIMPL 217 UNIMPL 218 UNIMPL 219 UNIMPL 220 UNIMPL compat_14_semctl 221 UNIMPL semget 222 UNIMPL semop 223 UNIMPL semconfig 224 UNIMPL compat_14_msgctl 225 UNIMPL msgget 226 UNIMPL msgsnd 227 UNIMPL msgrcv 228 UNIMPL shmat 229 UNIMPL compat_14_shmctl 230 UNIMPL shmdt 231 UNIMPL shmget 232 UNIMPL clock_gettime 233 UNIMPL clock_settime 234 UNIMPL clock_getres 235 UNIMPL timer_create 236 UNIMPL timer_delete 237 UNIMPL timer_settime 238 UNIMPL timer_gettime 239 UNIMPL timer_getoverrun ; ; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls ; 240 UNIMPL nanosleep 241 NOARGS { int|linux_sys||fdatasync(int fd); } 242 UNIMPL mlockall 243 UNIMPL munlockall 244 UNIMPL __sigtimedwait 245 UNIMPL sigqueueinfo 246 UNIMPL modctl 247 UNIMPL _ksem_init 248 UNIMPL _ksem_open 249 UNIMPL _ksem_unlink 250 UNIMPL _ksem_close 251 UNIMPL _ksem_post 252 UNIMPL _ksem_wait 253 UNIMPL _ksem_trywait 254 UNIMPL _ksem_getvalue 255 UNIMPL _ksem_destroy 256 UNIMPL _ksem_timedwait 257 UNIMPL mq_open 258 UNIMPL mq_close 259 UNIMPL mq_unlink 260 UNIMPL mq_getattr 261 UNIMPL mq_setattr 262 UNIMPL mq_notify 263 UNIMPL mq_send 264 UNIMPL mq_receive 265 UNIMPL mq_timedsend 266 UNIMPL mq_timedreceive 267 UNIMPL 268 UNIMPL 269 UNIMPL 270 UNIMPL __posix_rename 271 UNIMPL swapctl 272 UNIMPL getdents 273 UNIMPL minherit 274 UNIMPL lchmod 275 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ gid_t gid); } 276 UNIMPL lutimes 277 UNIMPL msync 278 UNIMPL stat 279 UNIMPL fstat 280 UNIMPL lstat 281 UNIMPL sigaltstack 282 UNIMPL vfork 283 UNIMPL __posix_chown 284 UNIMPL __posix_fchown 285 UNIMPL __posix_lchown 286 NOARGS { pid_t|sys||getsid(pid_t pid); } 287 UNIMPL __clone 288 UNIMPL fktrace 289 UNIMPL { ssize_t|sys||preadv(int fd, \ const struct iovec *iovp, int iovcnt, \ int PAD, off_t offset); } 290 UNIMPL { ssize_t|sys||pwritev(int fd, \ const struct iovec *iovp, int iovcnt, \ int PAD, off_t offset); } 291 UNIMPL sigaction 292 UNIMPL sigpending 293 UNIMPL sigprocmask 294 UNIMPL sigsuspend 295 UNIMPL sigreturn 296 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 297 NOARGS { int|sys||fchroot(int fd); } 298 UNIMPL fhopen 299 UNIMPL fhstat 300 UNIMPL fhstatfs 301 UNIMPL ____semctl13 302 UNIMPL __msgctl13 303 UNIMPL __shmctl13 304 UNIMPL lchflags 305 UNIMPL issetugid 306 UNIMPL utrace 307 UNIMPL getcontext 308 UNIMPL setcontext 309 UNIMPL _lwp_create 310 UNIMPL _lwp_exit 311 UNIMPL _lwp_self 312 UNIMPL _lwp_wait 313 UNIMPL _lwp_suspend 314 UNIMPL _lwp_continue 315 UNIMPL _lwp_wakeup 316 UNIMPL _lwp_getprivate 317 UNIMPL _lwp_setprivate 318 UNIMPL _lwp_kill 319 UNIMPL _lwp_detach 320 UNIMPL _lwp_park 321 UNIMPL _lwp_unpark 322 UNIMPL _lwp_unpark_all 323 UNIMPL _lwp_setname 324 UNIMPL _lwp_getname 325 UNIMPL _lwp_ctl ; Syscalls 326-339 reserved for LWP syscalls. 326 UNIMPL 327 UNIMPL 328 UNIMPL 329 UNIMPL ; SA system calls. 330 UNIMPL sa_register 331 UNIMPL sa_stacks 332 UNIMPL sa_enable 333 UNIMPL sa_setconcurrency 334 UNIMPL sa_yield 335 UNIMPL sa_preempt 336 UNIMPL sys_sa_unblockyield ; ; Syscalls 337-339 are reserved for other scheduler activation syscalls. ; 337 UNIMPL 338 UNIMPL 339 UNIMPL 340 UNIMPL __sigaction_sigtramp 341 UNIMPL pmc_get_info 342 UNIMPL pmc_control 343 UNIMPL rasctl 344 UNIMPL kqueue 345 UNIMPL kevent ; Scheduling system calls. 346 UNIMPL _sched_setparam 347 UNIMPL _sched_getparam 348 UNIMPL _sched_setaffinity 349 UNIMPL _sched_getaffinity 350 UNIMPL sched_yield 351 UNIMPL 352 UNIMPL 353 UNIMPL 354 UNIMPL fsync_range 355 UNIMPL uuidgen 356 UNIMPL getvfsstat 357 UNIMPL statvfs1 358 UNIMPL fstatvfs1 359 UNIMPL fhstatvfs1 360 UNIMPL extattrctl 361 UNIMPL extattr_set_file 362 UNIMPL extattr_get_file 363 UNIMPL extattr_delete_file 364 UNIMPL extattr_set_fd 365 UNIMPL extattr_get_fd 366 UNIMPL extattr_delete_fd 367 UNIMPL extattr_set_link 368 UNIMPL extattr_get_link 369 UNIMPL extattr_delete_link 370 UNIMPL extattr_list_fd 371 UNIMPL extattr_list_file 372 UNIMPL extattr_list_link 373 UNIMPL pselect 374 UNIMPL pollts 375 UNIMPL setxattr 376 UNIMPL lsetxattr 377 UNIMPL fsetxattr 378 UNIMPL getxattr 379 UNIMPL lgetxattr 380 UNIMPL fgetxattr 381 UNIMPL listxattr 382 UNIMPL llistxattr 383 UNIMPL flistxattr 384 UNIMPL removexattr 385 UNIMPL lremovexattr 386 UNIMPL fremovexattr 387 UNIMPL stat30 388 UNIMPL fstat30 389 UNIMPL lstat30 390 NOARGS { int|linux_sys||getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 391 UNIMPL old posix_fadvise 392 UNIMPL fhstat 393 UNIMPL ntp_gettime 394 NOARGS { int|linux_sys||socket(int domain, \ int type, int protocol); } 395 UNIMPL getfh 396 UNIMPL fhopen 397 UNIMPL fhstatvfs1 398 UNIMPL fhstat ; Asynchronous I/O system calls 399 UNIMPL aio_cancel 400 UNIMPL aio_error 401 UNIMPL aio_fsync 402 UNIMPL aio_read 403 UNIMPL aio_return 404 UNIMPL aio_suspend 405 UNIMPL aio_write 406 UNIMPL lio_listio 407 UNIMPL 408 UNIMPL 409 UNIMPL 410 UNIMPL mount 411 UNIMPL mremap ; Processor-sets system calls 412 UNIMPL pset_create 413 UNIMPL pset_destroy 414 UNIMPL pset_assign 415 UNIMPL _pset_bind 416 UNIMPL fadvise 417 NOARGS { int|linux_sys||select(int nd, \ fd_set *in, fd_set *ou, fd_set *ex, \ struct timeval50 *tv); } 418 NOARGS { int|linux_sys||gettimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 419 NOARGS { int|linux_sys||settimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 420 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timveval50 *tptr); } 421 UNIMPL adjtime 422 UNIMPL lfs_segwait 423 NOARGS { int|sys|50|futimes(int fd, \ const struct timeval *tptr); } 424 NOARGS { int|sys|50|lutimes(const char *path, \ const struct timeval *tptr); } 425 UNIMPL setitimer 426 UNIMPL getitimer 427 NOARGS { int|linux_sys||clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 428 NOARGS { int|linux_sys||clock_settime(clockid_t which, \ struct linux_timespec *tp); } 429 NOARGS { int|linux_sys||clock_getres(clockid_t which, \ struct linux_timespec *tp); } 430 NOARGS { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 431 UNIMPL __sigtimedwait 432 UNIMPL mq_timedsend 433 UNIMPL mq_timedreceive 434 UNIMPL _lwp_park 435 UNIMPL kevent 436 UNIMPL pselect 437 NOARGS { int|linux_sys||ppoll(struct pollfd *fds, \ u_int nfds, const struct linux_timespec *timeout, \ const linux_sigset_t *mask);} 438 UNIMPL aio_suspend 439 NOARGS { int|linux_sys||stat64(const char *path, \ struct linux_stat64 *sp); } 440 NOARGS { int|linux_sys||fstat64(int fd, \ struct linux_stat64 *sp); } 441 NOARGS { int|linux_sys||lstat64(const char *path, \ struct linux_stat64 *sp); } 442 UNIMPL __semctl 443 UNIMPL shmctl 444 UNIMPL msgctl 445 UNIMPL getrusage 446 UNIMPL timer_settime 447 UNIMPL timer_gettime 448 UNIMPL ntp_gettime 449 UNIMPL wait4 450 NOARGS { int|linux_sys||mknod(const char *path, mode_t mode, \ int dev); } 451 UNIMPL fhstat ; 452 only ever appeared in 5.99.x and can be reused after netbsd-7 452 UNIMPL 5.99 quotactl 453 NOARGS { int|linux_sys||pipe2(int *pfds, int flags); } 454 NOARGS { int|linux_sys||dup3(int from, int to, int flags); } 455 UNIMPL kqueue1 456 UNIMPL paccept 457 NOARGS { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 458 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 459 UNIMPL mkfifoat 460 STD { int|rump_linux_sys||mknodat(int fd, const char *path, \ mode_t mode, int PAD, unsigned dev); } 461 NOARGS { int|sys||mkdirat(int fd, const char *path, \ mode_t mode); } 462 NOARGS { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } 463 NOARGS { int|linux_sys||fchmodat(int fd, const char *path, \ mode_t mode); } 464 NOARGS { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } 465 UNIMPL fexecve 466 NOARGS { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat *sp, int flag); } 467 NOARGS { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } 468 NOARGS { int|linux_sys||openat(int fd, const char *path, \ int flags, ... mode_t mode); } 469 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 470 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 471 NOARGS { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 472 UNIMPL futimens 473 UNIMPL __quotactl 474 UNIMPL posix_spawn 475 UNIMPL recvmmsg 476 UNIMPL sendmmsg 477 NOARGS { int|linux_sys||clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); }