$NetBSD: syscalls.master,v 1.65 2014/05/31 08:51:19 njoly Exp $ ; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master ; sys/compat/linux/arch/m68k/syscalls.master ; and from Linux's arch/ppc/kernel/misc.S ; ; We have problems for a few syscalls, specially: ; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???). ; ; Expect problems with the following, which have an architecture dependent ; implementation in Linux/powerpc: ; 29 pause ; 42 pipe tested. no problem. ; 59 olduname ; 101 ioperm ; 109 uname ; 117 ipc ; ; Most of syscalls after 182 that were introduced in Linux-2.4 are UNIMPL. ; ; The following are UNIMPL here. The Linux kernel implements them but just logs ; a kernel error and returns -ENOSYS. ; 110 iopl ; 113 vm86 ; 123 modify_ldt ; 198 sys_pciconfig_read ; 199 sys_pciconfig_write ; 200 sys_pciconfig_iobase ; ; Emmanuel Dreyfus ; NetBSD powerpc COMPAT_LINUX 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. ; ; 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 ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; 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. #include #include #include #include #include #include #include #include #include #include #include #include %% 0 NOARGS { int|linux_sys||nosys(void); } syscall 1 STD { int|linux_sys||exit(int rval); } 2 NOARGS { int|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 STD { int|linux_sys||open(const char *path, int flags, \ linux_umode_t mode); } 6 NOARGS { int|sys||close(int fd); } 7 STD { int|linux_sys||waitpid(int pid, int *status, \ int options);} 8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 9 NOARGS { int|sys||link(const char *path, const char *link); } 10 STD { int|linux_sys||unlink(const char *path); } 11 NOARGS { int|sys||execve(const char *path, char **argp, \ char **envp); } 12 NOARGS { int|sys||chdir(const char *path); } 13 STD { int|linux_sys||time(linux_time_t *t); } 14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } 15 NOARGS { int|sys||chmod(const char *path, int mode); } 16 NOARGS { int|sys||__posix_lchown(const char *path, int uid, \ int gid); } 17 OBSOL break 18 OBSOL ostat 19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ int whence); } 20 NOARGS { pid_t|sys||getpid(void); } 21 UNIMPL mount 22 OBSOL umount 23 NOARGS { int|sys||setuid(uid_t uid); } 24 NOARGS { uid_t|sys||getuid(void); } 25 STD { int|linux_sys||stime(linux_time_t *t); } 26 STD { int|linux_sys||ptrace(int request, int pid, \ long addr, long data); } 27 STD { int|linux_sys||alarm(unsigned int secs); } 28 OBSOL ofstat 29 STD { int|linux_sys||pause(void); } 30 STD { int|linux_sys||utime(const char *path, \ struct linux_utimbuf *times); } 31 OBSOL stty 32 OBSOL gtty 33 NOARGS { int|sys||access(const char *path, int flags); } 34 STD { int|linux_sys||nice(int incr); } 35 OBSOL ftime 36 NOARGS { int|sys||sync(void); } 37 STD { int|linux_sys||kill(int pid, int signum); } 38 NOARGS { int|sys||__posix_rename(const char *from, \ const char *to); } 39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 40 NOARGS { int|sys||rmdir(const char *path); } 41 NOARGS { int|sys||dup(int fd); } 42 STD { int|linux_sys||pipe(int *pfds); } 43 STD { int|linux_sys||times(struct times *tms); } 44 OBSOL prof 45 STD { int|linux_sys||brk(char *nsize); } 46 NOARGS { int|sys||setgid(gid_t gid); } 47 NOARGS { gid_t|sys||getgid(void); } 48 STD { int|linux_sys||signal(int signum, \ linux_handler_t handler); } 49 NOARGS { uid_t|sys||geteuid(void); } 50 NOARGS { gid_t|sys||getegid(void); } 51 NOARGS { int|sys||acct(char *path); } 52 UNIMPL umount 53 OBSOL lock 54 STD { int|linux_sys||ioctl(int fd, u_long com, \ void *data); } 55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 56 OBSOL mpx 57 NOARGS { int|sys||setpgid(int pid, int pgid); } 58 OBSOL ulimit 59 STD { int|linux_sys||olduname(struct linux_old_utsname \ *up); } 60 NOARGS { int|sys||umask(int newmask); } 61 NOARGS { int|sys||chroot(char *path); } 62 UNIMPL ustat 63 NOARGS { int|sys||dup2(int from, int to); } 64 NOARGS { pid_t|sys||getppid(void); } 65 NOARGS { int|sys||getpgrp(void); } 66 NOARGS { int|sys||setsid(void); } 67 STD { int|linux_sys||sigaction(int signum, \ const struct linux_old_sigaction *nsa, \ struct linux_old_sigaction *osa); } 68 STD { int|linux_sys||siggetmask(void); } 69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 70 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 71 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 72 STD { int|linux_sys||sigsuspend(void *restart, \ int oldmask, int mask); } 73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ u_int len);} 75 STD { int|linux_sys||setrlimit(u_int which, \ struct orlimit *rlp); } 76 STD { int|linux_sys||getrlimit(u_int which, \ struct orlimit *rlp); } 77 NOARGS { int|compat_50_sys||getrusage(int who, \ struct rusage50 *rusage); } 78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 80 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 81 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 82 STD { int|linux_sys||select(int nfds, fd_set* readfds, \ fd_set* writefds, fd_set* exceptfds, \ struct timeval50 *timeout); } 83 NOARGS { int|sys||symlink(const char *path, const char *to); } 84 NOARGS { int|compat_43_sys||lstat(const char *path, \ struct stat43 *up); } oolstat 85 NOARGS { int|sys||readlink(const char *name, char *buf, \ int count); } #ifdef EXEC_AOUT 86 STD { int|linux_sys||uselib(const char *path); } #else 86 UNIMPL sys_uselib #endif 87 STD { int|linux_sys||swapon(char *name); } 88 STD { int|linux_sys||reboot(int magic1, int magic2, \ int cmd, void *arg); } 89 STD { int|linux_sys||readdir(int fd, void *dent, \ unsigned int count); } 90 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ int prot, int flags, int fd, linux_off_t offset); } 91 NOARGS { int|sys||munmap(void *addr, size_t len); } 92 NOARGS { int|compat_43_sys||truncate(const char *path, \ long length); } 93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 95 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } 96 STD { int|linux_sys||getpriority(int which, int who); } 97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 98 NOARGS { int|sys||profil(void *samples, u_int size, \ u_int offset, u_int scale); } 99 STD { int|linux_sys||statfs(const char *path, \ struct linux_statfs *sp); } 100 STD { int|linux_sys||fstatfs(int fd, \ struct linux_statfs *sp); } 101 UNIMPL ioperm 102 STD { int|linux_sys||socketcall(int what, void *args); } 103 UNIMPL syslog 104 NOARGS { int|compat_50_sys||setitimer(int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 105 NOARGS { int|compat_50_sys||getitimer(int which, \ struct itimerval50 *itv); } 106 STD { int|linux_sys||stat(const char *path, \ struct linux_stat *sp); } 107 STD { int|linux_sys||lstat(const char *path, \ struct linux_stat *sp); } 108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 109 STD { int|linux_sys||uname(struct linux_utsname *up); } 110 UNIMPL iopl 111 UNIMPL vhangup 112 UNIMPL idle 113 UNIMPL vm86old 114 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 115 STD { int|linux_sys||swapoff(const char *path); } 116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ void *ptr); } 118 NOARGS { int|sys||fsync(int fd); } 119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 120 STD { int|linux_sys||clone(int flags, void *stack, \ void *parent_tidptr, void *tls, void *child_tidptr); } 121 STD { int|linux_sys||setdomainname(char *domainname, \ int len); } 122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 123 UNIMPL modify_ldt 124 UNIMPL adjtimex 125 STD { int|linux_sys||mprotect(const void *start, \ unsigned long len, int prot); } 126 STD { int|linux_sys||sigprocmask(int how, \ const linux_old_sigset_t *set, \ linux_old_sigset_t *oset); } 127 UNIMPL create_module 128 UNIMPL init_module 129 UNIMPL delete_module 130 UNIMPL get_kernel_syms 131 UNIMPL quotactl 132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 133 NOARGS { int|sys||fchdir(int fd); } 134 UNIMPL bdflush 135 UNIMPL sysfs 136 STD { int|linux_sys||personality(unsigned long per); } 137 UNIMPL afs_syscall 138 STD { int|linux_sys||setfsuid(uid_t uid); } 139 STD { int|linux_sys||setfsgid(gid_t gid); } 140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ u_int32_t olow, void *res, int whence); } 141 STD { int|linux_sys||getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 142 STD { int|linux_sys||new_select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval50 *timeout); } 143 NOARGS { int|sys||flock(int fd, int how); } 144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 145 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 146 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } 147 NOARGS { pid_t|sys||getsid(pid_t pid); } 148 STD { int|linux_sys||fdatasync(int fd); } 149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 150 NOARGS { int|sys||mlock(void *addr, size_t len); } 151 NOARGS { int|sys||munlock(void *addr, size_t len); } 152 NOARGS { int|sys||mlockall(int flags); } 153 NOARGS { int|sys||munlockall(void); } 154 STD { int|linux_sys||sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 155 STD { int|linux_sys||sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 158 STD { int|linux_sys||sched_yield(void); } 159 STD { int|linux_sys||sched_get_priority_max(int policy); } 160 STD { int|linux_sys||sched_get_priority_min(int policy); } 161 UNIMPL sched_rr_get_interval 162 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 163 STD { void *|linux_sys||mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 164 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 165 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 166 UNIMPL query_module 167 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ int timeout); } 168 UNIMPL nfsservctl 169 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 170 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 171 UNIMPL prctl 172 STD { int|linux_sys||rt_sigreturn( \ struct linux_rt_sigframe *sfp); } 173 STD { int|linux_sys||rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 174 STD { int|linux_sys||rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 175 STD { int|linux_sys||rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 176 STD { int|linux_sys||rt_sigtimedwait( \ const linux_sigset_t *set, \ linux_siginfo_t *info, \ const struct linux_timespec *timeout); } 177 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ linux_siginfo_t *uinfo); } 178 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 179 STD { int|linux_sys||pread(int fd, char *buf, \ size_t nbyte, off_t offset); } 180 STD { int|linux_sys||pwrite(int fd, char *buf, \ size_t nbyte, off_t offset); } 181 NOARGS { int|sys||__posix_chown(const char *path, \ int uid, int gid); } 182 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 183 UNIMPL capget 184 UNIMPL capset 185 STD { int|linux_sys||sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 186 UNIMPL sendfile 187 UNIMPL getpmsg 188 UNIMPL putpmsg 189 NOARGS { int|sys|14|vfork(void); } 190 STD { int|linux_sys||ugetrlimit(int which, \ struct rlimit *rlp); } 191 UNIMPL /* unused */ #define linux_sys_mmap2_args linux_sys_mmap_args 192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } 193 STD { int|linux_sys||truncate64(const char *path, \ off_t length); } 194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ off_t length); } 195 STD { int|linux_sys||stat64(const char *path, \ struct linux_stat64 *sp); } 196 STD { int|linux_sys||lstat64(const char *path, \ struct linux_stat64 *sp); } 197 STD { int|linux_sys||fstat64(int fd, \ struct linux_stat64 *sp); } 198 UNIMPL sys_pciconfig_read 199 UNIMPL sys_pciconfig_write 200 UNIMPL sys_pciconfig_iobase 201 UNIMPL /* Unused (MacOnLinux project) */ 202 STD { int|linux_sys||getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 203 UNIMPL pivot_root 204 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 205 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 206 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 207 NOARGS { pid_t|linux_sys||gettid(void); } 208 STD { int|linux_sys||tkill(int tid, int sig); } 209 STD { int|linux_sys||setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 210 STD { int|linux_sys||lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 211 STD { int|linux_sys||fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 212 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ void *value, size_t size); } 213 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ void *value, size_t size); } 214 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ void *value, size_t size); } 215 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ size_t size); } 216 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ size_t size); } 217 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ size_t size); } 218 STD { int|linux_sys||removexattr(char *path, char *name); } 219 STD { int|linux_sys||lremovexattr(char *path, char *name); } 220 STD { int|linux_sys||fremovexattr(int fd, char *name); } 221 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 222 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 223 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 224 UNIMPL /* unused */ 225 UNIMPL tuxcall 226 UNIMPL sendfile64 227 UNIMPL io_setup 228 UNIMPL io_destroy 229 UNIMPL io_getevents 230 UNIMPL io_submit 231 UNIMPL io_cancel 232 STD { int|linux_sys||set_tid_address(int *tid); } 233 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ size_t len, int advice); } 234 STD { int|linux_sys||exit_group(int error_code); } 235 UNIMPL lookup_dcookie 236 UNIMPL epoll_create 237 UNIMPL epoll_ctl 238 UNIMPL epoll_wait 239 UNIMPL remap_file_pages 240 UNIMPL timer_create 241 UNIMPL timer_settime 242 UNIMPL timer_gettime 243 UNIMPL timer_getoverrun 244 UNIMPL timer_delete 245 STD { int|linux_sys||clock_settime(clockid_t which, \ struct linux_timespec *tp); } 246 STD { int|linux_sys||clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 247 STD { int|linux_sys||clock_getres(clockid_t which, \ struct linux_timespec *tp); } 248 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 249 UNIMPL swapcontext 250 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 251 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } 252 STD { int|linux_sys||statfs64(const char *path, \ size_t sz, struct linux_statfs64 *sp); } 253 STD { int|linux_sys||fstatfs64(int fd, \ size_t sz, struct linux_statfs64 *sp); } 254 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ off_t len, int advice); } 255 UNIMPL rtas 256 UNIMPL /* reserved for sys_debug_setcontext */ 257 UNIMPL /* reserved for vserver */ 258 UNIMPL /* reserved for new sys_remap_file_pages */ 259 UNIMPL /* reserved for new sys_mbind */ 260 UNIMPL /* reserved for new sys_get_mempolicy */ 261 UNIMPL /* reserved for new sys_set_mempolicy */ 262 UNIMPL mq_open 263 UNIMPL mq_unlink 264 UNIMPL mq_timedsend 265 UNIMPL mq_timedreceive 266 UNIMPL mq_notify 267 UNIMPL mq_getsetattr 268 UNIMPL kexec_load 269 UNIMPL add_key 270 UNIMPL request_key 271 UNIMPL keyctl 272 UNIMPL waitid 273 UNIMPL ioprio_set 274 UNIMPL ioprio_get 275 UNIMPL inotify_init 276 UNIMPL inotify_add_watch 277 UNIMPL inotify_rm_watch 278 UNIMPL spu_run 279 UNIMPL spu_create 280 UNIMPL pselect6 281 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } 282 UNIMPL unshare 283 UNIMPL splice 284 UNIMPL tee 285 UNIMPL vmsplice 286 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 287 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 288 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 289 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } 290 UNIMPL futimesat 291 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat64 *sp, int flag); } 292 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 293 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 294 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 295 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 296 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 297 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 298 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } 299 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 300 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 301 UNIMPL move_pages 302 UNIMPL getcpu 303 UNIMPL epoll_wait 304 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } 305 UNIMPL signalfd 306 UNIMPL timerfd_create 307 UNIMPL eventfd 308 UNIMPL sync_file_range2 309 UNIMPL fallocate 310 UNIMPL subpage_prot 311 UNIMPL timerfd_settime 312 UNIMPL timerfd_gettime 313 UNIMPL signalfd4 314 UNIMPL eventfd2 315 UNIMPL epoll_create1 316 STD { int|linux_sys||dup3(int from, int to, int flags); } 317 STD { int|linux_sys||pipe2(int *pfds, int flags); } 318 UNIMPL inotify_init1 319 UNIMPL perf_event_open 320 UNIMPL preadv 321 UNIMPL pwritev 322 UNIMPL rt_tgsigqueueinfo