1*6ef574d8Snjoly $NetBSD: syscalls.master,v 1.16 2014/05/29 10:41:48 njoly Exp $ 2fd245ed3Spooka 3fd245ed3Spooka; @(#)syscalls.master 8.2 (Berkeley) 1/13/94 4fd245ed3Spooka 5fd245ed3Spooka; NetBSD system call name/number "master" file. 6fd245ed3Spooka; (See syscalls.conf to see what it is processed into.) 7fd245ed3Spooka; 8fd245ed3Spooka; Fields: number type [type-dependent ...] 9fd245ed3Spooka; number system call number, must be in order 10fd245ed3Spooka; type one of NODEF, UNIMPL, or NOARGS 11fd245ed3Spooka; 12fd245ed3Spooka; types: 13fd245ed3Spooka; NODEF always included 14fd245ed3Spooka; UNIMPL unimplemented, not included in system 15fd245ed3Spooka; NODEF included, but don't define the syscall number 16fd245ed3Spooka; NOARGS included, but don't define the syscall args structure 17fd245ed3Spooka; 18fd245ed3Spooka; arguments: 19fd245ed3Spooka; PAD argument not part of the C interface, used only for padding 20fd245ed3Spooka; 21fd245ed3Spooka; 22fd245ed3Spooka; The purpose of this syscalls.master is to map to the Linux types which 23fd245ed3Spooka; are marshalled into the arg structure by the clientside rump_syscalls.c 24fd245ed3Spooka; code in librumpclient. 25fd245ed3Spooka; 26fd245ed3Spooka 27fd245ed3Spooka#include <sys/param.h> 28fd245ed3Spooka#include <sys/systm.h> 29fd245ed3Spooka#include <sys/signal.h> 30fd245ed3Spooka#include <sys/socket.h> 31fd245ed3Spooka#include <sys/mount.h> 32fd245ed3Spooka#include <sys/sched.h> 33fd245ed3Spooka#include <sys/syscallargs.h> 34fd245ed3Spooka 35fd245ed3Spooka#include <compat/linux/common/linux_types.h> 36fd245ed3Spooka#include <compat/linux/common/linux_signal.h> 37a022633dSnjoly#include <compat/linux/linux_syscallargs.h> 38a022633dSnjoly#include <compat/linux/linux_syscall.h> 39a022633dSnjoly 40a022633dSnjoly#ifdef LINUX_SYS_socketcall 41a022633dSnjoly#include <compat/linux/common/linux_socketcall.h> 42a022633dSnjoly#endif 43fd245ed3Spooka 44fd245ed3Spooka#include "rump_linux_syscallargs.h" 45fd245ed3Spooka 46fd245ed3Spooka%% 47fd245ed3Spooka 48fd245ed3Spooka0 NOARGS { int|linux_sys||nosys(void); } 49fd245ed3Spooka1 UNIMPL exit 50fd245ed3Spooka2 UNIMPL fork 51fd245ed3Spooka3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 52fd245ed3Spooka4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 53fd245ed3Spooka size_t nbyte); } 54a022633dSnjoly5 NOARGS { int|linux_sys||open(const char *path, \ 55fd245ed3Spooka int flags, int mode); } 56fd245ed3Spooka6 NOARGS { int|sys||close(int fd); } 57fd245ed3Spooka7 UNIMPL wait4 58fd245ed3Spooka8 UNIMPL creat 59fd245ed3Spooka9 NOARGS { int|sys||link(const char *path, const char *link); } 60a022633dSnjoly10 NOARGS { int|linux_sys||unlink(const char *path); } 61fd245ed3Spooka11 UNIMPL execv 62fd245ed3Spooka12 NOARGS { int|sys||chdir(const char *path); } 63fd245ed3Spooka13 NOARGS { int|sys||fchdir(int fd); } 64fd245ed3Spooka14 UNIMPL mknod 65fd245ed3Spooka15 NOARGS { int|sys||chmod(const char *path, mode_t mode); } 66fd245ed3Spooka16 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 67fd245ed3Spooka gid_t gid); } 68fd245ed3Spooka17 UNIMPL obreak 69fd245ed3Spooka18 UNIMPL getfsstat 70fd245ed3Spooka19 UNIMPL lseek 71fd245ed3Spooka20 NOARGS { pid_t|sys||getpid_with_ppid(void); } getpid 72fd245ed3Spooka21 UNIMPL mount 73fd245ed3Spooka22 UNIMPL unmount 74fd245ed3Spooka23 NOARGS { int|sys||setuid(uid_t uid); } 75fd245ed3Spooka24 NOARGS { uid_t|sys||getuid_with_euid(void); } getuid 76fd245ed3Spooka25 NOARGS { uid_t|sys||geteuid(void); } 77fd245ed3Spooka26 UNIMPL ptrace 78a022633dSnjoly27 NOARGS { ssize_t|linux_sys||recvmsg(int s, \ 79fd245ed3Spooka struct linux_msghdr *msg, int flags); } 80a022633dSnjoly28 NOARGS { ssize_t|linux_sys||sendmsg(int s, \ 81fd245ed3Spooka const struct linux_msghdr *msg, int flags); } 82a022633dSnjoly29 NOARGS { ssize_t|linux_sys||recvfrom(int s, void *buf, \ 83fd245ed3Spooka int len, int flags, struct osockaddr *from, \ 84fd245ed3Spooka int *fromlenaddr); } 85a022633dSnjoly30 NOARGS { int|linux_sys||accept(int s, struct osockaddr *name, \ 86fd245ed3Spooka int *anamelen); } 87a022633dSnjoly31 NOARGS { int|linux_sys||getpeername(int fdes, \ 88fd245ed3Spooka struct osockaddr *asa, int *alen); } 89a022633dSnjoly32 NOARGS { int|linux_sys||getsockname(int fdes, \ 90fd245ed3Spooka struct osockaddr *asa, int *alen); } 91fd245ed3Spooka33 NOARGS { int|sys||access(const char *path, int flags); } 92fd245ed3Spooka34 UNIMPL chflags 93fd245ed3Spooka35 UNIMPL fchflags 94fd245ed3Spooka36 NOARGS { void|sys||sync(void); } 95fd245ed3Spooka37 UNIMPL kill 96fd245ed3Spooka38 UNIMPL stat 97fd245ed3Spooka39 UNIMPL getppid 98fd245ed3Spooka40 UNIMPL lstat 99fd245ed3Spooka41 NOARGS { int|sys||dup(int fd); } 100fd245ed3Spooka 101fd245ed3Spooka; we mimic the librumpclient calling convention, therefore no linux_sys_pipe 102fd245ed3Spooka42 NOARGS { int|sys||pipe(void); } 103fd245ed3Spooka 104fd245ed3Spooka43 UNIMPL getegid 105fd245ed3Spooka44 UNIMPL profil 106fd245ed3Spooka45 UNIMPL ktrace 107fd245ed3Spooka46 UNIMPL sigaction 108fd245ed3Spooka47 NOARGS { gid_t|sys||getgid_with_egid(void); } getgid 109fd245ed3Spooka48 UNIMPL sigprocmask 110fd245ed3Spooka49 UNIMPL __getlogin 111fd245ed3Spooka50 UNIMPL __setlogin 112fd245ed3Spooka51 UNIMPL acct 113fd245ed3Spooka52 UNIMPL sigpending 114fd245ed3Spooka53 UNIMPL sigaltstack 115a022633dSnjoly54 NOARGS { int|linux_sys||ioctl(int fd, \ 116fd245ed3Spooka u_long com, void *data); } 117fd245ed3Spooka55 UNIMPL reboot 118fd245ed3Spooka56 UNIMPL revoke 119fd245ed3Spooka57 NOARGS { int|sys||symlink(const char *path, \ 120fd245ed3Spooka const char *link); } 121fd245ed3Spooka58 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 122fd245ed3Spooka int count); } 123fd245ed3Spooka59 UNIMPL execve 124fd245ed3Spooka60 NOARGS { mode_t|sys||umask(mode_t newmask); } 125fd245ed3Spooka61 NOARGS { int|sys||chroot(const char *path); } 126fd245ed3Spooka62 UNIMPL fstat43 127fd245ed3Spooka63 UNIMPL getkerninfo 128fd245ed3Spooka64 UNIMPL getpagesize 129fd245ed3Spooka65 UNIMPL msync 130fd245ed3Spooka66 UNIMPL vfork 131fd245ed3Spooka67 UNIMPL vread 132fd245ed3Spooka68 UNIMPL vwrite 133fd245ed3Spooka69 UNIMPL sbrk 134fd245ed3Spooka70 UNIMPL sstk 135fd245ed3Spooka71 UNIMPL mmap 136fd245ed3Spooka72 UNIMPL ovadvise 137fd245ed3Spooka73 UNIMPL munmap 138fd245ed3Spooka74 UNIMPL mprotect 139fd245ed3Spooka75 UNIMPL madvise 140fd245ed3Spooka76 UNIMPL vhangup 141fd245ed3Spooka77 UNIMPL vlimit 142fd245ed3Spooka78 UNIMPL mincore 143fd245ed3Spooka79 NOARGS { int|sys||getgroups(int gidsetsize, \ 144fd245ed3Spooka int *gidset); } 145fd245ed3Spooka80 NOARGS { int|sys||setgroups(int gidsetsize, \ 146fd245ed3Spooka const int *gidset); } 147fd245ed3Spooka81 NOARGS { int|sys||getpgrp(void); } 148fd245ed3Spooka82 NOARGS { int|sys||setpgid(int pid, int pgid); } 149fd245ed3Spooka83 UNIMPL setitimer 150fd245ed3Spooka84 UNIMPL wait 151fd245ed3Spooka85 UNIMPL swapon 152fd245ed3Spooka86 UNIMPL getitimer 153fd245ed3Spooka87 UNIMPL gethostname 154fd245ed3Spooka88 UNIMPL sethostname 155fd245ed3Spooka89 UNIMPL getdtablesize 156fd245ed3Spooka90 NOARGS { int|sys||dup2(int from, int to); } 157fd245ed3Spooka91 UNIMPL getdopt 158a022633dSnjoly92 NOARGS { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 159fd245ed3Spooka93 UNIMPL select 160fd245ed3Spooka94 UNIMPL setdopt 161fd245ed3Spooka95 NOARGS { int|sys||fsync(int fd); } 162fd245ed3Spooka96 UNIMPL setpriority 163fd245ed3Spooka97 UNIMPL socket 164a022633dSnjoly98 NOARGS { int|linux_sys||connect(int s, \ 165fd245ed3Spooka const struct osockaddr *name, \ 166fd245ed3Spooka unsigned int namelen); } 167fd245ed3Spooka99 UNIMPL accept 168fd245ed3Spooka100 UNIMPL getpriority 169fd245ed3Spooka 170fd245ed3Spooka101 UNIMPL send 171fd245ed3Spooka102 UNIMPL recv 172fd245ed3Spooka 173fd245ed3Spooka103 UNIMPL sigreturn 174a022633dSnjoly104 NOARGS { int|linux_sys||bind(int s, \ 175fd245ed3Spooka const struct osockaddr *name, unsigned namelen); } 176a022633dSnjoly105 NOARGS { int|linux_sys||setsockopt(int s, int level, \ 177fd245ed3Spooka int name, const void *val, int optlen); } 178fd245ed3Spooka106 NOARGS { int|sys||listen(int s, int backlog); } 179fd245ed3Spooka107 UNIMPL vtimes 180fd245ed3Spooka108 UNIMPL sigvec 181fd245ed3Spooka109 UNIMPL sigblock 182fd245ed3Spooka110 UNIMPL sigsetmask 183fd245ed3Spooka111 UNIMPL sigsuspend 184fd245ed3Spooka112 UNIMPL sigstack 185fd245ed3Spooka113 UNIMPL orecvmsg 186fd245ed3Spooka114 UNIMPL osendmsg 187fd245ed3Spooka115 UNIMPL vtrace 188fd245ed3Spooka116 UNIMPL gettimeofday 189fd245ed3Spooka117 UNIMPL getrusage 190a022633dSnjoly118 NOARGS { int|linux_sys||getsockopt(int s, int level, \ 191fd245ed3Spooka int name, void *val, int *avalsize); } 192fd245ed3Spooka119 UNIMPL resuba 193fd245ed3Spooka120 NOARGS { ssize_t|sys||readv(int fd, \ 194fd245ed3Spooka const struct iovec *iovp, int iovcnt); } 195fd245ed3Spooka121 NOARGS { ssize_t|sys||writev(int fd, \ 196fd245ed3Spooka const struct iovec *iovp, int iovcnt); } 197fd245ed3Spooka122 UNIMPL settimeofday 198fd245ed3Spooka123 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } 199fd245ed3Spooka124 NOARGS { int|sys||fchmod(int fd, mode_t mode); } 200fd245ed3Spooka125 UNIMPL orecvfrom 201fd245ed3Spooka126 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 202fd245ed3Spooka127 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 203fd245ed3Spooka128 NOARGS { int|sys||__posix_rename(const char *from, \ 204fd245ed3Spooka const char *to); } 205fd245ed3Spooka129 UNIMPL otruncate 206fd245ed3Spooka130 UNIMPL oftruncate 207fd245ed3Spooka131 NOARGS { int|sys||flock(int fd, int how); } 208fd245ed3Spooka132 UNIMPL mkfifo 209a022633dSnjoly133 NOARGS { int|linux_sys||sendto(int s, void *buf, \ 210fd245ed3Spooka int len, int flags, const struct osockaddr *to, \ 211fd245ed3Spooka int tolen); } 212fd245ed3Spooka134 NOARGS { int|sys||shutdown(int s, int how); } 213a022633dSnjoly135 NOARGS { int|linux_sys||socketpair(int domain, int type, \ 214fd245ed3Spooka int protocol, int *rsv); } 215fd245ed3Spooka136 NOARGS { int|sys||mkdir(const char *path, mode_t mode); } 216fd245ed3Spooka137 NOARGS { int|sys||rmdir(const char *path); } 217fd245ed3Spooka138 UNIMPL utimes 218fd245ed3Spooka 219fd245ed3Spooka139 UNIMPL 4.2 sigreturn 220fd245ed3Spooka140 UNIMPL adjtime 221fd245ed3Spooka141 UNIMPL ogetpeername 222fd245ed3Spooka142 UNIMPL ogethostid 223fd245ed3Spooka143 UNIMPL osethostid 224fd245ed3Spooka144 UNIMPL ogetrlimit 225fd245ed3Spooka145 UNIMPL osetrlimit 226fd245ed3Spooka146 UNIMPL okillpg 227fd245ed3Spooka147 NOARGS { int|sys||setsid(void); } 228fd245ed3Spooka148 UNIMPL quotactl 229fd245ed3Spooka149 UNIMPL oquota 230fd245ed3Spooka150 UNIMPL ogetsockname 231fd245ed3Spooka 232fd245ed3Spooka; Syscalls 151-180 inclusive are reserved for vendor-specific 233fd245ed3Spooka; system calls. (This includes various calls added for compatibity 234fd245ed3Spooka; with other Unix variants.) 235fd245ed3Spooka; Some of these calls are now supported by BSD... 236fd245ed3Spooka151 UNIMPL 237fd245ed3Spooka152 UNIMPL 238fd245ed3Spooka153 UNIMPL 239fd245ed3Spooka154 UNIMPL 240fd245ed3Spooka155 UNIMPL nfssvc 241fd245ed3Spooka156 UNIMPL ogetdirentries 242fd245ed3Spooka157 UNIMPL statfs12 243fd245ed3Spooka158 UNIMPL fstatfs12 244fd245ed3Spooka159 UNIMPL 245fd245ed3Spooka160 UNIMPL 246fd245ed3Spooka161 UNIMPL getfh30 247fd245ed3Spooka162 UNIMPL ogetdomainname 248fd245ed3Spooka163 UNIMPL osetdomainname 249fd245ed3Spooka164 UNIMPL ouname 250fd245ed3Spooka165 UNIMPL sysarch 251fd245ed3Spooka166 UNIMPL 252fd245ed3Spooka167 UNIMPL 253fd245ed3Spooka168 UNIMPL 254fd245ed3Spooka169 UNIMPL 1.0 semsys 255fd245ed3Spooka170 UNIMPL 1.0 msgsys 256fd245ed3Spooka171 UNIMPL 1.0 shmsys 257fd245ed3Spooka172 UNIMPL 258d4911614Snjoly173 NOARGS { ssize_t|sys||pread(int fd, char *buf, \ 259470da95eSnjoly size_t nbyte, int PAD, off_t offset); } 260d4911614Snjoly174 NOARGS { ssize_t|sys||pwrite(int fd, char *buf, \ 261470da95eSnjoly size_t nbyte, int PAD, off_t offset); } 262fd245ed3Spooka175 UNIMPL ntp_gettime 263fd245ed3Spooka176 UNIMPL ntp_adjtime 264fd245ed3Spooka177 UNIMPL 265fd245ed3Spooka178 UNIMPL 266fd245ed3Spooka179 UNIMPL 267fd245ed3Spooka180 UNIMPL 268fd245ed3Spooka 269fd245ed3Spooka; Syscalls 180-199 are used by/reserved for BSD 270fd245ed3Spooka181 NOARGS { int|sys||setgid(gid_t gid); } 271fd245ed3Spooka182 NOARGS { int|sys||setegid(gid_t egid); } 272fd245ed3Spooka183 NOARGS { int|sys||seteuid(uid_t euid); } 273fd245ed3Spooka184 UNIMPL lfs_bmapv 274fd245ed3Spooka185 UNIMPL lfs_markv 275fd245ed3Spooka186 UNIMPL lfs_segclean 276fd245ed3Spooka187 UNIMPL lfs_segwait 277fd245ed3Spooka188 UNIMPL stat12 278fd245ed3Spooka189 UNIMPL fstat12 279fd245ed3Spooka190 UNIMPL lstat12 280fd245ed3Spooka191 UNIMPL pathconf 281fd245ed3Spooka192 UNIMPL fpathconf 282fd245ed3Spooka193 UNIMPL 283a022633dSnjoly194 NOARGS { int|linux_sys||getrlimit(int which, \ 284fd245ed3Spooka struct orlimit *rlp); } 285a022633dSnjoly195 NOARGS { int|linux_sys||setrlimit(int which, \ 286fd245ed3Spooka const struct orlimit *rlp); } 287fd245ed3Spooka196 UNIMPL getdirentries 288fd245ed3Spooka197 UNIMPL mmap 289fd245ed3Spooka198 UNIMPL __syscall 290fd245ed3Spooka199 NOARGS { off_t|sys||lseek(int fd, int PAD, off_t offset, \ 291fd245ed3Spooka int whence); } 292fd245ed3Spooka200 NOARGS { int|sys||truncate(const char *path, int PAD, \ 293fd245ed3Spooka off_t length); } 294fd245ed3Spooka201 NOARGS { int|sys||ftruncate(int fd, int PAD, off_t length); } 295fd245ed3Spooka202 UNIMPL __sysctl 296fd245ed3Spooka203 UNIMPL mlock 297fd245ed3Spooka204 UNIMPL munlock 298fd245ed3Spooka205 UNIMPL undelete 299fd245ed3Spooka206 UNIMPL futimes 300fd245ed3Spooka207 NOARGS { pid_t|sys||getpgid(pid_t pid); } 301fd245ed3Spooka208 UNIMPL reboot 302fd245ed3Spooka209 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 303fd245ed3Spooka int timeout); } 304fd245ed3Spooka; 305fd245ed3Spooka; Syscalls 210-219 are reserved for dynamically loaded syscalls 306fd245ed3Spooka; 307fd245ed3Spooka210 UNIMPL afssys 308fd245ed3Spooka211 UNIMPL 309fd245ed3Spooka212 UNIMPL 310fd245ed3Spooka213 UNIMPL 311fd245ed3Spooka214 UNIMPL 312fd245ed3Spooka215 UNIMPL 313fd245ed3Spooka216 UNIMPL 314fd245ed3Spooka217 UNIMPL 315fd245ed3Spooka218 UNIMPL 316fd245ed3Spooka219 UNIMPL 317fd245ed3Spooka220 UNIMPL compat_14_semctl 318fd245ed3Spooka221 UNIMPL semget 319fd245ed3Spooka222 UNIMPL semop 320fd245ed3Spooka223 UNIMPL semconfig 321fd245ed3Spooka224 UNIMPL compat_14_msgctl 322fd245ed3Spooka225 UNIMPL msgget 323fd245ed3Spooka226 UNIMPL msgsnd 324fd245ed3Spooka227 UNIMPL msgrcv 325fd245ed3Spooka228 UNIMPL shmat 326fd245ed3Spooka229 UNIMPL compat_14_shmctl 327fd245ed3Spooka230 UNIMPL shmdt 328fd245ed3Spooka231 UNIMPL shmget 329fd245ed3Spooka 330fd245ed3Spooka232 UNIMPL clock_gettime 331fd245ed3Spooka233 UNIMPL clock_settime 332fd245ed3Spooka234 UNIMPL clock_getres 333fd245ed3Spooka235 UNIMPL timer_create 334fd245ed3Spooka236 UNIMPL timer_delete 335fd245ed3Spooka237 UNIMPL timer_settime 336fd245ed3Spooka238 UNIMPL timer_gettime 337fd245ed3Spooka239 UNIMPL timer_getoverrun 338fd245ed3Spooka; 339fd245ed3Spooka; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls 340fd245ed3Spooka; 341fd245ed3Spooka240 UNIMPL nanosleep 342a022633dSnjoly241 NOARGS { int|linux_sys||fdatasync(int fd); } 343fd245ed3Spooka242 UNIMPL mlockall 344fd245ed3Spooka243 UNIMPL munlockall 345fd245ed3Spooka244 UNIMPL __sigtimedwait 346fd245ed3Spooka245 UNIMPL sigqueueinfo 347fd245ed3Spooka246 UNIMPL modctl 348fd245ed3Spooka247 UNIMPL _ksem_init 349fd245ed3Spooka248 UNIMPL _ksem_open 350fd245ed3Spooka249 UNIMPL _ksem_unlink 351fd245ed3Spooka250 UNIMPL _ksem_close 352fd245ed3Spooka251 UNIMPL _ksem_post 353fd245ed3Spooka252 UNIMPL _ksem_wait 354fd245ed3Spooka253 UNIMPL _ksem_trywait 355fd245ed3Spooka254 UNIMPL _ksem_getvalue 356fd245ed3Spooka255 UNIMPL _ksem_destroy 357fd245ed3Spooka256 UNIMPL _ksem_timedwait 358fd245ed3Spooka 359fd245ed3Spooka257 UNIMPL mq_open 360fd245ed3Spooka258 UNIMPL mq_close 361fd245ed3Spooka259 UNIMPL mq_unlink 362fd245ed3Spooka260 UNIMPL mq_getattr 363fd245ed3Spooka261 UNIMPL mq_setattr 364fd245ed3Spooka262 UNIMPL mq_notify 365fd245ed3Spooka263 UNIMPL mq_send 366fd245ed3Spooka264 UNIMPL mq_receive 367fd245ed3Spooka265 UNIMPL mq_timedsend 368fd245ed3Spooka266 UNIMPL mq_timedreceive 369fd245ed3Spooka267 UNIMPL 370fd245ed3Spooka268 UNIMPL 371fd245ed3Spooka269 UNIMPL 372fd245ed3Spooka270 UNIMPL __posix_rename 373fd245ed3Spooka271 UNIMPL swapctl 374fd245ed3Spooka272 UNIMPL getdents 375fd245ed3Spooka273 UNIMPL minherit 376fd245ed3Spooka274 UNIMPL lchmod 377485190e7Snjoly275 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 378485190e7Snjoly gid_t gid); } 379fd245ed3Spooka276 UNIMPL lutimes 380fd245ed3Spooka277 UNIMPL msync 381fd245ed3Spooka278 UNIMPL stat 382fd245ed3Spooka279 UNIMPL fstat 383fd245ed3Spooka280 UNIMPL lstat 384fd245ed3Spooka281 UNIMPL sigaltstack 385fd245ed3Spooka282 UNIMPL vfork 386fd245ed3Spooka283 UNIMPL __posix_chown 387fd245ed3Spooka284 UNIMPL __posix_fchown 388fd245ed3Spooka285 UNIMPL __posix_lchown 389fd245ed3Spooka286 NOARGS { pid_t|sys||getsid(pid_t pid); } 390fd245ed3Spooka 391fd245ed3Spooka287 UNIMPL __clone 392fd245ed3Spooka288 UNIMPL fktrace 393fd245ed3Spooka289 UNIMPL { ssize_t|sys||preadv(int fd, \ 394fd245ed3Spooka const struct iovec *iovp, int iovcnt, \ 395fd245ed3Spooka int PAD, off_t offset); } 396fd245ed3Spooka290 UNIMPL { ssize_t|sys||pwritev(int fd, \ 397fd245ed3Spooka const struct iovec *iovp, int iovcnt, \ 398fd245ed3Spooka int PAD, off_t offset); } 399fd245ed3Spooka291 UNIMPL sigaction 400fd245ed3Spooka292 UNIMPL sigpending 401fd245ed3Spooka293 UNIMPL sigprocmask 402fd245ed3Spooka294 UNIMPL sigsuspend 403fd245ed3Spooka295 UNIMPL sigreturn 404fd245ed3Spooka296 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 405fd245ed3Spooka297 NOARGS { int|sys||fchroot(int fd); } 406fd245ed3Spooka298 UNIMPL fhopen 407fd245ed3Spooka299 UNIMPL fhstat 408fd245ed3Spooka300 UNIMPL fhstatfs 409fd245ed3Spooka301 UNIMPL ____semctl13 410fd245ed3Spooka302 UNIMPL __msgctl13 411fd245ed3Spooka303 UNIMPL __shmctl13 412fd245ed3Spooka304 UNIMPL lchflags 413fd245ed3Spooka305 UNIMPL issetugid 414fd245ed3Spooka306 UNIMPL utrace 415fd245ed3Spooka307 UNIMPL getcontext 416fd245ed3Spooka308 UNIMPL setcontext 417fd245ed3Spooka309 UNIMPL _lwp_create 418fd245ed3Spooka310 UNIMPL _lwp_exit 419fd245ed3Spooka311 UNIMPL _lwp_self 420fd245ed3Spooka312 UNIMPL _lwp_wait 421fd245ed3Spooka313 UNIMPL _lwp_suspend 422fd245ed3Spooka314 UNIMPL _lwp_continue 423fd245ed3Spooka315 UNIMPL _lwp_wakeup 424fd245ed3Spooka316 UNIMPL _lwp_getprivate 425fd245ed3Spooka317 UNIMPL _lwp_setprivate 426fd245ed3Spooka318 UNIMPL _lwp_kill 427fd245ed3Spooka319 UNIMPL _lwp_detach 428fd245ed3Spooka320 UNIMPL _lwp_park 429fd245ed3Spooka321 UNIMPL _lwp_unpark 430fd245ed3Spooka322 UNIMPL _lwp_unpark_all 431fd245ed3Spooka323 UNIMPL _lwp_setname 432fd245ed3Spooka324 UNIMPL _lwp_getname 433fd245ed3Spooka325 UNIMPL _lwp_ctl 434fd245ed3Spooka 435fd245ed3Spooka; Syscalls 326-339 reserved for LWP syscalls. 436fd245ed3Spooka326 UNIMPL 437fd245ed3Spooka327 UNIMPL 438fd245ed3Spooka328 UNIMPL 439fd245ed3Spooka329 UNIMPL 440fd245ed3Spooka; SA system calls. 441fd245ed3Spooka330 UNIMPL sa_register 442fd245ed3Spooka331 UNIMPL sa_stacks 443fd245ed3Spooka332 UNIMPL sa_enable 444fd245ed3Spooka333 UNIMPL sa_setconcurrency 445fd245ed3Spooka334 UNIMPL sa_yield 446fd245ed3Spooka335 UNIMPL sa_preempt 447fd245ed3Spooka336 UNIMPL sys_sa_unblockyield 448fd245ed3Spooka; 449fd245ed3Spooka; Syscalls 337-339 are reserved for other scheduler activation syscalls. 450fd245ed3Spooka; 451fd245ed3Spooka337 UNIMPL 452fd245ed3Spooka338 UNIMPL 453fd245ed3Spooka339 UNIMPL 454fd245ed3Spooka 455fd245ed3Spooka340 UNIMPL __sigaction_sigtramp 456fd245ed3Spooka341 UNIMPL pmc_get_info 457fd245ed3Spooka342 UNIMPL pmc_control 458fd245ed3Spooka343 UNIMPL rasctl 459fd245ed3Spooka344 UNIMPL kqueue 460fd245ed3Spooka345 UNIMPL kevent 461fd245ed3Spooka 462fd245ed3Spooka; Scheduling system calls. 463fd245ed3Spooka346 UNIMPL _sched_setparam 464fd245ed3Spooka347 UNIMPL _sched_getparam 465fd245ed3Spooka348 UNIMPL _sched_setaffinity 466fd245ed3Spooka349 UNIMPL _sched_getaffinity 467fd245ed3Spooka350 UNIMPL sched_yield 468fd245ed3Spooka351 UNIMPL 469fd245ed3Spooka352 UNIMPL 470fd245ed3Spooka353 UNIMPL 471fd245ed3Spooka 472fd245ed3Spooka354 UNIMPL fsync_range 473fd245ed3Spooka355 UNIMPL uuidgen 474fd245ed3Spooka356 UNIMPL getvfsstat 475fd245ed3Spooka357 UNIMPL statvfs1 476fd245ed3Spooka358 UNIMPL fstatvfs1 477fd245ed3Spooka359 UNIMPL fhstatvfs1 478fd245ed3Spooka360 UNIMPL extattrctl 479fd245ed3Spooka361 UNIMPL extattr_set_file 480fd245ed3Spooka362 UNIMPL extattr_get_file 481fd245ed3Spooka363 UNIMPL extattr_delete_file 482fd245ed3Spooka364 UNIMPL extattr_set_fd 483fd245ed3Spooka365 UNIMPL extattr_get_fd 484fd245ed3Spooka366 UNIMPL extattr_delete_fd 485fd245ed3Spooka367 UNIMPL extattr_set_link 486fd245ed3Spooka368 UNIMPL extattr_get_link 487fd245ed3Spooka369 UNIMPL extattr_delete_link 488fd245ed3Spooka370 UNIMPL extattr_list_fd 489fd245ed3Spooka371 UNIMPL extattr_list_file 490fd245ed3Spooka372 UNIMPL extattr_list_link 491fd245ed3Spooka373 UNIMPL pselect 492fd245ed3Spooka374 UNIMPL pollts 493fd245ed3Spooka375 UNIMPL setxattr 494fd245ed3Spooka376 UNIMPL lsetxattr 495fd245ed3Spooka377 UNIMPL fsetxattr 496fd245ed3Spooka378 UNIMPL getxattr 497fd245ed3Spooka379 UNIMPL lgetxattr 498fd245ed3Spooka380 UNIMPL fgetxattr 499fd245ed3Spooka381 UNIMPL listxattr 500fd245ed3Spooka382 UNIMPL llistxattr 501fd245ed3Spooka383 UNIMPL flistxattr 502fd245ed3Spooka384 UNIMPL removexattr 503fd245ed3Spooka385 UNIMPL lremovexattr 504fd245ed3Spooka386 UNIMPL fremovexattr 505fd245ed3Spooka387 UNIMPL stat30 506fd245ed3Spooka388 UNIMPL fstat30 507fd245ed3Spooka389 UNIMPL lstat30 508a022633dSnjoly390 NOARGS { int|linux_sys||getdents64(int fd, \ 509b29631fcSstacktic struct linux_dirent64 *dent, unsigned int count); } 510fd245ed3Spooka391 UNIMPL old posix_fadvise 511fd245ed3Spooka392 UNIMPL fhstat 512fd245ed3Spooka393 UNIMPL ntp_gettime 513a022633dSnjoly394 NOARGS { int|linux_sys||socket(int domain, \ 514fd245ed3Spooka int type, int protocol); } 515fd245ed3Spooka395 UNIMPL getfh 516fd245ed3Spooka396 UNIMPL fhopen 517fd245ed3Spooka397 UNIMPL fhstatvfs1 518fd245ed3Spooka398 UNIMPL fhstat 519fd245ed3Spooka 520fd245ed3Spooka; Asynchronous I/O system calls 521fd245ed3Spooka399 UNIMPL aio_cancel 522fd245ed3Spooka400 UNIMPL aio_error 523fd245ed3Spooka401 UNIMPL aio_fsync 524fd245ed3Spooka402 UNIMPL aio_read 525fd245ed3Spooka403 UNIMPL aio_return 526fd245ed3Spooka404 UNIMPL aio_suspend 527fd245ed3Spooka405 UNIMPL aio_write 528fd245ed3Spooka406 UNIMPL lio_listio 529fd245ed3Spooka 530fd245ed3Spooka407 UNIMPL 531fd245ed3Spooka408 UNIMPL 532fd245ed3Spooka409 UNIMPL 533fd245ed3Spooka 534fd245ed3Spooka410 UNIMPL mount 535fd245ed3Spooka411 UNIMPL mremap 536fd245ed3Spooka 537fd245ed3Spooka; Processor-sets system calls 538fd245ed3Spooka412 UNIMPL pset_create 539fd245ed3Spooka413 UNIMPL pset_destroy 540fd245ed3Spooka414 UNIMPL pset_assign 541fd245ed3Spooka415 UNIMPL _pset_bind 542fd245ed3Spooka416 UNIMPL fadvise 543a022633dSnjoly417 NOARGS { int|linux_sys||select(int nd, \ 544fd245ed3Spooka fd_set *in, fd_set *ou, fd_set *ex, \ 545fd245ed3Spooka struct timeval50 *tv); } 546faf91a83Snjoly418 NOARGS { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 547faf91a83Snjoly struct timezone *tzp); } 548faf91a83Snjoly419 NOARGS { int|linux_sys||settimeofday(struct timeval50 *tp, \ 549faf91a83Snjoly struct timezone *tzp); } 550*6ef574d8Snjoly420 NOARGS { int|compat_50_sys||utimes(const char *path, \ 551*6ef574d8Snjoly const struct timveval50 *tptr); } 552fd245ed3Spooka421 UNIMPL adjtime 553fd245ed3Spooka422 UNIMPL lfs_segwait 554cc84e677Snjoly423 NOARGS { int|sys|50|futimes(int fd, \ 555cc84e677Snjoly const struct timeval *tptr); } 556cc84e677Snjoly424 NOARGS { int|sys|50|lutimes(const char *path, \ 557cc84e677Snjoly const struct timeval *tptr); } 558fd245ed3Spooka425 UNIMPL setitimer 559fd245ed3Spooka426 UNIMPL getitimer 560faf91a83Snjoly427 NOARGS { int|linux_sys||clock_gettime(clockid_t which, \ 561faf91a83Snjoly struct linux_timespec *tp); } 562faf91a83Snjoly428 NOARGS { int|linux_sys||clock_settime(clockid_t which, \ 563faf91a83Snjoly struct linux_timespec *tp); } 564faf91a83Snjoly429 NOARGS { int|linux_sys||clock_getres(clockid_t which, \ 565faf91a83Snjoly struct linux_timespec *tp); } 566faf91a83Snjoly430 NOARGS { int|linux_sys||nanosleep( \ 567faf91a83Snjoly const struct linux_timespec *rqtp, \ 568faf91a83Snjoly struct linux_timespec *rmtp); } 569fd245ed3Spooka431 UNIMPL __sigtimedwait 570fd245ed3Spooka432 UNIMPL mq_timedsend 571fd245ed3Spooka433 UNIMPL mq_timedreceive 572fd245ed3Spooka434 UNIMPL _lwp_park 573fd245ed3Spooka435 UNIMPL kevent 574fd245ed3Spooka436 UNIMPL pselect 575a022633dSnjoly437 NOARGS { int|linux_sys||ppoll(struct pollfd *fds, \ 576fd245ed3Spooka u_int nfds, const struct linux_timespec *timeout, \ 577fd245ed3Spooka const linux_sigset_t *mask);} 578fd245ed3Spooka438 UNIMPL aio_suspend 579a022633dSnjoly439 NOARGS { int|linux_sys||stat64(const char *path, \ 580fd245ed3Spooka struct linux_stat64 *sp); } 581a022633dSnjoly440 NOARGS { int|linux_sys||fstat64(int fd, \ 582fd245ed3Spooka struct linux_stat64 *sp); } 583a022633dSnjoly441 NOARGS { int|linux_sys||lstat64(const char *path, \ 584aa56b207Sstacktic struct linux_stat64 *sp); } 585fd245ed3Spooka442 UNIMPL __semctl 586fd245ed3Spooka443 UNIMPL shmctl 587fd245ed3Spooka444 UNIMPL msgctl 588fd245ed3Spooka445 UNIMPL getrusage 589fd245ed3Spooka446 UNIMPL timer_settime 590fd245ed3Spooka447 UNIMPL timer_gettime 591fd245ed3Spooka448 UNIMPL ntp_gettime 592fd245ed3Spooka449 UNIMPL wait4 593a022633dSnjoly450 NOARGS { int|linux_sys||mknod(const char *path, mode_t mode, \ 594fd245ed3Spooka int dev); } 595fd245ed3Spooka451 UNIMPL fhstat 596fd245ed3Spooka 597fd245ed3Spooka; 452 only ever appeared in 5.99.x and can be reused after netbsd-7 598fd245ed3Spooka452 UNIMPL 5.99 quotactl 599485190e7Snjoly453 NOARGS { int|linux_sys||pipe2(int *pfds, int flags); } 600a022633dSnjoly454 NOARGS { int|linux_sys||dup3(int from, int to, int flags); } 601fd245ed3Spooka455 UNIMPL kqueue1 602fd245ed3Spooka456 UNIMPL paccept 603a022633dSnjoly457 NOARGS { int|linux_sys||linkat(int fd1, const char *name1, \ 60430c1ae25Snjoly int fd2, const char *name2, int flags); } 60530c1ae25Snjoly458 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 60630c1ae25Snjoly int tofd, const char *to); } 607fd245ed3Spooka459 UNIMPL mkfifoat 6083fa945c0Snjoly460 STD { int|rump_linux_sys||mknodat(int fd, const char *path, \ 6093fa945c0Snjoly mode_t mode, int PAD, unsigned dev); } 61030c1ae25Snjoly461 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 61130c1ae25Snjoly mode_t mode); } 612a022633dSnjoly462 NOARGS { int|linux_sys||faccessat(int fd, const char *path, \ 61330c1ae25Snjoly int amode); } 614a022633dSnjoly463 NOARGS { int|linux_sys||fchmodat(int fd, const char *path, \ 61530c1ae25Snjoly mode_t mode); } 616a022633dSnjoly464 NOARGS { int|linux_sys||fchownat(int fd, const char *path, \ 61730c1ae25Snjoly uid_t owner, gid_t group, int flag); } 618fd245ed3Spooka465 UNIMPL fexecve 619a022633dSnjoly466 NOARGS { int|linux_sys||fstatat64(int fd, const char *path, \ 62030c1ae25Snjoly struct linux_stat *sp, int flag); } 621a022633dSnjoly467 NOARGS { int|linux_sys||utimensat(int fd, const char *path, \ 622acf696a1Snjoly struct linux_timespec *times, int flag); } 623a022633dSnjoly468 NOARGS { int|linux_sys||openat(int fd, const char *path, \ 62430c1ae25Snjoly int flags, ... mode_t mode); } 62530c1ae25Snjoly469 NOARGS { int|sys||readlinkat(int fd, const char *path, \ 62630c1ae25Snjoly char *buf, size_t bufsize); } 62730c1ae25Snjoly470 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 62830c1ae25Snjoly const char *path2); } 629a022633dSnjoly471 NOARGS { int|linux_sys||unlinkat(int fd, const char *path, \ 63030c1ae25Snjoly int flag); } 631fd245ed3Spooka472 UNIMPL futimens 632fd245ed3Spooka473 UNIMPL __quotactl 633fd245ed3Spooka474 UNIMPL posix_spawn 634fd245ed3Spooka475 UNIMPL recvmmsg 635fd245ed3Spooka476 UNIMPL sendmmsg 636faf91a83Snjoly477 NOARGS { int|linux_sys||clock_nanosleep(clockid_t which, \ 637faf91a83Snjoly int flags, struct linux_timespec *rqtp, \ 638faf91a83Snjoly struct linux_timespec *rmtp); } 639