xref: /netbsd-src/sys/compat/linux32/arch/amd64/syscalls.master (revision 8f021900d7f6f4d7192d9d5677df9dfeab97eb8b)
1	$NetBSD: syscalls.master,v 1.77 2021/12/02 04:29:48 ryo Exp $
2
3; NetBSD i386 COMPAT_LINUX32 system call name/number "master" file.
4; (See syscalls.conf to see what it is processed into.)
5;
6; Fields: number type [type-dependent ...]
7;	number	system call number, must be in order
8;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
9;		the compatibility options defined in syscalls.conf.
10;
11; types:
12;	STD	always included
13;	OBSOL	obsolete, not included in system
14;	UNIMPL	unimplemented, not included in system
15;	NODEF	included, but don't define the syscall number
16;
17;	INDIR	included, but don't define the syscall args structure
18;		and allow it to be "really" varargs.
19;
20; The compat options are defined in the syscalls.conf file, and the
21; compat option name is prefixed to the syscall name.  Other than
22; that, they're like NODEF (for 'compat' options), or STD (for
23; 'libcompat' options).
24;
25; The type-dependent arguments are as follows:
26; For STD, NODEF, NOARGS, and compat syscalls:
27;	{ pseudo-proto } [alias]
28; For other syscalls:
29;	[comment]
30;
31; #ifdef's, etc. may be included, and are copied to the output files.
32; #include's are copied to the syscall names and switch definition files only.
33
34#include <sys/param.h>
35#include <sys/poll.h>
36#include <sys/systm.h>
37#include <sys/signal.h>
38#include <sys/mount.h>
39#include <sys/syscallargs.h>
40
41#include <machine/netbsd32_machdep.h>
42
43#include <compat/netbsd32/netbsd32.h>
44#include <compat/netbsd32/netbsd32_syscallargs.h>
45
46#include <compat/linux/common/linux_types.h>
47
48#include <compat/linux32/common/linux32_types.h>
49#include <compat/linux32/common/linux32_signal.h>
50#include <compat/linux32/arch/amd64/linux32_missing.h>
51#include <compat/linux32/linux32_syscallargs.h>
52
53#include <compat/linux/common/linux_mmap.h>
54#include <compat/linux/common/linux_signal.h>
55#include <compat/linux/common/linux_siginfo.h>
56#include <compat/linux/common/linux_machdep.h>
57#include <compat/linux/common/linux_ipc.h>
58#include <compat/linux/common/linux_sem.h>
59#include <compat/linux/linux_syscallargs.h>
60
61%%
62
630	NOARGS	{ int|linux_sys||nosys(void); } syscall
641	STD	{ int|linux32_sys||exit(int rval); }
652	NOARGS	{ int|sys||fork(void); }
663	NOARGS	{ netbsd32_ssize_t|netbsd32||read(int fd, \
67		    netbsd32_voidp buf, netbsd32_size_t nbyte); }
684	NOARGS	{ netbsd32_ssize_t|netbsd32||write(int fd, \
69		    netbsd32_voidp buf, netbsd32_size_t nbyte); }
705	STD	{ int|linux32_sys||open(netbsd32_charp path, int flags, \
71		    linux_umode_t mode); }
726	NOARGS	{ int|netbsd32||close(int fd); }
737	STD	{ int|linux32_sys||waitpid(int pid, netbsd32_intp status, \
74		    int options);}
758	STD	{ int|linux32_sys||creat(netbsd32_charp path, linux_umode_t mode); }
769	NOARGS	{ int|netbsd32||link(netbsd32_charp path, \
77		    netbsd32_charp link); }
7810	STD	{ int|linux32_sys||unlink(netbsd32_charp path); }
7911	NOARGS	{ int|netbsd32||execve(netbsd32_charp path, \
80		    netbsd32_charpp argp, netbsd32_charpp envp); }
8112	NOARGS	{ int|netbsd32||chdir(netbsd32_charp path); }
8213	STD	{ int|linux32_sys||time(linux32_timep_t t); }
8314	STD	{ int|linux32_sys||mknod(netbsd32_charp path, \
84		    linux_umode_t mode, unsigned dev); }
8515	NOARGS	{ int|netbsd32||chmod(netbsd32_charp path, linux_umode_t mode); }
8616	STD	{ int|linux32_sys||lchown16(netbsd32_charp path, \
87		    linux32_uid16_t uid, linux32_gid16_t gid); }
8817	STD	{ int|linux32_sys||break(netbsd32_charp nsize); }
8918	OBSOL	ostat
9019	NOARGS	{ netbsd32_long|compat_43_netbsd32||olseek(int fd, \
91		    netbsd32_long offset, int whence); }
9220	NOARGS 	{ pid_t|sys||getpid(void); }
9321	UNIMPL	mount
9422	UNIMPL	umount
9523	NOARGS	linux_setuid16 { int|netbsd32||setuid(uid_t uid); }
9624	NOARGS	linux_getuid16 { uid_t|sys||getuid(void); }
9725	STD	{ int|linux32_sys||stime(linux32_timep_t t); }
9826	STD	{ int|linux32_sys||ptrace(int request, int pid, \
99		  int addr, int data); }
10027	STD	{ int|linux32_sys||alarm(unsigned int secs); }
10128	OBSOL	ofstat
10229	NOARGS	{ int|linux_sys||pause(void); }
10330	STD	{ int|linux32_sys||utime(netbsd32_charp path, \
104		    linux32_utimbufp_t times); }
10531	OBSOL	stty
10632	OBSOL	gtty
10733	NOARGS	{ int|netbsd32||access(netbsd32_charp path, \
108		    int flags); }
10934	STD	{ int|linux32_sys||nice(int incr); }
11035	OBSOL	ftime
11136	NOARGS	{ int|sys||sync(void); }
11237	STD	{ int|linux32_sys||kill(int pid, int signum); }
11338	NOARGS	{ int|netbsd32||__posix_rename(netbsd32_charp from, \
114		    netbsd32_charp to); }
11539	NOARGS	{ int|netbsd32||mkdir(netbsd32_charp path, linux_umode_t mode); }
11640	NOARGS	{ int|netbsd32||rmdir(netbsd32_charp path); }
11741	NOARGS	{ int|netbsd32||dup(int fd); }
11842	STD	{ int|linux32_sys||pipe(netbsd32_intp fd); }
11943	STD	{ int|linux32_sys||times(linux32_tmsp_t tms); }
12044	OBSOL	prof
12145	STD	{ int|linux32_sys||brk(netbsd32_charp nsize); }
12246	NOARGS	linux_setgid16 { int|netbsd32||setgid(gid_t gid); }
12347	NOARGS	linux_getgid16 { gid_t|sys||getgid(void); }
12448	STD	{ int|linux32_sys||signal(int signum, \
125		    linux32_handlerp_t handler); }
12649	NOARGS	linux_geteuid16 { uid_t|sys||geteuid(void); }
12750	NOARGS	linux_getegid16 { gid_t|sys||getegid(void); }
12851	NOARGS	{ int|netbsd32||acct(netbsd32_charp path); }
12952	OBSOL	phys
13053	OBSOL	lock
13154	STD	{ int|linux32_sys||ioctl(int fd, netbsd32_u_long com, \
132		    netbsd32_charp data); }
13355	STD	{ int|linux32_sys||fcntl(int fd, \
134		    int cmd, netbsd32_voidp arg); }
13556	OBSOL	mpx
13657	NOARGS	{ int|netbsd32||setpgid(int pid, int pgid); }
13758	OBSOL	ulimit
13859	STD	{ int|linux32_sys||oldolduname( \
139		    linux32_oldold_utsnamep_t up); }
14060	NOARGS	{ int|netbsd32||umask(int newmask); }
14161	NOARGS	{ int|netbsd32||chroot(netbsd32_charp path); }
14262	UNIMPL	ustat
14363	NOARGS	{ int|netbsd32||dup2(int from, int to); }
14464	NOARGS	{ pid_t|sys||getppid(void); }
14565	NOARGS	{ int|sys||getpgrp(void); }
14666	NOARGS	{ int|sys||setsid(void); }
14767	UNIMPL	sigaction
14868	STD	{ int|linux32_sys||siggetmask(void); }
14969	STD	{ int|linux32_sys||sigsetmask(linux32_old_sigset_t mask); }
15070	STD	{ int|linux32_sys||setreuid16(linux32_uid16_t ruid, \
151		    linux32_uid16_t euid); }
15271	STD	{ int|linux32_sys||setregid16(linux32_gid16_t rgid, \
153		    linux32_gid16_t egid); }
15472	UNIMPL	sigsuspend
15573	UNIMPL	sigpending
15674	NOARGS	{ int|compat_43_netbsd32||osethostname(netbsd32_charp hostname, \
157		    u_int len); }
15875	STD	{ int|linux32_sys||setrlimit(u_int which, \
159		    netbsd32_orlimitp_t rlp); }
16076	STD	{ int|linux32_sys||getrlimit(u_int which, \
161		    netbsd32_orlimitp_t rlp); }
16277	NOARGS	{ int|compat_50_netbsd32||getrusage(int who, \
163		    netbsd32_rusage50p_t rusage); }
16478	STD	{ int|linux32_sys||gettimeofday(netbsd32_timeval50p_t tp, \
165		    netbsd32_timezonep_t tzp); }
16679	STD	{ int|linux32_sys||settimeofday(netbsd32_timeval50p_t tp, \
167		    netbsd32_timezonep_t tzp); }
16880	STD	{ int|linux32_sys||getgroups16(int gidsetsize, \
169		    linux32_gid16p_t gidset); }
17081	STD	{ int|linux32_sys||setgroups16(int gidsetsize, \
171		    linux32_gid16p_t gidset); }
17282	STD	{ int|linux32_sys||oldselect(linux32_oldselectp_t lsp); }
17383	NOARGS	{ int|netbsd32||symlink(netbsd32_charp path, \
174		    netbsd32_charp link); }
17584	NOARGS	{ int|compat_43_netbsd32||lstat43(netbsd32_charp \
176		    path, netbsd32_stat43p_t ub); }
17785	NOARGS	{ int|netbsd32||readlink(netbsd32_charp path, \
178		    netbsd32_charp buf, netbsd32_size_t count); }
17986	UNIMPL	uselib
18087	STD	{ int|linux32_sys||swapon(netbsd32_charp name); }
18188	STD	{ int|linux32_sys||reboot(int magic1, int magic2, int cmd, \
182		    netbsd32_voidp arg); }
18389	STD	{ int|linux32_sys||readdir(int fd, netbsd32_voidp dent, \
184		    unsigned int count); }
18590	STD	{ int|linux32_sys||old_mmap(linux32_oldmmapp lmp); }
18691	NOARGS	{ int|netbsd32||munmap(netbsd32_voidp addr, \
187		    netbsd32_size_t len); }
18892	NOARGS	{ int|compat_43_netbsd32||otruncate(netbsd32_charp path, \
189		    netbsd32_long length); }
19093	NOARGS	{ int|compat_43_netbsd32||oftruncate(int fd, \
191		    netbsd32_long length); }
19294	NOARGS	{ int|netbsd32||fchmod(int fd, linux_umode_t mode); }
19395	STD	{ int|linux32_sys||fchown16(int fd, linux32_uid16_t uid, \
194		    linux32_gid16_t gid); }
19596	STD	{ int|linux32_sys||getpriority(int which, int who); }
19697	NOARGS	{ int|netbsd32||setpriority(int which, int who, int prio); }
19798	NOARGS	{ int|netbsd32||profil(netbsd32_voidp samples, \
198		    netbsd32_size_t size, netbsd32_u_long offset, \
199		    u_int scale); }
20099	STD	{ int|linux32_sys||statfs(netbsd32_charp path, \
201		    linux32_statfsp sp); }
202100	STD	{ int|linux32_sys||fstatfs(int fd, linux32_statfsp sp); }
203101	NOARGS	{ int|linux_sys||ioperm(unsigned int lo, \
204		    unsigned int hi, int val); }
205102	STD	{ int|linux32_sys||socketcall(int what, netbsd32_voidp args); }
206103	UNIMPL	syslog
207104	NOARGS	{ int|compat_50_netbsd32||setitimer(int which, \
208		    netbsd32_itimerval50p_t itv, netbsd32_itimerval50p_t oitv); }
209105	NOARGS	{ int|compat_50_netbsd32||getitimer(int which, \
210		    netbsd32_itimerval50p_t itv); }
211106	STD	{ int|linux32_sys||stat(netbsd32_charp path, \
212		    linux32_statp sp); }
213107	STD	{ int|linux32_sys||lstat(netbsd32_charp path, \
214		    linux32_statp sp); }
215108	STD	{ int|linux32_sys||fstat(int fd, \
216		    linux32_statp sp); }
217109	STD	{ int|linux32_sys||olduname(linux32_oldutsnamep_t up); }
218110	NOARGS	{ int|linux_sys||iopl(int level); }
219111	UNIMPL	vhangup
220112	UNIMPL	idle
221113	UNIMPL	vm86old
222114	STD	{ int|linux32_sys||wait4(int pid, netbsd32_intp status, \
223		    int options, netbsd32_rusage50p_t rusage); }
224115	STD	{ int|linux32_sys||swapoff(netbsd32_charp path); }
225116	STD	{ int|linux32_sys||sysinfo(linux32_sysinfop_t arg); }
226117	STD	{ int|linux32_sys||ipc(int what, int a1, int a2, int a3, \
227		    netbsd32_voidp ptr); }
228118	NOARGS	{ int|netbsd32||fsync(int fd); }
229119	STD	{ int|linux32_sys||sigreturn(linux32_sigcontextp_t scp); }
230120	STD	{ int|linux32_sys||clone(int flags, netbsd32_voidp stack, \
231		    netbsd32_voidp parent_tidptr, netbsd32_voidp tls, \
232		    netbsd32_voidp child_tidptr); }
233121	STD	{ int|linux32_sys||setdomainname(netbsd32_charp domainname, \
234		    int len); }
235122	STD	{ int|linux32_sys||uname(linux32_utsnamep up); }
236123	STD	{ int|linux32_sys||modify_ldt(int func, netbsd32_charp ptr, \
237		    netbsd32_size_t bytecount); }
238124	UNIMPL	adjtimex
239125	STD	{ int|linux32_sys||mprotect(netbsd32_voidp start, \
240		    netbsd32_size_t len, int prot); }
241126	UNIMPL	sigprocmask
242127	UNIMPL	create_module
243128	UNIMPL	init_module
244129	UNIMPL	delete_module
245130	UNIMPL	get_kernel_syms
246131	UNIMPL	quotactl
247132	NOARGS	{ int|netbsd32||getpgid(pid_t pid); }
248133	NOARGS	{ int|netbsd32||fchdir(int fd); }
249134	UNIMPL	bdflush
250135	UNIMPL	sysfs
251136	STD	{ int|linux32_sys||personality(netbsd32_u_long per); }
252137	UNIMPL	afs_syscall
253138	NOARGS	setfsuid16 { int|linux32_sys||setfsuid(uid_t uid); }
254139	NOARGS	setfsgid16 { int|linux32_sys||setfsgid(gid_t gid); }
255140	STD	{ int|linux32_sys||llseek(int fd, u_int32_t ohigh, \
256		    u_int32_t olow, netbsd32_voidp res, int whence); }
257141	STD	{ int|linux32_sys||getdents(int fd, \
258		    linux32_direntp_t dent, unsigned int count); }
259142	STD	{ int|linux32_sys||select(int nfds, \
260		    netbsd32_fd_setp_t readfds, \
261		    netbsd32_fd_setp_t writefds, \
262		    netbsd32_fd_setp_t exceptfds, \
263		    netbsd32_timeval50p_t timeout); }
264143	NOARGS	{ int|netbsd32||flock(int fd, int how); }
265144	NOARGS	{ int|netbsd32|13|msync(netbsd32_voidp addr, \
266		    netbsd32_size_t len, int flags); }
267145	NOARGS	{ int|netbsd32||readv(int fd, \
268		    netbsd32_iovecp_t iovp, int iovcnt); }
269146	NOARGS	{ netbsd32_ssize_t|netbsd32||writev(int fd, \
270		    netbsd32_iovecp_t iovp, int iovcnt); }
271147	NOARGS	{ pid_t|netbsd32||getsid(pid_t pid); }
272148	STD	{ int|linux32_sys||fdatasync(int fd); }
273149	STD	{ int|linux32_sys||__sysctl(linux32___sysctlp_t lsp); }
274150	NOARGS	{ int|netbsd32||mlock(netbsd32_voidp addr, \
275		    netbsd32_size_t len); }
276151	NOARGS	{ int|netbsd32||munlock(netbsd32_voidp addr, \
277		    netbsd32_size_t len); }
278152	NOARGS	{ int|netbsd32||mlockall(int flags); }
279153	NOARGS	{ int|sys||munlockall(void); }
280154	STD	{ int|linux32_sys||sched_setparam(pid_t pid, \
281		    const linux32_sched_paramp_t sp); }
282155	STD	{ int|linux32_sys||sched_getparam(pid_t pid, \
283		    linux32_sched_paramp_t sp); }
284156	STD	{ int|linux32_sys||sched_setscheduler(pid_t pid, \
285		    int policy, linux32_sched_paramp_t sp); }
286157	STD	{ int|linux32_sys||sched_getscheduler(pid_t pid); }
287158	NOARGS	{ int|linux_sys||sched_yield(void); }
288159	STD	{ int|linux32_sys||sched_get_priority_max(int policy); }
289160	STD	{ int|linux32_sys||sched_get_priority_min(int policy); }
290161	UNIMPL	sched_rr_get_interval
291162	STD	{ int|linux32_sys||nanosleep(linux32_timespecp_t rqtp, \
292		    linux32_timespecp_t rmtp); }
293163	STD	{ int|linux32_sys||mremap(netbsd32_voidp old_address, \
294		    netbsd32_size_t old_size, netbsd32_size_t new_size, \
295		    netbsd32_u_long flags); }
296164	STD	{ int|linux32_sys||setresuid16(linux32_uid16_t ruid, \
297		    linux32_uid16_t euid, linux32_uid16_t suid); }
298165	STD	{ int|linux32_sys||getresuid16(linux32_uid16p_t ruid, \
299		    linux32_uid16p_t euid, linux32_uid16p_t suid); }
300166	UNIMPL	vm86
301167	UNIMPL	query_module
302168	NOARGS	{ int|netbsd32||poll(netbsd32_pollfdp_t fds, u_int nfds, \
303		    int timeout); }
304169	UNIMPL	nfsservctl
305170	STD	{ int|linux32_sys||setresgid16(linux32_gid16_t rgid, \
306		    linux32_gid16_t egid, linux32_gid16_t sgid); }
307171	STD	{ int|linux32_sys||getresgid16(linux32_gid16p_t rgid, \
308		    linux32_gid16p_t egid, linux32_gid16p_t sgid); }
309172	UNIMPL	prctl
310173	STD	{ int|linux32_sys||rt_sigreturn(linux32_ucontextp_t ucp); }
311174	STD	{ int|linux32_sys||rt_sigaction(int signum, \
312		    linux32_sigactionp_t nsa, \
313		    linux32_sigactionp_t osa, \
314		    netbsd32_size_t sigsetsize); }
315175	STD	{ int|linux32_sys||rt_sigprocmask(int how, \
316		     linux32_sigsetp_t set, \
317		     linux32_sigsetp_t oset, \
318		     netbsd32_size_t sigsetsize); }
319176	STD	{ int|linux32_sys||rt_sigpending(linux32_sigsetp_t set, \
320		    netbsd32_size_t sigsetsize); }
321177	STD	{ int|linux32_sys||rt_sigtimedwait( \
322		    const linux32_sigsetp_t set, \
323		    linux32_siginfop_t info, \
324		    const linux32_timespecp_t timeout); }
325178	STD	{ int|linux32_sys||rt_queueinfo(int pid, int sig, \
326		    linux32_siginfop_t uinfo); }
327179	STD	{ int|linux32_sys||rt_sigsuspend(linux32_sigsetp_t unewset, \
328		    netbsd32_size_t sigsetsize); }
329180	STD	{ netbsd32_ssize_t|linux32_sys||pread(int fd, \
330		    netbsd32_voidp buf, netbsd32_size_t nbyte, \
331		    netbsd32_off_t offset); }
332181	STD	{ netbsd32_ssize_t|linux32_sys||pwrite(int fd, \
333		    netbsd32_voidp buf, netbsd32_size_t nbyte, \
334		    netbsd32_off_t offset); }
335182	STD	{ int|linux32_sys||chown16(netbsd32_charp path, \
336		    linux32_uid16_t uid, linux32_gid16_t gid); }
337183	NOARGS	{ int|netbsd32||__getcwd(netbsd32_charp bufp, \
338		    netbsd32_size_t length); }
339184	UNIMPL	capget
340185	UNIMPL	capset
341186	UNIMPL	sigaltstack
342187	UNIMPL	sendfile
343188	UNIMPL	getpmsg
344189	UNIMPL	putpmsg
345190	NOARGS	{ int|sys|14|vfork(void); }
346191	STD	{ int|linux32_sys||ugetrlimit(int which, \
347		    netbsd32_orlimitp_t rlp); }
348192	STD	{ linux32_off_t|linux32_sys||mmap2(netbsd32_u_long addr, \
349		    netbsd32_size_t len, int prot, int flags, int fd, \
350		    linux32_off_t offset); }
351193	STD	{ int|linux32_sys||truncate64(netbsd32_charp path, \
352		    uint32_t lenlo, uint32_t lenhi); }
353194	STD	{ int|linux32_sys||ftruncate64(unsigned int fd, \
354		    uint32_t lenlo, uint32_t lenhi); }
355195	STD	{ int|linux32_sys||stat64(netbsd32_charp path, \
356		    linux32_stat64p sp); }
357196	STD	{ int|linux32_sys||lstat64(netbsd32_charp path, \
358		    linux32_stat64p sp); }
359197	STD	{ int|linux32_sys||fstat64(int fd, \
360		    linux32_stat64p sp); }
361198	NOARGS	{ int|netbsd32||__posix_lchown(netbsd32_charp path, \
362		    uid_t uid, gid_t gid); }
363199	NOARGS	{ uid_t|sys||getuid(void); }
364200	NOARGS	{ gid_t|sys||getgid(void); }
365201	NOARGS	{ uid_t|sys||geteuid(void); }
366202	NOARGS	{ gid_t|sys||getegid(void); }
367203	NOARGS	{ int|netbsd32||setreuid(uid_t ruid, uid_t euid); }
368204	NOARGS	{ int|netbsd32||setregid(gid_t rgid, gid_t egid); }
369205	NOARGS	{ int|netbsd32||getgroups(int gidsetsize, \
370		    netbsd32_gid_tp gidset); }
371206	NOARGS	{ int|netbsd32||setgroups(int gidsetsize, \
372		    netbsd32_gid_tp gidset); }
373207	NOARGS	{ int|netbsd32||__posix_fchown(int fd, uid_t uid, gid_t gid); }
374208	STD	{ int|linux32_sys||setresuid(uid_t ruid, uid_t euid, \
375		    uid_t suid); }
376209	STD	{ int|linux32_sys||getresuid(linux32_uidp_t ruid, \
377		    linux32_uidp_t euid, linux32_uidp_t suid); }
378210	STD	{ int|linux32_sys||setresgid(gid_t rgid, gid_t egid, \
379		    gid_t sgid); }
380211	STD	{ int|linux32_sys||getresgid(linux32_gidp_t rgid, \
381		    linux32_gidp_t egid, linux32_gidp_t sgid); }
382212	NOARGS	{ int|netbsd32||__posix_chown(netbsd32_charp path, \
383		    uid_t uid, gid_t gid); }
384213 	NOARGS	{ int|netbsd32||setuid(uid_t uid); }
385214	NOARGS	{ int|netbsd32||setgid(gid_t gid); }
386215	STD	{ int|linux32_sys||setfsuid(uid_t uid); }
387216	STD	{ int|linux32_sys||setfsgid(gid_t gid); }
388217	UNIMPL	pivot_root
389218	NOARGS	{ int|netbsd32||mincore(netbsd32_voidp addr, \
390		    netbsd32_size_t len, netbsd32_charp vec); }
391219	NOARGS	{ int|netbsd32||madvise(netbsd32_voidp addr, \
392		    netbsd32_size_t len, int behav); }
393220	STD	{ int|linux32_sys||getdents64(int fd, \
394		    linux32_dirent64p_t dent, unsigned int count); }
395; fcntl64() - Exactly the same as fcntl()
396#define linux32_sys_fcntl64 linux32_sys_fcntl
397#define linux32_sys_fcntl64_args linux32_sys_fcntl_args
398221	NOARGS	{ int|linux32_sys||fcntl64(int fd, \
399		    int cmd, netbsd32_voidp arg); }
400222	UNIMPL	/*	unused	*/
401223	UNIMPL	/*	unused	*/
402224	NOARGS	{ pid_t|linux_sys||gettid(void); }
403225	UNIMPL	readahead
404226	NOARGS	{ int|netbsd32||setxattr(netbsd32_charp path, \
405		    netbsd32_charp name, netbsd32_voidp value, \
406		    netbsd32_size_t size, int flags); }
407227	NOARGS	{ int|netbsd32||lsetxattr(netbsd32_charp path, \
408		    netbsd32_charp name,  netbsd32_voidp value, \
409		    netbsd32_size_t size, int flags); }
410228	NOARGS	{ int|netbsd32||fsetxattr(int fd, netbsd32_charp name, \
411		    netbsd32_voidp value, netbsd32_size_t size, int flags); }
412229	NOARGS	{ ssize_t|netbsd32||getxattr(netbsd32_charp path, \
413		    netbsd32_charp name, netbsd32_voidp value, \
414		    netbsd32_size_t size); }
415230	NOARGS	{ ssize_t|netbsd32||lgetxattr(netbsd32_charp path, \
416		    netbsd32_charp name, netbsd32_voidp value, \
417		    netbsd32_size_t size); }
418231	NOARGS	{ ssize_t|netbsd32||fgetxattr(int fd, netbsd32_charp name, \
419		    netbsd32_voidp value, netbsd32_size_t size); }
420232	NOARGS	{ ssize_t|netbsd32||listxattr(netbsd32_charp path, \
421		    netbsd32_charp list, netbsd32_size_t size); }
422233	NOARGS	{ ssize_t|netbsd32||llistxattr(netbsd32_charp path, \
423		    netbsd32_charp list, netbsd32_size_t size); }
424234	NOARGS	{ ssize_t|netbsd32||flistxattr(int fd, netbsd32_charp list, \
425		    netbsd32_size_t size); }
426235	NOARGS	{ int|netbsd32||removexattr(netbsd32_charp path, \
427		    netbsd32_charp name); }
428236	NOARGS	{ int|netbsd32||lremovexattr(netbsd32_charp path, \
429		    netbsd32_charp name); }
430237	NOARGS	{ int|netbsd32||fremovexattr(int fd, netbsd32_charp name); }
431238	STD	{ int|linux32_sys||tkill(int tid, int sig); }
432239	UNIMPL	sendfile64
433240	STD	{ int|linux32_sys||futex(linux32_intp_t uaddr, int op, int val, \
434		    linux32_timespecp_t timeout, linux32_intp_t uaddr2, \
435		    int val3); }
436241	STD	{ int|linux32_sys||sched_setaffinity(pid_t pid, \
437		    unsigned int len, linux32_ulongp_t mask); }
438242	STD	{ int|linux32_sys||sched_getaffinity(pid_t pid, \
439		    unsigned int len, linux32_ulongp_t mask); }
440243	STD	{ int|linux32_sys||set_thread_area(linux32_user_descp_t desc); }
441244	STD	{ int|linux32_sys||get_thread_area(linux32_user_descp_t desc); }
442245	UNIMPL	io_setup
443246	UNIMPL	io_destroy
444247	UNIMPL	io_getevents
445248	UNIMPL	io_submit
446249	UNIMPL	io_cancel
447250	STD	{ int|linux32_sys||fadvise64(int fd, uint32_t offlo, \
448		    uint32_t offhi, linux32_size_t len, int advice); }
449251	UNIMPL	/*	unused	*/
450252	STD	{ int|linux32_sys||exit_group(int error_code); }
451253	UNIMPL	lookup_dcookie
452254	UNIMPL	epoll_create
453255	UNIMPL	epoll_ctl
454256	UNIMPL	epoll_wait
455257	UNIMPL	remap_file_pages
456258	STD	{ int|linux32_sys||set_tid_address(linux32_intp_t tid); }
457259	STD	{ int|linux32_sys||timer_create(clockid_t clockid, \
458		    struct linux32_sigevent *evp, timer_t *timerid); }
459260	STD	{ int|linux32_sys||timer_settime(timer_t timerid, \
460		    int flags, const struct linux32_itimerspec *tim, \
461		    struct linux32_itimerspec *otim); }
462261	STD	{ int|linux32_sys||timer_gettime(timer_t timerid, \
463		    struct linux32_itimerspec *tim); }
464262	NOARGS	{ int|sys||timer_getoverrun(timer_t timerid); }
465263	NOARGS	{ int|sys||timer_delete(timer_t timerid); }
466264	STD	{ int|linux32_sys||clock_settime(clockid_t which, \
467		    linux32_timespecp_t tp); }
468265	STD	{ int|linux32_sys||clock_gettime(clockid_t which, \
469		    linux32_timespecp_t tp); }
470266	STD	{ int|linux32_sys||clock_getres(clockid_t which, \
471		    linux32_timespecp_t tp); }
472267	STD	{ int|linux32_sys||clock_nanosleep(clockid_t which, int flags, \
473		    linux32_timespecp_t rqtp, linux32_timespecp_t rmtp); }
474268	STD	{ int|linux32_sys||statfs64(netbsd32_charp path, \
475		    netbsd32_size_t sz, linux32_statfs64p sp); }
476269	STD	{ int|linux32_sys||fstatfs64(int fd, \
477		    netbsd32_size_t sz, linux32_statfs64p sp); }
478270	STD	{ int|linux32_sys||tgkill(int tgid, int tid, int sig); }
479271	NOARGS	{ int|compat_50_netbsd32||utimes(netbsd32_charp path, \
480		    netbsd32_timeval50p_t tptr); }
481272	STD	{ int|linux32_sys||fadvise64_64(int fd, uint32_t offlo, \
482		    uint32_t offhi, uint32_t lenlo, uint32_t lenhi, int advice); }
483273	UNIMPL	vserver
484274	UNIMPL	mbind
485275	UNIMPL	get_mempolicy
486276	UNIMPL	set_mempolicy
487277	UNIMPL	mq_open
488278	UNIMPL	mq_unlink
489279	UNIMPL	mq_timedsend
490280	UNIMPL	mq_timedreceive
491281	UNIMPL	mq_notify
492282	UNIMPL	mq_getsetattr
493283	UNIMPL	kexec_load
494284	UNIMPL	waitid
495285	UNIMPL	/* unused */
496286	UNIMPL	add_key
497287	UNIMPL	request_key
498288	UNIMPL	keyctl
499289	UNIMPL	ioprio_set
500290	UNIMPL	ioprio_get
501291	UNIMPL	inotify_init
502292	UNIMPL	inotify_add_watch
503293	UNIMPL	inotify_rm_watch
504294	UNIMPL	migrate_pages
505295	STD	{ int|linux32_sys||openat(int fd, netbsd32_charp path, \
506		    int flags, ... linux_umode_t mode); }
507296	NOARGS	{ int|netbsd32||mkdirat(int fd, netbsd32_charp path, \
508		    linux_umode_t mode); }
509297	STD	{ int|linux32_sys||mknodat(int fd, netbsd32_charp path, \
510		    linux_umode_t mode, unsigned dev); }
511298	STD	{ int|linux32_sys||fchownat(int fd, netbsd32_charp path, \
512		    uid_t owner, gid_t group, int flag); }
513299	UNIMPL	futimesat
514300	STD	{ int|linux32_sys||fstatat64(int fd, netbsd32_charp path, \
515		    linux32_stat64p sp, int flag); }
516301	STD	{ int|linux32_sys||unlinkat(int fd, netbsd32_charp path, \
517		    int flag); }
518302	NOARGS	{ int|netbsd32||renameat(int fromfd, netbsd32_charp from, \
519		    int tofd, netbsd32_charp to); }
520303	STD	{ int|linux32_sys||linkat(int fd1, netbsd32_charp name1, \
521		    int fd2, netbsd32_charp name2, int flags); }
522304	NOARGS	{ int|netbsd32||symlinkat(netbsd32_charp path1, int fd, \
523		    netbsd32_charp path2); }
524305	NOARGS	{ int|netbsd32||readlinkat(int fd, netbsd32_charp path, \
525		    netbsd32_charp buf, linux32_size_t bufsize); }
526306	STD	{ int|linux32_sys||fchmodat(int fd, netbsd32_charp path, \
527		    linux_umode_t mode); }
528307	STD	{ int|linux32_sys||faccessat(int fd, netbsd32_charp path, \
529		    int amode); }
530308	STD	{ int|linux32_sys||pselect6(int nfds, \
531		   netbsd32_fd_setp_t readfds, \
532		   netbsd32_fd_setp_t writefds, \
533		   netbsd32_fd_setp_t exceptfds, \
534		   linux32_timespecp_t timeout, \
535		   linux32_sized_sigsetp_t ss); }
536309	STD	{ int|linux32_sys||ppoll(netbsd32_pollfdp_t fds, u_int nfds, \
537		    linux32_timespecp_t timeout, linux32_sigsetp_t sigset); }
538310	UNIMPL	unshare
539		;
540		; The netbsd32 native robust list calls have different
541		; argument names / types, but they are ABI-compatible
542		; with linux32.
543		;
544311	NOARGS	{ int|netbsd32||__futex_set_robust_list( \
545		    netbsd32_voidp head, netbsd32_size_t len); }
546312	NOARGS	{ int|netbsd32||__futex_get_robust_list(lwpid_t lwpid, \
547		    netbsd32_voidp headp, netbsd32_size_tp lenp); }
548313	UNIMPL	splice
549314	UNIMPL	sync_file_range
550315	UNIMPL	tee
551316	UNIMPL	vmsplice
552317	UNIMPL	move_pages
553318	UNIMPL	getcpu
554319	UNIMPL	epoll_wait
555320	STD	{ int|linux32_sys||utimensat(int fd, netbsd32_charp path, \
556			    linux32_timespecp_t times, int flag); }
557321	UNIMPL	signalfd
558322	NOARGS	{ int|linux_sys||timerfd_create(clockid_t clock_id, \
559		    int flags); }
560323	STD	{ int|linux32_sys||eventfd(unsigned int initval); }
561324	STD	{ int|linux32_sys||fallocate(int fd, int mode, \
562			    off_t offset, off_t len); }
563325	STD	{ int|linux32_sys||timerfd_settime(int fd, int flags, \
564		    const struct linux32_itimerspec *tim, \
565		    struct linux32_itimerspec *otim); }
566326	STD	{ int|linux32_sys||timerfd_gettime(int fd, \
567		    struct linux32_itimerspec *tim); }
568327	UNIMPL	signalfd4
569328	STD	{ int|linux32_sys||eventfd2(unsigned int initval, \
570		    int flags); }
571329	UNIMPL	epoll_create1
572330	STD	{ int|linux32_sys||dup3(int from, int to, int flags); }
573331     STD	{ int|linux32_sys||pipe2(netbsd32_intp fd, int flags); }
574332	UNIMPL	inotify_init1
575333	STD	{ int|linux32_sys||preadv(int fd, \
576		    const netbsd32_iovecp_t iovp, int iovcnt, \
577		    netbsd32_u_long off_lo, netbsd32_u_long off_hi); }
578334	STD	{ int|linux32_sys||pwritev(int fd, \
579		    const netbsd32_iovecp_t iovp, int iovcnt, \
580		    netbsd32_u_long off_lo, netbsd32_u_long off_hi); }
581335	UNIMPL	rt_tgsigqueueinfo
582336	UNIMPL	perf_counter_open
583337	UNIMPL	recvmmsg
584338	UNIMPL	fanotify_init
585339	UNIMPL	fanotify_mark
586340	STD	{ int|linux32_sys||prlimit64(pid_t pid, int which, \
587		    netbsd32_rlimitp_t new_rlp, netbsd32_rlimitp_t old_rlp); }
588341	UNIMPL	name_to_handle_at
589342	UNIMPL	open_by_handle_at
590343	UNIMPL	clock_adjtime
591344	UNIMPL	syncfs
592345	UNIMPL	sendmmsg
593346	UNIMPL	setns
594347	UNIMPL	process_vm_readv
595348	UNIMPL	process_vm_writev
596349	UNIMPL	kcmp
597350	UNIMPL	finit_module
598