syscalls.master revision 1.90
11.90Schristos	$NetBSD: syscalls.master,v 1.90 2025/11/10 15:41:38 christos Exp $
21.1Smanu
31.1Smanu;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
41.1Smanu
51.1Smanu; Derived from NetBSD's sys/compat/linux/arch/i386/syscalls.master
61.21Sperry; sys/compat/linux/arch/m68k/syscalls.master
71.21Sperry; and from Linux's arch/ppc/kernel/misc.S
81.1Smanu;
91.1Smanu; We have problems for a few syscalls, specially:
101.1Smanu; 142 ppc_select -> sys_new_select -> sys_select (Conflicts with 82 ???).
111.1Smanu;
121.1Smanu; Expect problems with the following, which have an architecture dependent
131.1Smanu; implementation in Linux/powerpc:
141.1Smanu; 29  pause
151.1Smanu; 42  pipe      tested. no problem.
161.1Smanu; 59  olduname
171.1Smanu; 101 ioperm
181.1Smanu; 109 uname
191.1Smanu; 117 ipc
201.21Sperry;
211.1Smanu; Most of syscalls after 182 that were introduced in Linux-2.4 are UNIMPL.
221.1Smanu;
231.21Sperry; The following are UNIMPL here. The Linux kernel implements them but just logs
241.21Sperry; a kernel error and returns -ENOSYS.
251.1Smanu; 110 iopl
261.1Smanu; 113 vm86
271.1Smanu; 123 modify_ldt
281.1Smanu; 198 sys_pciconfig_read
291.1Smanu; 199 sys_pciconfig_write
301.1Smanu; 200 sys_pciconfig_iobase
311.1Smanu;
321.1Smanu; Emmanuel Dreyfus <p99dreyf@criens.u-psud.fr>
331.1Smanu
341.1Smanu; NetBSD powerpc COMPAT_LINUX system call name/number "master" file.
351.1Smanu; (See syscalls.conf to see what it is processed into.)
361.1Smanu;
371.1Smanu; Fields: number type [type-dependent ...]
381.1Smanu;	number	system call number, must be in order
391.1Smanu;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
401.1Smanu;		the compatibility options defined in syscalls.conf.
411.1Smanu;
421.1Smanu; types:
431.1Smanu;	STD	always included
441.1Smanu;	OBSOL	obsolete, not included in system
451.1Smanu;	UNIMPL	unimplemented, not included in system
461.1Smanu;	NODEF	included, but don't define the syscall number
471.1Smanu;	NOARGS	included, but don't define the syscall args structure
481.1Smanu;	INDIR	included, but don't define the syscall args structure
491.1Smanu;		and allow it to be "really" varargs.
501.1Smanu;
511.1Smanu; The compat options are defined in the syscalls.conf file, and the
521.1Smanu; compat option name is prefixed to the syscall name.  Other than
531.1Smanu; that, they're like NODEF (for 'compat' options), or STD (for
541.1Smanu; 'libcompat' options).
551.1Smanu;
561.1Smanu; The type-dependent arguments are as follows:
571.1Smanu; For STD, NODEF, NOARGS, and compat syscalls:
581.1Smanu;	{ pseudo-proto } [alias]
591.1Smanu; For other syscalls:
601.1Smanu;	[comment]
611.1Smanu;
621.1Smanu; #ifdef's, etc. may be included, and are copied to the output files.
631.1Smanu; #include's are copied to the syscall names and switch definition files only.
641.1Smanu
651.1Smanu#include <sys/param.h>
661.1Smanu#include <sys/poll.h>
671.1Smanu#include <sys/systm.h>
681.1Smanu#include <sys/signal.h>
691.1Smanu#include <sys/mount.h>
701.1Smanu#include <sys/syscallargs.h>
711.1Smanu
721.1Smanu#include <compat/linux/common/linux_types.h>
731.1Smanu#include <compat/linux/common/linux_signal.h>
741.1Smanu#include <compat/linux/common/linux_siginfo.h>
751.1Smanu#include <compat/linux/common/linux_machdep.h>
761.1Smanu#include <compat/linux/common/linux_mmap.h>
771.86Schristos#include <compat/linux/common/linux_mqueue.h>
781.85Schristos#include <compat/linux/common/linux_sched.h>
791.1Smanu
801.1Smanu#include <compat/linux/linux_syscallargs.h>
811.1Smanu
821.25Schristos%%
831.25Schristos
841.40Spooka0	NOARGS		{ int|linux_sys||nosys(void); } syscall
851.45Schs1	STD		{ int|linux_sys||exit(int rval); }
861.40Spooka2	NOARGS		{ int|sys||fork(void); }
871.59Snjoly3	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
881.59Snjoly4	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
891.59Snjoly			    size_t nbyte); }
901.40Spooka5	STD		{ int|linux_sys||open(const char *path, int flags, \
911.57Snjoly			    linux_umode_t mode); }
921.40Spooka6	NOARGS		{ int|sys||close(int fd); }
931.40Spooka7	STD		{ int|linux_sys||waitpid(int pid, int *status, \
941.1Smanu			    int options);}
951.57Snjoly8	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
961.40Spooka9	NOARGS		{ int|sys||link(const char *path, const char *link); }
971.40Spooka10	STD		{ int|linux_sys||unlink(const char *path); }
981.40Spooka11	NOARGS		{ int|sys||execve(const char *path, char **argp, \
991.1Smanu			    char **envp); }
1001.40Spooka12	NOARGS		{ int|sys||chdir(const char *path); }
1011.40Spooka13	STD		{ int|linux_sys||time(linux_time_t *t); }
1021.57Snjoly14	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
1031.61Snjoly			    unsigned dev); }
1041.40Spooka15	NOARGS		{ int|sys||chmod(const char *path, int mode); }
1051.67Snjoly16	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
1061.67Snjoly			    gid_t gid); }
1071.1Smanu17	OBSOL		break
1081.1Smanu18	OBSOL		ostat
1091.40Spooka19	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
1101.1Smanu			    int whence); }
1111.40Spooka20	NOARGS 		{ pid_t|sys||getpid(void); }
1121.1Smanu21	UNIMPL		mount
1131.1Smanu22	OBSOL		umount
1141.40Spooka23	NOARGS		{ int|sys||setuid(uid_t uid); }
1151.40Spooka24	NOARGS		{ uid_t|sys||getuid(void); }
1161.40Spooka25	STD		{ int|linux_sys||stime(linux_time_t *t); }
1171.40Spooka26	STD		{ int|linux_sys||ptrace(int request, int pid, \
1181.54Spooka			    long addr, long data); }
1191.40Spooka27	STD		{ int|linux_sys||alarm(unsigned int secs); }
1201.1Smanu28	OBSOL		ofstat
1211.40Spooka29	STD		{ int|linux_sys||pause(void); }
1221.40Spooka30	STD		{ int|linux_sys||utime(const char *path, \
1231.1Smanu			    struct linux_utimbuf *times); }
1241.1Smanu31	OBSOL		stty
1251.1Smanu32	OBSOL		gtty
1261.40Spooka33	NOARGS		{ int|sys||access(const char *path, int flags); }
1271.40Spooka34	STD		{ int|linux_sys||nice(int incr); }
1281.1Smanu35	OBSOL		ftime
1291.40Spooka36	NOARGS		{ int|sys||sync(void); }
1301.40Spooka37	STD		{ int|linux_sys||kill(int pid, int signum); }
1311.40Spooka38	NOARGS		{ int|sys||__posix_rename(const char *from, \
1321.1Smanu			    const char *to); }
1331.57Snjoly39	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
1341.40Spooka40	NOARGS		{ int|sys||rmdir(const char *path); }
1351.56Snjoly41	NOARGS		{ int|sys||dup(int fd); }
1361.40Spooka42	STD		{ int|linux_sys||pipe(int *pfds); }
1371.40Spooka43	STD		{ int|linux_sys||times(struct times *tms); }
1381.1Smanu44	OBSOL		prof
1391.40Spooka45	STD		{ int|linux_sys||brk(char *nsize); }
1401.40Spooka46	NOARGS		{ int|sys||setgid(gid_t gid); }
1411.40Spooka47	NOARGS		{ gid_t|sys||getgid(void); }
1421.40Spooka48	STD		{ int|linux_sys||signal(int signum, \
1431.1Smanu			    linux_handler_t handler); }
1441.40Spooka49	NOARGS		{ uid_t|sys||geteuid(void); }
1451.40Spooka50	NOARGS		{ gid_t|sys||getegid(void); }
1461.40Spooka51	NOARGS		{ int|sys||acct(char *path); }
1471.1Smanu52	UNIMPL		umount
1481.1Smanu53	OBSOL		lock
1491.40Spooka54	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
1501.31Schristos			    void *data); }
1511.40Spooka55	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
1521.1Smanu56	OBSOL		mpx
1531.40Spooka57	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
1541.1Smanu58	OBSOL		ulimit
1551.84Schristos59	STD		{ int|linux_sys||olduname(struct linux_old_utsname \
1561.7Smanu			   *up); }
1571.40Spooka60	NOARGS		{ int|sys||umask(int newmask); }
1581.40Spooka61	NOARGS		{ int|sys||chroot(char *path); }
1591.1Smanu62	UNIMPL		ustat
1601.56Snjoly63	NOARGS		{ int|sys||dup2(int from, int to); }
1611.40Spooka64	NOARGS		{ pid_t|sys||getppid(void); }
1621.40Spooka65	NOARGS		{ int|sys||getpgrp(void); }
1631.40Spooka66	NOARGS		{ int|sys||setsid(void); }
1641.40Spooka67	STD		{ int|linux_sys||sigaction(int signum, \
1651.1Smanu			    const struct linux_old_sigaction *nsa, \
1661.1Smanu			    struct linux_old_sigaction *osa); }
1671.40Spooka68	STD		{ int|linux_sys||siggetmask(void); }
1681.40Spooka69	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
1691.40Spooka70	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
1701.40Spooka71	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
1711.40Spooka72	STD		{ int|linux_sys||sigsuspend(void *restart, \
1721.1Smanu			    int oldmask, int mask); }
1731.40Spooka73	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
1741.40Spooka74	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
1751.1Smanu			    u_int len);}
1761.40Spooka75	STD		{ int|linux_sys||setrlimit(u_int which, \
1771.1Smanu			    struct orlimit *rlp); }
1781.40Spooka76	STD		{ int|linux_sys||getrlimit(u_int which, \
1791.1Smanu			    struct orlimit *rlp); }
1801.41Snjoly77	NOARGS		{ int|compat_50_sys||getrusage(int who, \
1811.41Snjoly			    struct rusage50 *rusage); }
1821.41Snjoly78	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
1831.1Smanu			    struct timezone *tzp); }
1841.41Snjoly79	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
1851.1Smanu			    struct timezone *tzp); }
1861.63Snjoly80	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
1871.63Snjoly81	NOARGS		{ int|sys||setgroups(int gidsetsize, gid_t *gidset); }
1881.40Spooka82	STD		{ int|linux_sys||select(int nfds, fd_set* readfds, \
1891.1Smanu					fd_set* writefds, fd_set* exceptfds, \
1901.41Snjoly					struct timeval50 *timeout); }
1911.40Spooka83	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
1921.40Spooka84	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
1931.1Smanu			    struct stat43 *up); } oolstat
1941.69Snjoly85	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
1951.1Smanu			    int count); }
1961.24Sjoerg#ifdef EXEC_AOUT
1971.40Spooka86	STD		{ int|linux_sys||uselib(const char *path); }
1981.24Sjoerg#else
1991.24Sjoerg86	UNIMPL		sys_uselib
2001.24Sjoerg#endif
2011.40Spooka87	STD		{ int|linux_sys||swapon(char *name); }
2021.40Spooka88	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
2031.1Smanu			    int cmd, void *arg); }
2041.40Spooka89	STD		{ int|linux_sys||readdir(int fd, void *dent, \
2051.1Smanu			    unsigned int count); }
2061.40Spooka90	NOARGS		{ int|linux_sys||mmap(unsigned long addr, size_t len, \
2071.7Smanu			    int prot, int flags, int fd, linux_off_t offset); }
2081.65Snjoly91	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
2091.40Spooka92	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
2101.1Smanu			    long length); }
2111.40Spooka93	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
2121.57Snjoly94	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
2131.67Snjoly95	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
2141.68Snjoly			    gid_t gid); }
2151.40Spooka96	STD		{ int|linux_sys||getpriority(int which, int who); }
2161.40Spooka97	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
2171.40Spooka98	NOARGS		{ int|sys||profil(void *samples, u_int size, \
2181.1Smanu			    u_int offset, u_int scale); }
2191.40Spooka99	STD		{ int|linux_sys||statfs(const char *path, \
2201.1Smanu			    struct linux_statfs *sp); }
2211.40Spooka100	STD		{ int|linux_sys||fstatfs(int fd, \
2221.1Smanu			    struct linux_statfs *sp); }
2231.45Schs101	UNIMPL		ioperm
2241.40Spooka102	STD		{ int|linux_sys||socketcall(int what, void *args); }
2251.1Smanu103	UNIMPL		syslog
2261.49Schristos104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
2271.41Snjoly			    struct itimerval50 *itv, \
2281.41Snjoly			    struct itimerval50 *oitv); }
2291.49Schristos105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
2301.41Snjoly			    struct itimerval50 *itv); }
2311.40Spooka106	STD		{ int|linux_sys||stat(const char *path, \
2321.1Smanu			    struct linux_stat *sp); }
2331.40Spooka107	STD		{ int|linux_sys||lstat(const char *path, \
2341.1Smanu			    struct linux_stat *sp); }
2351.40Spooka108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
2361.40Spooka109	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
2371.21Sperry110	UNIMPL		iopl
2381.1Smanu111	UNIMPL		vhangup
2391.1Smanu112	UNIMPL		idle
2401.21Sperry113	UNIMPL		vm86old
2411.40Spooka114	STD		{ int|linux_sys||wait4(int pid, int *status, \
2421.42Snjoly			    int options, struct rusage50 *rusage); }
2431.40Spooka115	STD		{ int|linux_sys||swapoff(const char *path); }
2441.40Spooka116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
2451.40Spooka117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
2461.31Schristos			    void *ptr); }
2471.40Spooka118	NOARGS		{ int|sys||fsync(int fd); }
2481.40Spooka119	STD		{ int|linux_sys||sigreturn(struct linux_sigcontext *scp); }
2491.45Schs120	STD		{ int|linux_sys||clone(int flags, void *stack, \
2501.45Schs			    void *parent_tidptr, void *tls, void *child_tidptr); }
2511.40Spooka121	STD		{ int|linux_sys||setdomainname(char *domainname, \
2521.7Smanu			    int len); }
2531.40Spooka122	STD		{ int|linux_sys||new_uname(struct linux_utsname *up); }
2541.21Sperry123	UNIMPL		modify_ldt
2551.1Smanu124	UNIMPL		adjtimex
2561.40Spooka125	STD		{ int|linux_sys||mprotect(const void *start, \
2571.10Schristos			    unsigned long len, int prot); }
2581.40Spooka126	STD		{ int|linux_sys||sigprocmask(int how, \
2591.1Smanu			    const linux_old_sigset_t *set, \
2601.1Smanu			    linux_old_sigset_t *oset); }
2611.1Smanu127	UNIMPL		create_module
2621.1Smanu128	UNIMPL		init_module
2631.1Smanu129	UNIMPL		delete_module
2641.1Smanu130	UNIMPL		get_kernel_syms
2651.1Smanu131	UNIMPL		quotactl
2661.40Spooka132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
2671.40Spooka133	NOARGS		{ int|sys||fchdir(int fd); }
2681.1Smanu134	UNIMPL		bdflush
2691.1Smanu135	UNIMPL		sysfs
2701.44Snjoly136	STD		{ int|linux_sys||personality(unsigned long per); }
2711.1Smanu137	UNIMPL		afs_syscall
2721.40Spooka138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
2731.40Spooka139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
2741.40Spooka140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
2751.31Schristos			    u_int32_t olow, void *res, int whence); }
2761.40Spooka141	STD		{ int|linux_sys||getdents(int fd, \
2771.1Smanu			    struct linux_dirent *dent, unsigned int count); }
2781.40Spooka142	STD		{ int|linux_sys||new_select(int nfds, fd_set *readfds, \
2791.1Smanu			    fd_set *writefds, fd_set *exceptfds, \
2801.41Snjoly			    struct timeval50 *timeout); }
2811.40Spooka143	NOARGS		{ int|sys||flock(int fd, int how); }
2821.40Spooka144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
2831.59Snjoly145	NOARGS		{ ssize_t|sys||readv(int fd, \
2841.59Snjoly			    const struct iovec *iovp, int iovcnt); }
2851.59Snjoly146	NOARGS		{ ssize_t|sys||writev(int fd, \
2861.59Snjoly			    const struct iovec *iovp, int iovcnt); }
2871.40Spooka147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
2881.40Spooka148	STD		{ int|linux_sys||fdatasync(int fd); }
2891.40Spooka149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
2901.40Spooka150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
2911.40Spooka151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
2921.40Spooka152	NOARGS		{ int|sys||mlockall(int flags); }
2931.40Spooka153	NOARGS		{ int|sys||munlockall(void); }
2941.40Spooka154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
2951.1Smanu			    const struct linux_sched_param *sp); }
2961.40Spooka155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
2971.1Smanu			    struct linux_sched_param *sp); }
2981.40Spooka156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
2991.1Smanu			    int policy, const struct linux_sched_param *sp); }
3001.40Spooka157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
3011.40Spooka158	STD		{ int|linux_sys||sched_yield(void); }
3021.40Spooka159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
3031.40Spooka160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
3041.1Smanu161	UNIMPL		sched_rr_get_interval
3051.40Spooka162	STD		{ int|linux_sys||nanosleep( \
3061.38Snjoly			    const struct linux_timespec *rqtp, \
3071.38Snjoly			    struct linux_timespec *rmtp); }
3081.40Spooka163	STD		{ void *|linux_sys||mremap(void *old_address, \
3091.1Smanu			    size_t old_size, size_t new_size, u_long flags); }
3101.40Spooka164	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
3111.1Smanu			    uid_t suid); }
3121.40Spooka165	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
3131.1Smanu			    uid_t *suid); }
3141.1Smanu166	UNIMPL		query_module
3151.40Spooka167	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
3161.1Smanu			    int timeout); }
3171.1Smanu168	UNIMPL		nfsservctl
3181.40Spooka169	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
3191.1Smanu			    gid_t sgid); }
3201.40Spooka170	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
3211.1Smanu			    gid_t *sgid); }
3221.89Schristos171	INDIR		{ int|linux_sys||__prctl(int code, \
3231.90Schristos                                  ... void * args[LINUX_SYS_MAXSYSARGS]); }
3241.40Spooka172	STD		{ int|linux_sys||rt_sigreturn( \
3251.7Smanu			    struct linux_rt_sigframe *sfp); }
3261.40Spooka173	STD		{ int|linux_sys||rt_sigaction(int signum, \
3271.1Smanu			    const struct linux_sigaction *nsa, \
3281.1Smanu			    struct linux_sigaction *osa, \
3291.1Smanu			    size_t sigsetsize); }
3301.40Spooka174	STD		{ int|linux_sys||rt_sigprocmask(int how, \
3311.1Smanu			    const linux_sigset_t *set, \
3321.1Smanu			    linux_sigset_t *oset, \
3331.1Smanu			    size_t sigsetsize); }
3341.40Spooka175	STD		{ int|linux_sys||rt_sigpending( \
3351.1Smanu			    linux_sigset_t *set, \
3361.1Smanu			    size_t sigsetsize); }
3371.50Schristos176	STD		{ int|linux_sys||rt_sigtimedwait( \
3381.50Schristos			    const linux_sigset_t *set, \
3391.50Schristos			    linux_siginfo_t *info, \
3401.50Schristos			    const struct linux_timespec *timeout); }
3411.40Spooka177	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
3421.43Snjoly			    linux_siginfo_t *uinfo); }
3431.40Spooka178	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
3441.1Smanu			    size_t sigsetsize); }
3451.40Spooka179	STD		{ int|linux_sys||pread(int fd, char *buf, \
3461.60Snjoly			    size_t nbyte, off_t offset); }
3471.40Spooka180	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
3481.60Snjoly			    size_t nbyte, off_t offset); }
3491.67Snjoly181	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
3501.67Snjoly			    gid_t gid); }
3511.40Spooka182	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
3521.1Smanu183	UNIMPL		capget
3531.1Smanu184	UNIMPL		capset
3541.40Spooka185	STD		{ int|linux_sys||sigaltstack( \
3551.1Smanu			    const struct linux_sigaltstack *ss, \
3561.1Smanu			    struct linux_sigaltstack *oss); }
3571.1Smanu186	UNIMPL		sendfile
3581.1Smanu187	UNIMPL		getpmsg
3591.1Smanu188	UNIMPL		putpmsg
3601.40Spooka189	NOARGS		{ int|sys|14|vfork(void); }
3611.40Spooka190	STD		{ int|linux_sys||ugetrlimit(int which, \
3621.8Schristos			    struct rlimit *rlp); }
3631.82Schristos191	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
3641.82Schristos			    size_t count); }
3651.33Sdsl#define linux_sys_mmap2_args linux_sys_mmap_args
3661.40Spooka192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
3671.15Schristos			    size_t len, int prot, int flags, int fd, \
3681.15Schristos			    linux_off_t offset); }
3691.40Spooka193	STD		{ int|linux_sys||truncate64(const char *path, \
3701.13Sjdolecek			    off_t length); }
3711.40Spooka194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
3721.13Sjdolecek			    off_t length); }
3731.40Spooka195	STD		{ int|linux_sys||stat64(const char *path, \
3741.12Sjdolecek			    struct linux_stat64 *sp); }
3751.40Spooka196	STD		{ int|linux_sys||lstat64(const char *path, \
3761.12Sjdolecek			    struct linux_stat64 *sp); }
3771.40Spooka197	STD		{ int|linux_sys||fstat64(int fd, \
3781.12Sjdolecek			    struct linux_stat64 *sp); }
3791.21Sperry198	UNIMPL		sys_pciconfig_read
3801.1Smanu199	UNIMPL		sys_pciconfig_write
3811.1Smanu200	UNIMPL		sys_pciconfig_iobase
3821.1Smanu201	UNIMPL		/* Unused (MacOnLinux project) */
3831.40Spooka202	STD		{ int|linux_sys||getdents64(int fd, \
3841.11Schristos			    struct linux_dirent64 *dent, unsigned int count); }
3851.4Sjdolecek203	UNIMPL		pivot_root
3861.40Spooka204	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
3871.40Spooka205	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
3881.40Spooka206	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
3891.45Schs207	NOARGS		{ pid_t|linux_sys||gettid(void); }
3901.45Schs208	STD		{ int|linux_sys||tkill(int tid, int sig); }
3911.40Spooka209	STD		{ int|linux_sys||setxattr(char *path, char *name, \
3921.22Sfvdl			    void *value, size_t size, int flags); }
3931.40Spooka210	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
3941.22Sfvdl			    void *value, size_t size, int flags); }
3951.40Spooka211	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
3961.22Sfvdl			    void *value, size_t size, int flags); }
3971.40Spooka212	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
3981.22Sfvdl			    void *value, size_t size); }
3991.40Spooka213	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
4001.22Sfvdl			    void *value, size_t size); }
4011.40Spooka214	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
4021.22Sfvdl			    void *value, size_t size); }
4031.40Spooka215	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
4041.22Sfvdl			    size_t size); }
4051.40Spooka216	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
4061.22Sfvdl			    size_t size); }
4071.40Spooka217	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
4081.22Sfvdl			    size_t size); }
4091.40Spooka218	STD		{ int|linux_sys||removexattr(char *path, char *name); }
4101.40Spooka219	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
4111.40Spooka220	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
4121.45Schs221	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
4131.45Schs			    const struct linux_timespec *timeout, int *uaddr2, \
4141.45Schs			    int val3); }
4151.45Schs222	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
4161.45Schs			    unsigned int len, unsigned long *mask); }
4171.45Schs223	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
4181.45Schs			    unsigned int len, unsigned long *mask); }
4191.18Sjdolecek224	UNIMPL		/* unused */
4201.18Sjdolecek225	UNIMPL		tuxcall
4211.18Sjdolecek226	UNIMPL		sendfile64
4221.18Sjdolecek227	UNIMPL		io_setup
4231.18Sjdolecek228	UNIMPL		io_destroy
4241.18Sjdolecek229	UNIMPL		io_getevents
4251.18Sjdolecek230	UNIMPL		io_submit
4261.18Sjdolecek231	UNIMPL		io_cancel
4271.45Schs232	STD		{ int|linux_sys||set_tid_address(int *tid); }
4281.62Snjoly233	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
4291.62Snjoly			    size_t len, int advice); }
4301.40Spooka234	STD		{ int|linux_sys||exit_group(int error_code); }
4311.18Sjdolecek235	UNIMPL		lookup_dcookie
4321.81Schristos236	STD		{ int|linux_sys||epoll_create(int size); }
4331.81Schristos237	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
4341.81Schristos			    struct linux_epoll_event *event); }
4351.81Schristos238	STD		{ int|linux_sys||epoll_wait(int epfd, \
4361.81Schristos			    struct linux_epoll_event *events, int maxevents, \
4371.81Schristos			    int timeout); }
4381.18Sjdolecek239	UNIMPL		remap_file_pages
4391.75Sthorpej240	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
4401.75Sthorpej			    struct linux_sigevent *evp, timer_t *timerid); }
4411.75Sthorpej241	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
4421.75Sthorpej			    int flags, const struct linux_itimerspec *tim, \
4431.75Sthorpej			    struct linux_itimerspec *otim); }
4441.75Sthorpej242	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
4451.75Sthorpej			    struct linux_itimerspec *tim); }
4461.75Sthorpej243	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
4471.75Sthorpej244	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
4481.40Spooka245	STD		{ int|linux_sys||clock_settime(clockid_t which, \
4491.23Sfvdl			    struct linux_timespec *tp); }
4501.40Spooka246	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
4511.23Sfvdl			    struct linux_timespec *tp); }
4521.40Spooka247	STD		{ int|linux_sys||clock_getres(clockid_t which, \
4531.23Sfvdl			    struct linux_timespec *tp); }
4541.40Spooka248	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
4551.23Sfvdl			    int flags, struct linux_timespec *rqtp, \
4561.23Sfvdl			    struct linux_timespec *rmtp); }
4571.18Sjdolecek249	UNIMPL		swapcontext
4581.45Schs250	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
4591.64Snjoly251	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
4601.64Snjoly			    const struct timeval50 *tptr); }
4611.40Spooka252	STD		{ int|linux_sys||statfs64(const char *path, \
4621.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4631.40Spooka253	STD		{ int|linux_sys||fstatfs64(int fd, \
4641.20Sjdolecek			    size_t sz, struct linux_statfs64 *sp); }
4651.62Snjoly254	STD		{ int|linux_sys||fadvise64_64(int fd, off_t offset, \
4661.62Snjoly			    off_t len, int advice); }
4671.18Sjdolecek255	UNIMPL		rtas
4681.18Sjdolecek256	UNIMPL		/* reserved for sys_debug_setcontext */
4691.18Sjdolecek257	UNIMPL		/* reserved for vserver */
4701.18Sjdolecek258	UNIMPL		/* reserved for new sys_remap_file_pages */
4711.18Sjdolecek259	UNIMPL		/* reserved for new sys_mbind */
4721.18Sjdolecek260	UNIMPL		/* reserved for new sys_get_mempolicy */
4731.18Sjdolecek261	UNIMPL		/* reserved for new sys_set_mempolicy */
4741.86Schristos262	STD		{ linux_mqd_t|linux_sys||mq_open(const char *name, \
4751.86Schristos			    int oflag, linux_umode_t mode, \
4761.86Schristos			    struct linux_mq_attr *attr); }
4771.86Schristos263	STD		{ int|linux_sys||mq_unlink(const char *name); }
4781.86Schristos264	STD		{ int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \
4791.86Schristos			    const char *msg_ptr, size_t msg_len, \
4801.86Schristos			    unsigned int msg_prio, \
4811.86Schristos			    const struct linux_timespec *abs_timeout); }
4821.86Schristos265	STD		{ ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \
4831.86Schristos			    char *msg_ptr, size_t msg_len, \
4841.86Schristos			    unsigned int *msg_prio, \
4851.86Schristos			    const struct linux_timespec *abs_timeout); }
4861.86Schristos266	STD		{ int|linux_sys||mq_notify(linux_mqd_t mqdes, \
4871.86Schristos			    const struct linux_sigevent *sevp); }
4881.86Schristos267	STD		{ int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \
4891.86Schristos			    const struct linux_mq_attr *newattr, \
4901.86Schristos			    struct linux_mq_attr *oldattr); }
4911.18Sjdolecek268	UNIMPL		kexec_load
4921.45Schs269	UNIMPL		add_key
4931.45Schs270	UNIMPL		request_key
4941.45Schs271	UNIMPL		keyctl
4951.84Schristos272	STD		{ int|linux_sys||waitid(int idtype, id_t id, \
4961.83Schristos			    linux_siginfo_t *infop, int options, \
4971.83Schristos			    struct rusage50 *rusage); }
4981.45Schs273	UNIMPL		ioprio_set
4991.45Schs274	UNIMPL		ioprio_get
5001.84Schristos275	STD		{ int|linux_sys||inotify_init(void); }
5011.84Schristos276	STD		{ int|linux_sys||inotify_add_watch(int fd, \
5021.84Schristos			    const char *pathname, uint32_t mask); }
5031.84Schristos277	STD		{ int|linux_sys||inotify_rm_watch(int fd, int wd); }
5041.45Schs278	UNIMPL		spu_run
5051.45Schs279	UNIMPL		spu_create
5061.70Smanu280	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
5071.70Smanu			   fd_set *writefds, fd_set *exceptfds, \
5081.70Smanu			   struct linux_timespec *timeout, \
5091.70Smanu			   linux_sized_sigset_t *ss); }
5101.66Snjoly281	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
5111.51Spooka			    struct linux_timespec *timeout, \
5121.51Spooka			    linux_sigset_t *sigset); }
5131.45Schs282	UNIMPL		unshare
5141.45Schs283	UNIMPL		splice
5151.45Schs284	UNIMPL		tee
5161.45Schs285	UNIMPL		vmsplice
5171.58Snjoly286	STD		{ int|linux_sys||openat(int fd, const char *path, \
5181.58Snjoly			    int flags, ... linux_umode_t mode); }
5191.58Snjoly287	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
5201.58Snjoly			    linux_umode_t mode); }
5211.58Snjoly288	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
5221.58Snjoly			    linux_umode_t mode, unsigned dev); }
5231.58Snjoly289	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
5241.58Snjoly			    uid_t owner, gid_t group, int flag); }
5251.45Schs290	UNIMPL		futimesat
5261.58Snjoly291	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
5271.58Snjoly			    struct linux_stat64 *sp, int flag); }
5281.58Snjoly292	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
5291.58Snjoly			    int flag); }
5301.58Snjoly293	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
5311.58Snjoly			    int tofd, const char *to); }
5321.58Snjoly294	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
5331.58Snjoly			    int fd2, const char *name2, int flags); }
5341.58Snjoly295	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
5351.58Snjoly			    const char *path2); }
5361.69Snjoly296	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
5371.58Snjoly			    char *buf, size_t bufsize); }
5381.58Snjoly297	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
5391.58Snjoly			    linux_umode_t mode); }
5401.58Snjoly298	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
5411.58Snjoly			    int amode); }
5421.74Sthorpej			;
5431.74Sthorpej			; The NetBSD native robust list calls have different
5441.74Sthorpej			; argument names / types, but they are ABI-compatible
5451.74Sthorpej			; with Linux.
5461.74Sthorpej			;
5471.74Sthorpej299	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
5481.74Sthorpej			    size_t len); }
5491.74Sthorpej300	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
5501.74Sthorpej			    void **headp, size_t *lenp); }
5511.45Schs301	UNIMPL		move_pages
5521.85Schristos302	STD		{ int|linux_sys||getcpu(unsigned int *cpu, \
5531.85Schristos			    unsigned int *node, \
5541.85Schristos			    struct linux_getcpu_cache *tcache); }
5551.81Schristos303	STD		{ int|linux_sys||epoll_pwait(int epfd, \
5561.81Schristos			    struct linux_epoll_event *events, int maxevents, \
5571.81Schristos			    int timeout, const linux_sigset_t *sigmask); }
5581.55Snjoly304	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
5591.55Snjoly			    struct linux_timespec *times, int flag); }
5601.45Schs305	UNIMPL		signalfd
5611.76Sthorpej306	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
5621.76Sthorpej			    int flags); }
5631.77Sthorpej307	STD		{ int|linux_sys||eventfd(unsigned int initval); }
5641.87Schristos308	STD		{ int|linux_sys||sync_file_range(int fd, \
5651.87Schristos			    off_t offset, off_t nbytes, unsigned int flags); }
5661.73Sjdolecek309	STD		{ int|linux_sys||fallocate(int fd, int mode, \
5671.73Sjdolecek			    off_t offset, off_t len); }
5681.45Schs310	UNIMPL		subpage_prot
5691.76Sthorpej311	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
5701.76Sthorpej			    const struct linux_itimerspec *tim, \
5711.76Sthorpej			    struct linux_itimerspec *otim); }
5721.76Sthorpej312	STD		{ int|linux_sys||timerfd_gettime(int fd, \
5731.76Sthorpej			    struct linux_itimerspec *tim); }
5741.45Schs313	UNIMPL		signalfd4
5751.77Sthorpej314	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
5761.77Sthorpej			    int flags); }
5771.81Schristos315	STD		{ int|linux_sys||epoll_create1(int flags); }
5781.46She316	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
5791.46She317	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
5801.84Schristos318	STD		{ int|linux_sys||inotify_init1(int flags); }
5811.45Schs319	UNIMPL		perf_event_open
5821.78Sthorpej320	STD		{ int|linux_sys||preadv(int fd, \
5831.78Sthorpej			    const struct iovec *iovp, int iovcnt, \
5841.78Sthorpej			    unsigned long off_lo, unsigned long off_hi); }
5851.78Sthorpej321	STD		{ int|linux_sys||pwritev(int fd, \
5861.78Sthorpej			    const struct iovcnt *iovp, int iovcnt, \
5871.78Sthorpej			    unsigned long off_lo, unsigned long off_hi); }
5881.45Schs322	UNIMPL		rt_tgsigqueueinfo
5891.72Schristos323	UNIMPL		fanotify_init
5901.72Schristos324	UNIMPL		fanotify_mark
5911.80Sryo325	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
5921.80Sryo			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
5931.72Schristos326	UNIMPL		socket
5941.72Schristos327	UNIMPL		bind
5951.72Schristos328	UNIMPL		connect
5961.72Schristos329	UNIMPL		listen
5971.72Schristos330	UNIMPL		accept
5981.72Schristos331	UNIMPL		getsockname
5991.72Schristos332	UNIMPL		getpeername
6001.72Schristos333	UNIMPL		socketpair
6011.72Schristos334	UNIMPL		send
6021.72Schristos335	UNIMPL		sendto
6031.72Schristos336	UNIMPL		recv
6041.72Schristos337	UNIMPL		recvfrom
6051.72Schristos338	UNIMPL		shutdown
6061.72Schristos339	UNIMPL		setsockopt
6071.72Schristos340	UNIMPL		getsockopt
6081.72Schristos341	UNIMPL		sendmsg
6091.72Schristos342	UNIMPL		recvmsg
6101.72Schristos343	STD		{ int|linux_sys||recvmmsg(int s, \
6111.72Schristos			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
6121.72Schristos			    unsigned int flags, struct timespec *timeout); }
6131.71Smartin344	STD		{ int|linux_sys||accept4(int s, \
6141.71Smartin			    struct osockaddr *name, \
6151.71Smartin			    int *anamelen, int flags); }
6161.72Schristos345	UNIMPL		name_to_handle_at
6171.72Schristos346	UNIMPL		open_by_handle_at
6181.72Schristos347	UNIMPL		clock_adjtime
6191.87Schristos348	STD		{ int|linux_sys||syncfs(int fd); }
6201.72Schristos349	STD		{ int|linux_sys||sendmmsg(int s, \
6211.72Schristos			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
6221.72Schristos			    unsigned int flags); }
6231.72Schristos350	UNIMPL		setns
6241.72Schristos351	UNIMPL		process_vm_readv
6251.72Schristos352	UNIMPL		process_vm_writev
6261.72Schristos353	UNIMPL		finit_module
6271.72Schristos354	UNIMPL		kcmp
6281.72Schristos355	UNIMPL		sched_setattr
6291.72Schristos356	UNIMPL		sched_getattr
6301.87Schristos357	STD		{ int|linux_sys||renameat2(int fromfd, \
6311.87Schristos			    const char *from, int tofd, const char *to, \
6321.87Schristos			    unsigned int flags); }
6331.72Schristos358	UNIMPL		seccomp
6341.79Sryo359	NOARGS		{ ssize_t|sys||getrandom(void *buf, size_t buflen, \
6351.79Sryo			    unsigned int flags); }
6361.72Schristos360	UNIMPL		memfd_create
6371.72Schristos361	UNIMPL		bpf
6381.72Schristos362	UNIMPL		execveat
6391.72Schristos363	UNIMPL		switch_endian
6401.72Schristos364	UNIMPL		userfaultfd
6411.72Schristos365	UNIMPL		membarrier
6421.72Schristos366	UNIMPL
6431.72Schristos367	UNIMPL
6441.72Schristos368	UNIMPL
6451.72Schristos369	UNIMPL
6461.72Schristos370	UNIMPL
6471.72Schristos371	UNIMPL
6481.72Schristos372	UNIMPL
6491.72Schristos373	UNIMPL
6501.72Schristos374	UNIMPL
6511.72Schristos375	UNIMPL
6521.72Schristos376	UNIMPL
6531.72Schristos377	UNIMPL
6541.72Schristos378	UNIMPL		mlock2
6551.87Schristos379	STD		{ ssize_t|linux_sys||copy_file_range(int fd_in, \
6561.87Schristos			off_t * off_in, int fd_out, off_t * off_out, \
6571.87Schristos			size_t len, unsigned int flags); }
6581.72Schristos380	UNIMPL		preadv2
6591.72Schristos381	UNIMPL		pwritev2
6601.72Schristos382	UNIMPL		kexec_file_load
6611.84Schristos383	STD		{ int|linux_sys||statx(int fd, const char *path, \
6621.82Schristos			    int flag, unsigned int mask, \
6631.82Schristos			    struct linux_statx *sp); }
6641.81Schristos384	UNIMPL
6651.81Schristos385	UNIMPL
6661.81Schristos386	UNIMPL
6671.81Schristos387	UNIMPL
6681.81Schristos388	UNIMPL
6691.81Schristos389	UNIMPL
6701.81Schristos390	UNIMPL
6711.81Schristos391	UNIMPL
6721.81Schristos392	UNIMPL
6731.81Schristos393	UNIMPL
6741.81Schristos394	UNIMPL
6751.81Schristos395	UNIMPL
6761.81Schristos396	UNIMPL
6771.81Schristos397	UNIMPL
6781.81Schristos398	UNIMPL
6791.81Schristos399	UNIMPL
6801.81Schristos400	UNIMPL
6811.81Schristos401	UNIMPL
6821.81Schristos402	UNIMPL
6831.81Schristos403	UNIMPL
6841.81Schristos404	UNIMPL
6851.81Schristos405	UNIMPL
6861.81Schristos406	UNIMPL
6871.81Schristos407	UNIMPL
6881.81Schristos408	UNIMPL
6891.81Schristos409	UNIMPL
6901.81Schristos410	UNIMPL
6911.81Schristos411	UNIMPL
6921.81Schristos412	UNIMPL
6931.81Schristos413	UNIMPL
6941.81Schristos414	UNIMPL
6951.81Schristos415	UNIMPL
6961.81Schristos416	UNIMPL
6971.81Schristos417	UNIMPL
6981.81Schristos418	UNIMPL
6991.81Schristos419	UNIMPL
7001.81Schristos420	UNIMPL
7011.81Schristos421	UNIMPL
7021.81Schristos422	UNIMPL
7031.81Schristos423	UNIMPL
7041.81Schristos424	UNIMPL
7051.81Schristos425	UNIMPL
7061.81Schristos426	UNIMPL
7071.81Schristos427	UNIMPL
7081.81Schristos428	UNIMPL
7091.81Schristos429	UNIMPL
7101.81Schristos430	UNIMPL
7111.81Schristos431	UNIMPL
7121.81Schristos432	UNIMPL
7131.81Schristos433	UNIMPL
7141.81Schristos434	UNIMPL
7151.87Schristos435	STD		{ int|linux_sys||clone3( \
7161.87Schristos			    struct linux_user_clone3_args *cl_args, \
7171.87Schristos			    size_t size); }
7181.82Schristos436	STD		{ int|linux_sys||close_range(unsigned int first, \
7191.82Schristos			    unsigned int last, unsigned int flags); }
7201.81Schristos437	UNIMPL
7211.81Schristos438	UNIMPL
7221.85Schristos439	STD		{ int|linux_sys||faccessat2(int fd, const char *path, \
7231.85Schristos			    int amode, int flags); }
7241.81Schristos440	UNIMPL
7251.81Schristos441	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
7261.81Schristos			    struct linux_epoll_event *events, int maxevents, \
7271.81Schristos			    const struct linux_timespec *timeout, \
7281.81Schristos			    const linux_sigset_t *sigmask); }
729