1 $NetBSD: syscalls.master,v 1.69 2016/07/24 13:22:01 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, uid_t uid, \ 104 gid_t 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 { ssize_t|sys||readlink(const char *path, 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, uid_t uid, \ 212 gid_t gid); } 21396 STD { int|linux_sys||getpriority(int which, int who); } 21497 NOARGS { int|sys||setpriority(int which, int who, int prio); } 21598 NOARGS { int|sys||profil(void *samples, u_int size, \ 216 u_int offset, u_int scale); } 21799 STD { int|linux_sys||statfs(const char *path, \ 218 struct linux_statfs *sp); } 219100 STD { int|linux_sys||fstatfs(int fd, \ 220 struct linux_statfs *sp); } 221101 UNIMPL ioperm 222102 STD { int|linux_sys||socketcall(int what, void *args); } 223103 UNIMPL syslog 224104 NOARGS { int|compat_50_sys||setitimer(int which, \ 225 struct itimerval50 *itv, \ 226 struct itimerval50 *oitv); } 227105 NOARGS { int|compat_50_sys||getitimer(int which, \ 228 struct itimerval50 *itv); } 229106 STD { int|linux_sys||stat(const char *path, \ 230 struct linux_stat *sp); } 231107 STD { int|linux_sys||lstat(const char *path, \ 232 struct linux_stat *sp); } 233108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 234109 STD { int|linux_sys||uname(struct linux_utsname *up); } 235110 UNIMPL iopl 236111 UNIMPL vhangup 237112 UNIMPL idle 238113 UNIMPL vm86old 239114 STD { int|linux_sys||wait4(int pid, int *status, \ 240 int options, struct rusage50 *rusage); } 241115 STD { int|linux_sys||swapoff(const char *path); } 242116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 243117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 244 void *ptr); } 245118 NOARGS { int|sys||fsync(int fd); } 246119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 247120 STD { int|linux_sys||clone(int flags, void *stack, \ 248 void *parent_tidptr, void *tls, void *child_tidptr); } 249121 STD { int|linux_sys||setdomainname(char *domainname, \ 250 int len); } 251122 STD { int|linux_sys||new_uname(struct linux_utsname *up); } 252123 UNIMPL modify_ldt 253124 UNIMPL adjtimex 254125 STD { int|linux_sys||mprotect(const void *start, \ 255 unsigned long len, int prot); } 256126 STD { int|linux_sys||sigprocmask(int how, \ 257 const linux_old_sigset_t *set, \ 258 linux_old_sigset_t *oset); } 259127 UNIMPL create_module 260128 UNIMPL init_module 261129 UNIMPL delete_module 262130 UNIMPL get_kernel_syms 263131 UNIMPL quotactl 264132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 265133 NOARGS { int|sys||fchdir(int fd); } 266134 UNIMPL bdflush 267135 UNIMPL sysfs 268136 STD { int|linux_sys||personality(unsigned long per); } 269137 UNIMPL afs_syscall 270138 STD { int|linux_sys||setfsuid(uid_t uid); } 271139 STD { int|linux_sys||setfsgid(gid_t gid); } 272140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 273 u_int32_t olow, void *res, int whence); } 274141 STD { int|linux_sys||getdents(int fd, \ 275 struct linux_dirent *dent, unsigned int count); } 276142 STD { int|linux_sys||new_select(int nfds, fd_set *readfds, \ 277 fd_set *writefds, fd_set *exceptfds, \ 278 struct timeval50 *timeout); } 279143 NOARGS { int|sys||flock(int fd, int how); } 280144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 281145 NOARGS { ssize_t|sys||readv(int fd, \ 282 const struct iovec *iovp, int iovcnt); } 283146 NOARGS { ssize_t|sys||writev(int fd, \ 284 const struct iovec *iovp, int iovcnt); } 285147 NOARGS { pid_t|sys||getsid(pid_t pid); } 286148 STD { int|linux_sys||fdatasync(int fd); } 287149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 288150 NOARGS { int|sys||mlock(void *addr, size_t len); } 289151 NOARGS { int|sys||munlock(void *addr, size_t len); } 290152 NOARGS { int|sys||mlockall(int flags); } 291153 NOARGS { int|sys||munlockall(void); } 292154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 293 const struct linux_sched_param *sp); } 294155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 295 struct linux_sched_param *sp); } 296156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 297 int policy, const struct linux_sched_param *sp); } 298157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 299158 STD { int|linux_sys||sched_yield(void); } 300159 STD { int|linux_sys||sched_get_priority_max(int policy); } 301160 STD { int|linux_sys||sched_get_priority_min(int policy); } 302161 UNIMPL sched_rr_get_interval 303162 STD { int|linux_sys||nanosleep( \ 304 const struct linux_timespec *rqtp, \ 305 struct linux_timespec *rmtp); } 306163 STD { void *|linux_sys||mremap(void *old_address, \ 307 size_t old_size, size_t new_size, u_long flags); } 308164 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ 309 uid_t suid); } 310165 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ 311 uid_t *suid); } 312166 UNIMPL query_module 313167 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 314 int timeout); } 315168 UNIMPL nfsservctl 316169 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ 317 gid_t sgid); } 318170 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ 319 gid_t *sgid); } 320171 UNIMPL prctl 321172 STD { int|linux_sys||rt_sigreturn( \ 322 struct linux_rt_sigframe *sfp); } 323173 STD { int|linux_sys||rt_sigaction(int signum, \ 324 const struct linux_sigaction *nsa, \ 325 struct linux_sigaction *osa, \ 326 size_t sigsetsize); } 327174 STD { int|linux_sys||rt_sigprocmask(int how, \ 328 const linux_sigset_t *set, \ 329 linux_sigset_t *oset, \ 330 size_t sigsetsize); } 331175 STD { int|linux_sys||rt_sigpending( \ 332 linux_sigset_t *set, \ 333 size_t sigsetsize); } 334176 STD { int|linux_sys||rt_sigtimedwait( \ 335 const linux_sigset_t *set, \ 336 linux_siginfo_t *info, \ 337 const struct linux_timespec *timeout); } 338177 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 339 linux_siginfo_t *uinfo); } 340178 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 341 size_t sigsetsize); } 342179 STD { int|linux_sys||pread(int fd, char *buf, \ 343 size_t nbyte, off_t offset); } 344180 STD { int|linux_sys||pwrite(int fd, char *buf, \ 345 size_t nbyte, off_t offset); } 346181 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ 347 gid_t gid); } 348182 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 349183 UNIMPL capget 350184 UNIMPL capset 351185 STD { int|linux_sys||sigaltstack( \ 352 const struct linux_sigaltstack *ss, \ 353 struct linux_sigaltstack *oss); } 354186 UNIMPL sendfile 355187 UNIMPL getpmsg 356188 UNIMPL putpmsg 357189 NOARGS { int|sys|14|vfork(void); } 358190 STD { int|linux_sys||ugetrlimit(int which, \ 359 struct rlimit *rlp); } 360191 UNIMPL /* unused */ 361#define linux_sys_mmap2_args linux_sys_mmap_args 362192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 363 size_t len, int prot, int flags, int fd, \ 364 linux_off_t offset); } 365193 STD { int|linux_sys||truncate64(const char *path, \ 366 off_t length); } 367194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 368 off_t length); } 369195 STD { int|linux_sys||stat64(const char *path, \ 370 struct linux_stat64 *sp); } 371196 STD { int|linux_sys||lstat64(const char *path, \ 372 struct linux_stat64 *sp); } 373197 STD { int|linux_sys||fstat64(int fd, \ 374 struct linux_stat64 *sp); } 375198 UNIMPL sys_pciconfig_read 376199 UNIMPL sys_pciconfig_write 377200 UNIMPL sys_pciconfig_iobase 378201 UNIMPL /* Unused (MacOnLinux project) */ 379202 STD { int|linux_sys||getdents64(int fd, \ 380 struct linux_dirent64 *dent, unsigned int count); } 381203 UNIMPL pivot_root 382204 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 383205 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 384206 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 385207 NOARGS { pid_t|linux_sys||gettid(void); } 386208 STD { int|linux_sys||tkill(int tid, int sig); } 387209 STD { int|linux_sys||setxattr(char *path, char *name, \ 388 void *value, size_t size, int flags); } 389210 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 390 void *value, size_t size, int flags); } 391211 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 392 void *value, size_t size, int flags); } 393212 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 394 void *value, size_t size); } 395213 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 396 void *value, size_t size); } 397214 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 398 void *value, size_t size); } 399215 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 400 size_t size); } 401216 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 402 size_t size); } 403217 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 404 size_t size); } 405218 STD { int|linux_sys||removexattr(char *path, char *name); } 406219 STD { int|linux_sys||lremovexattr(char *path, char *name); } 407220 STD { int|linux_sys||fremovexattr(int fd, char *name); } 408221 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 409 const struct linux_timespec *timeout, int *uaddr2, \ 410 int val3); } 411222 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 412 unsigned int len, unsigned long *mask); } 413223 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 414 unsigned int len, unsigned long *mask); } 415224 UNIMPL /* unused */ 416225 UNIMPL tuxcall 417226 UNIMPL sendfile64 418227 UNIMPL io_setup 419228 UNIMPL io_destroy 420229 UNIMPL io_getevents 421230 UNIMPL io_submit 422231 UNIMPL io_cancel 423232 STD { int|linux_sys||set_tid_address(int *tid); } 424233 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ 425 size_t len, int advice); } 426234 STD { int|linux_sys||exit_group(int error_code); } 427235 UNIMPL lookup_dcookie 428236 UNIMPL epoll_create 429237 UNIMPL epoll_ctl 430238 UNIMPL epoll_wait 431239 UNIMPL remap_file_pages 432240 UNIMPL timer_create 433241 UNIMPL timer_settime 434242 UNIMPL timer_gettime 435243 UNIMPL timer_getoverrun 436244 UNIMPL timer_delete 437245 STD { int|linux_sys||clock_settime(clockid_t which, \ 438 struct linux_timespec *tp); } 439246 STD { int|linux_sys||clock_gettime(clockid_t which, \ 440 struct linux_timespec *tp); } 441247 STD { int|linux_sys||clock_getres(clockid_t which, \ 442 struct linux_timespec *tp); } 443248 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 444 int flags, struct linux_timespec *rqtp, \ 445 struct linux_timespec *rmtp); } 446249 UNIMPL swapcontext 447250 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 448251 NOARGS { int|compat_50_sys||utimes(const char *path, \ 449 const struct timeval50 *tptr); } 450252 STD { int|linux_sys||statfs64(const char *path, \ 451 size_t sz, struct linux_statfs64 *sp); } 452253 STD { int|linux_sys||fstatfs64(int fd, \ 453 size_t sz, struct linux_statfs64 *sp); } 454254 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 455 off_t len, int advice); } 456255 UNIMPL rtas 457256 UNIMPL /* reserved for sys_debug_setcontext */ 458257 UNIMPL /* reserved for vserver */ 459258 UNIMPL /* reserved for new sys_remap_file_pages */ 460259 UNIMPL /* reserved for new sys_mbind */ 461260 UNIMPL /* reserved for new sys_get_mempolicy */ 462261 UNIMPL /* reserved for new sys_set_mempolicy */ 463262 UNIMPL mq_open 464263 UNIMPL mq_unlink 465264 UNIMPL mq_timedsend 466265 UNIMPL mq_timedreceive 467266 UNIMPL mq_notify 468267 UNIMPL mq_getsetattr 469268 UNIMPL kexec_load 470269 UNIMPL add_key 471270 UNIMPL request_key 472271 UNIMPL keyctl 473272 UNIMPL waitid 474273 UNIMPL ioprio_set 475274 UNIMPL ioprio_get 476275 UNIMPL inotify_init 477276 UNIMPL inotify_add_watch 478277 UNIMPL inotify_rm_watch 479278 UNIMPL spu_run 480279 UNIMPL spu_create 481280 UNIMPL pselect6 482281 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 483 struct linux_timespec *timeout, \ 484 linux_sigset_t *sigset); } 485282 UNIMPL unshare 486283 UNIMPL splice 487284 UNIMPL tee 488285 UNIMPL vmsplice 489286 STD { int|linux_sys||openat(int fd, const char *path, \ 490 int flags, ... linux_umode_t mode); } 491287 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 492 linux_umode_t mode); } 493288 STD { int|linux_sys||mknodat(int fd, const char *path, \ 494 linux_umode_t mode, unsigned dev); } 495289 STD { int|linux_sys||fchownat(int fd, const char *path, \ 496 uid_t owner, gid_t group, int flag); } 497290 UNIMPL futimesat 498291 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 499 struct linux_stat64 *sp, int flag); } 500292 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 501 int flag); } 502293 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 503 int tofd, const char *to); } 504294 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 505 int fd2, const char *name2, int flags); } 506295 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 507 const char *path2); } 508296 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 509 char *buf, size_t bufsize); } 510297 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 511 linux_umode_t mode); } 512298 STD { int|linux_sys||faccessat(int fd, const char *path, \ 513 int amode); } 514299 STD { int|linux_sys||set_robust_list( \ 515 struct linux_robust_list_head *head, size_t len); } 516300 STD { int|linux_sys||get_robust_list(int pid, \ 517 struct linux_robust_list_head **head, \ 518 size_t *len); } 519301 UNIMPL move_pages 520302 UNIMPL getcpu 521303 UNIMPL epoll_wait 522304 STD { int|linux_sys||utimensat(int fd, const char *path, \ 523 struct linux_timespec *times, int flag); } 524305 UNIMPL signalfd 525306 UNIMPL timerfd_create 526307 UNIMPL eventfd 527308 UNIMPL sync_file_range2 528309 UNIMPL fallocate 529310 UNIMPL subpage_prot 530311 UNIMPL timerfd_settime 531312 UNIMPL timerfd_gettime 532313 UNIMPL signalfd4 533314 UNIMPL eventfd2 534315 UNIMPL epoll_create1 535316 STD { int|linux_sys||dup3(int from, int to, int flags); } 536317 STD { int|linux_sys||pipe2(int *pfds, int flags); } 537318 UNIMPL inotify_init1 538319 UNIMPL perf_event_open 539320 UNIMPL preadv 540321 UNIMPL pwritev 541322 UNIMPL rt_tgsigqueueinfo 542