xref: /netbsd-src/sys/compat/linux/arch/amd64/syscalls.master (revision a3740e150a4bea0d03e70539dc6fe36956b72c38)
1	$NetBSD: syscalls.master,v 1.75 2024/09/28 19:35:55 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_sched.h>
59#include <compat/linux/common/linux_sem.h>
60#include <compat/linux/common/linux_shm.h>
61#include <compat/linux/common/linux_signal.h>
62#include <compat/linux/common/linux_siginfo.h>
63#include <compat/linux/common/linux_mqueue.h>
64#include <compat/linux/common/linux_machdep.h>
65#include <compat/linux/common/linux_sched.h>
66
67#include <compat/linux/linux_syscallargs.h>
68
69%%
70
710	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
721	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
73			    size_t nbyte); }
742	STD		{ int|linux_sys||open(const char *path, int flags, \
75			    linux_umode_t mode); }
763	NOARGS		{ int|sys||close(int fd); }
774	STD		{ int|linux_sys||stat64(const char *path, \
78			    struct linux_stat64 *sp); }
795	STD		{ int|linux_sys||fstat64(int fd, \
80			    struct linux_stat64 *sp); }
816	STD		{ int|linux_sys||lstat64(const char *path, \
82			    struct linux_stat64 *sp); }
837	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
84			    int timeout); }
858	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
86			    int whence); }
879	NOARGS		{ linux_off_t|linux_sys||mmap(unsigned long addr, \
88			    size_t len, int prot, int flags, int fd, \
89			    linux_off_t offset); }
9010	STD		{ int|linux_sys||mprotect(const void *start, \
91			    unsigned long len, int prot); }
9211	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
9312	STD		{ int|linux_sys||brk(char *nsize); }
9413	STD		{ int|linux_sys||rt_sigaction(int signum, \
95			    const struct linux_sigaction *nsa, \
96			    struct linux_sigaction *osa, \
97			    size_t sigsetsize); }
9814	STD		{ int|linux_sys||rt_sigprocmask(int how, \
99			    const linux_sigset_t *set, \
100			    linux_sigset_t *oset, \
101			    size_t sigsetsize); }
10215	NOARGS		{ int|linux_sys||rt_sigreturn(void); }
10316	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
104			    void *data); }
10517	STD		{ int|linux_sys||pread(int fd, char *buf, \
106			    size_t nbyte, off_t offset); }
10718	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
108			    size_t nbyte, off_t offset); }
10919	NOARGS		{ ssize_t|sys||readv(int fd, \
110			    const struct iovec *iovp, int iovcnt); }
11120	NOARGS		{ ssize_t|sys||writev(int fd, \
112			    const struct iovec *iovp, int iovcnt); }
11321	NOARGS		{ int|sys||access(const char *path, int flags); }
11422	STD		{ int|linux_sys||pipe(int *pfds); }
11523	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
116			    fd_set *writefds, fd_set *exceptfds, \
117			    struct timeval50 *timeout); }
11824	STD		{ int|linux_sys||sched_yield(void); }
11925	STD		{ void *|linux_sys||mremap(void *old_address, \
120			    size_t old_size, size_t new_size, u_long flags); }
12126	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
12227	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
12328	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
124#ifdef SYSVSHM
12529	NOARGS		{ int|linux_sys||shmget(key_t key, size_t size, \
126			    int shmflg); }
12730	NOARGS		{ int|sys||shmat(int shmid, void *shmaddr, int shmflg); }
12831	NOARGS		{ int|linux_sys||shmctl(int shmid, int cmd, \
129			    struct linux_shmid_ds *buf); }
130#else
13129	UNIMPL		shmget
13230	UNIMPL		shmat
13331	UNIMPL		shmctl
134#endif
13532	NOARGS		{ int|sys||dup(int fd); }
13633	NOARGS		{ int|sys||dup2(int from, int to); }
13734	STD		{ int|linux_sys||pause(void); }
13835	STD		{ int|linux_sys||nanosleep( \
139			    const struct linux_timespec *rqtp, \
140			    struct linux_timespec *rmtp); }
14136	NOARGS		{ int|compat_50_sys||getitimer(int which, \
142			    struct itimerval50 *itv); }
14337	STD		{ int|linux_sys||alarm(unsigned int secs); }
14438	NOARGS		{ int|compat_50_sys||setitimer(int which, \
145			    struct itimerval50 *itv, \
146			    struct itimerval50 *oitv); }
14739	STD		{ pid_t|sys||getpid(void); }
14840	UNIMPL		sendfile
14941	STD		{ int|linux_sys||socket(int domain, \
150			    int type, int protocol); }
15142	STD		{ int|linux_sys||connect(int s, \
152			    const struct osockaddr *name, \
153			    unsigned int namelen); }
15443	STD		{ int|linux_sys||accept(int s, struct osockaddr *name, \
155			    int *anamelen); } oaccept
15644	STD		{ ssize_t|linux_sys||sendto(int s, void *msg, int len, \
157			    int flags, struct osockaddr *to, int tolen); }
15845	STD		{ ssize_t|linux_sys||recvfrom(int s, void *buf, \
159			    size_t len, int flags, struct osockaddr *from, \
160			    unsigned int *fromlenaddr); }
16146	STD		{ int|linux_sys||sendmsg(int s, \
162			    const struct linux_msghdr *msg, int flags); }
16347	STD		{ ssize_t|linux_sys||recvmsg(int s, \
164			    struct linux_msghdr *msg, int flags); }
16548	NOARGS		{ int|sys||shutdown(int s, int how); }
16649	STD		{ int|linux_sys||bind(int s, \
167			    const struct osockaddr *name, \
168			    unsigned int namelen); }
16950	NOARGS		{ int|sys||listen(int s, int backlog); }
17051	STD		{ int|linux_sys||getsockname(int fdec, void *asa, \
171			    int *alen); }
17252	STD		{ int|linux_sys||getpeername(int fdes, \
173			    struct sockaddr *asa, unsigned int *alen); }
17453	STD		{ int|linux_sys||socketpair(int domain, int type, \
175			    int protocol, int *rsv); }
17654	STD		{ int|linux_sys||setsockopt(int s, int level, \
177			    int optname, void *optval, int optlen); }
17855	STD		{ int|linux_sys||getsockopt(int s, int level, \
179			    int optname, void *optval, int *optlen); }
18056	STD		{ int|linux_sys||clone(int flags, void *stack, \
181			    void *parent_tidptr, void *child_tidptr, void *tls); }
18257	NOARGS		{ int|sys||fork(void); }
18358	NOARGS		{ int|sys|14|vfork(void); }
18459	NOARGS		{ int|sys||execve(const char *path, char **argp, \
185			    char **envp); }
18660	STD		{ int|linux_sys||exit(int rval); }
18761	STD		{ int|linux_sys||wait4(int pid, int *status, \
188			    int options, struct rusage50 *rusage); }
18962	STD		{ int|linux_sys||kill(int pid, int signum); }
19063	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
191#ifdef SYSVSEM
19264	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
19365	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
194			    size_t nsops); }
19566	STD		{ int|linux_sys||semctl(int semid, int semnum, \
196			    int cmd, union linux_semun arg); }
197#else
19864	UNIMPL		semget
19965	UNIMPL		semop
20066	UNIMPL		semctl
201#endif
202#ifdef SYSVSHM
20367	NOARGS		{ int|sys||shmdt(const void *shmaddr); }
204#else
20567	UNIMPL		shmdt
206#endif
207#ifdef SYSVMSG
20868	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
20969	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
210			    int msgflg); }
21170	NOARGS		{ ssize_t|sys||msgrcv(int msqid, void *msgp, \
212			    size_t msgsz, long msgtyp, int msgflg); }
21371	NOARGS		{ int|linux_sys||msgctl(int msqid, int cmd, \
214			    struct linux_msqid_ds *buf); }
215#else
21668	UNIMPL		msgget
21769	UNIMPL		msgsnd
21870	UNIMPL		msgrcv
21971	UNIMPL		msgctl
220#endif
22172	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
22273	NOARGS		{ int|sys||flock(int fd, int how); }
22374	NOARGS		{ int|sys||fsync(int fd); }
22475	STD		{ int|linux_sys||fdatasync(int fd); }
22576	STD		{ int|linux_sys||truncate64(const char *path, \
226			    off_t length); }
22777	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
228			    off_t length); }
22978	STD		{ int|linux_sys||getdents(int fd, \
230			    struct linux_dirent *dent, unsigned int count); }
23179	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
23280	NOARGS		{ int|sys||chdir(const char *path); }
23381	NOARGS		{ int|sys||fchdir(int fd); }
23482	NOARGS		{ int|sys||__posix_rename(const char *from, \
235			    const char *to); }
23683	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
23784	NOARGS		{ int|sys||rmdir(const char *path); }
23885	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
23986	NOARGS		{ int|sys||link(const char *path, const char *link); }
24087	STD		{ int|linux_sys||unlink(const char *path); }
24188	NOARGS		{ int|sys||symlink(const char *path, const char *link); }
24289	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
243			    int count); }
24490	NOARGS		{ int|sys||chmod(const char *path, linux_umode_t mode); }
24591	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
24692	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
247				gid_t gid); }
24893	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
249			    gid_t gid); }
25094	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
251			    gid_t gid); }
25295	NOARGS		{ int|sys||umask(int newmask); }
25396	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
254			    struct timezone *tzp); }
25597	STD		{ int|linux_sys||getrlimit(int which, \
256			    struct rlimit *rlp); }
25798	NOARGS		{ int|compat_50_sys||getrusage(int who, \
258			    struct rusage50 *rusage); }
25999	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
260100	STD		{ int|linux_sys||times(struct times *tms); }
261101	STD		{ int|linux_sys||ptrace(long request, long pid, \
262			  long addr, long data); }
263102	NOARGS		{ uid_t|sys||getuid(void); }
264103	UNIMPL		syslog
265104	NOARGS		{ gid_t|sys||getgid(void); }
266105	NOARGS		{ int|sys||setuid(uid_t uid); }
267106	NOARGS		{ int|sys||setgid(gid_t gid); }
268107	NOARGS		{ uid_t|sys||geteuid(void); }
269108	NOARGS		{ gid_t|sys||getegid(void); }
270109	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
271110	STD		{ pid_t|sys||getppid(void); }
272111	NOARGS		{ int|sys||getpgrp(void); }
273112	NOARGS		{ int|sys||setsid(void); }
274113	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
275114	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
276115	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
277116	NOARGS		{ int|sys||setgroups(int gidsetsize, gid_t *gidset); }
278117	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
279			    uid_t suid); }
280118	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
281			    uid_t *suid); }
282119	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
283			    gid_t sgid); }
284120	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
285			    gid_t *sgid); }
286121	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
287122	STD		{ int|linux_sys||setfsuid(uid_t uid); }
288123	STD		{ int|linux_sys||setfsgid(gid_t gid); }
289124	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
290125	UNIMPL		capget
291126	UNIMPL		capset
292127	STD		{ int|linux_sys||rt_sigpending( \
293			    linux_sigset_t *set, \
294			    size_t sigsetsize); }
295128	STD		{ int|linux_sys||rt_sigtimedwait( \
296			    const linux_sigset_t *set, \
297			    linux_siginfo_t *info, \
298			    const struct linux_timespec *timeout); }
299129	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
300			    linux_siginfo_t *uinfo); }
301130	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
302			    size_t sigsetsize); }
303131	STD		{ int|linux_sys||sigaltstack( \
304			    const struct linux_sigaltstack *ss, \
305			    struct linux_sigaltstack *oss); }
306132	STD		{ int|linux_sys||utime(const char *path, \
307			    struct linux_utimbuf *times); }
308133	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
309			    unsigned dev); }
310#ifdef EXEC_AOUT
311134	STD		{ int|linux_sys||uselib(const char *path); }
312#else
313134	UNIMPL		sys_uselib
314#endif
315135	STD		{ int|linux_sys||personality(unsigned long per); }
316136	UNIMPL		ustat
317137	STD		{ int|linux_sys||statfs(const char *path, \
318			    struct linux_statfs *sp); }
319138	STD		{ int|linux_sys||fstatfs(int fd, \
320			    struct linux_statfs *sp); }
321139	UNIMPL		sysfs
322140	STD		{ int|linux_sys||getpriority(int which, int who); }
323141	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
324142	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
325			    const struct linux_sched_param *sp); }
326143	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
327			    struct linux_sched_param *sp); }
328144	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
329			    int policy, const struct linux_sched_param *sp); }
330145	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
331146	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
332147	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
333148	UNIMPL		sys_sched_rr_get_interval
334149	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
335150	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
336151	NOARGS		{ int|sys||mlockall(int flags); }
337152	NOARGS		{ int|sys||munlockall(void); }
338153	UNIMPL		vhangup
339154	STD		{ int|linux_sys||modify_ldt(int func, void *ptr, \
340			    size_t bytecount); }
341155	UNIMPL		pivot_root
342156	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
343157	UNIMPL		prctl
344158	STD		{ int|linux_sys||arch_prctl(int code, \
345			    unsigned long addr); }
346159	UNIMPL		adjtimex
347160	STD		{ int|linux_sys||setrlimit(u_int which, \
348			    struct rlimit *rlp); }
349161	NOARGS		{ int|sys||chroot(char *path); }
350162	NOARGS		{ int|sys||sync(void); }
351163	NOARGS		{ int|sys||acct(char *path); }
352164	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
353			    struct timezone *tzp); }
354165	UNIMPL		mount
355166	UNIMPL		umount2
356167	STD		{ int|linux_sys||swapon(char *name); }
357168	STD		{ int|linux_sys||swapoff(const char *path); }
358169	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
359			    int cmd, void *arg); }
360170	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
361			    u_int len);}
362171	STD		{ int|linux_sys||setdomainname(char *domainname, \
363			    int len); }
364172	STD		{ int|linux_sys||iopl(int level); }
365173	STD		{ int|linux_sys||ioperm(unsigned int lo, \
366			    unsigned int hi, int val); }
367174	UNIMPL		create_module
368175	UNIMPL		init_module
369176	UNIMPL		delete_module
370177	UNIMPL		get_kernel_syms
371178	UNIMPL		query_module
372179	UNIMPL		quotactl
373180	UNIMPL		nfsservctl
374181	UNIMPL		getpmsg
375182	UNIMPL		putpmsg
376183	UNIMPL		afs_syscall
377184	UNIMPL		tuxcall
378185	UNIMPL		security
379186	STD		{ pid_t|linux_sys||gettid(void); }
380187	STD		{ ssize_t|linux_sys||readahead(int fd, off_t offset, \
381			    size_t count); }
382188	STD		{ int|linux_sys||setxattr(char *path, char *name, \
383			    void *value, size_t size, int flags); }
384189	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
385			    void *value, size_t size, int flags); }
386190	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
387			    void *value, size_t size, int flags); }
388191	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
389			    void *value, size_t size); }
390192	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
391			    void *value, size_t size); }
392193	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
393			    void *value, size_t size); }
394194	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
395			    size_t size); }
396195	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
397			    size_t size); }
398196	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
399			    size_t size); }
400197	STD		{ int|linux_sys||removexattr(char *path, char *name); }
401198	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
402199	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
403200	STD		{ int|linux_sys||tkill(int tid, int sig); }
404201	STD		{ int|linux_sys||time(linux_time_t *t); }
405202	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
406			    const struct linux_timespec *timeout, int *uaddr2, \
407			    int val3); }
408203	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
409			    unsigned int len, unsigned long *mask); }
410204	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
411			    unsigned int len, unsigned long *mask); }
412205	UNIMPL		set_thread_area
413206	UNIMPL		io_setup
414207	UNIMPL		io_destroy
415208	UNIMPL		io_getevents
416209	UNIMPL		io_submit
417210	UNIMPL		io_cancel
418211	UNIMPL		get_thread_area
419212	UNIMPL		lookup_dcookie
420213	STD		{ int|linux_sys||epoll_create(int size); }
421214	UNIMPL		epoll_ctl_old
422215	UNIMPL		epoll_wait_old
423216	UNIMPL		remap_file_pages
424217	STD		{ int|linux_sys||getdents64(int fd, \
425			    struct linux_dirent64 *dent, unsigned int count); }
426218	STD		{ int|linux_sys||set_tid_address(int *tid); }
427219	UNIMPL		restart_syscall
428220	UNIMPL		semtimedop
429221	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
430			    size_t len, int advice); }
431222	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
432			    struct linux_sigevent *evp, timer_t *timerid); }
433223	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
434			    int flags, const struct linux_itimerspec *tim, \
435			    struct linux_itimerspec *otim); }
436224	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
437			    struct linux_itimerspec *tim); }
438225	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
439226	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
440227	STD		{ int|linux_sys||clock_settime(clockid_t which, \
441			    struct linux_timespec *tp); }
442228	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
443			    struct linux_timespec *tp); }
444229	STD		{ int|linux_sys||clock_getres(clockid_t which, \
445			    struct linux_timespec *tp); }
446230	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
447			    int flags, struct linux_timespec *rqtp, \
448			    struct linux_timespec *rmtp); }
449231	STD		{ int|linux_sys||exit_group(int error_code); }
450232	STD		{ int|linux_sys||epoll_wait(int epfd, \
451			    struct linux_epoll_event *events, int maxevents, \
452			    int timeout); }
453233	STD		{ int|linux_sys||epoll_ctl(int epfd, int op, int fd, \
454			    struct linux_epoll_event *event); }
455234	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
456235	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
457			    const struct timeval50 *tptr); }
458236	UNIMPL		vserver
459237	UNIMPL		mbind
460238	UNIMPL		set_mempolicy
461239	UNIMPL		get_mempolicy
462240	STD		{ linux_mqd_t|linux_sys||mq_open(const char *name, \
463			    int oflag, linux_umode_t mode, \
464			    struct linux_mq_attr *attr); }
465241	STD		{ int|linux_sys||mq_unlink(const char *name); }
466242	STD		{ int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \
467			    const char *msg_ptr, size_t msg_len, \
468			    unsigned int msg_prio, \
469			    const struct linux_timespec *abs_timeout); }
470243	STD		{ ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \
471			    char *msg_ptr, size_t msg_len, \
472			    unsigned int *msg_prio, \
473			    const struct linux_timespec *abs_timeout); }
474244	STD		{ int|linux_sys||mq_notify(linux_mqd_t mqdes, \
475			    const struct linux_sigevent *sevp); }
476245	STD		{ int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \
477			    const struct linux_mq_attr *newattr, \
478			    struct linux_mq_attr *oldattr); }
479246	UNIMPL		kexec_load
480247	STD		{ int|linux_sys||waitid(int idtype, id_t id, \
481			    linux_siginfo_t *infop, int options, \
482			    struct rusage50 *rusage); }
483248	UNIMPL		add_key
484249	UNIMPL		request_key
485250	UNIMPL		keyctl
486251	UNIMPL		ioprio_set
487252	UNIMPL		ioprio_get
488253	STD		{ int|linux_sys||inotify_init(void); }
489254	STD		{ int|linux_sys||inotify_add_watch(int fd, \
490			    const char *pathname, uint32_t mask); }
491255	STD		{ int|linux_sys||inotify_rm_watch(int fd, int wd); }
492256	UNIMPL		migrate_pages
493257	STD 		{ int|linux_sys||openat(int fd, const char *path, \
494			    int flags, ... linux_umode_t mode); }
495258	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
496			    linux_umode_t mode); }
497259	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
498			    linux_umode_t mode, unsigned dev); }
499260	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
500			    uid_t owner, gid_t group, int flag); }
501261	UNIMPL		futimesat
502262	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
503			    struct linux_stat *sp, int flag); }
504263	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
505			    int flag); }
506264	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
507			    int tofd, const char *to); }
508265	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
509			    int fd2, const char *name2, int flags); }
510266	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
511			    const char *path2); }
512267	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
513			    char *buf, size_t bufsize); }
514268	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
515			    linux_umode_t mode); }
516269	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
517			    int amode); }
518270	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
519			   fd_set *writefds, fd_set *exceptfds, \
520			   struct linux_timespec *timeout, \
521			   linux_sized_sigset_t *ss); }
522271	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
523			    struct linux_timespec *timeout, \
524			    linux_sigset_t *sigset); }
525272	UNIMPL		unshare
526			;
527			; The NetBSD native robust list calls have different
528			; argument names / types, but they are ABI-compatible
529			; with Linux.
530			;
531273	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
532			    size_t len); }
533274	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
534			    void **headp, size_t *lenp); }
535275	UNIMPL		splice
536276	UNIMPL		tee
537277	STD		{ int|linux_sys||sync_file_range(int fd, \
538			    off_t offset, off_t nbytes, unsigned int flags); }
539278	UNIMPL		vmsplice
540279	UNIMPL		move_pages
541280	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
542			    struct linux_timespec *times, int flag); }
543281	STD		{ int|linux_sys||epoll_pwait(int epfd, \
544			    struct linux_epoll_event *events, int maxevents, \
545			    int timeout, const linux_sigset_t *sigmask); }
546282	UNIMPL		signalfd
547283	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
548			    int flags); }
549284	STD		{ int|linux_sys||eventfd(unsigned int initval); }
550285	STD		{ int|linux_sys||fallocate(int fd, int mode, \
551			    off_t offset, off_t len); }
552286	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
553			    const struct linux_itimerspec *tim, \
554			    struct linux_itimerspec *otim); }
555287	STD		{ int|linux_sys||timerfd_gettime(int fd, \
556			    struct linux_itimerspec *tim); }
557288	STD		{ int|linux_sys||accept4(int s, \
558			    struct osockaddr *name, \
559			    int *anamelen, int flags); }
560289	UNIMPL		signalfd4
561290	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
562			    int flags); }
563291	STD		{ int|linux_sys||epoll_create1(int flags); }
564292	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
565293	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
566294	STD		{ int|linux_sys||inotify_init1(int flags); }
567295	STD		{ int|linux_sys||preadv(int fd, \
568			    const struct iovec *iovp, int iovcnt, \
569			    unsigned long off_lo, unsigned long off_hi); }
570296	STD		{ int|linux_sys||pwritev(int fd, \
571			    const struct iovcnt *iovp, int iovcnt, \
572			    unsigned long off_lo, unsigned long off_hi); }
573297	UNIMPL		rt_tgsigqueueinfo
574298	UNIMPL		perf_counter_open
575299	STD		{ int|linux_sys||recvmmsg(int s, \
576			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
577			    unsigned int flags, struct timespec *timeout); }
578300	UNIMPL		fanotify_init
579301	UNIMPL		fanotify_mark
580302	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
581			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
582303	UNIMPL		name_to_handle_at
583304	UNIMPL		open_by_handle_at
584305	UNIMPL		clock_adjtime
585306	STD		{ int|linux_sys||syncfs(int fd); }
586307	STD		{ int|linux_sys||sendmmsg(int s, \
587			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
588			    unsigned int flags); }
589308	UNIMPL		setns
590309	STD		{ int|linux_sys||getcpu(unsigned int *cpu, \
591			    unsigned int *node, \
592			    struct linux_getcpu_cache *tcache); }
593310	UNIMPL		process_vm_readv
594311	UNIMPL		process_vm_writev
595312	UNIMPL		kcmp
596313	UNIMPL		finit_module
597314	UNIMPL		sched_setattr
598315	UNIMPL		sched_getattr
599316	STD		{ int|linux_sys||renameat2(int fromfd, \
600			    const char *from, int tofd, const char *to, \
601			    unsigned int flags); }
602317	UNIMPL		seccomp
603318	NOARGS		{ ssize_t|sys||getrandom(void *buf, size_t buflen, \
604			    unsigned int flags); }
605319	STD		{ int|linux_sys||memfd_create(const char *name, \
606			    unsigned int flags); }
607320	UNIMPL		kexec_file_load
608321	UNIMPL		bpf
609322	UNIMPL		execveat
610323	UNIMPL		userfaultfd
611324	UNIMPL		membarrier
612325	UNIMPL		mlock2
613326	STD		{ ssize_t|linux_sys||copy_file_range(int fd_in, \
614			off_t * off_in, int fd_out, off_t * off_out, \
615			size_t len, unsigned int flags); }
616327	UNIMPL		preadv2
617328	UNIMPL		pwritev2
618329	UNIMPL		pkey_mprotect
619330	UNIMPL		pkey_alloc
620331	UNIMPL		pkey_free
621332	STD		{ int|linux_sys||statx(int fd, const char *path, \
622			    int flag, unsigned int mask, \
623			    struct linux_statx *sp); }
624333	UNIMPL		io_pgetevents
625334	UNIMPL		rseq
626335	UNIMPL
627336	UNIMPL
628337	UNIMPL
629338	UNIMPL
630339	UNIMPL
631340	UNIMPL
632341	UNIMPL
633342	UNIMPL
634343	UNIMPL
635344	UNIMPL
636345	UNIMPL
637346	UNIMPL
638347	UNIMPL
639348	UNIMPL
640349	UNIMPL
641350	UNIMPL
642351	UNIMPL
643352	UNIMPL
644353	UNIMPL
645354	UNIMPL
646355	UNIMPL
647356	UNIMPL
648357	UNIMPL
649358	UNIMPL
650359	UNIMPL
651360	UNIMPL
652361	UNIMPL
653362	UNIMPL
654363	UNIMPL
655364	UNIMPL
656365	UNIMPL
657366	UNIMPL
658367	UNIMPL
659368	UNIMPL
660369	UNIMPL
661370	UNIMPL
662371	UNIMPL
663372	UNIMPL
664373	UNIMPL
665374	UNIMPL
666375	UNIMPL
667376	UNIMPL
668377	UNIMPL
669378	UNIMPL
670379	UNIMPL
671380	UNIMPL
672381	UNIMPL
673382	UNIMPL
674383	UNIMPL
675384	UNIMPL
676385	UNIMPL
677386	UNIMPL
678387	UNIMPL
679388	UNIMPL
680389	UNIMPL
681390	UNIMPL
682391	UNIMPL
683392	UNIMPL
684393	UNIMPL
685394	UNIMPL
686395	UNIMPL
687396	UNIMPL
688397	UNIMPL
689398	UNIMPL
690399	UNIMPL
691400	UNIMPL
692401	UNIMPL
693402	UNIMPL
694403	UNIMPL
695404	UNIMPL
696405	UNIMPL
697406	UNIMPL
698407	UNIMPL
699408	UNIMPL
700409	UNIMPL
701410	UNIMPL
702411	UNIMPL
703412	UNIMPL
704413	UNIMPL
705414	UNIMPL
706415	UNIMPL
707416	UNIMPL
708417	UNIMPL
709418	UNIMPL
710419	UNIMPL
711420	UNIMPL
712421	UNIMPL
713422	UNIMPL
714423	UNIMPL
715424	UNIMPL		pidfd_send_signal
716425	UNIMPL		io_uring_setup
717426	UNIMPL		io_uring_enter
718427	UNIMPL		io_uring_register
719428	UNIMPL		open_tree
720429	UNIMPL		move_mount
721430	UNIMPL		fsopen
722431	UNIMPL		fsconfig
723432	UNIMPL		fsmount
724433	UNIMPL		fspick
725434	UNIMPL		pidfd_open
726435	STD		{ int|linux_sys||clone3( \
727			    struct linux_user_clone3_args *cl_args, \
728			    size_t size); }
729436	STD		{ int|linux_sys||close_range(unsigned int first, \
730			    unsigned int last, unsigned int flags); }
731437	UNIMPL		openat2
732438	UNIMPL		pidfd_getfd
733439	STD		{ int|linux_sys||faccessat2(int fd, const char *path, \
734			    int amode, int flags); }
735440	UNIMPL		process_madvise
736441	STD		{ int|linux_sys||epoll_pwait2(int epfd, \
737			    struct linux_epoll_event *events, int maxevents, \
738			    const struct linux_timespec *timeout, \
739			    const linux_sigset_t *sigmask); }
740442	UNIMPL		mount_setattr
741443	UNIMPL		quotactl_fd
742444	UNIMPL		landlock_create_ruleset
743445	UNIMPL		landlock_add_rule
744446	UNIMPL		landlock_restrict_self
745447	UNIMPL		memfd_secret
746448	UNIMPL		process_mrelease
747449	UNIMPL		futex_waitv
748450	UNIMPL		set_mempolicy_home_node
749
750; we want a "nosys" syscall, we'll just add an extra entry for it.
751451	STD		{ int|linux_sys||nosys(void); }
752