xref: /netbsd-src/sys/compat/linux/arch/alpha/syscalls.master (revision 782713e6c126f1866c6d9cfdee4ceb49483b5828)
1	$NetBSD: syscalls.master,v 1.102 2021/12/02 04:29:47 ryo Exp $
2;
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; NetBSD alpha 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; (ERH: 3/18/00)
37;
38; XXX XAX things to do:
39;		make sure non-linux_foo() matches real linux syscalls.
40;			create new linux_foo functions otherwise
41;			(i.e. reboot, msgrcv? )
42;		make sure linux_foo() matches expected prototypes in .c files.
43;		kill not used functions.  (ifdef the actual code)
44;		make linux_sys_sigreturn in linux_machdep.c use frame.extramask
45;
46; NOT USED = This syscall is not really used in Linux, except in its
47;		osf compat mode.  Since Linux binaries shouldn't ever
48;		call it and osf binaries run under a different emulation,
49;		it shouldn't matter that the linux version of the
50;		function might not DTRT.  Define it anyway so we
51;		don't have to split off or ifdef the associated function.
52; 		    A bit better might be to have makesyscalls identify this
53; 		as "define but don't include in table" so it doesn't actually
54; 		ever get called.
55; UNIMPL <blank> = not implemented here nor in linux source
56; UNIMPL osf_*   = osf functions implemented in linux, not here.
57;
58
59#if defined(_KERNEL_OPT)
60#include "opt_sysv.h"
61#endif
62
63#include <sys/param.h>
64#include <sys/poll.h>
65#include <sys/systm.h>
66#include <sys/signal.h>
67#include <sys/mount.h>
68#include <sys/syscallargs.h>
69
70#include <compat/linux/common/linux_types.h>
71#include <compat/linux/common/linux_signal.h>
72#include <compat/linux/common/linux_siginfo.h>
73#include <compat/linux/common/linux_ipc.h>
74#include <compat/linux/common/linux_msg.h>
75#include <compat/linux/common/linux_sem.h>
76#include <compat/linux/common/linux_shm.h>
77#include <compat/linux/common/linux_mmap.h>
78;#include <compat/linux/common/linux_machdep.h>
79
80#include <compat/linux/linux_syscallargs.h>
81#include <compat/linux/arch/alpha/linux_osf1.h>
82
83%%
84
850	NOARGS		{ int|linux_sys||nosys(void); } syscall
861	STD		{ int|linux_sys||exit(int rval); }
872	NOARGS		{ int|sys||fork(void); }
883	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
894	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
90			    size_t nbyte); }
915	UNIMPL
926	NOARGS		{ int|sys||close(int fd); }
937	STD		{ int|linux_sys||osf1_wait4(int pid, int *status, \
94			    int options, struct osf1_rusage *rusage); }
95;8	ALIAS		osf1_sys_old_creat, NOT USED
968	STD		{ int|linux_sys||creat(const char *path, linux_umode_t mode); }
979	NOARGS		{ int|sys||link(const char *path, const char *link); }
9810	STD		{ int|linux_sys||unlink(const char *path); }
9911	UNIMPL
10012	NOARGS		{ int|sys||chdir(const char *path); }
10113	NOARGS		{ int|sys||fchdir(int fd); }
10214	STD		{ int|linux_sys||mknod(const char *path, linux_umode_t mode, \
103			    unsigned dev); }
10415	NOARGS		{ int|sys||chmod(const char *path, int mode); }
10516	NOARGS		{ int|sys||__posix_chown(const char *path, uid_t uid, \
106			    gid_t gid); }
107;17	ALIAS		osf1_sys_brk
10817	STD		{ int|linux_sys||brk(char *nsize); }
10918	UNIMPL
11019	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
111			    int whence); }
11220	NOARGS		{ pid_t|sys||getpid_with_ppid(void); }
11321	STD		{ int|linux_sys||osf1_mount(int type, const char *path, \
114			    int flags, void *data); }
11522	UNIMPL		umount
11623	NOARGS		{ int|sys||setuid(uid_t uid); }
11724	NOARGS		{ uid_t|sys||getuid_with_euid(void); }
11825	UNIMPL
11926	STD		{ int|linux_sys||ptrace(long request, long pid, \
120			  long addr, long data); }
12127	UNIMPL
12228	UNIMPL
12329	UNIMPL
12430	UNIMPL
12531	UNIMPL
12632	UNIMPL
12733	NOARGS		{ int|sys||access(const char *path, int flags); }
12834	UNIMPL
12935	UNIMPL
13036	NOARGS		{ int|sys||sync(void); }
13137	STD		{ int|linux_sys||kill(int pid, int signum); }
13238	UNIMPL
13339	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
13440	UNIMPL
13541	NOARGS		{ int|sys||dup(int fd); }
13642	NOARGS		{ int|linux_sys||pipe(void); }
13743	STD		{ int|linux_sys||osf1_set_program_attributes( \
138			    void *taddr, unsigned long tsize, \
139			    void *daddr, unsigned long dsize); }
14044	UNIMPL
14145	STD		{ int|linux_sys||open(const char *path, int flags, \
142			    linux_umode_t mode); }
14346	UNIMPL
14447	NOARGS		{ gid_t|sys||getgid_with_egid(void); }
145; ALIAS osf1_sys_sigprocmask(int how, unsigned long mask);
146; XXX <- copied from osf1/syscalls.master
14748	NOARGS		{ int|compat_13_sys||sigprocmask(int how, \
148			    sigset13_t mask); }
14949	UNIMPL
15050	UNIMPL
15151	NOARGS		{ int|sys||acct(const char *path); }
15252	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
15353	UNIMPL
15454	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
155			    void *data); }
15655	UNIMPL
15756	UNIMPL
15857	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
15958	NOARGS		{ ssize_t|sys||readlink(const char *path, char *buf, \
160			    int count); }
16159	NOARGS		{ int|sys||execve(const char *path, char **argp, \
162			    char **envp); }
16360	NOARGS		{ mode_t|sys||umask(mode_t newmask); }
16461	NOARGS		{ int|sys||chroot(const char *path); }
16562	UNIMPL
16663	NOARGS		{ int|sys||getpgrp(void); }
16764	NOARGS		{ int|compat_43_sys||getpagesize(void); }
16865	UNIMPL
16966	NOARGS		{ int|sys|14|vfork(void); }
17067	STD		{ int|linux_sys||stat(const char *path, \
171			    struct linux_stat *sp); }
17268	STD		{ int|linux_sys||lstat(const char *path, \
173			    struct linux_stat *sp); }
17469	UNIMPL
17570	UNIMPL
176;71	ALIAS		osf1_sys_mmap
17771	NOARGS		{ int|linux_sys||mmap(unsigned long addr, size_t len, \
178			    int prot, int flags, int fd, linux_off_t offset); }
17972	UNIMPL
18073	NOARGS		{ int|sys||munmap(void *addr, size_t len); }
18174	STD		{ int|linux_sys||mprotect(const void *start, \
182			    unsigned long len, int prot); }
18375	NOARGS		{ int|sys||madvise(void *addr, size_t len, int behav); }
18476	UNIMPL		vhangup
18577	UNIMPL
18678	UNIMPL
18779	NOARGS		{ int|sys||getgroups(int gidsetsize, gid_t *gidset); }
18880	NOARGS		{ int|sys||setgroups(int gidsetsize, const gid_t *gidset); }
18981	UNIMPL
19082	UNIMPL		setpgrp
19183	STD		{ int|linux_sys||osf1_setitimer(int which, \
192			    struct osf1_itimerval *itv, \
193			    struct osf1_itimerval *oitv); }
19484	UNIMPL
19585	UNIMPL
19686	UNIMPL		osf1_sys_getitimer
19787	NOARGS		{ int|compat_43_sys||gethostname(char *hostname, \
198			    u_int len); }
19988	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
200			    u_int len); }
20189	UNIMPL		getdtablesize
20290	NOARGS		{ int|sys||dup2(int from, int to); }
20391	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
20492	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
20593	STD		{ int|linux_sys||osf1_select(u_int nd, fd_set *in, \
206			    fd_set *ou, fd_set *ex, struct osf1_timeval *tv); }
20794	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
208			    int timeout); }
20995	NOARGS		{ int|sys||fsync(int fd); }
21096	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
21197	STD		{ int|linux_sys||socket(int domain, int type, \
212			    int protocol); }
21398	STD		{ int|linux_sys||connect(int s, \
214			    const struct osockaddr *name, \
215			    unsigned int namelen); }
21699	STD		{ int|linux_sys||accept(int s, \
217				struct osockaddr *name, int *anamelen); }
218;100	ALIAS		osf1_sys_getpriority
219100	STD		{ int|linux_sys||getpriority(int which, int who); }
220101	STD		{ int|linux_sys||send(int s, void *buf, int len, \
221				int flags); }
222102	STD		{ int|linux_sys||recv(int s, void *buf, int len, \
223				int flags); }
224103	STD		{ int|linux_sys||sigreturn(struct linux_sigframe *sfp); }
225104	STD		{ int|linux_sys||bind(int s,	     \
226				const struct osockaddr *name, \
227				unsigned int namelen); }
228105	STD		{ int|linux_sys||setsockopt(int s, int level, \
229				int optname, void *optval, int optlen); }
230106	NOARGS		{ int|sys||listen(int s, int backlog); }
231107	UNIMPL
232108	UNIMPL
233109	UNIMPL
234110	UNIMPL
235
236111	STD		{ int|linux_sys||sigsuspend(void *restart, \
237			    int oldmask, int mask); }
238;112	ALIAS		osf1_sys_sigstack
239112	NOARGS		{ int|compat_43_sys||sigstack(struct sigstack *nss, \
240			    struct sigstack *oss); }
241113	STD		{ ssize_t|linux_sys||recvmsg(int s, \
242			    struct linux_msghdr *msg, int flags); }
243114	STD		{ ssize_t|linux_sys||sendmsg(int s, \
244				const struct linux_msghdr *msg, int flags); }
245115	UNIMPL
246116	STD		{ int|linux_sys||osf1_gettimeofday(struct osf1_timeval *tv, \
247			    struct osf1_timezone *tzp); }
248117	STD		{ int|linux_sys||osf1_getrusage(int who, \
249			    struct osf1_rusage *rusage); }
250118	STD		{ int|linux_sys||getsockopt(int s, int level, \
251				int optname, void *optval, int *optlen); }
252119	UNIMPL
253120	NOARGS		{ ssize_t|sys||readv(int fd, const struct iovec *iovp, \
254				int iovcnt); }
255121	NOARGS		{ ssize_t|sys||writev(int fd, const struct iovec *iovp, \
256				int iovcnt); }
257122	STD		{ int|linux_sys||osf1_settimeofday(struct osf1_timeval *tv, \
258			    struct osf1_timezone *tzp); }
259123	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
260			    gid_t gid); }
261124	NOARGS		{ int|sys||fchmod(int fd, linux_umode_t mode); }
262125	STD		{ int|linux_sys||recvfrom(int s, void *buf, int len, \
263				int flags, struct osockaddr *from, \
264				int *fromlenaddr); }
265126	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
266127	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
267128	NOARGS		{ int|sys||__posix_rename(const char *from, const char *to); }
268129	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
269				long length); }
270130	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
271131	NOARGS		{ int|sys||flock(int fd, int how); }
272132	NOARGS		{ int|sys||setgid(gid_t gid); }
273133	STD		{ int|linux_sys||sendto(int s, void *msg, int len, \
274				int flags, struct osockaddr *to, int tolen); }
275134	NOARGS		{ int|sys||shutdown(int s, int how); }
276135	STD		{ int|linux_sys||socketpair(int domain, int type, \
277				int protocol, int *rsv); }
278136	NOARGS		{ int|sys||mkdir(const char *path, linux_umode_t mode); }
279137	NOARGS		{ int|sys||rmdir(const char *path); }
280138	STD		{ int|linux_sys||osf1_utimes(const char *path, \
281			    const struct osf1_timeval *tptr); }
282139	UNIMPL
283140	UNIMPL
284141	STD		{ int|linux_sys||getpeername(int fdes, \
285				void *asa, int *alen); }
286142	UNIMPL
287143	UNIMPL
288144	STD		{ int|linux_sys||getrlimit(int which, \
289			    struct orlimit *rlp); }
290145	STD		{ int|linux_sys||setrlimit(int which, \
291			    const struct orlimit *rlp); }
292146	UNIMPL
293147	NOARGS		{ int|sys||setsid(void); }
294148	UNIMPL		quotactl
295149	UNIMPL
296150	STD		{ int|linux_sys||getsockname(int fdec, \
297				void *asa, int *alen); }
298151	UNIMPL
299152	UNIMPL
300153	UNIMPL
301154	UNIMPL
302155	UNIMPL
303;156	ALIAS		osf1_sys_sigaction
304156	STD		{ int|linux_sys||sigaction(int signum, \
305				const struct linux_old_sigaction *nsa, \
306				struct linux_old_sigaction *osa); }
307157	UNIMPL
308158	UNIMPL
309;159	ALIAS		osf1_sys_getdirentries
310159	NOARGS		{ int|compat_43_sys||getdirentries(int fd, char *buf, \
311			    u_int count, long *basep); }
312160	STD		{ int|linux_sys||osf1_statfs(const char *path, \
313			    struct osf1_statfs *buf, int len); }
314161	STD		{ int|linux_sys||osf1_fstatfs(int fd, \
315			    struct osf1_statfs *buf, int len); }
316162	UNIMPL
317163	UNIMPL
318164	UNIMPL
319;165	ALIAS		osf1_sys_getdomainname
320165	NOARGS		{ int|compat_09_sys||getdomainname(char *domainname, \
321			    int len); }
322166	STD		{ int|linux_sys||setdomainname(char *domainname, \
323                            int len); }
324167	UNIMPL
325168	UNIMPL
326169	UNIMPL
327170	UNIMPL
328171	UNIMPL
329172	UNIMPL
330173	UNIMPL
331174	UNIMPL
332175	UNIMPL
333176	UNIMPL
334177	UNIMPL
335178	UNIMPL
336179	UNIMPL
337180	UNIMPL
338181	UNIMPL
339182	UNIMPL
340183	UNIMPL
341184	UNIMPL
342185	UNIMPL
343186	UNIMPL
344187	UNIMPL
345188	UNIMPL
346189	UNIMPL
347190	UNIMPL
348; XXX: Dunno
349191	STD		{ int|linux_sys||ugetrlimit(int which, \
350			    struct rlimit *rlp); }
351192	UNIMPL		mmap2
352193	UNIMPL
353194	UNIMPL
354195	UNIMPL
355196	UNIMPL
356197	UNIMPL
357198	UNIMPL
358199	UNIMPL		osf1_sys_swapon
359#ifdef SYSVMSG
360200	NOARGS		{ int|linux_sys||msgctl(int msqid, int cmd, \
361			    struct linux_msqid_ds *buf); }
362201	NOARGS		{ int|sys||msgget(key_t key, int msgflg); }
363202	NOARGS		{ ssize_t|sys||msgrcv(int msqid, void *msgp, \
364			    size_t msgsz, long msgtyp, int msgflg); }
365203	NOARGS		{ int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \
366			    int msgflg); }
367#else
368200	UNIMPL		msgctl
369201	UNIMPL		msgget
370202	UNIMPL		msgrcv
371203	UNIMPL		msgsnd
372#endif
373#ifdef SYSVSEM
374204	NOARGS		{ int|linux_sys||semctl(int semid, int semnum, \
375			    int cmd, union linux_semun arg); }
376205	NOARGS		{ int|sys||semget(key_t key, int nsems, int semflg); }
377206	NOARGS		{ int|sys||semop(int semid, struct sembuf *sops, \
378			    size_t nsops); }
379#else
380204	UNIMPL		semctl
381205	UNIMPL		semget
382206	UNIMPL		semop
383#endif
384;207	ALIAS		osf1_sys_utsname
385207	STD		{ int|linux_sys||olduname(struct linux_old_utsname *up); }
386208	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
387			    gid_t gid); }
388#ifdef SYSVSHM
389209	NOARGS		{ int|linux_sys||shmat(int shmid, void *shmaddr, \
390			    int shmflg, u_long *raddr); }
391210	NOARGS		{ int|linux_sys||shmctl(int shmid, int cmd, \
392			    struct linux_shmid_ds *buf); }
393211	NOARGS		{ int|sys||shmdt(const void *shmaddr); }
394212	NOARGS		{ int|linux_sys||shmget(key_t key, size_t size, int shmflg); }
395#else
396209	UNIMPL		shmat
397210	UNIMPL		shmctl
398211	UNIMPL		shmdt
399212	UNIMPL		shmget
400#endif
401213	UNIMPL
402214	UNIMPL
403215	UNIMPL
404216	UNIMPL
405217	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
406218	UNIMPL
407219	UNIMPL
408220	UNIMPL
409221	UNIMPL
410222	UNIMPL
411223	UNIMPL
412224	UNIMPL
413225	UNIMPL
414226	UNIMPL
415227	UNIMPL
416228	UNIMPL
417229	UNIMPL
418230	UNIMPL
419231	UNIMPL
420232	UNIMPL
421233	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
422234	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
423235	UNIMPL		sigaltstack
424236	UNIMPL
425237	UNIMPL
426238	UNIMPL
427239	UNIMPL
428240	UNIMPL
429241	STD		{ int|linux_sys||osf1_sysinfo(int cmd, char *buf, long len); }
430242	UNIMPL
431243	UNIMPL
432244	UNIMPL		osf1_sys_proplist_syscall
433245	UNIMPL
434246	UNIMPL
435247	UNIMPL
436248	UNIMPL
437249	UNIMPL
438250	UNIMPL
439251	STD		{ int|linux_sys||osf1_usleep_thread( \
440			    struct osf1_timeval *sleep, \
441			    struct osf1_timeval *slept); }
442252	UNIMPL
443253	UNIMPL
444254	UNIMPL
445255	UNIMPL		sysfs
446256	STD		{ int|linux_sys||osf1_getsysinfo(u_long op, void *buffer, \
447			    u_long nbytes, void *arg, u_long flag); }
448257	STD		{ int|linux_sys||osf1_setsysinfo(u_long op, void *buffer, \
449			    u_long nbytes, void *arg, u_long flag); }
450258	UNIMPL
451259	UNIMPL
452260	UNIMPL
453; This entry doesn't exist in the Alpha linux syscall table but the function is
454; implemented and used on other ports.
455261	STD		{ int|linux_sys||fdatasync(int fd); }
456262	UNIMPL
457263	UNIMPL
458264	UNIMPL
459265	UNIMPL
460266	UNIMPL
461267	UNIMPL
462268	UNIMPL
463269	UNIMPL
464270	UNIMPL
465271	UNIMPL
466272	UNIMPL
467273	UNIMPL
468274	UNIMPL
469275	UNIMPL
470276	UNIMPL
471277	UNIMPL
472278	UNIMPL
473279	UNIMPL
474280	UNIMPL
475281	UNIMPL
476282	UNIMPL
477283	UNIMPL
478284	UNIMPL
479285	UNIMPL
480286	UNIMPL
481287	UNIMPL
482288	UNIMPL
483289	UNIMPL
484290	UNIMPL
485291	UNIMPL
486292	UNIMPL
487293	UNIMPL
488294	UNIMPL
489295	UNIMPL
490296	UNIMPL
491297	UNIMPL
492298	UNIMPL
493299	UNIMPL
494300	UNIMPL		bdflush
495301	UNIMPL		sethae
496302	UNIMPL		mount
497303	UNIMPL		old_adjtimex
498304	STD		{ int|linux_sys||swapoff(const char *path); }
499305	STD		{ int|linux_sys||getdents(int fd, \
500			    struct linux_dirent *dent, unsigned int count); }
501306	UNIMPL		alpha_create_module
502307	UNIMPL		init_module
503308	UNIMPL		delete_module
504309	UNIMPL		get_kernel_syms
505310	UNIMPL		syslog
506311	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
507			    int cmd, void *arg); }
508312	STD		{ int|linux_sys||clone(int flags, void *stack, \
509			    void *parent_tidptr, void *child_tidptr, void *tls); }
510#ifdef EXEC_AOUT
511313	STD		{ int|linux_sys||uselib(const char *path); }
512#else
513313	UNIMPL		sys_uselib
514#endif
515314	NOARGS		{ int|sys||mlock(const void *addr, size_t len); }
516315	NOARGS		{ int|sys||munlock(const void *addr, size_t len); }
517316	NOARGS		{ int|sys||mlockall(int flags); }
518317	NOARGS		{ int|sys||munlockall(void); }
519318	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
520319	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
521320	UNIMPL		idle
522321	UNIMPL		oldumount
523322	STD		{ int|linux_sys||swapon(const char *name); }
524323	STD		{ int|linux_sys||times(struct times *tms); }
525324	STD		{ int|linux_sys||personality(unsigned long per); }
526325	STD		{ int|linux_sys||setfsuid(uid_t uid); }
527326	STD		{ int|linux_sys||setfsgid(gid_t gid); }
528327	UNIMPL		ustat
529328	STD		{ int|linux_sys||statfs(const char *path, \
530			    struct linux_statfs *sp); }
531329	STD		{ int|linux_sys||fstatfs(int fd, \
532			    struct linux_statfs *sp); }
533330	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
534			    const struct linux_sched_param *sp); }
535331	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
536			    struct linux_sched_param *sp); }
537332	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
538			    int policy, const struct linux_sched_param *sp); }
539333	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
540334	STD		{ int|linux_sys||sched_yield(void); }
541335	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
542336	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
543337	UNIMPL		sched_rr_get_interval
544338	UNIMPL		afs_syscall
545339	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
546340	STD		{ int|linux_sys||nanosleep( \
547			    const struct linux_timespec *rqtp, \
548			    struct linux_timespec *rmtp); }
549341	STD		{ void *|linux_sys||mremap(void *old_address, \
550			    size_t old_size, size_t new_size, u_long flags); }
551342	UNIMPL		nfsservctl
552343	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
553			    uid_t suid); }
554344	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
555			    uid_t *suid); }
556345	UNIMPL		pciconfig_read
557346	UNIMPL		pciconfig_write
558347	UNIMPL		query_module
559348	UNIMPL		prctl
560349	STD		{ int|linux_sys||pread(int fd, char *buf, \
561			    size_t nbyte, off_t offset); }
562350	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
563			    size_t nbyte, off_t offset); }
564351	STD		{ int|linux_sys||rt_sigreturn( \
565				struct linux_rt_sigframe *sfp); }
566352	STD		{ int|linux_sys||rt_sigaction(int signum, \
567				const struct linux_sigaction *nsa, \
568				struct linux_sigaction *osa, \
569				size_t sigsetsize); }
570353	STD		{ int|linux_sys||rt_sigprocmask(int how, \
571			    const linux_sigset_t *set, \
572			    linux_sigset_t *oset, \
573			    size_t sigsetsize); }
574354	STD		{ int|linux_sys||rt_sigpending( \
575			    linux_sigset_t *set, \
576			    size_t sigsetsize); }
577355	STD		{ int|linux_sys||rt_sigtimedwait( \
578			    const linux_sigset_t *set, \
579			    linux_siginfo_t *info, \
580			    const struct linux_timespec *timeout); }
581356	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
582			    linux_siginfo_t *uinfo); }
583357	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
584			    size_t sigsetsize); }
585358	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
586			    fd_set *writefds, fd_set *exceptfds, \
587			    struct timeval50 *timeout); }
588359	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
589			    struct timezone *tzp); }
590360	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
591			    struct timezone *tzp); }
592361	NOARGS		{ int|compat_50_sys||getitimer(int which, \
593			    struct itimerval50 *itv); }
594362	NOARGS		{ int|compat_50_sys||setitimer(int which, \
595			    const struct itimerval50 *itv, \
596			    struct itimerval50 *oitv); }
597363	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
598			    const struct timeval50 *tptr); }
599364	NOARGS		{ int|compat_50_sys||getrusage(int who, \
600			    struct rusage50 *rusage); }
601365	STD		{ int|linux_sys||wait4(int pid, int *status, \
602			    int options, struct rusage50 *rusage); }
603366	UNIMPL		adjtimex
604367	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
605368	UNIMPL		capget
606369	UNIMPL		capset
607370	UNIMPL		sendfile
608371	UNIMPL		setresgid
609372	UNIMPL		getresgid
610373	UNIMPL		sys_dipc
611374	UNIMPL		pivot_root
612375	NOARGS		{ int|sys||mincore(void *addr, size_t len, char *vec); }
613376	UNIMPL		pciconfig_iobase
614377	STD		{ int|linux_sys||getdents64(int fd, \
615			    struct linux_dirent64 *dent, unsigned int count); }
616378	NOARGS		{ pid_t|linux_sys||gettid(void); }
617379	UNIMPL		readahead
618380	UNIMPL		/* unused */
619381	STD		{ int|linux_sys||tkill(int tid, int sig); }
620382	STD		{ int|linux_sys||setxattr(char *path, char *name, \
621			    void *value, size_t size, int flags); }
622383	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
623			    void *value, size_t size, int flags); }
624384	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
625			    void *value, size_t size, int flags); }
626385	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
627			    void *value, size_t size); }
628386	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
629			    void *value, size_t size); }
630387	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
631			    void *value, size_t size); }
632388	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
633			    size_t size); }
634389	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
635			    size_t size); }
636390	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
637			    size_t size); }
638391	STD		{ int|linux_sys||removexattr(char *path, char *name); }
639392	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
640393	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
641394	STD		{ int|linux_sys||futex(int *uaddr, int op, int val, \
642			    const struct linux_timespec *timeout, int *uaddr2, \
643			    int val3); }
644395	STD		{ int|linux_sys||sched_setaffinity(pid_t pid, \
645			    unsigned int len, unsigned long *mask); }
646396	STD		{ int|linux_sys||sched_getaffinity(pid_t pid, \
647			    unsigned int len, unsigned long *mask); }
648397	UNIMPL		tuxcall
649398	UNIMPL		io_setup
650399	UNIMPL		io_destroy
651400	UNIMPL		io_getevents
652401	UNIMPL		io_submit
653402	UNIMPL		io_cancel
654403	UNIMPL		/* unused */
655404	UNIMPL		/* unused */
656405	STD		{ int|linux_sys||exit_group(int error_code); }
657406	UNIMPL		lookup_dcookie
658407	UNIMPL		sys_epoll_create
659408	UNIMPL		sys_epoll_ctl
660409	UNIMPL		sys_epoll_wait
661410	UNIMPL		remap_file_pages
662411	STD		{ int|linux_sys||set_tid_address(int *tid); }
663412	UNIMPL		restart_syscall
664413	STD		{ int|linux_sys||fadvise64(int fd, off_t offset, \
665			    size_t len, int advice); }
666414	STD		{ int|linux_sys||timer_create(clockid_t clockid, \
667			    struct linux_sigevent *evp, timer_t *timerid); }
668415	STD		{ int|linux_sys||timer_settime(timer_t timerid, \
669			    int flags, const struct linux_itimerspec *tim, \
670			    struct linux_itimerspec *otim); }
671416	STD		{ int|linux_sys||timer_gettime(timer_t timerid, \
672			    struct linux_itimerspec *tim); }
673417	NOARGS		{ int|sys||timer_getoverrun(timer_t timerid); }
674418	NOARGS		{ int|sys||timer_delete(timer_t timerid); }
675419	STD		{ int|linux_sys||clock_settime(clockid_t which, \
676			    struct linux_timespec *tp); }
677420	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
678			    struct linux_timespec *tp); }
679421	STD		{ int|linux_sys||clock_getres(clockid_t which, \
680			    struct linux_timespec *tp); }
681422	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
682			    int flags, struct linux_timespec *rqtp, \
683			    struct linux_timespec *rmtp); }
684423	UNIMPL		semtimedop
685424	STD		{ int|linux_sys||tgkill(int tgid, int tid, int sig); }
686425	STD		{ int|linux_sys||stat64(const char *path, \
687			    struct linux_stat64 *sp); }
688426	STD		{ int|linux_sys||lstat64(const char *path, \
689			    struct linux_stat64 *sp); }
690427	STD		{ int|linux_sys||fstat64(int fd, \
691			    struct linux_stat64 *sp); }
692428	UNIMPL		vserver
693429	UNIMPL		mbind
694430	UNIMPL		get_mempolicy
695431	UNIMPL		set_mempolicy
696432	UNIMPL		mq_open
697433	UNIMPL		mq_unlink
698434	UNIMPL		mq_timedsend
699435	UNIMPL		mq_timedreceive
700436	UNIMPL		mq_notify
701437	UNIMPL		mq_getsetattr
702438	UNIMPL		waitid
703439	UNIMPL		add_key
704440	UNIMPL		request_key
705441	UNIMPL		keyctl
706442	UNIMPL		ioprio_set
707443	UNIMPL		ioprio_get
708444	UNIMPL		inotify_init
709445	UNIMPL		inotify_add_watch
710446	UNIMPL		inotify_rm_watch
711447	UNIMPL		fdatasync
712448	UNIMPL		kexec_load
713449	UNIMPL		migrate_pages
714450	STD 		{ int|linux_sys||openat(int fd, const char *path, \
715			    int flags, ... linux_umode_t mode); }
716451	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
717			    linux_umode_t mode); }
718452	STD		{ int|linux_sys||mknodat(int fd, const char *path, \
719			    linux_umode_t mode, unsigned dev); }
720453	STD		{ int|linux_sys||fchownat(int fd, const char *path, \
721			    uid_t owner, gid_t group, int flag); }
722454	UNIMPL		futimesat
723455	STD		{ int|linux_sys||fstatat64(int fd, const char *path, \
724			    struct linux_stat64 *sp, int flag); }
725456	STD		{ int|linux_sys||unlinkat(int fd, const char *path, \
726			    int flag); }
727457	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
728			    int tofd, const char *to); }
729458	STD		{ int|linux_sys||linkat(int fd1, const char *name1, \
730			    int fd2, const char *name2, int flags); }
731459	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
732			    const char *path2); }
733460	NOARGS		{ ssize_t|sys||readlinkat(int fd, const char *path, \
734			    char *buf, size_t bufsize); }
735461	STD		{ int|linux_sys||fchmodat(int fd, const char *path, \
736			    linux_umode_t mode); }
737462	STD		{ int|linux_sys||faccessat(int fd, const char *path, \
738			    int amode); }
739463	STD		{ int|linux_sys||pselect6(int nfds, fd_set *readfds, \
740			   fd_set *writefds, fd_set *exceptfds, \
741			   struct linux_timespec *timeout, \
742			   linux_sized_sigset_t *ss); }
743464	STD		{ int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \
744			    struct linux_timespec *timeout, \
745			    linux_sigset_t *sigset); }
746465	UNIMPL		unshare
747			;
748			; The NetBSD native robust list calls have different
749			; argument names / types, but they are ABI-compatible
750			; with Linux.
751			;
752466	NOARGS		{ int|sys||__futex_set_robust_list(void *head, \
753			    size_t len); }
754467	NOARGS		{ int|sys||__futex_get_robust_list(lwpid_t lwpid, \
755			    void **headp, size_t *lenp); }
756468	UNIMPL		splice
757469	UNIMPL		sync_file_range
758470	UNIMPL		tee
759471	UNIMPL		vmsplice
760472	UNIMPL		move_pages
761473	UNIMPL		getcpu
762474	UNIMPL		epoll_wait
763475	STD		{ int|linux_sys||utimensat(int fd, const char *path, \
764			    struct linux_timespec *times, int flag); }
765476	UNIMPL		signalfd
766477	UNIMPL		timerfd
767478	STD		{ int|linux_sys||eventfd(unsigned int initval); }
768479	STD		{ int|linux_sys||recvmmsg(int s, \
769			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
770			    unsigned int flags, struct timespec *timeout); }
771480	STD		{ int|linux_sys||fallocate(int fd, int mode, \
772			    off_t offset, off_t len); }
773481	STD		{ int|linux_sys||timerfd_create(clockid_t clock_id, \
774			    int flags); }
775482	STD		{ int|linux_sys||timerfd_settime(int fd, int flags, \
776			    const struct linux_itimerspec *tim, \
777			    struct linux_itimerspec *otim); }
778483	STD		{ int|linux_sys||timerfd_gettime(int fd, \
779			    struct linux_itimerspec *tim); }
780484	UNIMPL		signalfd4
781485	STD		{ int|linux_sys||eventfd2(unsigned int initval, \
782			    int flags); }
783486	UNIMPL		epoll_create1
784487	STD		{ int|linux_sys||dup3(int from, int to, int flags); }
785488	STD		{ int|linux_sys||pipe2(int *pfds, int flags); }
786489	UNIMPL		inotify_init1
787490	STD		{ int|linux_sys||preadv(int fd, \
788			    const struct iovec *iovp, int iovcnt, \
789			    unsigned long off_lo, unsigned long off_hi); }
790491	STD		{ int|linux_sys||pwritev(int fd, \
791			    const struct iovcnt *iovp, int iovcnt, \
792			    unsigned long off_lo, unsigned long off_hi); }
793492	UNIMPL		rt_tgsigqueueinfo
794493	UNIMPL		perf_counter_open
795494	UNIMPL		fanotify_init
796495	UNIMPL		fanotify_mark
797496	STD		{ int|linux_sys||prlimit64(pid_t pid, int which, \
798			    struct rlimit *new_rlp, struct rlimit *old_rlp); }
799497	UNIMPL		name_to_handle_at
800498	UNIMPL		open_by_handle_at
801499	UNIMPL		clock_adjtime
802500	UNIMPL		syncfs
803501	UNIMPL		setns
804502	STD		{ int|linux_sys||accept4(int s, \
805			    struct osockaddr *name, \
806			    int *anamelen, int flags); }
807503	STD		{ int|linux_sys||sendmmsg(int s, \
808			    struct linux_mmsghdr *msgvec, unsigned int vlen, \
809			    unsigned int flags); }
810504	UNIMPL		process_vm_readv
811505	UNIMPL		process_vm_writev
812506	UNIMPL		kcmp
813507	UNIMPL		finit_module
814508	UNIMPL		sched_setattr
815509	UNIMPL		sched_getattr
816510	UNIMPL		renameat2
817