xref: /netbsd-src/sys/compat/linux/arch/amd64/syscalls.master (revision 2dd295436a0082eb4f8d294f4aa73c223413d0f2)
1	$NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp $
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; NetBSD amd64 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_sysv.h"
38#include "opt_compat_43.h"
39#include "opt_compat_netbsd.h"
40#endif
41
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#include <sys/time.h>
50
51#include <compat/sys/time.h>
52
53#include <compat/linux/common/linux_types.h>
54#include <compat/linux/common/linux_misc.h>
55#include <compat/linux/common/linux_mmap.h>
56#include <compat/linux/common/linux_ipc.h>
57#include <compat/linux/common/linux_msg.h>
58#include <compat/linux/common/linux_sem.h>
59#include <compat/linux/common/linux_shm.h>
60#include <compat/linux/common/linux_signal.h>
61#include <compat/linux/common/linux_siginfo.h>
62#include <compat/linux/common/linux_machdep.h>
63
64#include <compat/linux/linux_syscallargs.h>
65
66%%
67
680	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
691	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
70			    size_t nbyte); }
712	STD		{ int|linux_sys||open(const char *path, int flags, \
72			    linux_umode_t mode); }
733	NOARGS		{ int|sys||close(int fd); }
744	STD		{ int|linux_sys||stat64(const char *path, \
75			    struct linux_stat64 *sp); }
765	STD		{ int|linux_sys||fstat64(int fd, \
77			    struct linux_stat64 *sp); }
786	STD		{ int|linux_sys||lstat64(const char *path, \
79			    struct linux_stat64 *sp); }
807	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
81			    int timeout); }
828	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
83			    int whence); }
849	NOARGS		{ linux_off_t|linux_sys||mmap(unsigned long addr, \
85			    size_t len, int prot, int flags, int fd, \
86			    linux_off_t offset); }
8710	STD		{ int|linux_sys||mprotect(const void *start, \
88			    unsigned long len, int prot); }
8911	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
9012	STD		{ int|linux_sys||brk(char *nsize); }
9113	STD		{ int|linux_sys||rt_sigaction(int signum, \
92			    const struct linux_sigaction *nsa, \
93			    struct linux_sigaction *osa, \
94			    size_t sigsetsize); }
9514	STD		{ int|linux_sys||rt_sigprocmask(int how, \
96			    const linux_sigset_t *set, \
97			    linux_sigset_t *oset, \
98			    size_t sigsetsize); }
9915	NOARGS		{ int|linux_sys||rt_sigreturn(void); }
10016	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
101			    void *data); }
10217	STD		{ int|linux_sys||pread(int fd, char *buf, \
103			    size_t nbyte, off_t offset); }
10418	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
105			    size_t nbyte, off_t offset); }
10619	NOARGS		{ ssize_t|sys||readv(int fd, \
107			    const struct iovec *iovp, int iovcnt); }
10820	NOARGS		{ ssize_t|sys||writev(int fd, \
109			    const struct iovec *iovp, int iovcnt); }
11021	NOARGS		{ int|sys||access(const char *path, int flags); }
11122	STD		{ int|linux_sys||pipe(int *pfds); }
11223	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
113			    fd_set *writefds, fd_set *exceptfds, \
114			    struct timeval50 *timeout); }
11524	STD		{ int|linux_sys||sched_yield(void); }
11625	STD		{ void *|linux_sys||mremap(void *old_address, \
117			    size_t old_size, size_t new_size, u_long flags); }
11826	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
11927	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
12028	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
121#ifdef SYSVSHM
12229	NOARGS		{ int|linux_sys||shmget(key_t key, size_t size, \
123			    int shmflg); }
12430	NOARGS		{ int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
12531	NOARGS		{ int|linux_sys||shmctl(int shmid, int cmd, \
126			    struct linux_shmid_ds *buf); }
127#else
12829	UNIMPL		shmget
12930	UNIMPL		shmat
13031	UNIMPL		shmctl
131#endif
13232	NOARGS		{ int|sys||dup(int fd); }
13333	NOARGS		{ int|sys||dup2(int from, int to); }
13434	STD		{ int|linux_sys||pause(void); }
13535	STD		{ int|linux_sys||nanosleep( \
136			    const struct linux_timespec *rqtp, \
137			    struct linux_timespec *rmtp); }
13836	NOARGS		{ int|compat_50_sys||getitimer(int which, \
139			    struct itimerval50 *itv); }
14037	STD		{ int|linux_sys||alarm(unsigned int secs); }
14138	NOARGS		{ int|compat_50_sys||setitimer(int which, \
142			    struct itimerval50 *itv, \
143			    struct itimerval50 *oitv); }
14439	STD		{ pid_t|sys||getpid(void); }
14540	UNIMPL		sendfile
14641	STD		{ int|linux_sys||socket(int domain, \
147			    int type, int protocol); }
14842	STD		{ int|linux_sys||connect(int s, \
149			    const struct osockaddr *name, \
150			    unsigned int namelen); }
15143	STD		{ int|linux_sys||accept(int s, struct osockaddr *name, \
152			    int *anamelen); } oaccept
15344	STD		{ ssize_t|linux_sys||sendto(int s, void *msg, int len, \
154			    int flags, struct osockaddr *to, int tolen); }
15545	STD		{ ssize_t|linux_sys||recvfrom(int s, void *buf, \
156			    size_t len, int flags, struct osockaddr *from, \
157			    unsigned int *fromlenaddr); }
15846	STD		{ int|linux_sys||sendmsg(int s, \
159			    const struct linux_msghdr *msg, int flags); }
16047	STD		{ ssize_t|linux_sys||recvmsg(int s, \
161			    struct linux_msghdr *msg, int flags); }
16248	NOARGS		{ int|sys||shutdown(int s, int how); }
16349	STD		{ int|linux_sys||bind(int s, \
164			    const struct osockaddr *name, \
165			    unsigned int namelen); }
16650	NOARGS		{ int|sys||listen(int s, int backlog); }
16751	STD		{ int|linux_sys||getsockname(int fdec, void *asa, \
168			    int *alen); }
16952	STD		{ int|linux_sys||getpeername(int fdes, \
170			    struct sockaddr *asa, unsigned int *alen); }
17153	STD		{ int|linux_sys||socketpair(int domain, int type, \
172			    int protocol, int *rsv); }
17354	STD		{ int|linux_sys||setsockopt(int s, int level, \
174			    int optname, void *optval, int optlen); }
17555	STD		{ int|linux_sys||getsockopt(int s, int level, \
176			    int optname, void *optval, int *optlen); }
17756	STD		{ int|linux_sys||clone(int flags, void *stack, \
178			    void *parent_tidptr, void *child_tidptr, void *tls); }
17957	NOARGS		{ int|sys||fork(void); }
18058	NOARGS		{ int|sys|14|vfork(void); }
18159	NOARGS		{ int|sys||execve(const char *path, char **argp, \
182			    char **envp); }
18360	STD		{ int|linux_sys||exit(int rval); }
18461	STD		{ int|linux_sys||wait4(int pid, int *status, \
185			    int options, struct rusage50 *rusage); }
18662	STD		{ int|linux_sys||kill(int pid, int signum); }
18763	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
188#ifdef SYSVSEM
18964	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
19065	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
191			    size_t nsops); }
19266	STD		{ int|linux_sys||semctl(int semid, int semnum, \
193			    int cmd, union linux_semun arg); }
194#else
19564	UNIMPL		semget
19665	UNIMPL		semop
19766	UNIMPL		semctl
198#endif
199#ifdef SYSVSHM
20067	NOARGS		{ int|sys||shmdt(const void *shmaddr); }
201#else
20267	UNIMPL		shmdt
203#endif
204#ifdef SYSVMSG
20568	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
20669	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
207			    int msgflg); }
20870	NOARGS		{ ssize_t|sys||msgrcv(int msqid, void *msgp, \
209			    size_t msgsz, long msgtyp, int msgflg); }
21071	NOARGS		{ int|linux_sys||msgctl(int msqid, int cmd, \
211			    struct linux_msqid_ds *buf); }
212#else
21368	UNIMPL		msgget
21469	UNIMPL		msgsnd
21570	UNIMPL		msgrcv
21671	UNIMPL		msgctl
217#endif
21872	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
21973	NOARGS		{ int|sys||flock(int fd, int how); }
22074	NOARGS		{ int|sys||fsync(int fd); }
22175	STD		{ int|linux_sys||fdatasync(int fd); }
22276	STD		{ int|linux_sys||truncate64(const char *path, \
223			    off_t length); }
22477	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
225			    off_t length); }
22678	STD		{ int|linux_sys||getdents(int fd, \
227			    struct linux_dirent *dent, unsigned int count); }
22879	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
22980	NOARGS		{ int|sys||chdir(const char *path); }
23081	NOARGS		{ int|sys||fchdir(int fd); }
23182	NOARGS		{ int|sys||__posix_rename(const char *from, \
232			    const char *to); }
23383	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
23484	NOARGS		{ int|sys||rmdir(const char *path); }
23585	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
23686	NOARGS		{ int|sys||link(const char *path, const char *link); }
23787	STD		{ int|linux_sys||unlink(const char *path); }
23888	NOARGS		{ int|sys||symlink(const char *path, const char *link); }
23989	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
240			    int count); }
24190	NOARGS		{ int|sys||chmod(const char *path, linux_umode_t mode); }
24291	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
24392	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
244				gid_t gid); }
24593	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
246			    gid_t gid); }
24794	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
248			    gid_t gid); }
24995	NOARGS		{ int|sys||umask(int newmask); }
25096	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
251			    struct timezone *tzp); }
25297	STD		{ int|linux_sys||getrlimit(int which, \
253			    struct rlimit *rlp); }
25498	NOARGS		{ int|compat_50_sys||getrusage(int who, \
255			    struct rusage50 *rusage); }
25699	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
257100	STD		{ int|linux_sys||times(struct times *tms); }
258101	STD		{ int|linux_sys||ptrace(long request, long pid, \
259			  long addr, long data); }
260102	NOARGS		{ uid_t|sys||getuid(void); }
261103	UNIMPL		syslog
262104	NOARGS		{ gid_t|sys||getgid(void); }
263105	NOARGS		{ int|sys||setuid(uid_t uid); }
264106	NOARGS		{ int|sys||setgid(gid_t gid); }
265107	NOARGS		{ uid_t|sys||geteuid(void); }
266108	NOARGS		{ gid_t|sys||getegid(void); }
267109	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
268110	STD		{ pid_t|sys||getppid(void); }
269111	NOARGS		{ int|sys||getpgrp(void); }
270112	NOARGS		{ int|sys||setsid(void); }
271113	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
272114	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
273115	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
274116	NOARGS		{ int|sys||setgroups(int gidsetsize, gid_t *gidset); }
275117	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
276			    uid_t suid); }
277118	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
278			    uid_t *suid); }
279119	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
280			    gid_t sgid); }
281120	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
282			    gid_t *sgid); }
283121	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
284122	STD		{ int|linux_sys||setfsuid(uid_t uid); }
285123	STD		{ int|linux_sys||setfsgid(gid_t gid); }
286124	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
287125	UNIMPL		capget
288126	UNIMPL		capset
289127	STD		{ int|linux_sys||rt_sigpending( \
290			    linux_sigset_t *set, \
291			    size_t sigsetsize); }
292128	STD		{ int|linux_sys||rt_sigtimedwait( \
293			    const linux_sigset_t *set, \
294			    linux_siginfo_t *info, \
295			    const struct linux_timespec *timeout); }
296129	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
297			    linux_siginfo_t *uinfo); }
298130	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
299			    size_t sigsetsize); }
300131	STD		{ int|linux_sys||sigaltstack( \
301			    const struct linux_sigaltstack *ss, \
302			    struct linux_sigaltstack *oss); }
303132	STD		{ int|linux_sys||utime(const char *path, \
304			    struct linux_utimbuf *times); }
305133	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
306			    unsigned dev); }
307#ifdef EXEC_AOUT
308134	STD		{ int|linux_sys||uselib(const char *path); }
309#else
310134	UNIMPL		sys_uselib
311#endif
312135	STD		{ int|linux_sys||personality(unsigned long per); }
313136	UNIMPL		ustat
314137	STD		{ int|linux_sys||statfs(const char *path, \
315			    struct linux_statfs *sp); }
316138	STD		{ int|linux_sys||fstatfs(int fd, \
317			    struct linux_statfs *sp); }
318139	UNIMPL		sysfs
319140	STD		{ int|linux_sys||getpriority(int which, int who); }
320141	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
321142	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
322			    const struct linux_sched_param *sp); }
323143	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
324			    struct linux_sched_param *sp); }
325144	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
326			    int policy, const struct linux_sched_param *sp); }
327145	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
328146	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
329147	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
330148	UNIMPL		sys_sched_rr_get_interval
331149	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
332150	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
333151	NOARGS		{ int|sys||mlockall(int flags); }
334152	NOARGS		{ int|sys||munlockall(void); }
335153	UNIMPL		vhangup
336154	STD		{ int|linux_sys||modify_ldt(int func, void *ptr, \
337			    size_t bytecount); }
338155	UNIMPL		pivot_root
339156	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
340157	UNIMPL		prctl
341158	STD		{ int|linux_sys||arch_prctl(int code, \
342			    unsigned long addr); }
343159	UNIMPL		adjtimex
344160	STD		{ int|linux_sys||setrlimit(u_int which, \
345			    struct rlimit *rlp); }
346161	NOARGS		{ int|sys||chroot(char *path); }
347162	NOARGS		{ int|sys||sync(void); }
348163	NOARGS		{ int|sys||acct(char *path); }
349164	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
350			    struct timezone *tzp); }
351165	UNIMPL		mount
352166	UNIMPL		umount2
353167	STD		{ int|linux_sys||swapon(char *name); }
354168	STD		{ int|linux_sys||swapoff(const char *path); }
355169	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
356			    int cmd, void *arg); }
357170	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
358			    u_int len);}
359171	STD		{ int|linux_sys||setdomainname(char *domainname, \
360			    int len); }
361172	STD		{ int|linux_sys||iopl(int level); }
362173	STD		{ int|linux_sys||ioperm(unsigned int lo, \
363			    unsigned int hi, int val); }
364174	UNIMPL		create_module
365175	UNIMPL		init_module
366176	UNIMPL		delete_module
367177	UNIMPL		get_kernel_syms
368178	UNIMPL		query_module
369179	UNIMPL		quotactl
370180	UNIMPL		nfsservctl
371181	UNIMPL		getpmsg
372182	UNIMPL		putpmsg
373183	UNIMPL		afs_syscall
374184	UNIMPL		tuxcall
375185	UNIMPL		security
376186	STD		{ pid_t|linux_sys||gettid(void); }
377187	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
378			    size_t count); }
379188	STD		{ int|linux_sys||setxattr(char *path, char *name, \
380			    void *value, size_t size, int flags); }
381189	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
382			    void *value, size_t size, int flags); }
383190	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
384			    void *value, size_t size, int flags); }
385191	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
386			    void *value, size_t size); }
387192	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
388			    void *value, size_t size); }
389193	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
390			    void *value, size_t size); }
391194	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
392			    size_t size); }
393195	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
394			    size_t size); }
395196	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
396			    size_t size); }
397197	STD		{ int|linux_sys||removexattr(char *path, char *name); }
398198	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
399199	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
400200	STD		{ int|linux_sys||tkill(int tid, int sig); }
401201	STD		{ int|linux_sys||time(linux_time_t *t); }
402202	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
403			    const struct linux_timespec *timeout, int *uaddr2, \
404			    int val3); }
405203	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
406			    unsigned int len, unsigned long *mask); }
407204	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
408			    unsigned int len, unsigned long *mask); }
409205	UNIMPL		set_thread_area
410206	UNIMPL		io_setup
411207	UNIMPL		io_destroy
412208	UNIMPL		io_getevents
413209	UNIMPL		io_submit
414210	UNIMPL		io_cancel
415211	UNIMPL		get_thread_area
416212	UNIMPL		lookup_dcookie
417213	STD		{ int|linux_sys||epoll_create(int size); }
418214	UNIMPL		epoll_ctl_old
419215	UNIMPL		epoll_wait_old
420216	UNIMPL		remap_file_pages
421217	STD		{ int|linux_sys||getdents64(int fd, \
422			    struct linux_dirent64 *dent, unsigned int count); }
423218	STD		{ int|linux_sys||set_tid_address(int *tid); }
424219	UNIMPL		restart_syscall
425220	UNIMPL		semtimedop
426221	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
427			    size_t len, int advice); }
428222	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
429			    struct linux_sigevent *evp, timer_t *timerid); }
430223	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
431			    int flags, const struct linux_itimerspec *tim, \
432			    struct linux_itimerspec *otim); }
433224	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
434			    struct linux_itimerspec *tim); }
435225	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
436226	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
437227	STD		{ int|linux_sys||clock_settime(clockid_t which, \
438			    struct linux_timespec *tp); }
439228	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
440			    struct linux_timespec *tp); }
441229	STD		{ int|linux_sys||clock_getres(clockid_t which, \
442			    struct linux_timespec *tp); }
443230	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
444			    int flags, struct linux_timespec *rqtp, \
445			    struct linux_timespec *rmtp); }
446231	STD		{ int|linux_sys||exit_group(int error_code); }
447232	STD		{ int|linux_sys||epoll_wait(int epfd, \
448			    struct linux_epoll_event *events, int maxevents, \
449			    int timeout); }
450233	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
451			    struct linux_epoll_event *event); }
452234	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
453235	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
454			    const struct timeval50 *tptr); }
455236	UNIMPL		vserver
456237	UNIMPL		mbind
457238	UNIMPL		set_mempolicy
458239	UNIMPL		get_mempolicy
459240	UNIMPL		mq_open
460241	UNIMPL		mq_unlink
461242	UNIMPL		mq_timedsend
462243	UNIMPL		mq_timedreceive
463244	UNIMPL		mq_notify
464245	UNIMPL		mq_getsetattr
465246	UNIMPL		kexec_load
466247	UNIMPL		waitid
467248	UNIMPL		add_key
468249	UNIMPL		request_key
469250	UNIMPL		keyctl
470251	UNIMPL		ioprio_set
471252	UNIMPL		ioprio_get
472253	UNIMPL		inotify_init
473254	UNIMPL		inotify_add_watch
474255	UNIMPL		inotify_rm_watch
475256	UNIMPL		migrate_pages
476257	STD 		{ int|linux_sys||openat(int fd, const char *path, \
477			    int flags, ... linux_umode_t mode); }
478258	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
479			    linux_umode_t mode); }
480259	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
481			    linux_umode_t mode, unsigned dev); }
482260	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
483			    uid_t owner, gid_t group, int flag); }
484261	UNIMPL		futimesat
485262	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
486			    struct linux_stat *sp, int flag); }
487263	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
488			    int flag); }
489264	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
490			    int tofd, const char *to); }
491265	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
492			    int fd2, const char *name2, int flags); }
493266	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
494			    const char *path2); }
495267	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
496			    char *buf, size_t bufsize); }
497268	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
498			    linux_umode_t mode); }
499269	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
500			    int amode); }
501270	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
502			   fd_set *writefds, fd_set *exceptfds, \
503			   struct linux_timespec *timeout, \
504			   linux_sized_sigset_t *ss); }
505271	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
506			    struct linux_timespec *timeout, \
507			    linux_sigset_t *sigset); }
508272	UNIMPL		unshare
509			;
510			; The NetBSD native robust list calls have different
511			; argument names / types, but they are ABI-compatible
512			; with Linux.
513			;
514273	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
515			    size_t len); }
516274	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
517			    void **headp, size_t *lenp); }
518275	UNIMPL		splice
519276	UNIMPL		tee
520277	UNIMPL		sync_file_range
521278	UNIMPL		vmsplice
522279	UNIMPL		move_pages
523280	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
524			    struct linux_timespec *times, int flag); }
525281	STD		{ int|linux_sys||epoll_pwait(int epfd, \
526			    struct linux_epoll_event *events, int maxevents, \
527			    int timeout, const linux_sigset_t *sigmask); }
528282	UNIMPL		signalfd
529283	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
530			    int flags); }
531284	STD		{ int|linux_sys||eventfd(unsigned int initval); }
532285	STD		{ int|linux_sys||fallocate(int fd, int mode, \
533			    off_t offset, off_t len); }
534286	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
535			    const struct linux_itimerspec *tim, \
536			    struct linux_itimerspec *otim); }
537287	STD		{ int|linux_sys||timerfd_gettime(int fd, \
538			    struct linux_itimerspec *tim); }
539288	STD		{ int|linux_sys||accept4(int s, \
540			    struct osockaddr *name, \
541			    int *anamelen, int flags); }
542289	UNIMPL		signalfd4
543290	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
544			    int flags); }
545291	STD		{ int|linux_sys||epoll_create1(int flags); }
546292	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
547293	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
548294	UNIMPL		inotify_init1
549295	STD		{ int|linux_sys||preadv(int fd, \
550			    const struct iovec *iovp, int iovcnt, \
551			    unsigned long off_lo, unsigned long off_hi); }
552296	STD		{ int|linux_sys||pwritev(int fd, \
553			    const struct iovcnt *iovp, int iovcnt, \
554			    unsigned long off_lo, unsigned long off_hi); }
555297	UNIMPL		rt_tgsigqueueinfo
556298	UNIMPL		perf_counter_open
557299	STD		{ int|linux_sys||recvmmsg(int s, \
558			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
559			    unsigned int flags, struct timespec *timeout); }
560300	UNIMPL		fanotify_init
561301	UNIMPL		fanotify_mark
562302	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
563			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
564303	UNIMPL		name_to_handle_at
565304	UNIMPL		open_by_handle_at
566305	UNIMPL		clock_adjtime
567306	UNIMPL		syncfs
568307	STD		{ int|linux_sys||sendmmsg(int s, \
569			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
570			    unsigned int flags); }
571308	UNIMPL		setns
572309	UNIMPL		getcpu
573310	UNIMPL		process_vm_readv
574311	UNIMPL		process_vm_writev
575312	UNIMPL		kcmp
576313	UNIMPL		finit_module
577314	UNIMPL		sched_setattr
578315	UNIMPL		sched_getattr
579316	UNIMPL		renameat2
580317	UNIMPL		seccomp
581318	NOARGS		{ ssize_t|sys||getrandom(void *buf, size_t buflen, \
582			    unsigned int flags); }
583319	STD		{ int|linux_sys||memfd_create(const char *name, \
584			    unsigned int flags); }
585320	UNIMPL		kexec_file_load
586321	UNIMPL		bpf
587322	UNIMPL		execveat
588323	UNIMPL		userfaultfd
589324	UNIMPL		membarrier
590325	UNIMPL		mlock2
591326	UNIMPL		copy_file_range
592327	UNIMPL		preadv2
593328	UNIMPL		pwritev2
594329	UNIMPL		pkey_mprotect
595330	UNIMPL		pkey_alloc
596331	UNIMPL		pkey_free
597332     STD		{ int|linux_sys||statx(int fd, const char *path, \
598			    int flag, unsigned int mask, \
599			    struct linux_statx *sp); }
600333	UNIMPL		io_pgetevents
601334	UNIMPL		rseq
602335	UNIMPL
603336	UNIMPL
604337	UNIMPL
605338	UNIMPL
606339	UNIMPL
607340	UNIMPL
608341	UNIMPL
609342	UNIMPL
610343	UNIMPL
611344	UNIMPL
612345	UNIMPL
613346	UNIMPL
614347	UNIMPL
615348	UNIMPL
616349	UNIMPL
617350	UNIMPL
618351	UNIMPL
619352	UNIMPL
620353	UNIMPL
621354	UNIMPL
622355	UNIMPL
623356	UNIMPL
624357	UNIMPL
625358	UNIMPL
626359	UNIMPL
627360	UNIMPL
628361	UNIMPL
629362	UNIMPL
630363	UNIMPL
631364	UNIMPL
632365	UNIMPL
633366	UNIMPL
634367	UNIMPL
635368	UNIMPL
636369	UNIMPL
637370	UNIMPL
638371	UNIMPL
639372	UNIMPL
640373	UNIMPL
641374	UNIMPL
642375	UNIMPL
643376	UNIMPL
644377	UNIMPL
645378	UNIMPL
646379	UNIMPL
647380	UNIMPL
648381	UNIMPL
649382	UNIMPL
650383	UNIMPL
651384	UNIMPL
652385	UNIMPL
653386	UNIMPL
654387	UNIMPL
655388	UNIMPL
656389	UNIMPL
657390	UNIMPL
658391	UNIMPL
659392	UNIMPL
660393	UNIMPL
661394	UNIMPL
662395	UNIMPL
663396	UNIMPL
664397	UNIMPL
665398	UNIMPL
666399	UNIMPL
667400	UNIMPL
668401	UNIMPL
669402	UNIMPL
670403	UNIMPL
671404	UNIMPL
672405	UNIMPL
673406	UNIMPL
674407	UNIMPL
675408	UNIMPL
676409	UNIMPL
677410	UNIMPL
678411	UNIMPL
679412	UNIMPL
680413	UNIMPL
681414	UNIMPL
682415	UNIMPL
683416	UNIMPL
684417	UNIMPL
685418	UNIMPL
686419	UNIMPL
687420	UNIMPL
688421	UNIMPL
689422	UNIMPL
690423	UNIMPL
691424	UNIMPL		pidfd_send_signal
692425	UNIMPL		io_uring_setup
693426	UNIMPL		io_uring_enter
694427	UNIMPL		io_uring_register
695428	UNIMPL		open_tree
696429	UNIMPL		move_mount
697430	UNIMPL		fsopen
698431	UNIMPL		fsconfig
699432	UNIMPL		fsmount
700433	UNIMPL		fspick
701434	UNIMPL		pidfd_open
702435	UNIMPL		clone3
703436	STD		{ int|linux_sys||close_range(unsigned int first, \
704			    unsigned int last, unsigned int flags); }
705437	UNIMPL		openat2
706438	UNIMPL		pidfd_getfd
707439	UNIMPL		faccessat2
708440	UNIMPL		process_madvise
709441	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
710			    struct linux_epoll_event *events, int maxevents, \
711			    const struct linux_timespec *timeout, \
712			    const linux_sigset_t *sigmask); }
713442	UNIMPL		mount_setattr
714443	UNIMPL		quotactl_fd
715444	UNIMPL		landlock_create_ruleset
716445	UNIMPL		landlock_add_rule
717446	UNIMPL		landlock_restrict_self
718447	UNIMPL		memfd_secret
719448	UNIMPL		process_mrelease
720449	UNIMPL		futex_waitv
721450	UNIMPL		set_mempolicy_home_node
722
723; we want a "nosys" syscall, we'll just add an extra entry for it.
724451	STD		{ int|linux_sys||nosys(void); }
725