1 $NetBSD: syscalls.master,v 1.65 2014/05/31 08:51:19 njoly Exp $ 2 3; @(#)syscalls.master 8.1 (Berkeley) 7/19/93 4 5; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master 6; sys/compat/linux/arch/m68k/syscalls.master 7; and from Linux's arch/ppc/kernel/misc.S 8; 9; We have problems for a few syscalls, specially: 10; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???). 11; 12; Expect problems with the following, which have an architecture dependent 13; implementation in Linux/powerpc: 14; 29 pause 15; 42 pipe tested. no problem. 16; 59 olduname 17; 101 ioperm 18; 109 uname 19; 117 ipc 20; 21; Most of syscalls after 182 that were introduced in Linux-2.4 are UNIMPL. 22; 23; The following are UNIMPL here. The Linux kernel implements them but just logs 24; a kernel error and returns -ENOSYS. 25; 110 iopl 26; 113 vm86 27; 123 modify_ldt 28; 198 sys_pciconfig_read 29; 199 sys_pciconfig_write 30; 200 sys_pciconfig_iobase 31; 32; Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr> 33 34; NetBSD powerpc COMPAT_LINUX system call name/number "master" file. 35; (See syscalls.conf to see what it is processed into.) 36; 37; Fields: number type [type-dependent ...] 38; number system call number, must be in order 39; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 40; the compatibility options defined in syscalls.conf. 41; 42; types: 43; STD always included 44; OBSOL obsolete, not included in system 45; UNIMPL unimplemented, not included in system 46; NODEF included, but don't define the syscall number 47; NOARGS included, but don't define the syscall args structure 48; INDIR included, but don't define the syscall args structure 49; and allow it to be "really" varargs. 50; 51; The compat options are defined in the syscalls.conf file, and the 52; compat option name is prefixed to the syscall name. Other than 53; that, they're like NODEF (for 'compat' options), or STD (for 54; 'libcompat' options). 55; 56; The type-dependent arguments are as follows: 57; For STD, NODEF, NOARGS, and compat syscalls: 58; { pseudo-proto } [alias] 59; For other syscalls: 60; [comment] 61; 62; #ifdef's, etc. may be included, and are copied to the output files. 63; #include's are copied to the syscall names and switch definition files only. 64 65#include <sys/param.h> 66#include <sys/poll.h> 67#include <sys/systm.h> 68#include <sys/signal.h> 69#include <sys/mount.h> 70#include <sys/syscallargs.h> 71 72#include <compat/linux/common/linux_types.h> 73#include <compat/linux/common/linux_signal.h> 74#include <compat/linux/common/linux_siginfo.h> 75#include <compat/linux/common/linux_machdep.h> 76#include <compat/linux/common/linux_mmap.h> 77 78#include <compat/linux/linux_syscallargs.h> 79 80%% 81 820 NOARGS { int|linux_sys||nosys(void); } syscall 831 STD { int|linux_sys||exit(int rval); } 842 NOARGS { int|sys||fork(void); } 853 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 864 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 87 size_t nbyte); } 885 STD { int|linux_sys||open(const char *path, int flags, \ 89 linux_umode_t mode); } 906 NOARGS { int|sys||close(int fd); } 917 STD { int|linux_sys||waitpid(int pid, int *status, \ 92 int options);} 938 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 949 NOARGS { int|sys||link(const char *path, const char *link); } 9510 STD { int|linux_sys||unlink(const char *path); } 9611 NOARGS { int|sys||execve(const char *path, char **argp, \ 97 char **envp); } 9812 NOARGS { int|sys||chdir(const char *path); } 9913 STD { int|linux_sys||time(linux_time_t *t); } 10014 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 101 unsigned dev); } 10215 NOARGS { int|sys||chmod(const char *path, int mode); } 10316 NOARGS { int|sys||__posix_lchown(const char *path, int uid, \ 104 int gid); } 10517 OBSOL break 10618 OBSOL ostat 10719 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 108 int whence); } 10920 NOARGS { pid_t|sys||getpid(void); } 11021 UNIMPL mount 11122 OBSOL umount 11223 NOARGS { int|sys||setuid(uid_t uid); } 11324 NOARGS { uid_t|sys||getuid(void); } 11425 STD { int|linux_sys||stime(linux_time_t *t); } 11526 STD { int|linux_sys||ptrace(int request, int pid, \ 116 long addr, long data); } 11727 STD { int|linux_sys||alarm(unsigned int secs); } 11828 OBSOL ofstat 11929 STD { int|linux_sys||pause(void); } 12030 STD { int|linux_sys||utime(const char *path, \ 121 struct linux_utimbuf *times); } 12231 OBSOL stty 12332 OBSOL gtty 12433 NOARGS { int|sys||access(const char *path, int flags); } 12534 STD { int|linux_sys||nice(int incr); } 12635 OBSOL ftime 12736 NOARGS { int|sys||sync(void); } 12837 STD { int|linux_sys||kill(int pid, int signum); } 12938 NOARGS { int|sys||__posix_rename(const char *from, \ 130 const char *to); } 13139 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 13240 NOARGS { int|sys||rmdir(const char *path); } 13341 NOARGS { int|sys||dup(int fd); } 13442 STD { int|linux_sys||pipe(int *pfds); } 13543 STD { int|linux_sys||times(struct times *tms); } 13644 OBSOL prof 13745 STD { int|linux_sys||brk(char *nsize); } 13846 NOARGS { int|sys||setgid(gid_t gid); } 13947 NOARGS { gid_t|sys||getgid(void); } 14048 STD { int|linux_sys||signal(int signum, \ 141 linux_handler_t handler); } 14249 NOARGS { uid_t|sys||geteuid(void); } 14350 NOARGS { gid_t|sys||getegid(void); } 14451 NOARGS { int|sys||acct(char *path); } 14552 UNIMPL umount 14653 OBSOL lock 14754 STD { int|linux_sys||ioctl(int fd, u_long com, \ 148 void *data); } 14955 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 15056 OBSOL mpx 15157 NOARGS { int|sys||setpgid(int pid, int pgid); } 15258 OBSOL ulimit 15359 STD { int|linux_sys||olduname(struct linux_old_utsname \ 154 *up); } 15560 NOARGS { int|sys||umask(int newmask); } 15661 NOARGS { int|sys||chroot(char *path); } 15762 UNIMPL ustat 15863 NOARGS { int|sys||dup2(int from, int to); } 15964 NOARGS { pid_t|sys||getppid(void); } 16065 NOARGS { int|sys||getpgrp(void); } 16166 NOARGS { int|sys||setsid(void); } 16267 STD { int|linux_sys||sigaction(int signum, \ 163 const struct linux_old_sigaction *nsa, \ 164 struct linux_old_sigaction *osa); } 16568 STD { int|linux_sys||siggetmask(void); } 16669 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 16770 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 16871 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 16972 STD { int|linux_sys||sigsuspend(void *restart, \ 170 int oldmask, int mask); } 17173 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 17274 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 173 u_int len);} 17475 STD { int|linux_sys||setrlimit(u_int which, \ 175 struct orlimit *rlp); } 17676 STD { int|linux_sys||getrlimit(u_int which, \ 177 struct orlimit *rlp); } 17877 NOARGS { int|compat_50_sys||getrusage(int who, \ 179 struct rusage50 *rusage); } 18078 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 181 struct timezone *tzp); } 18279 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 183 struct timezone *tzp); } 18480 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 18581 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 18682 STD { int|linux_sys||select(int nfds, fd_set* readfds, \ 187 fd_set* writefds, fd_set* exceptfds, \ 188 struct timeval50 *timeout); } 18983 NOARGS { int|sys||symlink(const char *path, const char *to); } 19084 NOARGS { int|compat_43_sys||lstat(const char *path, \ 191 struct stat43 *up); } oolstat 19285 NOARGS { int|sys||readlink(const char *name, char *buf, \ 193 int count); } 194#ifdef EXEC_AOUT 19586 STD { int|linux_sys||uselib(const char *path); } 196#else 19786 UNIMPL sys_uselib 198#endif 19987 STD { int|linux_sys||swapon(char *name); } 20088 STD { int|linux_sys||reboot(int magic1, int magic2, \ 201 int cmd, void *arg); } 20289 STD { int|linux_sys||readdir(int fd, void *dent, \ 203 unsigned int count); } 20490 NOARGS { int|linux_sys||mmap(unsigned long addr, size_t len, \ 205 int prot, int flags, int fd, linux_off_t offset); } 20691 NOARGS { int|sys||munmap(void *addr, size_t len); } 20792 NOARGS { int|compat_43_sys||truncate(const char *path, \ 208 long length); } 20993 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 21094 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 21195 NOARGS { int|sys||__posix_fchown(int fd, int uid, int gid); } 21296 STD { int|linux_sys||getpriority(int which, int who); } 21397 NOARGS { int|sys||setpriority(int which, int who, int prio); } 21498 NOARGS { int|sys||profil(void *samples, u_int size, \ 215 u_int offset, u_int scale); } 21699 STD { int|linux_sys||statfs(const char *path, \ 217 struct linux_statfs *sp); } 218100 STD { int|linux_sys||fstatfs(int fd, \ 219 struct linux_statfs *sp); } 220101 UNIMPL ioperm 221102 STD { int|linux_sys||socketcall(int what, void *args); } 222103 UNIMPL syslog 223104 NOARGS { int|compat_50_sys||setitimer(int which, \ 224 struct itimerval50 *itv, \ 225 struct itimerval50 *oitv); } 226105 NOARGS { int|compat_50_sys||getitimer(int which, \ 227 struct itimerval50 *itv); } 228106 STD { int|linux_sys||stat(const char *path, \ 229 struct linux_stat *sp); } 230107 STD { int|linux_sys||lstat(const char *path, \ 231 struct linux_stat *sp); } 232108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 233109 STD { int|linux_sys||uname(struct linux_utsname *up); } 234110 UNIMPL iopl 235111 UNIMPL vhangup 236112 UNIMPL idle 237113 UNIMPL vm86old 238114 STD { int|linux_sys||wait4(int pid, int *status, \ 239 int options, struct rusage50 *rusage); } 240115 STD { int|linux_sys||swapoff(const char *path); } 241116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 242117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 243 void *ptr); } 244118 NOARGS { int|sys||fsync(int fd); } 245119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 246120 STD { int|linux_sys||clone(int flags, void *stack, \ 247 void *parent_tidptr, void *tls, void *child_tidptr); } 248121 STD { int|linux_sys||setdomainname(char *domainname, \ 249 int len); } 250122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 251123 UNIMPL modify_ldt 252124 UNIMPL adjtimex 253125 STD { int|linux_sys||mprotect(const void *start, \ 254 unsigned long len, int prot); } 255126 STD { int|linux_sys||sigprocmask(int how, \ 256 const linux_old_sigset_t *set, \ 257 linux_old_sigset_t *oset); } 258127 UNIMPL create_module 259128 UNIMPL init_module 260129 UNIMPL delete_module 261130 UNIMPL get_kernel_syms 262131 UNIMPL quotactl 263132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 264133 NOARGS { int|sys||fchdir(int fd); } 265134 UNIMPL bdflush 266135 UNIMPL sysfs 267136 STD { int|linux_sys||personality(unsigned long per); } 268137 UNIMPL afs_syscall 269138 STD { int|linux_sys||setfsuid(uid_t uid); } 270139 STD { int|linux_sys||setfsgid(gid_t gid); } 271140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 272 u_int32_t olow, void *res, int whence); } 273141 STD { int|linux_sys||getdents(int fd, \ 274 struct linux_dirent *dent, unsigned int count); } 275142 STD { int|linux_sys||new_select(int nfds, fd_set *readfds, \ 276 fd_set *writefds, fd_set *exceptfds, \ 277 struct timeval50 *timeout); } 278143 NOARGS { int|sys||flock(int fd, int how); } 279144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 280145 NOARGS { ssize_t|sys||readv(int fd, \ 281 const struct iovec *iovp, int iovcnt); } 282146 NOARGS { ssize_t|sys||writev(int fd, \ 283 const struct iovec *iovp, int iovcnt); } 284147 NOARGS { pid_t|sys||getsid(pid_t pid); } 285148 STD { int|linux_sys||fdatasync(int fd); } 286149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 287150 NOARGS { int|sys||mlock(void *addr, size_t len); } 288151 NOARGS { int|sys||munlock(void *addr, size_t len); } 289152 NOARGS { int|sys||mlockall(int flags); } 290153 NOARGS { int|sys||munlockall(void); } 291154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 292 const struct linux_sched_param *sp); } 293155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 294 struct linux_sched_param *sp); } 295156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 296 int policy, const struct linux_sched_param *sp); } 297157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 298158 STD { int|linux_sys||sched_yield(void); } 299159 STD { int|linux_sys||sched_get_priority_max(int policy); } 300160 STD { int|linux_sys||sched_get_priority_min(int policy); } 301161 UNIMPL sched_rr_get_interval 302162 STD { int|linux_sys||nanosleep( \ 303 const struct linux_timespec *rqtp, \ 304 struct linux_timespec *rmtp); } 305163 STD { void *|linux_sys||mremap(void *old_address, \ 306 size_t old_size, size_t new_size, u_long flags); } 307164 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 308 uid_t suid); } 309165 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 310 uid_t *suid); } 311166 UNIMPL query_module 312167 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 313 int timeout); } 314168 UNIMPL nfsservctl 315169 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 316 gid_t sgid); } 317170 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 318 gid_t *sgid); } 319171 UNIMPL prctl 320172 STD { int|linux_sys||rt_sigreturn( \ 321 struct linux_rt_sigframe *sfp); } 322173 STD { int|linux_sys||rt_sigaction(int signum, \ 323 const struct linux_sigaction *nsa, \ 324 struct linux_sigaction *osa, \ 325 size_t sigsetsize); } 326174 STD { int|linux_sys||rt_sigprocmask(int how, \ 327 const linux_sigset_t *set, \ 328 linux_sigset_t *oset, \ 329 size_t sigsetsize); } 330175 STD { int|linux_sys||rt_sigpending( \ 331 linux_sigset_t *set, \ 332 size_t sigsetsize); } 333176 STD { int|linux_sys||rt_sigtimedwait( \ 334 const linux_sigset_t *set, \ 335 linux_siginfo_t *info, \ 336 const struct linux_timespec *timeout); } 337177 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 338 linux_siginfo_t *uinfo); } 339178 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 340 size_t sigsetsize); } 341179 STD { int|linux_sys||pread(int fd, char *buf, \ 342 size_t nbyte, off_t offset); } 343180 STD { int|linux_sys||pwrite(int fd, char *buf, \ 344 size_t nbyte, off_t offset); } 345181 NOARGS { int|sys||__posix_chown(const char *path, \ 346 int uid, int gid); } 347182 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 348183 UNIMPL capget 349184 UNIMPL capset 350185 STD { int|linux_sys||sigaltstack( \ 351 const struct linux_sigaltstack *ss, \ 352 struct linux_sigaltstack *oss); } 353186 UNIMPL sendfile 354187 UNIMPL getpmsg 355188 UNIMPL putpmsg 356189 NOARGS { int|sys|14|vfork(void); } 357190 STD { int|linux_sys||ugetrlimit(int which, \ 358 struct rlimit *rlp); } 359191 UNIMPL /* unused */ 360#define linux_sys_mmap2_args linux_sys_mmap_args 361192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 362 size_t len, int prot, int flags, int fd, \ 363 linux_off_t offset); } 364193 STD { int|linux_sys||truncate64(const char *path, \ 365 off_t length); } 366194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 367 off_t length); } 368195 STD { int|linux_sys||stat64(const char *path, \ 369 struct linux_stat64 *sp); } 370196 STD { int|linux_sys||lstat64(const char *path, \ 371 struct linux_stat64 *sp); } 372197 STD { int|linux_sys||fstat64(int fd, \ 373 struct linux_stat64 *sp); } 374198 UNIMPL sys_pciconfig_read 375199 UNIMPL sys_pciconfig_write 376200 UNIMPL sys_pciconfig_iobase 377201 UNIMPL /* Unused (MacOnLinux project) */ 378202 STD { int|linux_sys||getdents64(int fd, \ 379 struct linux_dirent64 *dent, unsigned int count); } 380203 UNIMPL pivot_root 381204 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 382205 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 383206 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 384207 NOARGS { pid_t|linux_sys||gettid(void); } 385208 STD { int|linux_sys||tkill(int tid, int sig); } 386209 STD { int|linux_sys||setxattr(char *path, char *name, \ 387 void *value, size_t size, int flags); } 388210 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 389 void *value, size_t size, int flags); } 390211 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 391 void *value, size_t size, int flags); } 392212 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 393 void *value, size_t size); } 394213 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 395 void *value, size_t size); } 396214 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 397 void *value, size_t size); } 398215 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 399 size_t size); } 400216 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 401 size_t size); } 402217 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 403 size_t size); } 404218 STD { int|linux_sys||removexattr(char *path, char *name); } 405219 STD { int|linux_sys||lremovexattr(char *path, char *name); } 406220 STD { int|linux_sys||fremovexattr(int fd, char *name); } 407221 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 408 const struct linux_timespec *timeout, int *uaddr2, \ 409 int val3); } 410222 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 411 unsigned int len, unsigned long *mask); } 412223 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 413 unsigned int len, unsigned long *mask); } 414224 UNIMPL /* unused */ 415225 UNIMPL tuxcall 416226 UNIMPL sendfile64 417227 UNIMPL io_setup 418228 UNIMPL io_destroy 419229 UNIMPL io_getevents 420230 UNIMPL io_submit 421231 UNIMPL io_cancel 422232 STD { int|linux_sys||set_tid_address(int *tid); } 423233 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 424 size_t len, int advice); } 425234 STD { int|linux_sys||exit_group(int error_code); } 426235 UNIMPL lookup_dcookie 427236 UNIMPL epoll_create 428237 UNIMPL epoll_ctl 429238 UNIMPL epoll_wait 430239 UNIMPL remap_file_pages 431240 UNIMPL timer_create 432241 UNIMPL timer_settime 433242 UNIMPL timer_gettime 434243 UNIMPL timer_getoverrun 435244 UNIMPL timer_delete 436245 STD { int|linux_sys||clock_settime(clockid_t which, \ 437 struct linux_timespec *tp); } 438246 STD { int|linux_sys||clock_gettime(clockid_t which, \ 439 struct linux_timespec *tp); } 440247 STD { int|linux_sys||clock_getres(clockid_t which, \ 441 struct linux_timespec *tp); } 442248 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 443 int flags, struct linux_timespec *rqtp, \ 444 struct linux_timespec *rmtp); } 445249 UNIMPL swapcontext 446250 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 447251 NOARGS { int|compat_50_sys||utimes(const char *path, \ 448 const struct timeval50 *tptr); } 449252 STD { int|linux_sys||statfs64(const char *path, \ 450 size_t sz, struct linux_statfs64 *sp); } 451253 STD { int|linux_sys||fstatfs64(int fd, \ 452 size_t sz, struct linux_statfs64 *sp); } 453254 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 454 off_t len, int advice); } 455255 UNIMPL rtas 456256 UNIMPL /* reserved for sys_debug_setcontext */ 457257 UNIMPL /* reserved for vserver */ 458258 UNIMPL /* reserved for new sys_remap_file_pages */ 459259 UNIMPL /* reserved for new sys_mbind */ 460260 UNIMPL /* reserved for new sys_get_mempolicy */ 461261 UNIMPL /* reserved for new sys_set_mempolicy */ 462262 UNIMPL mq_open 463263 UNIMPL mq_unlink 464264 UNIMPL mq_timedsend 465265 UNIMPL mq_timedreceive 466266 UNIMPL mq_notify 467267 UNIMPL mq_getsetattr 468268 UNIMPL kexec_load 469269 UNIMPL add_key 470270 UNIMPL request_key 471271 UNIMPL keyctl 472272 UNIMPL waitid 473273 UNIMPL ioprio_set 474274 UNIMPL ioprio_get 475275 UNIMPL inotify_init 476276 UNIMPL inotify_add_watch 477277 UNIMPL inotify_rm_watch 478278 UNIMPL spu_run 479279 UNIMPL spu_create 480280 UNIMPL pselect6 481281 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ 482 struct linux_timespec *timeout, \ 483 linux_sigset_t *sigset); } 484282 UNIMPL unshare 485283 UNIMPL splice 486284 UNIMPL tee 487285 UNIMPL vmsplice 488286 STD { int|linux_sys||openat(int fd, const char *path, \ 489 int flags, ... linux_umode_t mode); } 490287 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 491 linux_umode_t mode); } 492288 STD { int|linux_sys||mknodat(int fd, const char *path, \ 493 linux_umode_t mode, unsigned dev); } 494289 STD { int|linux_sys||fchownat(int fd, const char *path, \ 495 uid_t owner, gid_t group, int flag); } 496290 UNIMPL futimesat 497291 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 498 struct linux_stat64 *sp, int flag); } 499292 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 500 int flag); } 501293 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 502 int tofd, const char *to); } 503294 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 504 int fd2, const char *name2, int flags); } 505295 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 506 const char *path2); } 507296 NOARGS { int|sys||readlinkat(int fd, const char *path, \ 508 char *buf, size_t bufsize); } 509297 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 510 linux_umode_t mode); } 511298 STD { int|linux_sys||faccessat(int fd, const char *path, \ 512 int amode); } 513299 STD { int|linux_sys||set_robust_list( \ 514 struct linux_robust_list_head *head, size_t len); } 515300 STD { int|linux_sys||get_robust_list(int pid, \ 516 struct linux_robust_list_head **head, \ 517 size_t *len); } 518301 UNIMPL move_pages 519302 UNIMPL getcpu 520303 UNIMPL epoll_wait 521304 STD { int|linux_sys||utimensat(int fd, const char *path, \ 522 struct linux_timespec *times, int flag); } 523305 UNIMPL signalfd 524306 UNIMPL timerfd_create 525307 UNIMPL eventfd 526308 UNIMPL sync_file_range2 527309 UNIMPL fallocate 528310 UNIMPL subpage_prot 529311 UNIMPL timerfd_settime 530312 UNIMPL timerfd_gettime 531313 UNIMPL signalfd4 532314 UNIMPL eventfd2 533315 UNIMPL epoll_create1 534316 STD { int|linux_sys||dup3(int from, int to, int flags); } 535317 STD { int|linux_sys||pipe2(int *pfds, int flags); } 536318 UNIMPL inotify_init1 537319 UNIMPL perf_event_open 538320 UNIMPL preadv 539321 UNIMPL pwritev 540322 UNIMPL rt_tgsigqueueinfo 541