1	$NetBSD: syscalls.master,v 1.81 2024/07/01 01:35:53 christos Exp $  
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master
6; from Linux's arch/mips/kernel/syscalls.h
7
8; NetBSD mips COMPAT_LINUX system call name/number "master" file.
9; (See syscalls.conf to see what it is processed into.)
10;
11; Expect problems with
12;  48 signal: undefined in Linux???
13;  86 uselib: needs a.out
14;
15; Fields: number type [type-dependent ...]
16;	number	system call number, must be in order
17;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
18;		the compatibility options defined in syscalls.conf.
19;
20; types:
21;	STD	always included
22;	OBSOL	obsolete, not included in system
23;	UNIMPL	unimplemented, not included in system
24;	NODEF	included, but don't define the syscall number
25;	NOARGS	included, but don't define the syscall args structure
26;	INDIR	included, but don't define the syscall args structure
27;		and allow it to be "really" varargs.
28;
29; The compat options are defined in the syscalls.conf file, and the
30; compat option name is prefixed to the syscall name.  Other than
31; that, they're like NODEF (for 'compat' options), or STD (for
32; 'libcompat' options).
33;
34; The type-dependent arguments are as follows:
35; For STD, NODEF, NOARGS, and compat syscalls:
36;	{ pseudo-proto } [alias]
37; For other syscalls:
38;	[comment]
39;
40; #ifdef's, etc. may be included, and are copied to the output files.
41; #include's are copied to the syscall names and switch definition files only.
42
43#include <sys/param.h>
44#include <sys/poll.h>
45#include <sys/systm.h>
46#include <sys/signal.h>
47#include <sys/mount.h>
48#include <sys/syscallargs.h>
49
50#include <compat/linux/common/linux_types.h>
51#include <compat/linux/common/linux_signal.h>
52#include <compat/linux/common/linux_siginfo.h>
53#include <compat/linux/common/linux_machdep.h>
54#include <compat/linux/common/linux_mmap.h>
55#include <compat/linux/common/linux_mqueue.h>
56#include <compat/linux/common/linux_socketcall.h>
57#include <compat/linux/common/linux_sched.h>
58
59#include <compat/linux/linux_syscallargs.h>
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); }
8216	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
83			    gid_t gid); }
8417	UNIMPL
8518	OBSOL		ostat
8619	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
87			    int whence); }
8820	NOARGS 		{ pid_t|sys||getpid(void); }
8921	UNIMPL		mount
9022	OBSOL		umount
9123	NOARGS		{ int|sys||setuid(uid_t uid); }
9224	NOARGS		{ uid_t|sys||getuid(void); }
9325	STD		{ int|linux_sys||stime(linux_time_t *t); }
9426	STD		{ int|linux_sys||ptrace(long request, long pid, \
95			  long addr, long data); }
9627	STD		{ int|linux_sys||alarm(unsigned int secs); }
9728	OBSOL		ofstat
9829	STD		{ int|linux_sys||pause(void); }
9930	STD		{ int|linux_sys||utime(const char *path, \
100			    struct linux_utimbuf *times); }
10131	UNIMPL
10232	UNIMPL
10333	NOARGS		{ int|sys||access(const char *path, int flags); }
10434	STD		{ int|linux_sys||nice(int incr); }
10535	UNIMPL
10636	NOARGS		{ int|sys||sync(void); }
10737	STD		{ int|linux_sys||kill(int pid, int signum); }
10838	NOARGS		{ int|sys||__posix_rename(const char *from, \
109			    const char *to); }
11039	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
11140	NOARGS		{ int|sys||rmdir(const char *path); }
11241	NOARGS		{ int|sys||dup(int fd); }
11342	STD		{ int|linux_sys||pipe(int *pfds); }
11443	STD		{ int|linux_sys||times(struct times *tms); }
11544	UNIMPL
11645	STD		{ int|linux_sys||brk(char *nsize); }
11746	NOARGS		{ int|sys||setgid(gid_t gid); }
11847	NOARGS		{ gid_t|sys||getgid(void); }
11948	STD		{ int|linux_sys||signal(int signum, \
120			    linux___sighandler_t handler); }
12149	NOARGS		{ uid_t|sys||geteuid(void); }
12250	NOARGS		{ gid_t|sys||getegid(void); }
12351	NOARGS		{ int|sys||acct(char *path); }
12452	UNIMPL		umount
12553	UNIMPL
12654	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
127			    void *data); }
12855	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
12956	OBSOL		mpx
13057	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
13158	UNIMPL
13259	STD  		    { int|linux_sys||olduname(struct linux_old_utsname \
133			    *up); }
13460	NOARGS		{ int|sys||umask(int newmask); }
13561	NOARGS		{ int|sys||chroot(char *path); }
13662	UNIMPL		ustat
13763	NOARGS		{ int|sys||dup2(int from, int to); }
13864	NOARGS		{ pid_t|sys||getppid(void); }
13965	NOARGS		{ int|sys||getpgrp(void); }
14066	NOARGS		{ int|sys||setsid(void); }
14167	STD		{ int|linux_sys||sigaction(int signum, \
142			    const struct linux_old_sigaction *nsa, \
143			    struct linux_old_sigaction *osa); }
14468	STD		{ int|linux_sys||siggetmask(void); }
14569	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
14670	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
14771	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
14872	STD		{ int|linux_sys||sigsuspend(void *restart, \
149			    int oldmask, int mask); }
15073	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
15174	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
152			    u_int len);}
15375	STD		{ int|linux_sys||setrlimit(u_int which, \
154			    struct orlimit *rlp); }
15576	STD		{ int|linux_sys||getrlimit(u_int which, \
156			    struct orlimit *rlp); }
15777	NOARGS		{ int|compat_50_sys||getrusage(int who, \
158			    struct rusage50 *rusage); }
15978	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
160			    struct timezone *tzp); }
16179	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
162			    struct timezone *tzp); }
16380	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
16481	NOARGS		{ int|sys||setgroups(int gidsetsize, gid_t *gidset); }
16582	UNIMPL		old_select
16683	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
16784	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
168			    struct stat43 *up); } oolstat
16985	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
170			    int count); }
17186	UNIMPL		uselib
172;86	STD		{ int|linux_sys||uselib(const char *path); }
17387	STD		{ int|linux_sys||swapon(char *name); }
17488	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
175			    int cmd, void *arg); }
17689	STD		{ int|linux_sys||readdir(int fd, void *dent, \
177			    unsigned int count); }
17890	NOARGS      	{ int|linux_sys||mmap(unsigned long addr, size_t len, \
179			    int prot, int flags, int fd, linux_off_t offset); }
18091	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
18192	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
182			    long length); }
18393	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
18494	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
18595	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
186			    gid_t gid); }
18796	STD		{ int|linux_sys||getpriority(int which, int who); }
18897	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
18998	UNIMPL
19099	STD		{ int|linux_sys||statfs(const char *path, \
191			    struct linux_statfs *sp); }
192100	STD		{ int|linux_sys||fstatfs(int fd, \
193			    struct linux_statfs *sp); }
194101	STD		{ int|linux_sys||ioperm(unsigned int lo, \
195			    unsigned int hi, int val); }
196102	STD		{ int|linux_sys||socketcall(int what, void *args); }
197103	UNIMPL		syslog
198104	NOARGS		{ int|compat_50_sys||setitimer(int which, \
199			    struct itimerval50 *itv, \
200			    struct itimerval50 *oitv); }
201105	NOARGS		{ int|compat_50_sys||getitimer(int which, \
202			    struct itimerval50 *itv); }
203106	STD		{ int|linux_sys||stat(const char *path, \
204			    struct linux_stat *sp); }
205107	STD		{ int|linux_sys||lstat(const char *path, \
206			    struct linux_stat *sp); }
207108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
208109	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
209110	UNIMPL		iopl
210111	UNIMPL		vhangup
211112	UNIMPL		idle
212113	UNIMPL		vm86old
213114	STD		{ int|linux_sys||wait4(int pid, int *status, \
214			    int options, struct rusage50 *rusage); }
215115	STD		{ int|linux_sys||swapoff(const char *path); }
216116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
217117	STD		{ int|linux_sys||ipc(int what, long a1, long a2, \
218			    long a3, void *ptr); }
219118	NOARGS		{ int|sys||fsync(int fd); }
220119	STD		{ int|linux_sys||sigreturn(struct linux_sigframe *sf); }
221120	STD		{ int|linux_sys||clone(int flags, void *stack, \
222			    void *parent_tidptr, void *tls, void *child_tidptr); }
223121	STD		{ int|linux_sys||setdomainname(char *domainname, \
224			    int len); }
225122	STD		{ int|linux_sys||new_uname(struct linux_utsname *up); }
226123	UNIMPL		modify_ldt
227124	UNIMPL		adjtimex
228125	STD		{ int|linux_sys||mprotect(const void *start, \
229			    unsigned long len, int prot); }
230126	STD		{ int|linux_sys||sigprocmask(int how, \
231			    const linux_old_sigset_t *set, \
232			    linux_old_sigset_t *oset); }
233127	UNIMPL		create_module
234128	UNIMPL		init_module
235129	UNIMPL		delete_module
236130	UNIMPL		get_kernel_syms
237131	UNIMPL		quotactl
238132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
239133	NOARGS		{ int|sys||fchdir(int fd); }
240134	UNIMPL		bdflush
241135	UNIMPL		sysfs
242136	STD		{ int|linux_sys||personality(unsigned long per); }
243137	UNIMPL		afs_syscall
244138	STD		{ int|linux_sys||setfsuid(uid_t uid); }
245139	STD		{ int|linux_sys||setfsgid(gid_t gid); }
246140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
247			    u_int32_t olow, void *res, int whence); }
248141	STD		{ int|linux_sys||getdents(int fd, \
249			    struct linux_dirent *dent, unsigned int count); }
250142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
251			    fd_set *writefds, fd_set *exceptfds, \
252			    struct timeval50 *timeout); }
253143	NOARGS		{ int|sys||flock(int fd, int how); }
254144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
255145	NOARGS		{ ssize_t|sys||readv(int fd, \
256			    const struct iovec *iovp, int iovcnt); }
257146	NOARGS		{ ssize_t|sys||writev(int fd, \
258			    const struct iovec *iovp, int iovcnt); }
259147	STD		{ int|linux_sys||cacheflush(void *addr, \
260			    int bytes, int cache); }
261148	UNIMPL		cachectl
262149	STD		{ int|linux_sys||sysmips(long cmd, long arg1, \
263			    long arg2, long arg3); }
264150	UNIMPL
265151	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
266152	STD		{ int|linux_sys||fdatasync(int fd); }
267153	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
268154	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
269155	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
270156	NOARGS		{ int|sys||mlockall(int flags); }
271157	NOARGS		{ int|sys||munlockall(void); }
272158	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
273			    const struct linux_sched_param *sp); }
274159	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
275			    struct linux_sched_param *sp); }
276160	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
277			    int policy, const struct linux_sched_param *sp); }
278161	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
279162	STD		{ int|linux_sys||sched_yield(void); }
280163	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
281164	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
282165	UNIMPL		sched_rr_get_interval
283166	STD		{ int|linux_sys||nanosleep( \
284			    const struct linux_timespec *rqtp, \
285			    struct linux_timespec *rmtp); }
286167	STD		{ void *|linux_sys||mremap(void *old_address, \
287			    size_t old_size, size_t new_size, u_long flags); }
288168	STD		{ int|linux_sys||accept(int s, \
289			    struct osockaddr *name, int *anamelen); }
290169	STD		{ int|linux_sys||bind(int s, \
291			    const struct osockaddr *name, int namelen); }
292170	STD		{ int|linux_sys||connect(int s, \
293			    const struct osockaddr *name, int namelen); }
294171	STD		{ int|linux_sys||getpeername(int fdes, void *asa, \
295			    int *alen); }
296172	STD		{ int|linux_sys||getsockname(int fdes, void *asa, \
297			    int *alen); }
298173	STD		{ int|linux_sys||getsockopt(int s, int level, \
299			    int optname, void *optval, int *optlen); }
300174	NOARGS		{ int|sys||listen(int s, int backlog); }
301175	STD		{ int|linux_sys||recv(int s, void *buf, int len, \
302			    int flags); }
303176	STD		{ int|linux_sys||recvfrom(int s, void *buf, int len, \
304			    int flags, struct osockaddr *from, \
305			    int *fromlenaddr); }
306177	STD		{ int|linux_sys||recvmsg(int s, \
307			    struct linux_msghdr *msg, u_int flags); }
308178	STD		{ int|linux_sys||send(int s, void *buf, int len, \
309			    int flags); }
310179	STD		{ int|linux_sys||sendmsg(int s, \
311			    struct linux_msghdr *msg, u_int flags); }
312180	STD		{ int|linux_sys||sendto(int s, void *msg, \
313			    int len, int flags, struct osockaddr *to, \
314			    int tolen); }
315181	STD		{ int|linux_sys||setsockopt(int s, int level, \
316			    int optname, void *optval, int optlen); }
317182	UNIMPL		shutdown
318183	STD		{ int|linux_sys||socket(int domain, int type, \
319			    int protocol); }
320184	STD		{ int|linux_sys||socketpair(int domain, int type, \
321			    int protocol, int *rsv); }
322185	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
323			    uid_t suid); }
324186	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
325			    uid_t *suid); }
326187	UNIMPL		query_module
327188	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
328			    int timeout); }
329189	UNIMPL		nfsservctl
330190	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
331			    gid_t sgid); }
332191	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
333			    gid_t *sgid); }
334192	UNIMPL		prctl
335193	STD		{ int|linux_sys||rt_sigreturn( \
336			    struct linux_pt_regs *regs); }
337194	STD		{ int|linux_sys||rt_sigaction(int signum, \
338			    const struct linux_sigaction *nsa, \
339			    struct linux_sigaction *osa, \
340			    size_t sigsetsize); }
341195	STD		{ int|linux_sys||rt_sigprocmask(int how, \
342			    const linux_sigset_t *set, \
343			    linux_sigset_t *oset, \
344			    size_t sigsetsize); }
345196	STD		{ int|linux_sys||rt_sigpending( \
346			    linux_sigset_t *set, \
347			    size_t sigsetsize); }
348197	STD		{ int|linux_sys||rt_sigtimedwait( \
349			    const linux_sigset_t *set, \
350			    linux_siginfo_t *info, \
351			    const struct linux_timespec *timeout); }
352198	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
353			    linux_siginfo_t *uinfo); }
354199	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
355			    size_t sigsetsize); }
356200	STD		{ int|linux_sys||pread(int fd, char *buf, \
357			    size_t nbyte, off_t offset); }
358201	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
359			    size_t nbyte, off_t offset); }
360202	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
361			    gid_t gid); }
362203	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
363204	UNIMPL		capget
364205	UNIMPL		capset
365206	STD		{ int|linux_sys||sigaltstack( \
366			    const struct linux_sigaltstack *ss, \
367			    struct linux_sigaltstack *oss); }
368207	UNIMPL		sendfile
369208	UNIMPL
370209	UNIMPL
371#define linux_sys_mmap2_args linux_sys_mmap_args
372210	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
373			    size_t len, int prot, int flags, int fd, \
374			    linux_off_t offset); }
375211	STD		{ int|linux_sys||truncate64(const char *path, \
376			    off_t length); }
377212	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
378			    off_t length); }
379213	STD		{ int|linux_sys||stat64(const char *path, \
380			    struct linux_stat64 *sp); }
381214	STD		{ int|linux_sys||lstat64(const char *path, \
382			    struct linux_stat64 *sp); }
383215	STD		{ int|linux_sys||fstat64(int fd, \
384			    struct linux_stat64 *sp); }
385216	UNIMPL		pivot_root
386217	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
387218	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
388219	STD		{ int|linux_sys||getdents64(int fd, \
389			    struct linux_dirent64 *dent, unsigned int count); }
390220	STD		{ int|linux_sys||fcntl64(int fd, \
391			    int cmd, void *arg); }
392221	UNIMPL		/* reserved */
393222	NOARGS		{ pid_t|linux_sys||gettid(void); }
394223	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
395			    size_t count); }
396224	STD		{ int|linux_sys||setxattr(char *path, char *name, \
397			    void *value, size_t size, int flags); }
398225	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
399			    void *value, size_t size, int flags); }
400226	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
401			    void *value, size_t size, int flags); }
402227	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
403			    void *value, size_t size); }
404228	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
405			    void *value, size_t size); }
406229	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
407			    void *value, size_t size); }
408230	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
409			    size_t size); }
410231	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
411			    size_t size); }
412232	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
413			    size_t size); }
414233	STD		{ int|linux_sys||removexattr(char *path, char *name); }
415234	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
416235	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
417236	STD		{ int|linux_sys||tkill(int tid, int sig); }
418237	UNIMPL		sendfile64
419238	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
420			    const struct linux_timespec *timeout, int *uaddr2, \
421			    int val3); }
422239	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
423			    unsigned int len, unsigned long *mask); }
424240	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
425			    unsigned int len, unsigned long *mask); }
426241	UNIMPL		io_setup
427242	UNIMPL		io_destroy
428243	UNIMPL		io_getevents
429244	UNIMPL		io_submit
430245	UNIMPL		io_cancel
431246	STD		{ int|linux_sys||exit_group(int error_code); }
432247	UNIMPL		lookup_dcookie
433248	STD		{ int|linux_sys||epoll_create(int size); }
434249	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
435			    struct linux_epoll_event *event); }
436250	STD		{ int|linux_sys||epoll_wait(int epfd, \
437			    struct linux_epoll_event *events, int maxevents, \
438			    int timeout); }
439251	UNIMPL		remap_file_pages
440252	STD		{ int|linux_sys||set_tid_address(int *tid); }
441253	UNIMPL		restart_syscall
442254	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
443			    size_t len, int advice); }
444255	STD		{ int|linux_sys||statfs64(const char *path, \
445			    size_t sz, struct linux_statfs64 *sp); }
446256	STD		{ int|linux_sys||fstatfs64(int fd, \
447			    size_t sz, struct linux_statfs64 *sp); }
448257	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
449			    struct linux_sigevent *evp, timer_t *timerid); }
450258	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
451			    int flags, const struct linux_itimerspec *tim, \
452			    struct linux_itimerspec *otim); }
453259	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
454			    struct linux_itimerspec *tim); }
455260	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
456261	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
457262	STD		{ int|linux_sys||clock_settime(clockid_t which, \
458			    struct linux_timespec *tp); }
459263	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
460			    struct linux_timespec *tp); }
461264	STD		{ int|linux_sys||clock_getres(clockid_t which, \
462			    struct linux_timespec *tp); }
463265	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
464			    int flags, struct linux_timespec *rqtp, \
465			    struct linux_timespec *rmtp); }
466266	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
467267	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
468			    const struct timeval50 *tptr); }
469268	UNIMPL		mbind
470269	UNIMPL		get_mempolicy
471270	UNIMPL		set_mempolicy
472271	STD		{ linux_mqd_t|linux_sys||mq_open(const char *name, \
473			    int oflag, linux_umode_t mode, \
474			    struct linux_mq_attr *attr); }
475272	STD		{ int|linux_sys||mq_unlink(const char *name); }
476273	STD		{ int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \
477			    const char *msg_ptr, size_t msg_len, \
478			    unsigned int msg_prio, \
479			    const struct linux_timespec *abs_timeout); }
480274	STD		{ ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \
481			    char *msg_ptr, size_t msg_len, \
482			    unsigned int *msg_prio, \
483			    const struct linux_timespec *abs_timeout); }
484275	STD		{ int|linux_sys||mq_notify(linux_mqd_t mqdes, \
485			    const struct linux_sigevent *sevp); }
486276	STD		{ int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \
487			    const struct linux_mq_attr *newattr, \
488			    struct linux_mq_attr *oldattr); }
489277	UNIMPL		vserve
490278	STD		{ int|linux_sys||waitid(int idtype, id_t id, \
491			    linux_siginfo_t *infop, int options, \
492			    struct rusage50 *rusage); }
493279	UNIMPL		setaltroot
494280	UNIMPL		add_key
495281	UNIMPL		request_key
496282	UNIMPL		keyctl
497283	STD		{ int|linux_sys||set_thread_area(void *tls); }
498284	STD		{ int|linux_sys||inotify_init(void); }
499285	STD		{ int|linux_sys||inotify_add_watch(int fd, \
500			    const char *pathname, uint32_t mask); }
501286	STD		{ int|linux_sys||inotify_rm_watch(int fd, int wd); }
502287	UNIMPL		migrate_pages
503288	STD 		{ int|linux_sys||openat(int fd, const char *path, \
504			    int flags, ... linux_umode_t mode); }
505289	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
506			    linux_umode_t mode); }
507290	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
508			    linux_umode_t mode, unsigned dev); }
509291	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
510			    uid_t owner, gid_t group, int flag); }
511292	UNIMPL		futimesat
512293	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
513			    struct linux_stat64 *sp, int flag); }
514294	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
515			    int flag); }
516295	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
517			    int tofd, const char *to); }
518296	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
519			    int fd2, const char *name2, int flags); }
520297	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
521			    const char *path2); }
522298	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
523			    char *buf, size_t bufsize); }
524299	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
525			    linux_umode_t mode); }
526300	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
527			    int amode); }
528301	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
529			   fd_set *writefds, fd_set *exceptfds, \
530			   struct linux_timespec *timeout, \
531			   linux_sized_sigset_t *ss); }
532302	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
533			    struct linux_timespec *timeout, \
534			    linux_sigset_t *sigset); }
535303	UNIMPL		unshare
536304	UNIMPL		splice
537305	UNIMPL		sync_file_range
538306	UNIMPL		tee
539307	UNIMPL		vmsplice
540308	UNIMPL		move_pages
541			;
542			; The NetBSD native robust list calls have different
543			; argument names / types, but they are ABI-compatible
544			; with Linux.
545			;
546309	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
547			    size_t len); }
548310	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
549			    void **headp, size_t *lenp); }
550311	UNIMPL		kexec_load
551312	STD		{ int|linux_sys||getcpu(unsigned int *cpu, \
552			    unsigned int *node, \
553			    struct linux_getcpu_cache *tcache); }
554313	STD		{ int|linux_sys||epoll_pwait(int epfd, \
555			    struct linux_epoll_event *events, int maxevents, \
556			    int timeout, const linux_sigset_t *sigmask); }
557314	UNIMPL		ioprio_set
558315	UNIMPL		ioprio_get
559316	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
560			    struct linux_timespec *times, int flag); }
561317	UNIMPL		signalfd
562318	UNIMPL		timerfd
563319	STD		{ int|linux_sys||eventfd(unsigned int initval); }
564320	STD		{ int|linux_sys||fallocate(int fd, int mode, \
565			    off_t offset, off_t len); }
566321	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
567			    int flags); }
568322	STD		{ int|linux_sys||timerfd_gettime(int fd, \
569			    struct linux_itimerspec *tim); }
570323	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
571			    const struct linux_itimerspec *tim, \
572			    struct linux_itimerspec *otim); }
573324	UNIMPL		signalfd4
574325	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
575			    int flags); }
576326	STD		{ int|linux_sys||epoll_create1(int flags); }
577327	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
578328	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
579329	STD		{ int|linux_sys||inotify_init1(int flags); }
580330	STD		{ int|linux_sys||preadv(int fd, \
581			    const struct iovec *iovp, int iovcnt, \
582			    unsigned long off_lo, unsigned long off_hi); }
583331	STD		{ int|linux_sys||pwritev(int fd, \
584			    const struct iovcnt *iovp, int iovcnt, \
585			    unsigned long off_lo, unsigned long off_hi); }
586332	UNIMPL		rt_tgsigqueueinfo
587333	UNIMPL		perf_event_open
588334	STD		{ int|linux_sys||accept4(int s, \
589			    struct osockaddr *name, \
590			    int *anamelen, int flags); }
591335	STD		{ int|linux_sys||recvmmsg(int s, \
592			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
593			    unsigned int flags, struct timespec *timeout); }
594336	UNIMPL		getdents64
595337	UNIMPL		fanotify_init
596338	UNIMPL		fanotify_mark
597339	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
598			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
599340	UNIMPL		name_to_handle_at
600341	UNIMPL		open_by_handle_at
601342	UNIMPL		clock_adjtime
602343	UNIMPL		syncfs
603344	STD		{ int|linux_sys||sendmmsg(int s, \
604			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
605			    unsigned int flags); }
606345	UNIMPL		setns
607346	UNIMPL		process_vm_readv
608347	UNIMPL		process_vm_writev
609348	UNIMPL		kcmp
610349	UNIMPL		finit_module
611350	UNIMPL		sched_setattr
612351	UNIMPL		sched_getattr
613352	UNIMPL		renameat2
614353	NOARGS		{ ssize_t|sys||getrandom(void *buf, size_t buflen, \
615			    unsigned int flags); }
616354	STD		{ int|linux_sys||memfd_create(const char *name, \
617			    unsigned int flags); }
618355	UNIMPL		bpf
619356	UNIMPL		execveat
620357	UNIMPL		userfaultfd
621358	UNIMPL		membarrier
622359	UNIMPL		mlock2
623360	UNIMPL		copy_file_range
624361	UNIMPL		preadv2
625362	UNIMPL		pwritev2
626363	UNIMPL		pkey_mprotect
627364	UNIMPL		pkey_alloc
628365	UNIMPL		pkey_free
629366	STD		{ int|linux_sys||statx(int fd, const char *path, \
630			    int flag, unsigned int mask, \
631			    struct linux_statx *sp); }
632367	UNIMPL
633368	UNIMPL
634369	UNIMPL
635370	UNIMPL
636371	UNIMPL
637372	UNIMPL
638373	UNIMPL
639374	UNIMPL
640375	UNIMPL
641376	UNIMPL
642377	UNIMPL
643378	UNIMPL
644379	UNIMPL
645380	UNIMPL
646381	UNIMPL
647382	UNIMPL
648383	UNIMPL
649384	UNIMPL
650385	UNIMPL
651386	UNIMPL
652387	UNIMPL
653388	UNIMPL
654389	UNIMPL
655390	UNIMPL
656391	UNIMPL
657392	UNIMPL
658393	UNIMPL
659394	UNIMPL
660395	UNIMPL
661396	UNIMPL
662397	UNIMPL
663398	UNIMPL
664399	UNIMPL
665400	UNIMPL
666401	UNIMPL
667402	UNIMPL
668403	UNIMPL
669404	UNIMPL
670405	UNIMPL
671406	UNIMPL
672407	UNIMPL
673408	UNIMPL
674409	UNIMPL
675410	UNIMPL
676411	UNIMPL
677412	UNIMPL
678413	UNIMPL
679414	UNIMPL
680415	UNIMPL
681416	UNIMPL
682417	UNIMPL
683418	UNIMPL
684419	UNIMPL
685420	UNIMPL
686421	UNIMPL
687422	UNIMPL
688423	UNIMPL
689424	UNIMPL
690425	UNIMPL
691426	UNIMPL
692427	UNIMPL
693428	UNIMPL
694429	UNIMPL
695430	UNIMPL
696431	UNIMPL
697432	UNIMPL
698433	UNIMPL
699434	UNIMPL
700435	UNIMPL
701436	STD		{ int|linux_sys||close_range(unsigned int first, \
702			    unsigned int last, unsigned int flags); }
703437	UNIMPL
704438	UNIMPL
705439	UNIMPL
706440	UNIMPL
707441	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
708			    struct linux_epoll_event *events, int maxevents, \
709			    const struct linux_timespec *timeout, \
710			    const linux_sigset_t *sigmask); }
711