xref: /netbsd-src/sys/rump/kern/lib/libsys_linux/syscalls.master (revision 6ef574d8cc88684f531330db257ebc792ceb8f2c)
1	$NetBSD: syscalls.master,v 1.16 2014/05/29 10:41:48 njoly Exp $
2
3;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
4
5; NetBSD 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 NODEF, UNIMPL, or NOARGS
11;
12; types:
13;	NODEF	always included
14;	UNIMPL	unimplemented, not included in system
15;	NODEF	included, but don't define the syscall number
16;	NOARGS	included, but don't define the syscall args structure
17;
18; arguments:
19;	PAD	argument not part of the C interface, used only for padding
20;
21;
22; The purpose of this syscalls.master is to map to the Linux types which
23; are marshalled into the arg structure by the clientside rump_syscalls.c
24; code in librumpclient.
25;
26
27#include <sys/param.h>
28#include <sys/systm.h>
29#include <sys/signal.h>
30#include <sys/socket.h>
31#include <sys/mount.h>
32#include <sys/sched.h>
33#include <sys/syscallargs.h>
34
35#include <compat/linux/common/linux_types.h>
36#include <compat/linux/common/linux_signal.h>
37#include <compat/linux/linux_syscallargs.h>
38#include <compat/linux/linux_syscall.h>
39
40#ifdef LINUX_SYS_socketcall
41#include <compat/linux/common/linux_socketcall.h>
42#endif
43
44#include "rump_linux_syscallargs.h"
45
46%%
47
480	NOARGS		{ int|linux_sys||nosys(void); }
491	UNIMPL 		exit
502	UNIMPL 		fork
513	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
524	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
53			    size_t nbyte); }
545	NOARGS		{ int|linux_sys||open(const char *path, \
55			    int flags, int mode); }
566	NOARGS	 	{ int|sys||close(int fd); }
577	UNIMPL		wait4
588	UNIMPL		creat
599	NOARGS 		{ int|sys||link(const char *path, const char *link); }
6010	NOARGS 	 	{ int|linux_sys||unlink(const char *path); }
6111	UNIMPL		execv
6212	NOARGS 	 	{ int|sys||chdir(const char *path); }
6313	NOARGS 	 	{ int|sys||fchdir(int fd); }
6414	UNIMPL		mknod
6515	NOARGS 	 	{ int|sys||chmod(const char *path, mode_t mode); }
6616	NOARGS 	 	{ int|sys||__posix_chown(const char *path, uid_t uid, \
67			    gid_t gid); }
6817	UNIMPL		obreak
6918	UNIMPL		getfsstat
7019	UNIMPL		lseek
7120	NOARGS 		{ pid_t|sys||getpid_with_ppid(void); } getpid
7221	UNIMPL		mount
7322	UNIMPL		unmount
7423	NOARGS		{ int|sys||setuid(uid_t uid); }
7524	NOARGS		{ uid_t|sys||getuid_with_euid(void); } getuid
7625	NOARGS		{ uid_t|sys||geteuid(void); }
7726	UNIMPL 		ptrace
7827	NOARGS 		{ ssize_t|linux_sys||recvmsg(int s, \
79			    struct linux_msghdr *msg, int flags); }
8028	NOARGS 		{ ssize_t|linux_sys||sendmsg(int s, \
81			    const struct linux_msghdr *msg, int flags); }
8229	NOARGS 		{ ssize_t|linux_sys||recvfrom(int s, void *buf, \
83			    int len, int flags, struct osockaddr *from, \
84			    int *fromlenaddr); }
8530	NOARGS		{ int|linux_sys||accept(int s, struct osockaddr *name, \
86			    int *anamelen); }
8731	NOARGS		{ int|linux_sys||getpeername(int fdes, \
88			    struct osockaddr *asa, int *alen); }
8932	NOARGS		{ int|linux_sys||getsockname(int fdes, \
90			    struct osockaddr *asa, int *alen); }
9133	NOARGS 		{ int|sys||access(const char *path, int flags); }
9234	UNIMPL		chflags
9335	UNIMPL		fchflags
9436	NOARGS		{ void|sys||sync(void); }
9537	UNIMPL 		kill
9638	UNIMPL		stat
9739	UNIMPL		getppid
9840	UNIMPL		lstat
9941	NOARGS 		{ int|sys||dup(int fd); }
100
101; we mimic the librumpclient calling convention, therefore no linux_sys_pipe
10242	NOARGS 		{ int|sys||pipe(void); }
103
10443	UNIMPL		getegid
10544	UNIMPL 		profil
10645	UNIMPL 		ktrace
10746	UNIMPL		sigaction
10847	NOARGS 		{ gid_t|sys||getgid_with_egid(void); } getgid
10948	UNIMPL		sigprocmask
11049	UNIMPL		__getlogin
11150	UNIMPL		__setlogin
11251	UNIMPL		acct
11352	UNIMPL  	sigpending
11453	UNIMPL  	sigaltstack
11554	NOARGS		{ int|linux_sys||ioctl(int fd, \
116			    u_long com, void *data); }
11755	UNIMPL		reboot
11856	UNIMPL		revoke
11957	NOARGS 	 	{ int|sys||symlink(const char *path, \
120			    const char *link); }
12158	NOARGS 	 	{ ssize_t|sys||readlink(const char *path, char *buf, \
122			    int count); }
12359	UNIMPL 		execve
12460	NOARGS 	 	{ mode_t|sys||umask(mode_t newmask); }
12561	NOARGS 	 	{ int|sys||chroot(const char *path); }
12662	UNIMPL		fstat43
12763	UNIMPL		getkerninfo
12864	UNIMPL		getpagesize
12965	UNIMPL		msync
13066	UNIMPL 		vfork
13167	UNIMPL		vread
13268	UNIMPL		vwrite
13369	UNIMPL 		sbrk
13470	UNIMPL 		sstk
13571	UNIMPL  	mmap
13672	UNIMPL 		ovadvise
13773	UNIMPL 		munmap
13874	UNIMPL 		mprotect
13975	UNIMPL 		madvise
14076	UNIMPL		vhangup
14177	UNIMPL		vlimit
14278	UNIMPL 		mincore
14379	NOARGS 		{ int|sys||getgroups(int gidsetsize, \
144			    int *gidset); }
14580	NOARGS 		{ int|sys||setgroups(int gidsetsize, \
146			    const int *gidset); }
14781	NOARGS 		{ int|sys||getpgrp(void); }
14882	NOARGS 		{ int|sys||setpgid(int pid, int pgid); }
14983	UNIMPL		setitimer
15084	UNIMPL		wait
15185	UNIMPL		swapon
15286	UNIMPL		getitimer
15387	UNIMPL		gethostname
15488	UNIMPL		sethostname
15589	UNIMPL		getdtablesize
15690	NOARGS 	 	{ int|sys||dup2(int from, int to); }
15791	UNIMPL		getdopt
15892	NOARGS		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
15993	UNIMPL		select
16094	UNIMPL		setdopt
16195	NOARGS		{ int|sys||fsync(int fd); }
16296	UNIMPL		setpriority
16397	UNIMPL		socket
16498	NOARGS		{ int|linux_sys||connect(int s, \
165			    const struct osockaddr *name, \
166			    unsigned int namelen); }
16799	UNIMPL		accept
168100	UNIMPL 		getpriority
169
170101	UNIMPL		send
171102	UNIMPL		recv
172
173103	UNIMPL		sigreturn
174104	NOARGS		{ int|linux_sys||bind(int s, \
175			    const struct osockaddr *name, unsigned namelen); }
176105	NOARGS		{ int|linux_sys||setsockopt(int s, int level, \
177			    int name, const void *val, int optlen); }
178106	NOARGS		{ int|sys||listen(int s, int backlog); }
179107	UNIMPL		vtimes
180108	UNIMPL		sigvec
181109	UNIMPL		sigblock
182110	UNIMPL		sigsetmask
183111	UNIMPL		sigsuspend
184112	UNIMPL		sigstack
185113	UNIMPL		orecvmsg
186114	UNIMPL		osendmsg
187115	UNIMPL		vtrace
188116	UNIMPL		gettimeofday
189117	UNIMPL 		getrusage
190118	NOARGS		{ int|linux_sys||getsockopt(int s, int level, \
191			    int name, void *val, int *avalsize); }
192119	UNIMPL		resuba
193120	NOARGS 		{ ssize_t|sys||readv(int fd, \
194			    const struct iovec *iovp, int iovcnt); }
195121	NOARGS 		{ ssize_t|sys||writev(int fd, \
196			    const struct iovec *iovp, int iovcnt); }
197122	UNIMPL		settimeofday
198123	NOARGS 	 	{ int|sys||__posix_fchown(int fd, int uid, int gid); }
199124	NOARGS 	 	{ int|sys||fchmod(int fd, mode_t mode); }
200125	UNIMPL		orecvfrom
201126	NOARGS 		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
202127	NOARGS 		{ int|sys||setregid(gid_t rgid, gid_t egid); }
203128	NOARGS 	 	{ int|sys||__posix_rename(const char *from, \
204			    const char *to); }
205129	UNIMPL		otruncate
206130	UNIMPL		oftruncate
207131	NOARGS 	 	{ int|sys||flock(int fd, int how); }
208132	UNIMPL 	 	mkfifo
209133	NOARGS 	 	{ int|linux_sys||sendto(int s, void *buf, \
210			    int len, int flags, const struct osockaddr *to, \
211			    int tolen); }
212134	NOARGS	 	{ int|sys||shutdown(int s, int how); }
213135	NOARGS	 	{ int|linux_sys||socketpair(int domain, int type, \
214			    int protocol, int *rsv); }
215136	NOARGS 	 	{ int|sys||mkdir(const char *path, mode_t mode); }
216137	NOARGS 	 	{ int|sys||rmdir(const char *path); }
217138	UNIMPL		utimes
218
219139	UNIMPL		4.2 sigreturn
220140	UNIMPL		adjtime
221141	UNIMPL		ogetpeername
222142	UNIMPL		ogethostid
223143	UNIMPL		osethostid
224144	UNIMPL		ogetrlimit
225145	UNIMPL		osetrlimit
226146	UNIMPL		okillpg
227147	NOARGS 		{ int|sys||setsid(void); }
228148	UNIMPL		quotactl
229149	UNIMPL		oquota
230150	UNIMPL		ogetsockname
231
232; Syscalls 151-180 inclusive are reserved for vendor-specific
233; system calls.  (This includes various calls added for compatibity
234; with other Unix variants.)
235; Some of these calls are now supported by BSD...
236151	UNIMPL
237152	UNIMPL
238153	UNIMPL
239154	UNIMPL
240155	UNIMPL		nfssvc
241156	UNIMPL		ogetdirentries
242157	UNIMPL		statfs12
243158	UNIMPL		fstatfs12
244159	UNIMPL
245160	UNIMPL
246161	UNIMPL		getfh30
247162	UNIMPL		ogetdomainname
248163	UNIMPL		osetdomainname
249164	UNIMPL		ouname
250165	UNIMPL 		sysarch
251166	UNIMPL
252167	UNIMPL
253168	UNIMPL
254169	UNIMPL		1.0 semsys
255170	UNIMPL		1.0 msgsys
256171	UNIMPL		1.0 shmsys
257172	UNIMPL
258173	NOARGS 	 	{ ssize_t|sys||pread(int fd, char *buf, \
259			    size_t nbyte, int PAD, off_t offset); }
260174	NOARGS 	 	{ ssize_t|sys||pwrite(int fd, char *buf, \
261			    size_t nbyte, int PAD, off_t offset); }
262175	UNIMPL		ntp_gettime
263176	UNIMPL		ntp_adjtime
264177	UNIMPL
265178	UNIMPL
266179	UNIMPL
267180	UNIMPL
268
269; Syscalls 180-199 are used by/reserved for BSD
270181	NOARGS 		{ int|sys||setgid(gid_t gid); }
271182	NOARGS 		{ int|sys||setegid(gid_t egid); }
272183	NOARGS 		{ int|sys||seteuid(uid_t euid); }
273184	UNIMPL		lfs_bmapv
274185	UNIMPL		lfs_markv
275186	UNIMPL		lfs_segclean
276187	UNIMPL		lfs_segwait
277188	UNIMPL		stat12
278189	UNIMPL		fstat12
279190	UNIMPL		lstat12
280191	UNIMPL 		pathconf
281192	UNIMPL 		fpathconf
282193	UNIMPL
283194	NOARGS 		{ int|linux_sys||getrlimit(int which, \
284			    struct orlimit *rlp); }
285195	NOARGS 		{ int|linux_sys||setrlimit(int which, \
286			    const struct orlimit *rlp); }
287196	UNIMPL		getdirentries
288197	UNIMPL		mmap
289198	UNIMPL		__syscall
290199	NOARGS 	 	{ off_t|sys||lseek(int fd, int PAD, off_t offset, \
291			    int whence); }
292200	NOARGS 	 	{ int|sys||truncate(const char *path, int PAD, \
293			    off_t length); }
294201	NOARGS 	 	{ int|sys||ftruncate(int fd, int PAD, off_t length); }
295202	UNIMPL		__sysctl
296203	UNIMPL		mlock
297204	UNIMPL		munlock
298205	UNIMPL		undelete
299206	UNIMPL		futimes
300207	NOARGS 	 	{ pid_t|sys||getpgid(pid_t pid); }
301208	UNIMPL	 	reboot
302209	NOARGS 	 	{ int|sys||poll(struct pollfd *fds, u_int nfds, \
303			    int timeout); }
304;
305; Syscalls 210-219 are reserved for dynamically loaded syscalls
306;
307210	UNIMPL	 	afssys
308211	UNIMPL
309212	UNIMPL
310213	UNIMPL
311214	UNIMPL
312215	UNIMPL
313216	UNIMPL
314217	UNIMPL
315218	UNIMPL
316219	UNIMPL
317220	UNIMPL		compat_14_semctl
318221	UNIMPL		semget
319222	UNIMPL		semop
320223	UNIMPL		semconfig
321224	UNIMPL 		compat_14_msgctl
322225	UNIMPL 		msgget
323226	UNIMPL 		msgsnd
324227	UNIMPL 		msgrcv
325228	UNIMPL		shmat
326229	UNIMPL		compat_14_shmctl
327230	UNIMPL		shmdt
328231	UNIMPL		shmget
329
330232	UNIMPL		clock_gettime
331233	UNIMPL		clock_settime
332234	UNIMPL		clock_getres
333235	UNIMPL		timer_create
334236	UNIMPL		timer_delete
335237	UNIMPL		timer_settime
336238	UNIMPL		timer_gettime
337239	UNIMPL		timer_getoverrun
338;
339; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
340;
341240	UNIMPL		nanosleep
342241	NOARGS 	 	{ int|linux_sys||fdatasync(int fd); }
343242	UNIMPL		mlockall
344243	UNIMPL		munlockall
345244	UNIMPL		__sigtimedwait
346245	UNIMPL		sigqueueinfo
347246	UNIMPL		modctl
348247	UNIMPL		_ksem_init
349248	UNIMPL		_ksem_open
350249	UNIMPL		_ksem_unlink
351250	UNIMPL		_ksem_close
352251	UNIMPL		_ksem_post
353252	UNIMPL		_ksem_wait
354253	UNIMPL		_ksem_trywait
355254	UNIMPL		_ksem_getvalue
356255	UNIMPL		_ksem_destroy
357256	UNIMPL		_ksem_timedwait
358
359257	UNIMPL		mq_open
360258	UNIMPL		mq_close
361259	UNIMPL		mq_unlink
362260	UNIMPL		mq_getattr
363261	UNIMPL		mq_setattr
364262	UNIMPL		mq_notify
365263	UNIMPL		mq_send
366264	UNIMPL		mq_receive
367265	UNIMPL		mq_timedsend
368266	UNIMPL		mq_timedreceive
369267	UNIMPL
370268	UNIMPL
371269	UNIMPL
372270	UNIMPL		__posix_rename
373271	UNIMPL		swapctl
374272	UNIMPL		getdents
375273	UNIMPL		minherit
376274	UNIMPL 	 	lchmod
377275	NOARGS 	 	{ int|sys||__posix_lchown(const char *path, uid_t uid, \
378			    gid_t gid); }
379276	UNIMPL		lutimes
380277	UNIMPL		msync
381278	UNIMPL		stat
382279	UNIMPL		fstat
383280	UNIMPL		lstat
384281	UNIMPL		sigaltstack
385282	UNIMPL		vfork
386283	UNIMPL		__posix_chown
387284	UNIMPL		__posix_fchown
388285	UNIMPL		__posix_lchown
389286	NOARGS 		{ pid_t|sys||getsid(pid_t pid); }
390
391287	UNIMPL		__clone
392288	UNIMPL		fktrace
393289	UNIMPL 		{ ssize_t|sys||preadv(int fd, \
394			    const struct iovec *iovp, int iovcnt, \
395			    int PAD, off_t offset); }
396290	UNIMPL 		{ ssize_t|sys||pwritev(int fd, \
397			    const struct iovec *iovp, int iovcnt, \
398			    int PAD, off_t offset); }
399291	UNIMPL		sigaction
400292	UNIMPL		sigpending
401293	UNIMPL		sigprocmask
402294	UNIMPL		sigsuspend
403295	UNIMPL		sigreturn
404296	NOARGS 	 	{ int|sys||__getcwd(char *bufp, size_t length); }
405297	NOARGS 	 	{ int|sys||fchroot(int fd); }
406298	UNIMPL		fhopen
407299	UNIMPL		fhstat
408300	UNIMPL		fhstatfs
409301	UNIMPL		____semctl13
410302	UNIMPL		__msgctl13
411303	UNIMPL		__shmctl13
412304	UNIMPL 	 	lchflags
413305	UNIMPL		issetugid
414306	UNIMPL		utrace
415307	UNIMPL		getcontext
416308	UNIMPL		setcontext
417309	UNIMPL		_lwp_create
418310	UNIMPL		_lwp_exit
419311	UNIMPL		_lwp_self
420312	UNIMPL		_lwp_wait
421313	UNIMPL		_lwp_suspend
422314	UNIMPL		_lwp_continue
423315	UNIMPL		_lwp_wakeup
424316	UNIMPL		_lwp_getprivate
425317	UNIMPL		_lwp_setprivate
426318	UNIMPL		_lwp_kill
427319	UNIMPL		_lwp_detach
428320	UNIMPL		_lwp_park
429321	UNIMPL		_lwp_unpark
430322	UNIMPL		_lwp_unpark_all
431323	UNIMPL		_lwp_setname
432324	UNIMPL		_lwp_getname
433325	UNIMPL		_lwp_ctl
434
435; Syscalls 326-339 reserved for LWP syscalls.
436326	UNIMPL
437327	UNIMPL
438328	UNIMPL
439329	UNIMPL
440; SA system calls.
441330	UNIMPL		sa_register
442331	UNIMPL		sa_stacks
443332	UNIMPL		sa_enable
444333	UNIMPL		sa_setconcurrency
445334	UNIMPL		sa_yield
446335	UNIMPL		sa_preempt
447336	UNIMPL 		sys_sa_unblockyield
448;
449; Syscalls 337-339 are reserved for other scheduler activation syscalls.
450;
451337	UNIMPL
452338	UNIMPL
453339	UNIMPL
454
455340	UNIMPL		__sigaction_sigtramp
456341	UNIMPL		pmc_get_info
457342	UNIMPL		pmc_control
458343	UNIMPL		rasctl
459344	UNIMPL		kqueue
460345	UNIMPL		kevent
461
462; Scheduling system calls.
463346	UNIMPL		_sched_setparam
464347	UNIMPL		_sched_getparam
465348	UNIMPL		_sched_setaffinity
466349	UNIMPL		_sched_getaffinity
467350	UNIMPL		sched_yield
468351	UNIMPL
469352	UNIMPL
470353	UNIMPL
471
472354	UNIMPL		fsync_range
473355	UNIMPL		uuidgen
474356	UNIMPL		getvfsstat
475357	UNIMPL		statvfs1
476358	UNIMPL		fstatvfs1
477359	UNIMPL		fhstatvfs1
478360	UNIMPL		extattrctl
479361	UNIMPL		extattr_set_file
480362	UNIMPL		extattr_get_file
481363	UNIMPL		extattr_delete_file
482364	UNIMPL		extattr_set_fd
483365	UNIMPL		extattr_get_fd
484366	UNIMPL		extattr_delete_fd
485367	UNIMPL		extattr_set_link
486368	UNIMPL		extattr_get_link
487369	UNIMPL		extattr_delete_link
488370	UNIMPL		extattr_list_fd
489371	UNIMPL		extattr_list_file
490372	UNIMPL		extattr_list_link
491373	UNIMPL		pselect
492374	UNIMPL		pollts
493375	UNIMPL		setxattr
494376	UNIMPL		lsetxattr
495377	UNIMPL		fsetxattr
496378	UNIMPL		getxattr
497379	UNIMPL		lgetxattr
498380	UNIMPL		fgetxattr
499381	UNIMPL		listxattr
500382	UNIMPL		llistxattr
501383	UNIMPL		flistxattr
502384	UNIMPL		removexattr
503385	UNIMPL		lremovexattr
504386	UNIMPL		fremovexattr
505387	UNIMPL		stat30
506388	UNIMPL		fstat30
507389	UNIMPL		lstat30
508390	NOARGS		{ int|linux_sys||getdents64(int fd, \
509			    struct linux_dirent64 *dent, unsigned int count); }
510391	UNIMPL		old posix_fadvise
511392	UNIMPL		fhstat
512393	UNIMPL		ntp_gettime
513394	NOARGS	 	{ int|linux_sys||socket(int domain, \
514			    int type, int protocol); }
515395	UNIMPL		getfh
516396	UNIMPL		fhopen
517397	UNIMPL		fhstatvfs1
518398	UNIMPL		fhstat
519
520; Asynchronous I/O system calls
521399	UNIMPL		aio_cancel
522400	UNIMPL		aio_error
523401	UNIMPL		aio_fsync
524402	UNIMPL		aio_read
525403	UNIMPL		aio_return
526404	UNIMPL		aio_suspend
527405	UNIMPL		aio_write
528406	UNIMPL		lio_listio
529
530407	UNIMPL
531408	UNIMPL
532409	UNIMPL
533
534410	UNIMPL		mount
535411	UNIMPL		mremap
536
537; Processor-sets system calls
538412	UNIMPL		pset_create
539413	UNIMPL		pset_destroy
540414	UNIMPL		pset_assign
541415	UNIMPL		_pset_bind
542416	UNIMPL		fadvise
543417	NOARGS  	{ int|linux_sys||select(int nd, \
544			    fd_set *in, fd_set *ou, fd_set *ex, \
545			    struct timeval50 *tv); }
546418	NOARGS		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
547			    struct timezone *tzp); }
548419	NOARGS		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
549			    struct timezone *tzp); }
550420	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
551			    const struct timveval50 *tptr); }
552421	UNIMPL		adjtime
553422	UNIMPL		lfs_segwait
554423	NOARGS		{ int|sys|50|futimes(int fd, \
555			    const struct timeval *tptr); }
556424	NOARGS		{ int|sys|50|lutimes(const char *path, \
557			    const struct timeval *tptr); }
558425	UNIMPL		setitimer
559426	UNIMPL		getitimer
560427	NOARGS		{ int|linux_sys||clock_gettime(clockid_t which, \
561			    struct linux_timespec *tp); }
562428	NOARGS		{ int|linux_sys||clock_settime(clockid_t which, \
563			    struct linux_timespec *tp); }
564429	NOARGS		{ int|linux_sys||clock_getres(clockid_t which, \
565			    struct linux_timespec *tp); }
566430	NOARGS		{ int|linux_sys||nanosleep( \
567			   const struct linux_timespec *rqtp, \
568			   struct linux_timespec *rmtp); }
569431	UNIMPL		__sigtimedwait
570432	UNIMPL		mq_timedsend
571433	UNIMPL		mq_timedreceive
572434	UNIMPL		_lwp_park
573435	UNIMPL		kevent
574436	UNIMPL		pselect
575437	NOARGS		{ int|linux_sys||ppoll(struct pollfd *fds, \
576			    u_int nfds, const struct linux_timespec *timeout, \
577			    const linux_sigset_t *mask);}
578438	UNIMPL		aio_suspend
579439	NOARGS  		{ int|linux_sys||stat64(const char *path, \
580			    struct linux_stat64 *sp); }
581440	NOARGS  		{ int|linux_sys||fstat64(int fd, \
582			    struct linux_stat64 *sp); }
583441	NOARGS  		{ int|linux_sys||lstat64(const char *path, \
584			    struct linux_stat64 *sp); }
585442	UNIMPL		__semctl
586443	UNIMPL		shmctl
587444	UNIMPL		msgctl
588445	UNIMPL		getrusage
589446	UNIMPL		timer_settime
590447	UNIMPL		timer_gettime
591448	UNIMPL		ntp_gettime
592449	UNIMPL		wait4
593450	NOARGS  		{ int|linux_sys||mknod(const char *path, mode_t mode, \
594			    int dev); }
595451	UNIMPL		fhstat
596
597; 452 only ever appeared in 5.99.x and can be reused after netbsd-7
598452	UNIMPL		5.99 quotactl
599453	NOARGS		{ int|linux_sys||pipe2(int *pfds, int flags); }
600454	NOARGS		{ int|linux_sys||dup3(int from, int to, int flags); }
601455	UNIMPL		kqueue1
602456	UNIMPL		paccept
603457	NOARGS		{ int|linux_sys||linkat(int fd1, const char *name1, \
604			    int fd2, const char *name2, int flags); }
605458	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
606			    int tofd, const char *to); }
607459	UNIMPL		mkfifoat
608460	STD		{ int|rump_linux_sys||mknodat(int fd, const char *path, \
609			    mode_t mode, int PAD, unsigned dev); }
610461	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
611			    mode_t mode); }
612462	NOARGS		{ int|linux_sys||faccessat(int fd, const char *path, \
613			    int amode); }
614463	NOARGS		{ int|linux_sys||fchmodat(int fd, const char *path, \
615			    mode_t mode); }
616464	NOARGS		{ int|linux_sys||fchownat(int fd, const char *path, \
617			    uid_t owner, gid_t group, int flag); }
618465	UNIMPL		fexecve
619466	NOARGS		{ int|linux_sys||fstatat64(int fd, const char *path, \
620			   struct linux_stat *sp, int flag); }
621467	NOARGS		{ int|linux_sys||utimensat(int fd, const char *path, \
622			    struct linux_timespec *times, int flag); }
623468	NOARGS		{ int|linux_sys||openat(int fd, const char *path, \
624			    int flags, ... mode_t mode); }
625469	NOARGS		{ int|sys||readlinkat(int fd, const char *path, \
626			    char *buf, size_t bufsize); }
627470	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
628			    const char *path2); }
629471	NOARGS		{ int|linux_sys||unlinkat(int fd, const char *path, \
630			    int flag); }
631472	UNIMPL		futimens
632473	UNIMPL		__quotactl
633474	UNIMPL		posix_spawn
634475	UNIMPL		recvmmsg
635476	UNIMPL		sendmmsg
636477	NOARGS		{ int|linux_sys||clock_nanosleep(clockid_t which, \
637			    int flags, struct linux_timespec *rqtp, \
638			    struct linux_timespec *rmtp); }
639