syscalls.master revision 1.82
11.82Schristos $NetBSD: syscalls.master,v 1.82 2024/09/28 19:35:55 christos Exp $ 21.1Sbjh21 31.1Sbjh21; Derived from sys/compat/linux/arch/*/syscalls.master 41.1Sbjh21; and from Linux 2.4.12 arch/arm/kernel/calls.S 51.1Sbjh21 61.1Sbjh21; NetBSD/arm COMPAT_LINUX system call name/number "master" file. 71.1Sbjh21; (See syscalls.conf to see what it is processed into.) 81.1Sbjh21; 91.1Sbjh21; Fields: number type [type-dependent ...] 101.1Sbjh21; number system call number, must be in order 111.1Sbjh21; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of 121.1Sbjh21; the compatibility options defined in syscalls.conf. 131.1Sbjh21; 141.1Sbjh21; types: 151.1Sbjh21; STD always included 161.1Sbjh21; OBSOL obsolete, not included in system 171.1Sbjh21; UNIMPL unimplemented, not included in system 181.1Sbjh21; NODEF included, but don't define the syscall number 191.1Sbjh21; NOARGS included, but don't define the syscall args structure 201.1Sbjh21; INDIR included, but don't define the syscall args structure 211.1Sbjh21; and allow it to be "really" varargs. 221.1Sbjh21; 231.1Sbjh21; The compat options are defined in the syscalls.conf file, and the 241.1Sbjh21; compat option name is prefixed to the syscall name. Other than 251.1Sbjh21; that, they're like NODEF (for 'compat' options), or STD (for 261.1Sbjh21; 'libcompat' options). 271.1Sbjh21; 281.1Sbjh21; The type-dependent arguments are as follows: 291.1Sbjh21; For STD, NODEF, NOARGS, and compat syscalls: 301.1Sbjh21; { pseudo-proto } [alias] 311.1Sbjh21; For other syscalls: 321.1Sbjh21; [comment] 331.1Sbjh21; 341.1Sbjh21; #ifdef's, etc. may be included, and are copied to the output files. 351.1Sbjh21; #include's are copied to the syscall names and switch definition files only. 361.1Sbjh21 371.1Sbjh21#include <sys/param.h> 381.1Sbjh21#include <sys/poll.h> 391.1Sbjh21#include <sys/systm.h> 401.1Sbjh21#include <sys/signal.h> 411.1Sbjh21#include <sys/mount.h> 421.1Sbjh21#include <sys/syscallargs.h> 431.38Srtr#include <sys/time.h> 441.1Sbjh21 451.38Srtr#include <compat/sys/time.h> 461.1Sbjh21#include <compat/linux/common/linux_types.h> 471.14She#include <compat/linux/common/linux_mmap.h> 481.1Sbjh21#include <compat/linux/common/linux_signal.h> 491.1Sbjh21#include <compat/linux/common/linux_siginfo.h> 501.1Sbjh21#include <compat/linux/common/linux_machdep.h> 511.81Schristos#include <compat/linux/common/linux_mqueue.h> 521.80Schristos#include <compat/linux/common/linux_sched.h> 531.80Schristos 541.1Sbjh21 551.1Sbjh21#include <compat/linux/linux_syscallargs.h> 561.1Sbjh21 571.1Sbjh21%% 581.5Sbjh21; XXX We have to explicitly declare linux_sys_nosys. 591.39Spooka0 NOARGS { int|linux_sys||nosys(void); } 601.44Schs1 STD { int|linux_sys||exit(int rval); } 611.39Spooka2 NOARGS { int|sys||fork(void); } 621.55Snjoly3 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 631.55Snjoly4 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ 641.55Snjoly size_t nbyte); } 651.39Spooka5 STD { int|linux_sys||open(const char *path, int flags, \ 661.54Snjoly linux_umode_t mode); } 671.39Spooka6 NOARGS { int|sys||close(int fd); } 681.39Spooka7 STD { int|linux_sys||waitpid(int pid, int *status, \ 691.1Sbjh21 int options);} 701.54Snjoly8 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 711.39Spooka9 NOARGS { int|sys||link(const char *path, const char *link); } 721.39Spooka10 STD { int|linux_sys||unlink(const char *path); } 731.39Spooka11 NOARGS { int|sys||execve(const char *path, char **argp, \ 741.1Sbjh21 char **envp); } 751.39Spooka12 NOARGS { int|sys||chdir(const char *path); } 761.39Spooka13 STD { int|linux_sys||time(linux_time_t *t); } 771.54Snjoly14 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ 781.57Snjoly unsigned dev); } 791.39Spooka15 NOARGS { int|sys||chmod(const char *path, int mode); } 801.39Spooka16 STD { int|linux_sys||lchown16(const char *path, \ 811.33Snjoly linux_uid16_t uid, linux_gid16_t gid); } 821.1Sbjh2117 OBSOL break 831.1Sbjh2118 OBSOL ostat 841.39Spooka19 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ 851.1Sbjh21 int whence); } 861.39Spooka20 NOARGS { pid_t|sys||getpid(void); } 871.1Sbjh2121 UNIMPL mount 881.1Sbjh2122 OBSOL umount 891.39Spooka23 NOARGS { int|sys||setuid(uid_t uid); } 901.39Spooka24 NOARGS { uid_t|sys||getuid(void); } 911.39Spooka25 STD { int|linux_sys||stime(linux_time_t *t); } 921.39Spooka26 STD { int|linux_sys||ptrace(int request, int pid, \ 931.1Sbjh21 int addr, int data); } 941.39Spooka27 STD { int|linux_sys||alarm(unsigned int secs); } 951.1Sbjh2128 OBSOL ofstat 961.39Spooka29 STD { int|linux_sys||pause(void); } 971.39Spooka30 STD { int|linux_sys||utime(const char *path, \ 981.1Sbjh21 struct linux_utimbuf *times); } 991.1Sbjh2131 OBSOL stty 1001.1Sbjh2132 OBSOL gtty 1011.39Spooka33 NOARGS { int|sys||access(const char *path, int flags); } 1021.39Spooka34 STD { int|linux_sys||nice(int incr); } 1031.1Sbjh2135 OBSOL ftime 1041.39Spooka36 NOARGS { int|sys||sync(void); } 1051.39Spooka37 STD { int|linux_sys||kill(int pid, int signum); } 1061.39Spooka38 NOARGS { int|sys||__posix_rename(const char *from, \ 1071.1Sbjh21 const char *to); } 1081.54Snjoly39 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 1091.39Spooka40 NOARGS { int|sys||rmdir(const char *path); } 1101.52Snjoly41 NOARGS { int|sys||dup(int fd); } 1111.39Spooka42 STD { int|linux_sys||pipe(int *pfds); } 1121.39Spooka43 STD { int|linux_sys||times(struct times *tms); } 1131.1Sbjh2144 OBSOL prof 1141.39Spooka45 STD { int|linux_sys||brk(char *nsize); } 1151.39Spooka46 NOARGS { int|sys||setgid(gid_t gid); } 1161.39Spooka47 NOARGS { gid_t|sys||getgid(void); } 1171.39Spooka48 STD { int|linux_sys||signal(int signum, \ 1181.1Sbjh21 linux_handler_t handler); } 1191.39Spooka49 NOARGS { uid_t|sys||geteuid(void); } 1201.39Spooka50 NOARGS { gid_t|sys||getegid(void); } 1211.39Spooka51 NOARGS { int|sys||acct(char *path); } 1221.1Sbjh2152 UNIMPL umount 1231.1Sbjh2153 OBSOL lock 1241.39Spooka54 STD { int|linux_sys||ioctl(int fd, u_long com, \ 1251.28Schristos void *data); } 1261.39Spooka55 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 1271.1Sbjh2156 OBSOL mpx 1281.39Spooka57 NOARGS { int|sys||setpgid(int pid, int pgid); } 1291.1Sbjh2158 OBSOL ulimit 1301.79Schristos59 STD { int|linux_sys||oldolduname( \ 1311.2Sbjh21 struct linux_oldold_utsname *up); } 1321.39Spooka60 NOARGS { int|sys||umask(int newmask); } 1331.39Spooka61 NOARGS { int|sys||chroot(char *path); } 1341.1Sbjh2162 UNIMPL ustat 1351.52Snjoly63 NOARGS { int|sys||dup2(int from, int to); } 1361.39Spooka64 NOARGS { pid_t|sys||getppid(void); } 1371.39Spooka65 NOARGS { int|sys||getpgrp(void); } 1381.39Spooka66 NOARGS { int|sys||setsid(void); } 1391.39Spooka67 STD { int|linux_sys||sigaction(int signum, \ 1401.1Sbjh21 const struct linux_old_sigaction *nsa, \ 1411.1Sbjh21 struct linux_old_sigaction *osa); } 1421.39Spooka68 STD { int|linux_sys||siggetmask(void); } 1431.39Spooka69 STD { int|linux_sys||sigsetmask(linux_old_sigset_t mask); } 1441.39Spooka70 STD { int|linux_sys||setreuid16(linux_uid16_t ruid, \ 1451.33Snjoly linux_uid16_t euid); } 1461.39Spooka71 STD { int|linux_sys||setregid16(linux_gid16_t rgid, \ 1471.33Snjoly linux_gid16_t egid); } 1481.39Spooka72 STD { int|linux_sys||sigsuspend(void *restart, \ 1491.1Sbjh21 int oldmask, int mask); } 1501.39Spooka73 STD { int|linux_sys||sigpending(linux_old_sigset_t *set); } 1511.39Spooka74 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ 1521.1Sbjh21 u_int len);} 1531.39Spooka75 STD { int|linux_sys||setrlimit(u_int which, \ 1541.1Sbjh21 struct orlimit *rlp); } 1551.39Spooka76 STD { int|linux_sys||getrlimit(u_int which, \ 1561.1Sbjh21 struct orlimit *rlp); } 1571.39Spooka77 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } 1581.40Snjoly78 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ 1591.1Sbjh21 struct timezone *tzp); } 1601.40Snjoly79 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ 1611.1Sbjh21 struct timezone *tzp); } 1621.39Spooka80 STD { int|linux_sys||getgroups16(int gidsetsize, \ 1631.33Snjoly linux_gid16_t *gidset); } 1641.39Spooka81 STD { int|linux_sys||setgroups16(int gidsetsize, \ 1651.33Snjoly linux_gid16_t *gidset); } 1661.39Spooka82 STD { int|linux_sys||oldselect(struct linux_oldselect *lsp); } 1671.63Sozaki83 NOARGS { int|sys||symlink(const char *path, const char *link); } 1681.39Spooka84 NOARGS { int|compat_43_sys||lstat(const char *path, \ 1691.63Sozaki struct stat43 *ub); } oolstat 1701.64Snjoly85 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ 1711.1Sbjh21 int count); } 1721.1Sbjh21#ifdef EXEC_AOUT 1731.39Spooka86 STD { int|linux_sys||uselib(const char *path); } 1741.1Sbjh21#else 1751.1Sbjh2186 EXCL uselib 1761.1Sbjh21#endif 1771.39Spooka87 STD { int|linux_sys||swapon(char *name); } 1781.39Spooka88 STD { int|linux_sys||reboot(int magic1, int magic2, \ 1791.1Sbjh21 int cmd, void *arg); } 1801.39Spooka89 STD { int|linux_sys||readdir(int fd, void *dent, \ 1811.1Sbjh21 unsigned int count); } 1821.39Spooka90 STD { int|linux_sys||old_mmap(struct linux_oldmmap *lmp); } 1831.61Snjoly91 NOARGS { int|sys||munmap(void *addr, size_t len); } 1841.39Spooka92 NOARGS { int|compat_43_sys||truncate(const char *path, \ 1851.1Sbjh21 long length); } 1861.39Spooka93 NOARGS { int|compat_43_sys||ftruncate(int fd, long length); } 1871.54Snjoly94 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 1881.39Spooka95 STD { int|linux_sys||fchown16(int fd, linux_uid16_t uid, \ 1891.33Snjoly linux_gid16_t gid); } 1901.39Spooka96 STD { int|linux_sys||getpriority(int which, int who); } 1911.39Spooka97 NOARGS { int|sys||setpriority(int which, int who, int prio); } 1921.39Spooka98 NOARGS { int|sys||profil(void *samples, u_int size, \ 1931.1Sbjh21 u_int offset, u_int scale); } 1941.39Spooka99 STD { int|linux_sys||statfs(const char *path, \ 1951.1Sbjh21 struct linux_statfs *sp); } 1961.39Spooka100 STD { int|linux_sys||fstatfs(int fd, \ 1971.1Sbjh21 struct linux_statfs *sp); } 1981.1Sbjh21101 UNIMPL 1991.39Spooka102 STD { int|linux_sys||socketcall(int what, void *args); } 2001.1Sbjh21103 UNIMPL syslog 2011.47Schristos104 NOARGS { int|compat_50_sys||setitimer(int which, \ 2021.38Srtr struct itimerval50 *itv, \ 2031.38Srtr struct itimerval50 *oitv); } 2041.47Schristos105 NOARGS { int|compat_50_sys||getitimer(int which, \ 2051.38Srtr struct itimerval50 *itv); } 2061.39Spooka106 STD { int|linux_sys||stat(const char *path, \ 2071.1Sbjh21 struct linux_stat *sp); } 2081.39Spooka107 STD { int|linux_sys||lstat(const char *path, \ 2091.1Sbjh21 struct linux_stat *sp); } 2101.39Spooka108 STD { int|linux_sys||fstat(int fd, struct linux_stat *sp); } 2111.39Spooka109 STD { int|linux_sys||olduname(struct linux_oldutsname *up); } 2121.1Sbjh21110 UNIMPL 2131.1Sbjh21111 UNIMPL vhangup 2141.1Sbjh21112 UNIMPL idle 2151.1Sbjh21113 UNIMPL syscall 2161.39Spooka114 STD { int|linux_sys||wait4(int pid, int *status, \ 2171.41Snjoly int options, struct rusage50 *rusage); } 2181.39Spooka115 STD { int|linux_sys||swapoff(const char *path); } 2191.39Spooka116 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 2201.39Spooka117 STD { int|linux_sys||ipc(int what, int a1, int a2, int a3, \ 2211.28Schristos void *ptr); } 2221.39Spooka118 NOARGS { int|sys||fsync(int fd); } 2231.39Spooka119 STD { int|linux_sys||sigreturn(struct linux_sigcontext *scp); } 2241.44Schs120 STD { int|linux_sys||clone(int flags, void *stack, \ 2251.44Schs void *parent_tidptr, void *tls, void *child_tidptr); } 2261.39Spooka121 STD { int|linux_sys||setdomainname(char *domainname, \ 2271.1Sbjh21 int len); } 2281.39Spooka122 STD { int|linux_sys||uname(struct linux_utsname *up); } 2291.20Sperry123 UNIMPL modify_ldt 2301.1Sbjh21124 UNIMPL adjtimex 2311.39Spooka125 STD { int|linux_sys||mprotect(const void *start, \ 2321.9Schristos unsigned long len, int prot); } 2331.39Spooka126 STD { int|linux_sys||sigprocmask(int how, \ 2341.1Sbjh21 const linux_old_sigset_t *set, \ 2351.1Sbjh21 linux_old_sigset_t *oset); } 2361.1Sbjh21127 UNIMPL create_module 2371.1Sbjh21128 UNIMPL init_module 2381.1Sbjh21129 UNIMPL delete_module 2391.1Sbjh21130 UNIMPL get_kernel_syms 2401.1Sbjh21131 UNIMPL quotactl 2411.39Spooka132 NOARGS { pid_t|sys||getpgid(pid_t pid); } 2421.39Spooka133 NOARGS { int|sys||fchdir(int fd); } 2431.1Sbjh21134 UNIMPL bdflush 2441.1Sbjh21135 UNIMPL sysfs 2451.43Snjoly136 STD { int|linux_sys||personality(unsigned long per); } 2461.1Sbjh21137 UNIMPL afs_syscall 2471.39Spooka138 STD { int|linux_sys||setfsuid(uid_t uid); } 2481.39Spooka139 STD { int|linux_sys||setfsgid(gid_t gid); } 2491.39Spooka140 STD { int|linux_sys||llseek(int fd, u_int32_t ohigh, \ 2501.28Schristos u_int32_t olow, void *res, int whence); } 2511.39Spooka141 STD { int|linux_sys||getdents(int fd, \ 2521.1Sbjh21 struct linux_dirent *dent, unsigned int count); } 2531.39Spooka142 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ 2541.1Sbjh21 fd_set *writefds, fd_set *exceptfds, \ 2551.40Snjoly struct timeval50 *timeout); } 2561.39Spooka143 NOARGS { int|sys||flock(int fd, int how); } 2571.39Spooka144 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 2581.55Snjoly145 NOARGS { ssize_t|sys||readv(int fd, \ 2591.55Snjoly const struct iovec *iovp, int iovcnt); } 2601.55Snjoly146 NOARGS { ssize_t|sys||writev(int fd, \ 2611.55Snjoly const struct iovec *iovp, int iovcnt); } 2621.39Spooka147 NOARGS { pid_t|sys||getsid(pid_t pid); } 2631.39Spooka148 STD { int|linux_sys||fdatasync(int fd); } 2641.39Spooka149 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 2651.39Spooka150 NOARGS { int|sys||mlock(void *addr, size_t len); } 2661.39Spooka151 NOARGS { int|sys||munlock(void *addr, size_t len); } 2671.39Spooka152 NOARGS { int|sys||mlockall(int flags); } 2681.39Spooka153 NOARGS { int|sys||munlockall(void); } 2691.39Spooka154 STD { int|linux_sys||sched_setparam(pid_t pid, \ 2701.1Sbjh21 const struct linux_sched_param *sp); } 2711.39Spooka155 STD { int|linux_sys||sched_getparam(pid_t pid, \ 2721.1Sbjh21 struct linux_sched_param *sp); } 2731.39Spooka156 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ 2741.1Sbjh21 int policy, const struct linux_sched_param *sp); } 2751.39Spooka157 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 2761.39Spooka158 STD { int|linux_sys||sched_yield(void); } 2771.39Spooka159 STD { int|linux_sys||sched_get_priority_max(int policy); } 2781.39Spooka160 STD { int|linux_sys||sched_get_priority_min(int policy); } 2791.1Sbjh21161 UNIMPL sched_rr_get_interval 2801.39Spooka162 STD { int|linux_sys||nanosleep( \ 2811.36Snjoly const struct linux_timespec *rqtp, \ 2821.36Snjoly struct linux_timespec *rmtp); } 2831.39Spooka163 STD { void *|linux_sys||mremap(void *old_address, \ 2841.1Sbjh21 size_t old_size, size_t new_size, u_long flags); } 2851.39Spooka164 STD { int|linux_sys||setresuid16(linux_uid16_t ruid, \ 2861.33Snjoly linux_uid16_t euid, linux_uid16_t suid); } 2871.39Spooka165 STD { int|linux_sys||getresuid16(linux_uid16_t *ruid, \ 2881.33Snjoly linux_uid16_t *euid, linux_uid16_t *suid); } 2891.1Sbjh21166 UNIMPL 2901.1Sbjh21167 UNIMPL query_module 2911.39Spooka168 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ 2921.1Sbjh21 int timeout); } 2931.1Sbjh21169 UNIMPL nfsservctl 2941.39Spooka170 STD { int|linux_sys||setresgid16(linux_gid16_t rgid, \ 2951.33Snjoly linux_gid16_t egid, linux_gid16_t sgid); } 2961.39Spooka171 STD { int|linux_sys||getresgid16(linux_gid16_t *rgid, \ 2971.33Snjoly linux_gid16_t *egid, linux_gid16_t *sgid); } 2981.1Sbjh21172 UNIMPL prctl 2991.1Sbjh21173 UNIMPL rt_sigreturn 3001.39Spooka;173 STD { int|linux_sys||rt_sigreturn( \ 3011.1Sbjh21; struct linux_rt_sigframe *sfp); } 3021.39Spooka174 STD { int|linux_sys||rt_sigaction(int signum, \ 3031.1Sbjh21 const struct linux_sigaction *nsa, \ 3041.1Sbjh21 struct linux_sigaction *osa, \ 3051.1Sbjh21 size_t sigsetsize); } 3061.39Spooka175 STD { int|linux_sys||rt_sigprocmask(int how, \ 3071.1Sbjh21 const linux_sigset_t *set, \ 3081.1Sbjh21 linux_sigset_t *oset, \ 3091.1Sbjh21 size_t sigsetsize); } 3101.39Spooka176 STD { int|linux_sys||rt_sigpending( \ 3111.1Sbjh21 linux_sigset_t *set, \ 3121.1Sbjh21 size_t sigsetsize); } 3131.48Schristos177 STD { int|linux_sys||rt_sigtimedwait( \ 3141.48Schristos const linux_sigset_t *set, \ 3151.48Schristos linux_siginfo_t *info, \ 3161.48Schristos const struct linux_timespec *timeout); } 3171.39Spooka178 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ 3181.42Snjoly linux_siginfo_t *uinfo); } 3191.39Spooka179 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ 3201.1Sbjh21 size_t sigsetsize); } 3211.39Spooka180 STD { int|linux_sys||pread(int fd, char *buf, \ 3221.56Snjoly size_t nbyte, off_t offset); } 3231.39Spooka181 STD { int|linux_sys||pwrite(int fd, char *buf, \ 3241.56Snjoly size_t nbyte, off_t offset); } 3251.39Spooka182 STD { int|linux_sys||chown16(const char *path, \ 3261.33Snjoly linux_uid16_t uid, linux_gid16_t gid); } 3271.39Spooka183 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 3281.1Sbjh21184 UNIMPL capget 3291.1Sbjh21185 UNIMPL capset 3301.39Spooka186 STD { int|linux_sys||sigaltstack( \ 3311.1Sbjh21 const struct linux_sigaltstack *ss, \ 3321.1Sbjh21 struct linux_sigaltstack *oss); } 3331.1Sbjh21187 UNIMPL sendfile 3341.1Sbjh21188 UNIMPL getpmsg 3351.1Sbjh21189 UNIMPL putpmsg 3361.39Spooka190 NOARGS vfork { int|sys|14|vfork(void); } 3371.39Spooka191 STD { int|linux_sys||ugetrlimit(int which, \ 3381.7Schristos struct rlimit *rlp); } 3391.30Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args 3401.39Spooka192 NOARGS { linux_off_t|linux_sys||mmap2(unsigned long addr, \ 3411.13Schristos size_t len, int prot, int flags, int fd, \ 3421.13Schristos linux_off_t offset); } 3431.39Spooka193 STD { int|linux_sys||truncate64(const char *path, \ 3441.1Sbjh21 off_t length); } 3451.39Spooka194 STD { int|linux_sys||ftruncate64(unsigned int fd, \ 3461.1Sbjh21 off_t length); } 3471.39Spooka195 STD { int|linux_sys||stat64(const char *path, \ 3481.1Sbjh21 struct linux_stat64 *sp); } 3491.39Spooka196 STD { int|linux_sys||lstat64(const char *path, \ 3501.1Sbjh21 struct linux_stat64 *sp); } 3511.39Spooka197 STD { int|linux_sys||fstat64(int fd, \ 3521.1Sbjh21 struct linux_stat64 *sp); } 3531.39Spooka198 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ 3541.1Sbjh21 gid_t gid); } 3551.39Spooka199 NOARGS getuid32 { uid_t|sys||getuid(void); } 3561.39Spooka200 NOARGS getgid32 { gid_t|sys||getgid(void); } 3571.39Spooka201 NOARGS geteuid32 { uid_t|sys||geteuid(void); } 3581.39Spooka202 NOARGS getegid32 { gid_t|sys||getegid(void); } 3591.39Spooka203 NOARGS setreuid32 { int|sys||setreuid(uid_t ruid, \ 3601.1Sbjh21 uid_t euid); } 3611.39Spooka204 NOARGS setregid32 { int|sys||setregid(gid_t rgid, \ 3621.1Sbjh21 gid_t egid); } 3631.59Snjoly205 NOARGS getgroups32 { int|sys||getgroups(int gidsetsize, \ 3641.1Sbjh21 gid_t *gidset); } 3651.59Snjoly206 NOARGS setgroups32 { int|sys||setgroups(int gidsetsize, \ 3661.1Sbjh21 gid_t *gidset); } 3671.39Spooka207 NOARGS fchown32 { int|sys||__posix_fchown(int fd, uid_t uid, \ 3681.1Sbjh21 gid_t gid); } 3691.39Spooka208 STD setresuid32 { int|linux_sys||setresuid(uid_t ruid, \ 3701.1Sbjh21 uid_t euid, uid_t suid); } 3711.39Spooka209 STD getresuid32 { int|linux_sys||getresuid(uid_t *ruid, \ 3721.1Sbjh21 uid_t *euid, uid_t *suid); } 3731.39Spooka210 STD setresgid32 { int|linux_sys||setresgid(gid_t rgid, \ 3741.1Sbjh21 gid_t egid, gid_t sgid); } 3751.39Spooka211 STD getresgid32 { int|linux_sys||getresgid(gid_t *rgid, \ 3761.1Sbjh21 gid_t *egid, gid_t *sgid); } 3771.39Spooka212 NOARGS chown32 { int|sys||__posix_chown(const char *path, \ 3781.1Sbjh21 uid_t uid, gid_t gid); } 3791.39Spooka213 NOARGS setuid32 { int|sys||setuid(uid_t uid); } 3801.39Spooka214 NOARGS setgid32 { int|sys||setgid(gid_t gid); } 3811.39Spooka215 NOARGS setfsuid32 { int|linux_sys||setfsuid(uid_t uid); } 3821.39Spooka216 NOARGS setfsgid32 { int|linux_sys||setfsgid(gid_t gid); } 3831.39Spooka217 STD { int|linux_sys||getdents64(int fd, \ 3841.10Schristos struct linux_dirent64 *dent, unsigned int count); } 3851.1Sbjh21218 UNIMPL pivot_root 3861.39Spooka219 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 3871.39Spooka220 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } 3881.39Spooka221 STD { int|linux_sys||fcntl64(int fd, int cmd, void *arg); } 3891.17Sjdolecek222 UNIMPL /* for tux */ 3901.17Sjdolecek223 UNIMPL /* unused */ 3911.44Schs224 NOARGS { pid_t|linux_sys||gettid(void); } 3921.77Schristos225 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ 3931.77Schristos size_t count); } 3941.39Spooka226 STD { int|linux_sys||setxattr(char *path, char *name, \ 3951.21Sfvdl void *value, size_t size, int flags); } 3961.39Spooka227 STD { int|linux_sys||lsetxattr(char *path, char *name, \ 3971.21Sfvdl void *value, size_t size, int flags); } 3981.39Spooka228 STD { int|linux_sys||fsetxattr(int fd, char *name, \ 3991.21Sfvdl void *value, size_t size, int flags); } 4001.39Spooka229 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ 4011.21Sfvdl void *value, size_t size); } 4021.39Spooka230 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ 4031.21Sfvdl void *value, size_t size); } 4041.39Spooka231 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ 4051.21Sfvdl void *value, size_t size); } 4061.39Spooka232 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ 4071.21Sfvdl size_t size); } 4081.39Spooka233 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ 4091.21Sfvdl size_t size); } 4101.39Spooka234 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ 4111.21Sfvdl size_t size); } 4121.39Spooka235 STD { int|linux_sys||removexattr(char *path, char *name); } 4131.39Spooka236 STD { int|linux_sys||lremovexattr(char *path, char *name); } 4141.39Spooka237 STD { int|linux_sys||fremovexattr(int fd, char *name); } 4151.44Schs238 STD { int|linux_sys||tkill(int tid, int sig); } 4161.17Sjdolecek239 UNIMPL sendfile64 4171.44Schs240 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ 4181.44Schs const struct linux_timespec *timeout, int *uaddr2, \ 4191.44Schs int val3); } 4201.44Schs241 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ 4211.44Schs unsigned int len, unsigned long *mask); } 4221.44Schs242 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ 4231.44Schs unsigned int len, unsigned long *mask); } 4241.17Sjdolecek243 UNIMPL io_setup 4251.17Sjdolecek244 UNIMPL io_destroy 4261.17Sjdolecek245 UNIMPL io_getevents 4271.17Sjdolecek246 UNIMPL io_submit 4281.17Sjdolecek247 UNIMPL io_cancel 4291.39Spooka248 STD { int|linux_sys||exit_group(int error_code); } 4301.17Sjdolecek249 UNIMPL lookup_dcookie 4311.76Schristos250 STD { int|linux_sys||epoll_create(int size); } 4321.76Schristos251 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ 4331.76Schristos struct linux_epoll_event *event); } 4341.76Schristos252 STD { int|linux_sys||epoll_wait(int epfd, \ 4351.76Schristos struct linux_epoll_event *events, int maxevents, \ 4361.76Schristos int timeout); } 4371.17Sjdolecek253 UNIMPL remap_file_pages 4381.44Schs254 UNIMPL set_thread_area 4391.44Schs255 UNIMPL get_thread_area 4401.44Schs256 STD { int|linux_sys||set_tid_address(int *tid); } 4411.70Sthorpej257 STD { int|linux_sys||timer_create(clockid_t clockid, \ 4421.70Sthorpej struct linux_sigevent *evp, timer_t *timerid); } 4431.70Sthorpej258 STD { int|linux_sys||timer_settime(timer_t timerid, \ 4441.70Sthorpej int flags, const struct linux_itimerspec *tim, \ 4451.70Sthorpej struct linux_itimerspec *otim); } 4461.70Sthorpej259 STD { int|linux_sys||timer_gettime(timer_t timerid, \ 4471.70Sthorpej struct linux_itimerspec *tim); } 4481.70Sthorpej260 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 4491.70Sthorpej261 NOARGS { int|sys||timer_delete(timer_t timerid); } 4501.39Spooka262 STD { int|linux_sys||clock_settime(clockid_t which, \ 4511.22Sfvdl struct linux_timespec *tp); } 4521.39Spooka263 STD { int|linux_sys||clock_gettime(clockid_t which, \ 4531.22Sfvdl struct linux_timespec *tp); } 4541.39Spooka264 STD { int|linux_sys||clock_getres(clockid_t which, \ 4551.22Sfvdl struct linux_timespec *tp); } 4561.39Spooka265 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ 4571.22Sfvdl int flags, struct linux_timespec *rqtp, \ 4581.22Sfvdl struct linux_timespec *rmtp); } 4591.39Spooka266 STD { int|linux_sys||statfs64(const char *path, \ 4601.19Sjdolecek size_t sz, struct linux_statfs64 *sp); } 4611.39Spooka267 STD { int|linux_sys||fstatfs64(int fd, \ 4621.19Sjdolecek size_t sz, struct linux_statfs64 *sp); } 4631.44Schs268 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 4641.60Snjoly269 NOARGS { int|compat_50_sys||utimes(const char *path, \ 4651.60Snjoly const struct timeval50 *tptr); } 4661.58Snjoly270 STD { int|linux_sys||fadvise64_64(int fd, off_t offset, \ 4671.58Snjoly off_t len, int advice); } 4681.17Sjdolecek271 UNIMPL pciconfig_iobase 4691.17Sjdolecek272 UNIMPL pciconfig_read 4701.17Sjdolecek273 UNIMPL pciconfig_write 4711.81Schristos274 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ 4721.81Schristos int oflag, linux_umode_t mode, \ 4731.81Schristos struct linux_mq_attr *attr); } 4741.81Schristos275 STD { int|linux_sys||mq_unlink(const char *name); } 4751.81Schristos276 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ 4761.81Schristos const char *msg_ptr, size_t msg_len, \ 4771.81Schristos unsigned int msg_prio, \ 4781.81Schristos const struct linux_timespec *abs_timeout); } 4791.81Schristos277 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ 4801.81Schristos char *msg_ptr, size_t msg_len, \ 4811.81Schristos unsigned int *msg_prio, \ 4821.81Schristos const struct linux_timespec *abs_timeout); } 4831.81Schristos278 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ 4841.81Schristos const struct linux_sigevent *sevp); } 4851.81Schristos279 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ 4861.81Schristos const struct linux_mq_attr *newattr, \ 4871.81Schristos struct linux_mq_attr *oldattr); } 4881.79Schristos280 STD { int|linux_sys||waitid(int idtype, id_t id, \ 4891.78Schristos linux_siginfo_t *infop, int options, \ 4901.78Schristos struct rusage50 *rusage); } 4911.44Schs281 UNIMPL socket 4921.44Schs282 UNIMPL bind 4931.44Schs283 UNIMPL connect 4941.44Schs284 UNIMPL listen 4951.44Schs285 UNIMPL accept 4961.44Schs286 UNIMPL getsockname 4971.44Schs287 UNIMPL getpeername 4981.44Schs288 UNIMPL socketpair 4991.44Schs289 UNIMPL send 5001.44Schs290 UNIMPL sendto 5011.44Schs291 UNIMPL recv 5021.44Schs292 UNIMPL recvfrom 5031.44Schs293 UNIMPL shutdown 5041.44Schs294 UNIMPL setsockopt 5051.44Schs295 UNIMPL getsockopt 5061.44Schs296 UNIMPL sendmsg 5071.44Schs297 UNIMPL recvmsg 5081.44Schs298 UNIMPL semop 5091.44Schs299 UNIMPL semget 5101.44Schs300 UNIMPL semctl 5111.44Schs301 UNIMPL msgsnd 5121.44Schs302 UNIMPL msgrcv 5131.44Schs303 UNIMPL msgget 5141.44Schs304 UNIMPL msgctl 5151.44Schs305 UNIMPL shmat 5161.44Schs306 UNIMPL shmdt 5171.44Schs307 UNIMPL shmget 5181.44Schs308 UNIMPL shmctl 5191.44Schs309 UNIMPL add_key 5201.44Schs310 UNIMPL request_key 5211.44Schs311 UNIMPL keyctl 5221.44Schs312 UNIMPL semtimedop 5231.44Schs313 UNIMPL vserver 5241.44Schs314 UNIMPL ioptio_set 5251.44Schs315 UNIMPL ioptio_get 5261.79Schristos316 STD { int|linux_sys||inotify_init(void); } 5271.79Schristos317 STD { int|linux_sys||inotify_add_watch(int fd, \ 5281.79Schristos const char *pathname, uint32_t mask); } 5291.79Schristos318 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 5301.44Schs319 UNIMPL mbind 5311.44Schs320 UNIMPL get_mempolicy 5321.44Schs321 UNIMPL set_mempolicy 5331.53Schs322 STD { int|linux_sys||openat(int fd, const char *path, \ 5341.53Schs int flags, ... linux_umode_t mode); } 5351.53Schs323 NOARGS { int|sys||mkdirat(int fd, const char *path, \ 5361.53Schs linux_umode_t mode); } 5371.53Schs324 STD { int|linux_sys||mknodat(int fd, const char *path, \ 5381.53Schs linux_umode_t mode, unsigned dev); } 5391.53Schs325 STD { int|linux_sys||fchownat(int fd, const char *path, \ 5401.53Schs uid_t owner, gid_t group, int flag); } 5411.44Schs326 UNIMPL futimesat 5421.53Schs327 STD { int|linux_sys||fstatat64(int fd, const char *path, \ 5431.53Schs struct linux_stat64 *sp, int flag); } 5441.53Schs328 STD { int|linux_sys||unlinkat(int fd, const char *path, \ 5451.53Schs int flag); } 5461.53Schs329 NOARGS { int|sys||renameat(int fromfd, const char *from, \ 5471.53Schs int tofd, const char *to); } 5481.53Schs330 STD { int|linux_sys||linkat(int fd1, const char *name1, \ 5491.53Schs int fd2, const char *name2, int flags); } 5501.53Schs331 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ 5511.53Schs const char *path2); } 5521.64Snjoly332 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ 5531.53Schs char *buf, size_t bufsize); } 5541.53Schs333 STD { int|linux_sys||fchmodat(int fd, const char *path, \ 5551.53Schs linux_umode_t mode); } 5561.53Schs334 STD { int|linux_sys||faccessat(int fd, const char *path, \ 5571.53Schs int amode); } 5581.65Smanu335 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ 5591.65Smanu fd_set *writefds, fd_set *exceptfds, \ 5601.65Smanu struct linux_timespec *timeout, \ 5611.65Smanu linux_sized_sigset_t *ss); } 5621.62Snjoly336 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ 5631.49Spooka struct linux_timespec *timeout, \ 5641.49Spooka linux_sigset_t *sigset); } 5651.44Schs337 UNIMPL unshare 5661.69Sthorpej ; 5671.69Sthorpej ; The NetBSD native robust list calls have different 5681.69Sthorpej ; argument names / types, but they are ABI-compatible 5691.69Sthorpej ; with Linux. 5701.69Sthorpej ; 5711.69Sthorpej338 NOARGS { int|sys||__futex_set_robust_list(void *head, \ 5721.69Sthorpej size_t len); } 5731.69Sthorpej339 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ 5741.69Sthorpej void **headp, size_t *lenp); } 5751.44Schs340 UNIMPL splice 5761.82Schristos341 STD { int|linux_sys||sync_file_range(int fd, \ 5771.82Schristos off_t offset, off_t nbytes, unsigned int flags); } 5781.44Schs342 UNIMPL tee 5791.44Schs343 UNIMPL vmsplice 5801.44Schs344 UNIMPL move_pages 5811.80Schristos345 STD { int|linux_sys||getcpu(unsigned int *cpu, \ 5821.80Schristos unsigned int *node, \ 5831.80Schristos struct linux_getcpu_cache *tcache); } 5841.76Schristos346 STD { int|linux_sys||epoll_pwait(int epfd, \ 5851.76Schristos struct linux_epoll_event *events, int maxevents, \ 5861.76Schristos int timeout, const linux_sigset_t *sigmask); } 5871.44Schs347 UNIMPL kexec_load 5881.51Snjoly348 STD { int|linux_sys||utimensat(int fd, const char *path, \ 5891.51Snjoly struct linux_timespec *times, int flag); } 5901.44Schs349 UNIMPL signalfd 5911.71Sthorpej350 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ 5921.71Sthorpej int flags); } 5931.72Sthorpej351 STD { int|linux_sys||eventfd(unsigned int initval); } 5941.68Sjdolecek352 STD { int|linux_sys||fallocate(int fd, int mode, \ 5951.68Sjdolecek off_t offset, off_t len); } 5961.71Sthorpej353 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ 5971.71Sthorpej const struct linux_itimerspec *tim, \ 5981.71Sthorpej struct linux_itimerspec *otim); } 5991.71Sthorpej354 STD { int|linux_sys||timerfd_gettime(int fd, \ 6001.71Sthorpej struct linux_itimerspec *tim); } 6011.44Schs355 UNIMPL signalfd4 6021.72Sthorpej356 STD { int|linux_sys||eventfd2(unsigned int initval, \ 6031.72Sthorpej int flags); } 6041.76Schristos357 STD { int|linux_sys||epoll_create1(int flags); } 6051.45She358 STD { int|linux_sys||dup3(int from, int to, int flags); } 6061.45She359 STD { int|linux_sys||pipe2(int *pfds, int flags); } 6071.79Schristos360 STD { int|linux_sys||inotify_init1(int flags); } 6081.73Sthorpej361 STD { int|linux_sys||preadv(int fd, \ 6091.73Sthorpej const struct iovec *iovp, int iovcnt, \ 6101.73Sthorpej unsigned long off_lo, unsigned long off_hi); } 6111.73Sthorpej362 STD { int|linux_sys||pwritev(int fd, \ 6121.73Sthorpej const struct iovcnt *iovp, int iovcnt, \ 6131.73Sthorpej unsigned long off_lo, unsigned long off_hi); } 6141.44Schs363 UNIMPL rt_tgsigqueueinfo 6151.44Schs364 UNIMPL perf_counter_open 6161.67Schristos365 STD { int|linux_sys||recvmmsg(int s, \ 6171.67Schristos struct linux_mmsghdr *msgvec, unsigned int vlen, \ 6181.67Schristos unsigned int flags, struct timespec *timeout); } 6191.66Smartin366 STD { int|linux_sys||accept4(int s, \ 6201.66Smartin struct osockaddr *name, \ 6211.66Smartin int *anamelen, int flags); } 6221.67Schristos367 UNIMPL fanotify_init 6231.67Schristos368 UNIMPL fanotify_mark 6241.75Sryo369 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ 6251.75Sryo struct rlimit *new_rlp, struct rlimit *old_rlp); } 6261.67Schristos370 UNIMPL name_to_handle_at 6271.67Schristos371 UNIMPL open_by_handle_at 6281.67Schristos372 UNIMPL clock_adjtime 6291.82Schristos373 STD { int|linux_sys||syncfs(int fd); } 6301.67Schristos374 STD { int|linux_sys||sendmmsg(int s, \ 6311.67Schristos struct linux_mmsghdr *msgvec, unsigned int vlen, \ 6321.67Schristos unsigned int flags); } 6331.67Schristos375 UNIMPL setns 6341.67Schristos376 UNIMPL process_vm_readv 6351.67Schristos377 UNIMPL process_vm_writev 6361.67Schristos378 UNIMPL kcmp 6371.67Schristos379 UNIMPL finit_module 6381.67Schristos380 UNIMPL sched_setattr 6391.67Schristos381 UNIMPL sched_getattr 6401.82Schristos382 STD { int|linux_sys||renameat2(int fromfd, \ 6411.82Schristos const char *from, int tofd, const char *to, \ 6421.82Schristos unsigned int flags); } 6431.67Schristos383 UNIMPL seccomp 6441.67Schristos; XXX FIX-me? 6451.74Sryo; 384 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ 6461.74Sryo unsigned int flags); } 6471.67Schristos; 385 UNIMPL memfd_create 6481.3Sbjh21 6491.3Sbjh21; ARMLinux actually has two ranges of syscalls. Normal syscalls use 6501.3Sbjh21; SWI numbers starting at 0x900000 (__NR_SYSCALL_BASE). Special 6511.17Sjdolecek; ARM-specific syscalls use SWI numbers starting at 0x9f0000 6521.3Sbjh21; (__ARM_NR_BASE). linux_syscall() (in arch/arm/arm/linux_syscall.c) 6531.17Sjdolecek; remaps these down to 0x900180 so that we can use one linux_sysent 6541.3Sbjh21; array for the whole lot. 6551.3Sbjh21 6561.17Sjdolecek384 UNIMPL /* base */ 6571.39Spooka385 STD { int|linux_sys||breakpoint(void); } 6581.39Spooka386 STD { int|linux_sys||cacheflush(uintptr_t from, \ 6591.44Schs intptr_t to, int flags); } 6601.17Sjdolecek387 UNIMPL usr26 6611.17Sjdolecek388 UNIMPL usr32 6621.44Schs389 STD { int|linux_sys||set_tls(void *tls); } 6631.76Schristos390 UNIMPL 6641.82Schristos391 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ 6651.82Schristos off_t * off_in, int fd_out, off_t * off_out, \ 6661.82Schristos size_t len, unsigned int flags); } 6671.76Schristos392 UNIMPL 6681.76Schristos393 UNIMPL 6691.76Schristos394 UNIMPL 6701.76Schristos395 UNIMPL 6711.76Schristos396 UNIMPL 6721.79Schristos397 STD { int|linux_sys||statx(int fd, const char *path, \ 6731.77Schristos int flag, unsigned int mask, \ 6741.77Schristos struct linux_statx *sp); } 6751.76Schristos398 UNIMPL 6761.76Schristos399 UNIMPL 6771.76Schristos400 UNIMPL 6781.76Schristos401 UNIMPL 6791.76Schristos402 UNIMPL 6801.76Schristos403 UNIMPL 6811.76Schristos404 UNIMPL 6821.76Schristos405 UNIMPL 6831.76Schristos406 UNIMPL 6841.76Schristos407 UNIMPL 6851.76Schristos408 UNIMPL 6861.76Schristos409 UNIMPL 6871.76Schristos410 UNIMPL 6881.76Schristos411 UNIMPL 6891.76Schristos412 UNIMPL 6901.76Schristos413 UNIMPL 6911.76Schristos414 UNIMPL 6921.76Schristos415 UNIMPL 6931.76Schristos416 UNIMPL 6941.76Schristos417 UNIMPL 6951.76Schristos418 UNIMPL 6961.76Schristos419 UNIMPL 6971.76Schristos420 UNIMPL 6981.76Schristos421 UNIMPL 6991.76Schristos422 UNIMPL 7001.76Schristos423 UNIMPL 7011.76Schristos424 UNIMPL 7021.76Schristos425 UNIMPL 7031.76Schristos426 UNIMPL 7041.76Schristos427 UNIMPL 7051.76Schristos428 UNIMPL 7061.76Schristos429 UNIMPL 7071.76Schristos430 UNIMPL 7081.76Schristos431 UNIMPL 7091.76Schristos432 UNIMPL 7101.76Schristos433 UNIMPL 7111.76Schristos434 UNIMPL 7121.82Schristos435 STD { int|linux_sys||clone3( \ 7131.82Schristos struct linux_user_clone3_args *cl_args, \ 7141.82Schristos size_t size); } 7151.77Schristos436 STD { int|linux_sys||close_range(unsigned int first, \ 7161.77Schristos unsigned int last, unsigned int flags); } 7171.76Schristos437 UNIMPL 7181.76Schristos438 UNIMPL 7191.80Schristos439 STD { int|linux_sys||faccessat2(int fd, const char *path, \ 7201.80Schristos int amode, int flags); } 7211.76Schristos440 UNIMPL 7221.76Schristos441 STD { int|linux_sys||epoll_pwait2(int epfd, \ 7231.76Schristos struct linux_epoll_event *events, int maxevents, \ 7241.76Schristos const struct linux_timespec *timeout, \ 7251.76Schristos const linux_sigset_t *sigmask); } 726