xref: /netbsd-src/sys/compat/linux/arch/m68k/syscalls.master (revision a3740e150a4bea0d03e70539dc6fe36956b72c38)
1	$NetBSD: syscalls.master,v 1.107 2024/09/28 19:35:56 christos Exp $
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; NetBSD m68k COMPAT_LINUX system call name/number "master" file.
6; (See syscalls.conf to see what it is processed into.)
7;
8; Fields: number type [type-dependent ...]
9;	number	system call number, must be in order
10;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11;		the compatibility options defined in syscalls.conf.
12;
13; types:
14;	STD	always included
15;	OBSOL	obsolete, not included in system
16;	UNIMPL	unimplemented, not included in system
17;	NODEF	included, but don't define the syscall number
18;	NOARGS	included, but don't define the syscall args structure
19;	INDIR	included, but don't define the syscall args structure
20;		and allow it to be "really" varargs.
21;
22; The compat options are defined in the syscalls.conf file, and the
23; compat option name is prefixed to the syscall name.  Other than
24; that, they're like NODEF (for 'compat' options), or STD (for
25; 'libcompat' options).
26;
27; The type-dependent arguments are as follows:
28; For STD, NODEF, NOARGS, and compat syscalls:
29;	{ pseudo-proto } [alias]
30; For other syscalls:
31;	[comment]
32;
33; #ifdef's, etc. may be included, and are copied to the output files.
34; #include's are copied to the syscall names and switch definition files only.
35
36#if defined(_KERNEL_OPT)
37#include "opt_compat_netbsd.h"
38#include "opt_compat_43.h"
39#endif
40
41#include <sys/param.h>
42#include <sys/poll.h>
43#include <sys/systm.h>
44#include <sys/signal.h>
45#include <sys/mount.h>
46#include <sys/sched.h>
47#include <sys/syscallargs.h>
48
49#include <compat/linux/common/linux_types.h>
50#include <compat/linux/common/linux_signal.h>
51#include <compat/linux/common/linux_siginfo.h>
52#include <compat/linux/common/linux_machdep.h>
53#include <compat/linux/common/linux_mmap.h>
54#include <compat/linux/common/linux_mqueue.h>
55#include <compat/linux/common/linux_sched.h>
56
57#include <compat/linux/linux_syscallargs.h>
58
59%%
60
610	NOARGS		{ int|linux_sys||nosys(void); } syscall
621	STD		{ int|linux_sys||exit(int rval); }
632	NOARGS		{ int|sys||fork(void); }
643	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
654	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
66			    size_t nbyte); }
675	STD		{ int|linux_sys||open(const char *path, int flags, \
68			    linux_umode_t mode); }
696	NOARGS		{ int|sys||close(int fd); }
707	STD		{ int|linux_sys||waitpid(int pid, int *status, \
71			    int options);}
728	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
739	NOARGS		{ int|sys||link(const char *path, const char *link); }
7410	STD		{ int|linux_sys||unlink(const char *path); }
7511	NOARGS		{ int|sys||execve(const char *path, char **argp, \
76			    char **envp); }
7712	NOARGS		{ int|sys||chdir(const char *path); }
7813	STD		{ int|linux_sys||time(linux_time_t *t); }
7914	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
80			    unsigned dev); }
8115	NOARGS		{ int|sys||chmod(const char *path, int mode); }
82;16 lchown on i386; chown on m68k.
8316	STD		{ int|linux_sys||chown16(const char *path, \
84			    linux_uid16_t uid, linux_gid16_t gid); }
8517	OBSOL		break
8618	OBSOL		ostat
87#if !defined(_KERNEL) || defined(COMPAT_43)
8819	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
89			    int whence); }
90#else
9119	UNIMPL		compat_43_sys_lseek
92#endif
9320	NOARGS 		{ pid_t|sys||getpid(void); }
9421	UNIMPL		mount
9522	OBSOL		umount
9623	NOARGS		linux_setuid16 { int|sys||setuid(uid_t uid); }
9724	NOARGS		linux_getuid16 { uid_t|sys||getuid(void); }
9825	STD		{ int|linux_sys||stime(linux_time_t *t); }
9926	STD		{ int|linux_sys||ptrace(int request, int pid, \
100			  int addr, int data); }
10127	STD		{ int|linux_sys||alarm(unsigned int secs); }
10228	OBSOL		ofstat
10329	STD		{ int|linux_sys||pause(void); }
10430	STD		{ int|linux_sys||utime(const char *path, \
105			    struct linux_utimbuf *times); }
10631	OBSOL		stty
10732	OBSOL		gtty
10833	NOARGS		{ int|sys||access(const char *path, int flags); }
10934	STD		{ int|linux_sys||nice(int incr); }
11035	OBSOL		ftime
11136	NOARGS		{ int|sys||sync(void); }
11237	STD		{ int|linux_sys||kill(int pid, int signum); }
11338	NOARGS		{ int|sys||__posix_rename(const char *from, \
114			    const char *to); }
11539	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
11640	NOARGS		{ int|sys||rmdir(const char *path); }
11741	NOARGS		{ int|sys||dup(int fd); }
11842	STD		{ int|linux_sys||pipe(int *pfds); }
11943	STD		{ int|linux_sys||times(struct times *tms); }
12044	OBSOL		prof
12145	STD		{ int|linux_sys||brk(char *nsize); }
12246	NOARGS		linux_setgid16 { int|sys||setgid(gid_t gid); }
12347	NOARGS		linux_getgid16 { gid_t|sys||getgid(void); }
12448	STD		{ int|linux_sys||signal(int signum, \
125			    linux_handler_t handler); }
12649	NOARGS		linux_geteuid16 { uid_t|sys||geteuid(void); }
12750	NOARGS		linux_getegid16 { gid_t|sys||getegid(void); }
12851	NOARGS		{ int|sys||acct(char *path); }
12952	UNIMPL		umount
13053	OBSOL		lock
13154	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
132			    void *data); }
13355	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
13456	OBSOL		mpx
13557	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
13658	OBSOL		ulimit
13759	UNIMPL		oldolduname
13860	NOARGS		{ int|sys||umask(int newmask); }
13961	NOARGS		{ int|sys||chroot(char *path); }
14062	UNIMPL		ustat
14163	NOARGS		{ int|sys||dup2(int from, int to); }
14264	NOARGS		{ pid_t|sys||getppid(void); }
14365	NOARGS		{ int|sys||getpgrp(void); }
14466	NOARGS		{ int|sys||setsid(void); }
14567	STD		{ int|linux_sys||sigaction(int signum, \
146			    const struct linux_old_sigaction *nsa, \
147			    struct linux_old_sigaction *osa); }
14868	STD		{ int|linux_sys||siggetmask(void); }
14969	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
15070	STD		{ int|linux_sys||setreuid16(linux_uid16_t ruid, \
151			    linux_uid16_t euid); }
15271	STD		{ int|linux_sys||setregid16(linux_gid16_t rgid, \
153			    linux_gid16_t egid); }
15472	STD		{ int|linux_sys||sigsuspend(void *restart, \
155			    int oldmask, int mask); }
15673	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
157#if !defined(_KERNEL) || defined(COMPAT_43)
15874	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
159			    u_int len);}
160#else
16174	UNIMPL		compat_43_sys_sethostname
162#endif
16375	STD		{ int|linux_sys||setrlimit(u_int which, \
164			    struct orlimit *rlp); }
16576	STD		{ int|linux_sys||getrlimit(u_int which, \
166			    struct orlimit *rlp); }
16777	NOARGS		{ int|compat_50_sys||getrusage(int who, \
168			    struct rusage50 *rusage); }
16978	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
170			    struct timezone *tzp); }
17179	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
172			    struct timezone *tzp); }
17380	STD		{ int|linux_sys||getgroups16(int gidsetsize, \
174			    linux_gid16_t *gidset); }
17581	STD		{ int|linux_sys||setgroups16(int gidsetsize, \
176			    linux_gid16_t *gidset); }
17782	STD		{ int|linux_sys||oldselect(struct linux_oldselect *lsp); }
17883	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
179#if !defined(_KERNEL) || defined(COMPAT_43)
18084	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
181			    struct stat43 *up); } oolstat
182#else
18384	UNIMPL		compat_43_sys_lstat
184#endif
18585	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
186			    int count); }
187#ifdef EXEC_AOUT
18886	STD		{ int|linux_sys||uselib(const char *path); }
189#else
19086	UNIMPL		sys_uselib
191#endif
19287	STD		{ int|linux_sys||swapon(char *name); }
19388	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
194			    int cmd, void *arg); }
19589	STD		{ int|linux_sys||readdir(int fd, void *dent, \
196			    unsigned int count); }
19790	STD		{ int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
19891	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
19992	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
200			    long length); }
201#if !defined(_KERNEL) || defined(COMPAT_43)
20293	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
203#else
20493	UNIMPL		compat_43_sys_ftruncate
205#endif
20694	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
20795	STD		{ int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
208			    linux_gid16_t gid); }
20996	STD		{ int|linux_sys||getpriority(int which, int who); }
21097	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
21198	NOARGS		{ int|sys||profil(void *samples, u_int size, \
212			    u_int offset, u_int scale); }
21399	STD		{ int|linux_sys||statfs(const char *path, \
214			    struct linux_statfs *sp); }
215100	STD		{ int|linux_sys||fstatfs(int fd, \
216			    struct linux_statfs *sp); }
217101	UNIMPL		ioperm
218102	STD		{ int|linux_sys||socketcall(int what, void *args); }
219103	UNIMPL		syslog
220104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
221			    struct itimerval50 *itv, \
222			    struct itimerval50 *oitv); }
223105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
224			    struct itimerval50 *itv); }
225106	STD		{ int|linux_sys||stat(const char *path, \
226			    struct linux_stat *sp); }
227107	STD		{ int|linux_sys||lstat(const char *path, \
228			    struct linux_stat *sp); }
229108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
230109	UNIMPL		olduname
231110	UNIMPL		iopl
232111	UNIMPL		vhangup
233112	UNIMPL		idle
234113	UNIMPL		vm86old
235114	STD		{ int|linux_sys||wait4(int pid, int *status, \
236			    int options, struct rusage50 *rusage); }
237115	STD		{ int|linux_sys||swapoff(const char *path); }
238116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
239117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
240			    void *ptr); }
241118	NOARGS		{ int|sys||fsync(int fd); }
242119	STD		{ int|linux_sys||sigreturn(void); }
243120	STD		{ int|linux_sys||clone(int flags, void *stack, \
244			    void *parent_tidptr, void *tls, void *child_tidptr); }
245121	STD		{ int|linux_sys||setdomainname(char *domainname, \
246			    int len); }
247122	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
248123	STD		{ int|linux_sys||cacheflush(unsigned long addr, \
249			    int scope, int cache, unsigned long len); }
250124	UNIMPL		adjtimex
251125	STD		{ int|linux_sys||mprotect(const void *start, \
252			    unsigned long len, int prot); }
253126	STD		{ int|linux_sys||sigprocmask(int how, \
254			    const linux_old_sigset_t *set, \
255			    linux_old_sigset_t *oset); }
256127	UNIMPL		create_module
257128	UNIMPL		init_module
258129	UNIMPL		delete_module
259130	UNIMPL		get_kernel_syms
260131	UNIMPL		quotactl
261132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
262133	NOARGS		{ int|sys||fchdir(int fd); }
263134	UNIMPL		bdflush
264135	UNIMPL		sysfs
265136	STD		{ int|linux_sys||personality(unsigned long per); }
266137	UNIMPL		afs_syscall
267138	NOARGS		linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); }
268139	NOARGS		linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); }
269140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
270			    u_int32_t olow, void *res, int whence); }
271141	STD		{ int|linux_sys||getdents(int fd, \
272			    struct linux_dirent *dent, unsigned int count); }
273142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
274			    fd_set *writefds, fd_set *exceptfds, \
275			    struct timeval50 *timeout); }
276143	NOARGS		{ int|sys||flock(int fd, int how); }
277144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
278145	NOARGS		{ ssize_t|sys||readv(int fd, \
279			    const struct iovec *iovp, int iovcnt); }
280146	NOARGS		{ ssize_t|sys||writev(int fd, \
281			    const struct iovec *iovp, int iovcnt); }
282147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
283148	STD		{ int|linux_sys||fdatasync(int fd); }
284149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
285150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
286151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
287152	NOARGS		{ int|sys||mlockall(int flags); }
288153	NOARGS		{ int|sys||munlockall(void); }
289154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
290			    const struct linux_sched_param *sp); }
291155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
292			    struct linux_sched_param *sp); }
293156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
294			    int policy, const struct linux_sched_param *sp); }
295157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
296158	STD		{ int|linux_sys||sched_yield(void); }
297159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
298160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
299161	UNIMPL		sched_rr_get_interval
300162	STD		{ int|linux_sys||nanosleep( \
301			    const struct linux_timespec *rqtp, \
302			    struct linux_timespec *rmtp); }
303163	STD		{ void *|linux_sys||mremap(void *old_address, \
304			    size_t old_size, size_t new_size, u_long flags); }
305164	STD		{ int|linux_sys||setresuid16(linux_uid16_t ruid, \
306			    linux_uid16_t euid, linux_uid16_t suid); }
307165	STD		{ int|linux_sys||getresuid16(linux_uid16_t *ruid, \
308			    linux_uid16_t *euid, linux_uid16_t *suid); }
309166	UNIMPL		vm86
310167	UNIMPL		query_module
311168	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
312			    int timeout); }
313169	UNIMPL		nfsservctl
314170	STD		{ int|linux_sys||setresgid16(linux_gid16_t rgid, \
315			    linux_gid16_t egid, linux_gid16_t sgid); }
316171	STD		{ int|linux_sys||getresgid16(linux_gid16_t *rgid, \
317			    linux_gid16_t *egid, linux_gid16_t *sgid); }
318172	UNIMPL		prctl
319173	STD		{ int|linux_sys||rt_sigreturn(void); }
320174	STD		{ int|linux_sys||rt_sigaction(int signum, \
321			    const struct linux_sigaction *nsa, \
322			    struct linux_sigaction *osa, \
323			    size_t sigsetsize); }
324175	STD		{ int|linux_sys||rt_sigprocmask(int how, \
325			    const linux_sigset_t *set, \
326			    linux_sigset_t *oset, \
327			    size_t sigsetsize); }
328176	STD		{ int|linux_sys||rt_sigpending( \
329			    linux_sigset_t *set, \
330			    size_t sigsetsize); }
331177	STD		{ int|linux_sys||rt_sigtimedwait( \
332			    const linux_sigset_t *set, \
333			    linux_siginfo_t *info, \
334			    const struct linux_timespec *timeout); }
335178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
336			    linux_siginfo_t *uinfo); }
337179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
338			    size_t sigsetsize); }
339180	STD		{ int|linux_sys||pread(int fd, char *buf, \
340			    size_t nbyte, off_t offset); }
341181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
342			    size_t nbyte, off_t offset); }
343;182 chown on i386; lchown on m68k.
344182	STD		{ int|linux_sys||lchown16(const char *path, \
345			    linux_uid16_t uid, linux_gid16_t gid); }
346183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
347184	UNIMPL		capget
348185	UNIMPL		capset
349186	STD		{ int|linux_sys||sigaltstack( \
350			    const struct linux_sigaltstack *ss, \
351			    struct linux_sigaltstack *oss); }
352187	UNIMPL		sendfile
353188	UNIMPL		getpmsg
354189	UNIMPL		putpmsg
355190	NOARGS		{ int|sys|14|vfork(void); }
356191	STD		{ int|linux_sys||ugetrlimit(int which, \
357			    struct orlimit *rlp); }
358#define linux_sys_mmap2_args linux_sys_mmap_args
359192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
360			    size_t len, int prot, int flags, int fd, \
361			    linux_off_t offset); }
362193	STD		{ int|linux_sys||truncate64(const char *path, \
363			    off_t length); }
364194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
365			    off_t length); }
366195	STD		{ int|linux_sys||stat64(const char *path, \
367			    struct linux_stat64 *sp); }
368196	STD		{ int|linux_sys||lstat64(const char *path, \
369			    struct linux_stat64 *sp); }
370197	STD		{ int|linux_sys||fstat64(int fd, \
371			    struct linux_stat64 *sp); }
372198	NOARGS		 { int|sys||__posix_chown(const char *path, uid_t uid, \
373			    gid_t gid); }
374199	NOARGS		{ uid_t|sys||getuid(void); }
375200	NOARGS		{ gid_t|sys||getgid(void); }
376201	NOARGS		{ uid_t|sys||geteuid(void); }
377202	NOARGS		{ gid_t|sys||getegid(void); }
378203	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
379204	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
380205	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
381206	NOARGS		{ int|sys||setgroups(int gidsetsize, gid_t *gidset); }
382207	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
383			    gid_t gid); }
384208	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
385			    uid_t suid); }
386209	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
387			    uid_t *suid); }
388210	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
389			    gid_t sgid); }
390211	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
391			    gid_t *sgid); }
392212	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
393			    gid_t gid); }
394213	NOARGS		{ int|sys||setuid(uid_t uid); }
395214	NOARGS		{ int|sys||setgid(gid_t gid); }
396215	STD		{ int|linux_sys||setfsuid(uid_t uid); }
397216	STD		{ int|linux_sys||setfsgid(gid_t gid); }
398217	UNIMPL		/* unused */
399218	UNIMPL		/* unused */
400219	UNIMPL		/* unused */
401220	STD		{ int|linux_sys||getdents64(int fd, \
402			    struct linux_dirent64 *dent, unsigned int count); }
403221	NOARGS		{ pid_t|linux_sys||gettid(void); }
404222	STD		{ int|linux_sys||tkill(int tid, int sig); }
405223	STD		{ int|linux_sys||setxattr(char *path, char *name, \
406			    void *value, size_t size, int flags); }
407224	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
408			    void *value, size_t size, int flags); }
409225	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
410			    void *value, size_t size, int flags); }
411226	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
412			    void *value, size_t size); }
413227	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
414			    void *value, size_t size); }
415228	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
416			    void *value, size_t size); }
417229	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
418			    size_t size); }
419230	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
420			    size_t size); }
421231	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
422			    size_t size); }
423232	STD		{ int|linux_sys||removexattr(char *path, char *name); }
424233	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
425234	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
426235	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
427			    const struct linux_timespec *timeout, int *uaddr2, \
428			    int val3); }
429236	UNIMPL		sendfile64
430237	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
431238	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
432239	STD		{ int|linux_sys||fcntl64(int fd, int cmd, void *arg); }
433240	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
434			    size_t count); }
435241	UNIMPL		io_setup
436242	UNIMPL		io_destroy
437243	UNIMPL		io_getevents
438244	UNIMPL		io_submit
439245	UNIMPL		io_cancel
440246	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
441			    size_t len, int advice); }
442247	UNIMPL		exit_group
443248	UNIMPL		lookup_dcookie
444249	STD		{ int|linux_sys||epoll_create(int size); }
445250	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
446			    struct linux_epoll_event *event); }
447251	STD		{ int|linux_sys||epoll_wait(int epfd, \
448			    struct linux_epoll_event *events, int maxevents, \
449			    int timeout); }
450252	UNIMPL		remap_file_pages
451253	STD		{ int|linux_sys||set_tid_address(int *tid); }
452254	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
453			    struct linux_sigevent *evp, timer_t *timerid); }
454255	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
455			    int flags, const struct linux_itimerspec *tim, \
456			    struct linux_itimerspec *otim); }
457256	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
458			    struct linux_itimerspec *tim); }
459257	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
460258	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
461259	STD		{ int|linux_sys||clock_settime(clockid_t which, \
462			    struct linux_timespec *tp); }
463260	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
464			    struct linux_timespec *tp); }
465261	STD		{ int|linux_sys||clock_getres(clockid_t which, \
466			    struct linux_timespec *tp); }
467262	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
468			    int flags, struct linux_timespec *rqtp, \
469			    struct linux_timespec *rmtp); }
470263	STD		{ int|linux_sys||statfs64(const char *path, \
471			    size_t sz, struct linux_statfs64 *sp); }
472264	STD		{ int|linux_sys||fstatfs64(int fd, \
473			    size_t sz, struct linux_statfs64 *sp); }
474265	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
475266	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
476			    const struct timeval50 *tptr); }
477267	STD		{ int|linux_sys||fadvise64_64(int fd, off_t offset, \
478			    off_t len, int advice); }
479268	UNIMPL		mbind
480269	UNIMPL		get_mempolicy
481270	UNIMPL		set_mempolicy
482271	STD		{ linux_mqd_t|linux_sys||mq_open(const char *name, \
483			    int oflag, linux_umode_t mode, \
484			    struct linux_mq_attr *attr); }
485272	STD		{ int|linux_sys||mq_unlink(const char *name); }
486273	STD		{ int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \
487			    const char *msg_ptr, size_t msg_len, \
488			    unsigned int msg_prio, \
489			    const struct linux_timespec *abs_timeout); }
490274	STD		{ ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \
491			    char *msg_ptr, size_t msg_len, \
492			    unsigned int *msg_prio, \
493			    const struct linux_timespec *abs_timeout); }
494275	STD		{ int|linux_sys||mq_notify(linux_mqd_t mqdes, \
495			    const struct linux_sigevent *sevp); }
496276	STD		{ int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \
497			    const struct linux_mq_attr *newattr, \
498			    struct linux_mq_attr *oldattr); }
499277	UNIMPL		waitid
500278	UNIMPL		vserver
501279	UNIMPL		add_key
502280	UNIMPL		request_key
503281	UNIMPL		keyctl
504282	UNIMPL		ioprio_set
505283	UNIMPL		ioprio_get
506284	STD		{ int|linux_sys||inotify_init(void); }
507285	STD		{ int|linux_sys||inotify_add_watch(int fd, \
508			    const char *pathname, uint32_t mask); }
509286	STD		{ int|linux_sys||inotify_rm_watch(int fd, int wd); }
510287	UNIMPL		migrate_pages
511288	STD 		{ int|linux_sys||openat(int fd, const char *path, \
512			    int flags, ... linux_umode_t mode); }
513289	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
514			    linux_umode_t mode); }
515290	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
516			    linux_umode_t mode, unsigned dev); }
517291	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
518			    uid_t owner, gid_t group, int flag); }
519292	UNIMPL		futimesat
520293	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
521			    struct linux_stat64 *sp, int flag); }
522294	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
523			    int flag); }
524295	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
525			    int tofd, const char *to); }
526296	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
527			    int fd2, const char *name2, int flags); }
528297	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
529			    const char *path2); }
530298	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
531			    char *buf, size_t bufsize); }
532299	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
533			    linux_umode_t mode); }
534300	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
535			    int amode); }
536301	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
537			   fd_set *writefds, fd_set *exceptfds, \
538			   struct linux_timespec *timeout, \
539			   linux_sized_sigset_t *ss); }
540302	STD             { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
541			    struct linux_timespec *timeout, \
542			    linux_sigset_t *sigset); }
543303	UNIMPL		unshare
544			;
545			; The NetBSD native robust list calls have different
546			; argument names / types, but they are ABI-compatible
547			; with Linux.
548			;
549304	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
550			    size_t len); }
551305	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
552			    void **headp, size_t *lenp); }
553306	UNIMPL		splice
554307	STD		{ int|linux_sys||sync_file_range(int fd, \
555			    off_t offset, off_t nbytes, unsigned int flags); }
556308	UNIMPL		tee
557309	UNIMPL		vmsplice
558310	UNIMPL		move_pages
559311	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
560			    unsigned int len, unsigned long *mask); }
561312	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
562			    unsigned int len, unsigned long *mask); }
563313	UNIMPL		kexec_load
564314	STD		{ int|linux_sys||getcpu(unsigned int *cpu, \
565			    unsigned int *node, \
566			    struct linux_getcpu_cache *tcache); }
567315	STD		{ int|linux_sys||epoll_pwait(int epfd, \
568			    struct linux_epoll_event *events, int maxevents, \
569			    int timeout, const linux_sigset_t *sigmask); }
570316	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
571			    struct linux_timespec *times, int flag); }
572317	UNIMPL		signalfd
573318	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
574			    int flags); }
575319	STD		{ int|linux_sys||eventfd(unsigned int initval); }
576320	STD		{ int|linux_sys||fallocate(int fd, int mode, \
577			    off_t offset, off_t len); }
578321	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
579			    const struct linux_itimerspec *tim, \
580			    struct linux_itimerspec *otim); }
581322	STD		{ int|linux_sys||timerfd_gettime(int fd, \
582			    struct linux_itimerspec *tim); }
583323	UNIMPL		signalfd4
584324	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
585			    int flags); }
586325	STD		{ int|linux_sys||epoll_create1(int flags); }
587326	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
588327	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
589328	STD		{ int|linux_sys||inotify_init1(int flags); }
590329	STD		{ int|linux_sys||preadv(int fd, \
591			    const struct iovec *iovp, int iovcnt, \
592			    unsigned long off_lo, unsigned long off_hi); }
593330	STD		{ int|linux_sys||pwritev(int fd, \
594			    const struct iovcnt *iovp, int iovcnt, \
595			    unsigned long off_lo, unsigned long off_hi); }
596331	UNIMPL		rt_tgsigqueueinfo
597332	UNIMPL		perf_counter_open
598333	UNIMPL		set_thread_area
599334	UNIMPL		get_thread_area
600335	UNIMPL		atomic_cmpxchg_32
601336	UNIMPL		atomic_barrier
602337	UNIMPL		fanotify_init
603338	UNIMPL		fanotify_mark
604339	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
605			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
606340	UNIMPL		name_to_handle_at
607341	UNIMPL		open_by_handle_at
608342	UNIMPL		clock_adjtime
609343	STD		{ int|linux_sys||syncfs(int fd); }
610344	UNIMPL		setns
611345	UNIMPL		process_vm_readv
612346	UNIMPL		process_vm_writev
613347	UNIMPL		kcmp
614348	UNIMPL		finit_module
615349	UNIMPL		sched_setattr
616350	UNIMPL		sched_getattr
617351	STD		{ int|linux_sys||renameat2(int fromfd, \
618			    const char *from, int tofd, const char *to, \
619			    unsigned int flags); }
620352	NOARGS		{ ssize_t|sys||getrandom(void *buf, size_t buflen, \
621			    unsigned int flags); }
622353	UNIMPL		memfd_create
623354	UNIMPL		bpf
624355	UNIMPL		execveat
625356	UNIMPL		socket
626357	UNIMPL		socketpair
627358	UNIMPL		bind
628359	UNIMPL		connect
629360	UNIMPL		listen
630361	STD		{ int|linux_sys||accept4(int s, \
631			    struct osockaddr *name, \
632			    int *anamelen, int flags); }
633362	UNIMPL		getsockopt
634363	UNIMPL		setsockopt
635364	UNIMPL		getsockname
636365	UNIMPL		getpeername
637366	UNIMPL		sendto
638367	UNIMPL		sendmsg
639368	UNIMPL		recvfrom
640369	UNIMPL		recvmsg
641370	UNIMPL		shutdown
642371	STD		{ int|linux_sys||recvmmsg(int s, \
643			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
644			    unsigned int flags, struct timespec *timeout); }
645372	STD		{ int|linux_sys||sendmmsg(int s, \
646			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
647			    unsigned int flags); }
648373	UNIMPL		userfaultfd
649374	UNIMPL		membarrier
650375	UNIMPL		mlock2
651376	STD		{ ssize_t|linux_sys||copy_file_range(int fd_in, \
652			off_t * off_in, int fd_out, off_t * off_out, \
653			size_t len, unsigned int flags); }
654377	UNIMPL		preadv2
655378	UNIMPL		pwritev2
656379	STD		{ int|linux_sys||statx(int fd, const char *path, \
657			    int flag, unsigned int mask, \
658			    struct linux_statx *sp); }
659380	UNIMPL
660381	UNIMPL
661382	UNIMPL
662383	UNIMPL
663384	UNIMPL
664385	UNIMPL
665386	UNIMPL
666387	UNIMPL
667388	UNIMPL
668389	UNIMPL
669390	UNIMPL
670391	UNIMPL
671392	UNIMPL
672393	UNIMPL
673394	UNIMPL
674395	UNIMPL
675396	UNIMPL
676397	UNIMPL
677398	UNIMPL
678399	UNIMPL
679400	UNIMPL
680401	UNIMPL
681402	UNIMPL
682403	UNIMPL
683404	UNIMPL
684405	UNIMPL
685406	UNIMPL
686407	UNIMPL
687408	UNIMPL
688409	UNIMPL
689410	UNIMPL
690411	UNIMPL
691412	UNIMPL
692413	UNIMPL
693414	UNIMPL
694415	UNIMPL
695416	UNIMPL
696417	UNIMPL
697418	UNIMPL
698419	UNIMPL
699420	UNIMPL
700421	UNIMPL
701422	UNIMPL
702423	UNIMPL
703424	UNIMPL
704425	UNIMPL
705426	UNIMPL
706427	UNIMPL
707428	UNIMPL
708429	UNIMPL
709430	UNIMPL
710431	UNIMPL
711432	UNIMPL
712433	UNIMPL
713434	UNIMPL
714435	STD		{ int|linux_sys||clone3( \
715			    struct linux_user_clone3_args *cl_args, \
716			    size_t size); }
717436	STD		{ int|linux_sys||close_range(unsigned int first, \
718			    unsigned int last, unsigned int flags); }
719437	UNIMPL
720438	UNIMPL
721439	STD		{ int|linux_sys||faccessat2(int fd, const char *path, \
722			    int amode, int flags); }
723440	UNIMPL
724441	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
725			    struct linux_epoll_event *events, int maxevents, \
726			    const struct linux_timespec *timeout, \
727			    const linux_sigset_t *sigmask); }
728