xref: /netbsd-src/sys/rump/kern/lib/libsys_linux/syscalls.master (revision 6ef574d8cc88684f531330db257ebc792ceb8f2c)
1*6ef574d8Snjoly	$NetBSD: syscalls.master,v 1.16 2014/05/29 10:41:48 njoly Exp $
2fd245ed3Spooka
3fd245ed3Spooka;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
4fd245ed3Spooka
5fd245ed3Spooka; NetBSD system call name/number "master" file.
6fd245ed3Spooka; (See syscalls.conf to see what it is processed into.)
7fd245ed3Spooka;
8fd245ed3Spooka; Fields: number type [type-dependent ...]
9fd245ed3Spooka;	number	system call number, must be in order
10fd245ed3Spooka;	type	one of NODEF, UNIMPL, or NOARGS
11fd245ed3Spooka;
12fd245ed3Spooka; types:
13fd245ed3Spooka;	NODEF	always included
14fd245ed3Spooka;	UNIMPL	unimplemented, not included in system
15fd245ed3Spooka;	NODEF	included, but don't define the syscall number
16fd245ed3Spooka;	NOARGS	included, but don't define the syscall args structure
17fd245ed3Spooka;
18fd245ed3Spooka; arguments:
19fd245ed3Spooka;	PAD	argument not part of the C interface, used only for padding
20fd245ed3Spooka;
21fd245ed3Spooka;
22fd245ed3Spooka; The purpose of this syscalls.master is to map to the Linux types which
23fd245ed3Spooka; are marshalled into the arg structure by the clientside rump_syscalls.c
24fd245ed3Spooka; code in librumpclient.
25fd245ed3Spooka;
26fd245ed3Spooka
27fd245ed3Spooka#include <sys/param.h>
28fd245ed3Spooka#include <sys/systm.h>
29fd245ed3Spooka#include <sys/signal.h>
30fd245ed3Spooka#include <sys/socket.h>
31fd245ed3Spooka#include <sys/mount.h>
32fd245ed3Spooka#include <sys/sched.h>
33fd245ed3Spooka#include <sys/syscallargs.h>
34fd245ed3Spooka
35fd245ed3Spooka#include <compat/linux/common/linux_types.h>
36fd245ed3Spooka#include <compat/linux/common/linux_signal.h>
37a022633dSnjoly#include <compat/linux/linux_syscallargs.h>
38a022633dSnjoly#include <compat/linux/linux_syscall.h>
39a022633dSnjoly
40a022633dSnjoly#ifdef LINUX_SYS_socketcall
41a022633dSnjoly#include <compat/linux/common/linux_socketcall.h>
42a022633dSnjoly#endif
43fd245ed3Spooka
44fd245ed3Spooka#include "rump_linux_syscallargs.h"
45fd245ed3Spooka
46fd245ed3Spooka%%
47fd245ed3Spooka
48fd245ed3Spooka0	NOARGS		{ int|linux_sys||nosys(void); }
49fd245ed3Spooka1	UNIMPL 		exit
50fd245ed3Spooka2	UNIMPL 		fork
51fd245ed3Spooka3	NOARGS		{ ssize_t|sys||read(int fd, void *buf, size_t nbyte); }
52fd245ed3Spooka4	NOARGS		{ ssize_t|sys||write(int fd, const void *buf, \
53fd245ed3Spooka			    size_t nbyte); }
54a022633dSnjoly5	NOARGS		{ int|linux_sys||open(const char *path, \
55fd245ed3Spooka			    int flags, int mode); }
56fd245ed3Spooka6	NOARGS	 	{ int|sys||close(int fd); }
57fd245ed3Spooka7	UNIMPL		wait4
58fd245ed3Spooka8	UNIMPL		creat
59fd245ed3Spooka9	NOARGS 		{ int|sys||link(const char *path, const char *link); }
60a022633dSnjoly10	NOARGS 	 	{ int|linux_sys||unlink(const char *path); }
61fd245ed3Spooka11	UNIMPL		execv
62fd245ed3Spooka12	NOARGS 	 	{ int|sys||chdir(const char *path); }
63fd245ed3Spooka13	NOARGS 	 	{ int|sys||fchdir(int fd); }
64fd245ed3Spooka14	UNIMPL		mknod
65fd245ed3Spooka15	NOARGS 	 	{ int|sys||chmod(const char *path, mode_t mode); }
66fd245ed3Spooka16	NOARGS 	 	{ int|sys||__posix_chown(const char *path, uid_t uid, \
67fd245ed3Spooka			    gid_t gid); }
68fd245ed3Spooka17	UNIMPL		obreak
69fd245ed3Spooka18	UNIMPL		getfsstat
70fd245ed3Spooka19	UNIMPL		lseek
71fd245ed3Spooka20	NOARGS 		{ pid_t|sys||getpid_with_ppid(void); } getpid
72fd245ed3Spooka21	UNIMPL		mount
73fd245ed3Spooka22	UNIMPL		unmount
74fd245ed3Spooka23	NOARGS		{ int|sys||setuid(uid_t uid); }
75fd245ed3Spooka24	NOARGS		{ uid_t|sys||getuid_with_euid(void); } getuid
76fd245ed3Spooka25	NOARGS		{ uid_t|sys||geteuid(void); }
77fd245ed3Spooka26	UNIMPL 		ptrace
78a022633dSnjoly27	NOARGS 		{ ssize_t|linux_sys||recvmsg(int s, \
79fd245ed3Spooka			    struct linux_msghdr *msg, int flags); }
80a022633dSnjoly28	NOARGS 		{ ssize_t|linux_sys||sendmsg(int s, \
81fd245ed3Spooka			    const struct linux_msghdr *msg, int flags); }
82a022633dSnjoly29	NOARGS 		{ ssize_t|linux_sys||recvfrom(int s, void *buf, \
83fd245ed3Spooka			    int len, int flags, struct osockaddr *from, \
84fd245ed3Spooka			    int *fromlenaddr); }
85a022633dSnjoly30	NOARGS		{ int|linux_sys||accept(int s, struct osockaddr *name, \
86fd245ed3Spooka			    int *anamelen); }
87a022633dSnjoly31	NOARGS		{ int|linux_sys||getpeername(int fdes, \
88fd245ed3Spooka			    struct osockaddr *asa, int *alen); }
89a022633dSnjoly32	NOARGS		{ int|linux_sys||getsockname(int fdes, \
90fd245ed3Spooka			    struct osockaddr *asa, int *alen); }
91fd245ed3Spooka33	NOARGS 		{ int|sys||access(const char *path, int flags); }
92fd245ed3Spooka34	UNIMPL		chflags
93fd245ed3Spooka35	UNIMPL		fchflags
94fd245ed3Spooka36	NOARGS		{ void|sys||sync(void); }
95fd245ed3Spooka37	UNIMPL 		kill
96fd245ed3Spooka38	UNIMPL		stat
97fd245ed3Spooka39	UNIMPL		getppid
98fd245ed3Spooka40	UNIMPL		lstat
99fd245ed3Spooka41	NOARGS 		{ int|sys||dup(int fd); }
100fd245ed3Spooka
101fd245ed3Spooka; we mimic the librumpclient calling convention, therefore no linux_sys_pipe
102fd245ed3Spooka42	NOARGS 		{ int|sys||pipe(void); }
103fd245ed3Spooka
104fd245ed3Spooka43	UNIMPL		getegid
105fd245ed3Spooka44	UNIMPL 		profil
106fd245ed3Spooka45	UNIMPL 		ktrace
107fd245ed3Spooka46	UNIMPL		sigaction
108fd245ed3Spooka47	NOARGS 		{ gid_t|sys||getgid_with_egid(void); } getgid
109fd245ed3Spooka48	UNIMPL		sigprocmask
110fd245ed3Spooka49	UNIMPL		__getlogin
111fd245ed3Spooka50	UNIMPL		__setlogin
112fd245ed3Spooka51	UNIMPL		acct
113fd245ed3Spooka52	UNIMPL  	sigpending
114fd245ed3Spooka53	UNIMPL  	sigaltstack
115a022633dSnjoly54	NOARGS		{ int|linux_sys||ioctl(int fd, \
116fd245ed3Spooka			    u_long com, void *data); }
117fd245ed3Spooka55	UNIMPL		reboot
118fd245ed3Spooka56	UNIMPL		revoke
119fd245ed3Spooka57	NOARGS 	 	{ int|sys||symlink(const char *path, \
120fd245ed3Spooka			    const char *link); }
121fd245ed3Spooka58	NOARGS 	 	{ ssize_t|sys||readlink(const char *path, char *buf, \
122fd245ed3Spooka			    int count); }
123fd245ed3Spooka59	UNIMPL 		execve
124fd245ed3Spooka60	NOARGS 	 	{ mode_t|sys||umask(mode_t newmask); }
125fd245ed3Spooka61	NOARGS 	 	{ int|sys||chroot(const char *path); }
126fd245ed3Spooka62	UNIMPL		fstat43
127fd245ed3Spooka63	UNIMPL		getkerninfo
128fd245ed3Spooka64	UNIMPL		getpagesize
129fd245ed3Spooka65	UNIMPL		msync
130fd245ed3Spooka66	UNIMPL 		vfork
131fd245ed3Spooka67	UNIMPL		vread
132fd245ed3Spooka68	UNIMPL		vwrite
133fd245ed3Spooka69	UNIMPL 		sbrk
134fd245ed3Spooka70	UNIMPL 		sstk
135fd245ed3Spooka71	UNIMPL  	mmap
136fd245ed3Spooka72	UNIMPL 		ovadvise
137fd245ed3Spooka73	UNIMPL 		munmap
138fd245ed3Spooka74	UNIMPL 		mprotect
139fd245ed3Spooka75	UNIMPL 		madvise
140fd245ed3Spooka76	UNIMPL		vhangup
141fd245ed3Spooka77	UNIMPL		vlimit
142fd245ed3Spooka78	UNIMPL 		mincore
143fd245ed3Spooka79	NOARGS 		{ int|sys||getgroups(int gidsetsize, \
144fd245ed3Spooka			    int *gidset); }
145fd245ed3Spooka80	NOARGS 		{ int|sys||setgroups(int gidsetsize, \
146fd245ed3Spooka			    const int *gidset); }
147fd245ed3Spooka81	NOARGS 		{ int|sys||getpgrp(void); }
148fd245ed3Spooka82	NOARGS 		{ int|sys||setpgid(int pid, int pgid); }
149fd245ed3Spooka83	UNIMPL		setitimer
150fd245ed3Spooka84	UNIMPL		wait
151fd245ed3Spooka85	UNIMPL		swapon
152fd245ed3Spooka86	UNIMPL		getitimer
153fd245ed3Spooka87	UNIMPL		gethostname
154fd245ed3Spooka88	UNIMPL		sethostname
155fd245ed3Spooka89	UNIMPL		getdtablesize
156fd245ed3Spooka90	NOARGS 	 	{ int|sys||dup2(int from, int to); }
157fd245ed3Spooka91	UNIMPL		getdopt
158a022633dSnjoly92	NOARGS		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
159fd245ed3Spooka93	UNIMPL		select
160fd245ed3Spooka94	UNIMPL		setdopt
161fd245ed3Spooka95	NOARGS		{ int|sys||fsync(int fd); }
162fd245ed3Spooka96	UNIMPL		setpriority
163fd245ed3Spooka97	UNIMPL		socket
164a022633dSnjoly98	NOARGS		{ int|linux_sys||connect(int s, \
165fd245ed3Spooka			    const struct osockaddr *name, \
166fd245ed3Spooka			    unsigned int namelen); }
167fd245ed3Spooka99	UNIMPL		accept
168fd245ed3Spooka100	UNIMPL 		getpriority
169fd245ed3Spooka
170fd245ed3Spooka101	UNIMPL		send
171fd245ed3Spooka102	UNIMPL		recv
172fd245ed3Spooka
173fd245ed3Spooka103	UNIMPL		sigreturn
174a022633dSnjoly104	NOARGS		{ int|linux_sys||bind(int s, \
175fd245ed3Spooka			    const struct osockaddr *name, unsigned namelen); }
176a022633dSnjoly105	NOARGS		{ int|linux_sys||setsockopt(int s, int level, \
177fd245ed3Spooka			    int name, const void *val, int optlen); }
178fd245ed3Spooka106	NOARGS		{ int|sys||listen(int s, int backlog); }
179fd245ed3Spooka107	UNIMPL		vtimes
180fd245ed3Spooka108	UNIMPL		sigvec
181fd245ed3Spooka109	UNIMPL		sigblock
182fd245ed3Spooka110	UNIMPL		sigsetmask
183fd245ed3Spooka111	UNIMPL		sigsuspend
184fd245ed3Spooka112	UNIMPL		sigstack
185fd245ed3Spooka113	UNIMPL		orecvmsg
186fd245ed3Spooka114	UNIMPL		osendmsg
187fd245ed3Spooka115	UNIMPL		vtrace
188fd245ed3Spooka116	UNIMPL		gettimeofday
189fd245ed3Spooka117	UNIMPL 		getrusage
190a022633dSnjoly118	NOARGS		{ int|linux_sys||getsockopt(int s, int level, \
191fd245ed3Spooka			    int name, void *val, int *avalsize); }
192fd245ed3Spooka119	UNIMPL		resuba
193fd245ed3Spooka120	NOARGS 		{ ssize_t|sys||readv(int fd, \
194fd245ed3Spooka			    const struct iovec *iovp, int iovcnt); }
195fd245ed3Spooka121	NOARGS 		{ ssize_t|sys||writev(int fd, \
196fd245ed3Spooka			    const struct iovec *iovp, int iovcnt); }
197fd245ed3Spooka122	UNIMPL		settimeofday
198fd245ed3Spooka123	NOARGS 	 	{ int|sys||__posix_fchown(int fd, int uid, int gid); }
199fd245ed3Spooka124	NOARGS 	 	{ int|sys||fchmod(int fd, mode_t mode); }
200fd245ed3Spooka125	UNIMPL		orecvfrom
201fd245ed3Spooka126	NOARGS 		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
202fd245ed3Spooka127	NOARGS 		{ int|sys||setregid(gid_t rgid, gid_t egid); }
203fd245ed3Spooka128	NOARGS 	 	{ int|sys||__posix_rename(const char *from, \
204fd245ed3Spooka			    const char *to); }
205fd245ed3Spooka129	UNIMPL		otruncate
206fd245ed3Spooka130	UNIMPL		oftruncate
207fd245ed3Spooka131	NOARGS 	 	{ int|sys||flock(int fd, int how); }
208fd245ed3Spooka132	UNIMPL 	 	mkfifo
209a022633dSnjoly133	NOARGS 	 	{ int|linux_sys||sendto(int s, void *buf, \
210fd245ed3Spooka			    int len, int flags, const struct osockaddr *to, \
211fd245ed3Spooka			    int tolen); }
212fd245ed3Spooka134	NOARGS	 	{ int|sys||shutdown(int s, int how); }
213a022633dSnjoly135	NOARGS	 	{ int|linux_sys||socketpair(int domain, int type, \
214fd245ed3Spooka			    int protocol, int *rsv); }
215fd245ed3Spooka136	NOARGS 	 	{ int|sys||mkdir(const char *path, mode_t mode); }
216fd245ed3Spooka137	NOARGS 	 	{ int|sys||rmdir(const char *path); }
217fd245ed3Spooka138	UNIMPL		utimes
218fd245ed3Spooka
219fd245ed3Spooka139	UNIMPL		4.2 sigreturn
220fd245ed3Spooka140	UNIMPL		adjtime
221fd245ed3Spooka141	UNIMPL		ogetpeername
222fd245ed3Spooka142	UNIMPL		ogethostid
223fd245ed3Spooka143	UNIMPL		osethostid
224fd245ed3Spooka144	UNIMPL		ogetrlimit
225fd245ed3Spooka145	UNIMPL		osetrlimit
226fd245ed3Spooka146	UNIMPL		okillpg
227fd245ed3Spooka147	NOARGS 		{ int|sys||setsid(void); }
228fd245ed3Spooka148	UNIMPL		quotactl
229fd245ed3Spooka149	UNIMPL		oquota
230fd245ed3Spooka150	UNIMPL		ogetsockname
231fd245ed3Spooka
232fd245ed3Spooka; Syscalls 151-180 inclusive are reserved for vendor-specific
233fd245ed3Spooka; system calls.  (This includes various calls added for compatibity
234fd245ed3Spooka; with other Unix variants.)
235fd245ed3Spooka; Some of these calls are now supported by BSD...
236fd245ed3Spooka151	UNIMPL
237fd245ed3Spooka152	UNIMPL
238fd245ed3Spooka153	UNIMPL
239fd245ed3Spooka154	UNIMPL
240fd245ed3Spooka155	UNIMPL		nfssvc
241fd245ed3Spooka156	UNIMPL		ogetdirentries
242fd245ed3Spooka157	UNIMPL		statfs12
243fd245ed3Spooka158	UNIMPL		fstatfs12
244fd245ed3Spooka159	UNIMPL
245fd245ed3Spooka160	UNIMPL
246fd245ed3Spooka161	UNIMPL		getfh30
247fd245ed3Spooka162	UNIMPL		ogetdomainname
248fd245ed3Spooka163	UNIMPL		osetdomainname
249fd245ed3Spooka164	UNIMPL		ouname
250fd245ed3Spooka165	UNIMPL 		sysarch
251fd245ed3Spooka166	UNIMPL
252fd245ed3Spooka167	UNIMPL
253fd245ed3Spooka168	UNIMPL
254fd245ed3Spooka169	UNIMPL		1.0 semsys
255fd245ed3Spooka170	UNIMPL		1.0 msgsys
256fd245ed3Spooka171	UNIMPL		1.0 shmsys
257fd245ed3Spooka172	UNIMPL
258d4911614Snjoly173	NOARGS 	 	{ ssize_t|sys||pread(int fd, char *buf, \
259470da95eSnjoly			    size_t nbyte, int PAD, off_t offset); }
260d4911614Snjoly174	NOARGS 	 	{ ssize_t|sys||pwrite(int fd, char *buf, \
261470da95eSnjoly			    size_t nbyte, int PAD, off_t offset); }
262fd245ed3Spooka175	UNIMPL		ntp_gettime
263fd245ed3Spooka176	UNIMPL		ntp_adjtime
264fd245ed3Spooka177	UNIMPL
265fd245ed3Spooka178	UNIMPL
266fd245ed3Spooka179	UNIMPL
267fd245ed3Spooka180	UNIMPL
268fd245ed3Spooka
269fd245ed3Spooka; Syscalls 180-199 are used by/reserved for BSD
270fd245ed3Spooka181	NOARGS 		{ int|sys||setgid(gid_t gid); }
271fd245ed3Spooka182	NOARGS 		{ int|sys||setegid(gid_t egid); }
272fd245ed3Spooka183	NOARGS 		{ int|sys||seteuid(uid_t euid); }
273fd245ed3Spooka184	UNIMPL		lfs_bmapv
274fd245ed3Spooka185	UNIMPL		lfs_markv
275fd245ed3Spooka186	UNIMPL		lfs_segclean
276fd245ed3Spooka187	UNIMPL		lfs_segwait
277fd245ed3Spooka188	UNIMPL		stat12
278fd245ed3Spooka189	UNIMPL		fstat12
279fd245ed3Spooka190	UNIMPL		lstat12
280fd245ed3Spooka191	UNIMPL 		pathconf
281fd245ed3Spooka192	UNIMPL 		fpathconf
282fd245ed3Spooka193	UNIMPL
283a022633dSnjoly194	NOARGS 		{ int|linux_sys||getrlimit(int which, \
284fd245ed3Spooka			    struct orlimit *rlp); }
285a022633dSnjoly195	NOARGS 		{ int|linux_sys||setrlimit(int which, \
286fd245ed3Spooka			    const struct orlimit *rlp); }
287fd245ed3Spooka196	UNIMPL		getdirentries
288fd245ed3Spooka197	UNIMPL		mmap
289fd245ed3Spooka198	UNIMPL		__syscall
290fd245ed3Spooka199	NOARGS 	 	{ off_t|sys||lseek(int fd, int PAD, off_t offset, \
291fd245ed3Spooka			    int whence); }
292fd245ed3Spooka200	NOARGS 	 	{ int|sys||truncate(const char *path, int PAD, \
293fd245ed3Spooka			    off_t length); }
294fd245ed3Spooka201	NOARGS 	 	{ int|sys||ftruncate(int fd, int PAD, off_t length); }
295fd245ed3Spooka202	UNIMPL		__sysctl
296fd245ed3Spooka203	UNIMPL		mlock
297fd245ed3Spooka204	UNIMPL		munlock
298fd245ed3Spooka205	UNIMPL		undelete
299fd245ed3Spooka206	UNIMPL		futimes
300fd245ed3Spooka207	NOARGS 	 	{ pid_t|sys||getpgid(pid_t pid); }
301fd245ed3Spooka208	UNIMPL	 	reboot
302fd245ed3Spooka209	NOARGS 	 	{ int|sys||poll(struct pollfd *fds, u_int nfds, \
303fd245ed3Spooka			    int timeout); }
304fd245ed3Spooka;
305fd245ed3Spooka; Syscalls 210-219 are reserved for dynamically loaded syscalls
306fd245ed3Spooka;
307fd245ed3Spooka210	UNIMPL	 	afssys
308fd245ed3Spooka211	UNIMPL
309fd245ed3Spooka212	UNIMPL
310fd245ed3Spooka213	UNIMPL
311fd245ed3Spooka214	UNIMPL
312fd245ed3Spooka215	UNIMPL
313fd245ed3Spooka216	UNIMPL
314fd245ed3Spooka217	UNIMPL
315fd245ed3Spooka218	UNIMPL
316fd245ed3Spooka219	UNIMPL
317fd245ed3Spooka220	UNIMPL		compat_14_semctl
318fd245ed3Spooka221	UNIMPL		semget
319fd245ed3Spooka222	UNIMPL		semop
320fd245ed3Spooka223	UNIMPL		semconfig
321fd245ed3Spooka224	UNIMPL 		compat_14_msgctl
322fd245ed3Spooka225	UNIMPL 		msgget
323fd245ed3Spooka226	UNIMPL 		msgsnd
324fd245ed3Spooka227	UNIMPL 		msgrcv
325fd245ed3Spooka228	UNIMPL		shmat
326fd245ed3Spooka229	UNIMPL		compat_14_shmctl
327fd245ed3Spooka230	UNIMPL		shmdt
328fd245ed3Spooka231	UNIMPL		shmget
329fd245ed3Spooka
330fd245ed3Spooka232	UNIMPL		clock_gettime
331fd245ed3Spooka233	UNIMPL		clock_settime
332fd245ed3Spooka234	UNIMPL		clock_getres
333fd245ed3Spooka235	UNIMPL		timer_create
334fd245ed3Spooka236	UNIMPL		timer_delete
335fd245ed3Spooka237	UNIMPL		timer_settime
336fd245ed3Spooka238	UNIMPL		timer_gettime
337fd245ed3Spooka239	UNIMPL		timer_getoverrun
338fd245ed3Spooka;
339fd245ed3Spooka; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
340fd245ed3Spooka;
341fd245ed3Spooka240	UNIMPL		nanosleep
342a022633dSnjoly241	NOARGS 	 	{ int|linux_sys||fdatasync(int fd); }
343fd245ed3Spooka242	UNIMPL		mlockall
344fd245ed3Spooka243	UNIMPL		munlockall
345fd245ed3Spooka244	UNIMPL		__sigtimedwait
346fd245ed3Spooka245	UNIMPL		sigqueueinfo
347fd245ed3Spooka246	UNIMPL		modctl
348fd245ed3Spooka247	UNIMPL		_ksem_init
349fd245ed3Spooka248	UNIMPL		_ksem_open
350fd245ed3Spooka249	UNIMPL		_ksem_unlink
351fd245ed3Spooka250	UNIMPL		_ksem_close
352fd245ed3Spooka251	UNIMPL		_ksem_post
353fd245ed3Spooka252	UNIMPL		_ksem_wait
354fd245ed3Spooka253	UNIMPL		_ksem_trywait
355fd245ed3Spooka254	UNIMPL		_ksem_getvalue
356fd245ed3Spooka255	UNIMPL		_ksem_destroy
357fd245ed3Spooka256	UNIMPL		_ksem_timedwait
358fd245ed3Spooka
359fd245ed3Spooka257	UNIMPL		mq_open
360fd245ed3Spooka258	UNIMPL		mq_close
361fd245ed3Spooka259	UNIMPL		mq_unlink
362fd245ed3Spooka260	UNIMPL		mq_getattr
363fd245ed3Spooka261	UNIMPL		mq_setattr
364fd245ed3Spooka262	UNIMPL		mq_notify
365fd245ed3Spooka263	UNIMPL		mq_send
366fd245ed3Spooka264	UNIMPL		mq_receive
367fd245ed3Spooka265	UNIMPL		mq_timedsend
368fd245ed3Spooka266	UNIMPL		mq_timedreceive
369fd245ed3Spooka267	UNIMPL
370fd245ed3Spooka268	UNIMPL
371fd245ed3Spooka269	UNIMPL
372fd245ed3Spooka270	UNIMPL		__posix_rename
373fd245ed3Spooka271	UNIMPL		swapctl
374fd245ed3Spooka272	UNIMPL		getdents
375fd245ed3Spooka273	UNIMPL		minherit
376fd245ed3Spooka274	UNIMPL 	 	lchmod
377485190e7Snjoly275	NOARGS 	 	{ int|sys||__posix_lchown(const char *path, uid_t uid, \
378485190e7Snjoly			    gid_t gid); }
379fd245ed3Spooka276	UNIMPL		lutimes
380fd245ed3Spooka277	UNIMPL		msync
381fd245ed3Spooka278	UNIMPL		stat
382fd245ed3Spooka279	UNIMPL		fstat
383fd245ed3Spooka280	UNIMPL		lstat
384fd245ed3Spooka281	UNIMPL		sigaltstack
385fd245ed3Spooka282	UNIMPL		vfork
386fd245ed3Spooka283	UNIMPL		__posix_chown
387fd245ed3Spooka284	UNIMPL		__posix_fchown
388fd245ed3Spooka285	UNIMPL		__posix_lchown
389fd245ed3Spooka286	NOARGS 		{ pid_t|sys||getsid(pid_t pid); }
390fd245ed3Spooka
391fd245ed3Spooka287	UNIMPL		__clone
392fd245ed3Spooka288	UNIMPL		fktrace
393fd245ed3Spooka289	UNIMPL 		{ ssize_t|sys||preadv(int fd, \
394fd245ed3Spooka			    const struct iovec *iovp, int iovcnt, \
395fd245ed3Spooka			    int PAD, off_t offset); }
396fd245ed3Spooka290	UNIMPL 		{ ssize_t|sys||pwritev(int fd, \
397fd245ed3Spooka			    const struct iovec *iovp, int iovcnt, \
398fd245ed3Spooka			    int PAD, off_t offset); }
399fd245ed3Spooka291	UNIMPL		sigaction
400fd245ed3Spooka292	UNIMPL		sigpending
401fd245ed3Spooka293	UNIMPL		sigprocmask
402fd245ed3Spooka294	UNIMPL		sigsuspend
403fd245ed3Spooka295	UNIMPL		sigreturn
404fd245ed3Spooka296	NOARGS 	 	{ int|sys||__getcwd(char *bufp, size_t length); }
405fd245ed3Spooka297	NOARGS 	 	{ int|sys||fchroot(int fd); }
406fd245ed3Spooka298	UNIMPL		fhopen
407fd245ed3Spooka299	UNIMPL		fhstat
408fd245ed3Spooka300	UNIMPL		fhstatfs
409fd245ed3Spooka301	UNIMPL		____semctl13
410fd245ed3Spooka302	UNIMPL		__msgctl13
411fd245ed3Spooka303	UNIMPL		__shmctl13
412fd245ed3Spooka304	UNIMPL 	 	lchflags
413fd245ed3Spooka305	UNIMPL		issetugid
414fd245ed3Spooka306	UNIMPL		utrace
415fd245ed3Spooka307	UNIMPL		getcontext
416fd245ed3Spooka308	UNIMPL		setcontext
417fd245ed3Spooka309	UNIMPL		_lwp_create
418fd245ed3Spooka310	UNIMPL		_lwp_exit
419fd245ed3Spooka311	UNIMPL		_lwp_self
420fd245ed3Spooka312	UNIMPL		_lwp_wait
421fd245ed3Spooka313	UNIMPL		_lwp_suspend
422fd245ed3Spooka314	UNIMPL		_lwp_continue
423fd245ed3Spooka315	UNIMPL		_lwp_wakeup
424fd245ed3Spooka316	UNIMPL		_lwp_getprivate
425fd245ed3Spooka317	UNIMPL		_lwp_setprivate
426fd245ed3Spooka318	UNIMPL		_lwp_kill
427fd245ed3Spooka319	UNIMPL		_lwp_detach
428fd245ed3Spooka320	UNIMPL		_lwp_park
429fd245ed3Spooka321	UNIMPL		_lwp_unpark
430fd245ed3Spooka322	UNIMPL		_lwp_unpark_all
431fd245ed3Spooka323	UNIMPL		_lwp_setname
432fd245ed3Spooka324	UNIMPL		_lwp_getname
433fd245ed3Spooka325	UNIMPL		_lwp_ctl
434fd245ed3Spooka
435fd245ed3Spooka; Syscalls 326-339 reserved for LWP syscalls.
436fd245ed3Spooka326	UNIMPL
437fd245ed3Spooka327	UNIMPL
438fd245ed3Spooka328	UNIMPL
439fd245ed3Spooka329	UNIMPL
440fd245ed3Spooka; SA system calls.
441fd245ed3Spooka330	UNIMPL		sa_register
442fd245ed3Spooka331	UNIMPL		sa_stacks
443fd245ed3Spooka332	UNIMPL		sa_enable
444fd245ed3Spooka333	UNIMPL		sa_setconcurrency
445fd245ed3Spooka334	UNIMPL		sa_yield
446fd245ed3Spooka335	UNIMPL		sa_preempt
447fd245ed3Spooka336	UNIMPL 		sys_sa_unblockyield
448fd245ed3Spooka;
449fd245ed3Spooka; Syscalls 337-339 are reserved for other scheduler activation syscalls.
450fd245ed3Spooka;
451fd245ed3Spooka337	UNIMPL
452fd245ed3Spooka338	UNIMPL
453fd245ed3Spooka339	UNIMPL
454fd245ed3Spooka
455fd245ed3Spooka340	UNIMPL		__sigaction_sigtramp
456fd245ed3Spooka341	UNIMPL		pmc_get_info
457fd245ed3Spooka342	UNIMPL		pmc_control
458fd245ed3Spooka343	UNIMPL		rasctl
459fd245ed3Spooka344	UNIMPL		kqueue
460fd245ed3Spooka345	UNIMPL		kevent
461fd245ed3Spooka
462fd245ed3Spooka; Scheduling system calls.
463fd245ed3Spooka346	UNIMPL		_sched_setparam
464fd245ed3Spooka347	UNIMPL		_sched_getparam
465fd245ed3Spooka348	UNIMPL		_sched_setaffinity
466fd245ed3Spooka349	UNIMPL		_sched_getaffinity
467fd245ed3Spooka350	UNIMPL		sched_yield
468fd245ed3Spooka351	UNIMPL
469fd245ed3Spooka352	UNIMPL
470fd245ed3Spooka353	UNIMPL
471fd245ed3Spooka
472fd245ed3Spooka354	UNIMPL		fsync_range
473fd245ed3Spooka355	UNIMPL		uuidgen
474fd245ed3Spooka356	UNIMPL		getvfsstat
475fd245ed3Spooka357	UNIMPL		statvfs1
476fd245ed3Spooka358	UNIMPL		fstatvfs1
477fd245ed3Spooka359	UNIMPL		fhstatvfs1
478fd245ed3Spooka360	UNIMPL		extattrctl
479fd245ed3Spooka361	UNIMPL		extattr_set_file
480fd245ed3Spooka362	UNIMPL		extattr_get_file
481fd245ed3Spooka363	UNIMPL		extattr_delete_file
482fd245ed3Spooka364	UNIMPL		extattr_set_fd
483fd245ed3Spooka365	UNIMPL		extattr_get_fd
484fd245ed3Spooka366	UNIMPL		extattr_delete_fd
485fd245ed3Spooka367	UNIMPL		extattr_set_link
486fd245ed3Spooka368	UNIMPL		extattr_get_link
487fd245ed3Spooka369	UNIMPL		extattr_delete_link
488fd245ed3Spooka370	UNIMPL		extattr_list_fd
489fd245ed3Spooka371	UNIMPL		extattr_list_file
490fd245ed3Spooka372	UNIMPL		extattr_list_link
491fd245ed3Spooka373	UNIMPL		pselect
492fd245ed3Spooka374	UNIMPL		pollts
493fd245ed3Spooka375	UNIMPL		setxattr
494fd245ed3Spooka376	UNIMPL		lsetxattr
495fd245ed3Spooka377	UNIMPL		fsetxattr
496fd245ed3Spooka378	UNIMPL		getxattr
497fd245ed3Spooka379	UNIMPL		lgetxattr
498fd245ed3Spooka380	UNIMPL		fgetxattr
499fd245ed3Spooka381	UNIMPL		listxattr
500fd245ed3Spooka382	UNIMPL		llistxattr
501fd245ed3Spooka383	UNIMPL		flistxattr
502fd245ed3Spooka384	UNIMPL		removexattr
503fd245ed3Spooka385	UNIMPL		lremovexattr
504fd245ed3Spooka386	UNIMPL		fremovexattr
505fd245ed3Spooka387	UNIMPL		stat30
506fd245ed3Spooka388	UNIMPL		fstat30
507fd245ed3Spooka389	UNIMPL		lstat30
508a022633dSnjoly390	NOARGS		{ int|linux_sys||getdents64(int fd, \
509b29631fcSstacktic			    struct linux_dirent64 *dent, unsigned int count); }
510fd245ed3Spooka391	UNIMPL		old posix_fadvise
511fd245ed3Spooka392	UNIMPL		fhstat
512fd245ed3Spooka393	UNIMPL		ntp_gettime
513a022633dSnjoly394	NOARGS	 	{ int|linux_sys||socket(int domain, \
514fd245ed3Spooka			    int type, int protocol); }
515fd245ed3Spooka395	UNIMPL		getfh
516fd245ed3Spooka396	UNIMPL		fhopen
517fd245ed3Spooka397	UNIMPL		fhstatvfs1
518fd245ed3Spooka398	UNIMPL		fhstat
519fd245ed3Spooka
520fd245ed3Spooka; Asynchronous I/O system calls
521fd245ed3Spooka399	UNIMPL		aio_cancel
522fd245ed3Spooka400	UNIMPL		aio_error
523fd245ed3Spooka401	UNIMPL		aio_fsync
524fd245ed3Spooka402	UNIMPL		aio_read
525fd245ed3Spooka403	UNIMPL		aio_return
526fd245ed3Spooka404	UNIMPL		aio_suspend
527fd245ed3Spooka405	UNIMPL		aio_write
528fd245ed3Spooka406	UNIMPL		lio_listio
529fd245ed3Spooka
530fd245ed3Spooka407	UNIMPL
531fd245ed3Spooka408	UNIMPL
532fd245ed3Spooka409	UNIMPL
533fd245ed3Spooka
534fd245ed3Spooka410	UNIMPL		mount
535fd245ed3Spooka411	UNIMPL		mremap
536fd245ed3Spooka
537fd245ed3Spooka; Processor-sets system calls
538fd245ed3Spooka412	UNIMPL		pset_create
539fd245ed3Spooka413	UNIMPL		pset_destroy
540fd245ed3Spooka414	UNIMPL		pset_assign
541fd245ed3Spooka415	UNIMPL		_pset_bind
542fd245ed3Spooka416	UNIMPL		fadvise
543a022633dSnjoly417	NOARGS  	{ int|linux_sys||select(int nd, \
544fd245ed3Spooka			    fd_set *in, fd_set *ou, fd_set *ex, \
545fd245ed3Spooka			    struct timeval50 *tv); }
546faf91a83Snjoly418	NOARGS		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
547faf91a83Snjoly			    struct timezone *tzp); }
548faf91a83Snjoly419	NOARGS		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
549faf91a83Snjoly			    struct timezone *tzp); }
550*6ef574d8Snjoly420	NOARGS		{ int|compat_50_sys||utimes(const char *path, \
551*6ef574d8Snjoly			    const struct timveval50 *tptr); }
552fd245ed3Spooka421	UNIMPL		adjtime
553fd245ed3Spooka422	UNIMPL		lfs_segwait
554cc84e677Snjoly423	NOARGS		{ int|sys|50|futimes(int fd, \
555cc84e677Snjoly			    const struct timeval *tptr); }
556cc84e677Snjoly424	NOARGS		{ int|sys|50|lutimes(const char *path, \
557cc84e677Snjoly			    const struct timeval *tptr); }
558fd245ed3Spooka425	UNIMPL		setitimer
559fd245ed3Spooka426	UNIMPL		getitimer
560faf91a83Snjoly427	NOARGS		{ int|linux_sys||clock_gettime(clockid_t which, \
561faf91a83Snjoly			    struct linux_timespec *tp); }
562faf91a83Snjoly428	NOARGS		{ int|linux_sys||clock_settime(clockid_t which, \
563faf91a83Snjoly			    struct linux_timespec *tp); }
564faf91a83Snjoly429	NOARGS		{ int|linux_sys||clock_getres(clockid_t which, \
565faf91a83Snjoly			    struct linux_timespec *tp); }
566faf91a83Snjoly430	NOARGS		{ int|linux_sys||nanosleep( \
567faf91a83Snjoly			   const struct linux_timespec *rqtp, \
568faf91a83Snjoly			   struct linux_timespec *rmtp); }
569fd245ed3Spooka431	UNIMPL		__sigtimedwait
570fd245ed3Spooka432	UNIMPL		mq_timedsend
571fd245ed3Spooka433	UNIMPL		mq_timedreceive
572fd245ed3Spooka434	UNIMPL		_lwp_park
573fd245ed3Spooka435	UNIMPL		kevent
574fd245ed3Spooka436	UNIMPL		pselect
575a022633dSnjoly437	NOARGS		{ int|linux_sys||ppoll(struct pollfd *fds, \
576fd245ed3Spooka			    u_int nfds, const struct linux_timespec *timeout, \
577fd245ed3Spooka			    const linux_sigset_t *mask);}
578fd245ed3Spooka438	UNIMPL		aio_suspend
579a022633dSnjoly439	NOARGS  		{ int|linux_sys||stat64(const char *path, \
580fd245ed3Spooka			    struct linux_stat64 *sp); }
581a022633dSnjoly440	NOARGS  		{ int|linux_sys||fstat64(int fd, \
582fd245ed3Spooka			    struct linux_stat64 *sp); }
583a022633dSnjoly441	NOARGS  		{ int|linux_sys||lstat64(const char *path, \
584aa56b207Sstacktic			    struct linux_stat64 *sp); }
585fd245ed3Spooka442	UNIMPL		__semctl
586fd245ed3Spooka443	UNIMPL		shmctl
587fd245ed3Spooka444	UNIMPL		msgctl
588fd245ed3Spooka445	UNIMPL		getrusage
589fd245ed3Spooka446	UNIMPL		timer_settime
590fd245ed3Spooka447	UNIMPL		timer_gettime
591fd245ed3Spooka448	UNIMPL		ntp_gettime
592fd245ed3Spooka449	UNIMPL		wait4
593a022633dSnjoly450	NOARGS  		{ int|linux_sys||mknod(const char *path, mode_t mode, \
594fd245ed3Spooka			    int dev); }
595fd245ed3Spooka451	UNIMPL		fhstat
596fd245ed3Spooka
597fd245ed3Spooka; 452 only ever appeared in 5.99.x and can be reused after netbsd-7
598fd245ed3Spooka452	UNIMPL		5.99 quotactl
599485190e7Snjoly453	NOARGS		{ int|linux_sys||pipe2(int *pfds, int flags); }
600a022633dSnjoly454	NOARGS		{ int|linux_sys||dup3(int from, int to, int flags); }
601fd245ed3Spooka455	UNIMPL		kqueue1
602fd245ed3Spooka456	UNIMPL		paccept
603a022633dSnjoly457	NOARGS		{ int|linux_sys||linkat(int fd1, const char *name1, \
60430c1ae25Snjoly			    int fd2, const char *name2, int flags); }
60530c1ae25Snjoly458	NOARGS		{ int|sys||renameat(int fromfd, const char *from, \
60630c1ae25Snjoly			    int tofd, const char *to); }
607fd245ed3Spooka459	UNIMPL		mkfifoat
6083fa945c0Snjoly460	STD		{ int|rump_linux_sys||mknodat(int fd, const char *path, \
6093fa945c0Snjoly			    mode_t mode, int PAD, unsigned dev); }
61030c1ae25Snjoly461	NOARGS		{ int|sys||mkdirat(int fd, const char *path, \
61130c1ae25Snjoly			    mode_t mode); }
612a022633dSnjoly462	NOARGS		{ int|linux_sys||faccessat(int fd, const char *path, \
61330c1ae25Snjoly			    int amode); }
614a022633dSnjoly463	NOARGS		{ int|linux_sys||fchmodat(int fd, const char *path, \
61530c1ae25Snjoly			    mode_t mode); }
616a022633dSnjoly464	NOARGS		{ int|linux_sys||fchownat(int fd, const char *path, \
61730c1ae25Snjoly			    uid_t owner, gid_t group, int flag); }
618fd245ed3Spooka465	UNIMPL		fexecve
619a022633dSnjoly466	NOARGS		{ int|linux_sys||fstatat64(int fd, const char *path, \
62030c1ae25Snjoly			   struct linux_stat *sp, int flag); }
621a022633dSnjoly467	NOARGS		{ int|linux_sys||utimensat(int fd, const char *path, \
622acf696a1Snjoly			    struct linux_timespec *times, int flag); }
623a022633dSnjoly468	NOARGS		{ int|linux_sys||openat(int fd, const char *path, \
62430c1ae25Snjoly			    int flags, ... mode_t mode); }
62530c1ae25Snjoly469	NOARGS		{ int|sys||readlinkat(int fd, const char *path, \
62630c1ae25Snjoly			    char *buf, size_t bufsize); }
62730c1ae25Snjoly470	NOARGS		{ int|sys||symlinkat(const char *path1, int fd, \
62830c1ae25Snjoly			    const char *path2); }
629a022633dSnjoly471	NOARGS		{ int|linux_sys||unlinkat(int fd, const char *path, \
63030c1ae25Snjoly			    int flag); }
631fd245ed3Spooka472	UNIMPL		futimens
632fd245ed3Spooka473	UNIMPL		__quotactl
633fd245ed3Spooka474	UNIMPL		posix_spawn
634fd245ed3Spooka475	UNIMPL		recvmmsg
635fd245ed3Spooka476	UNIMPL		sendmmsg
636faf91a83Snjoly477	NOARGS		{ int|linux_sys||clock_nanosleep(clockid_t which, \
637faf91a83Snjoly			    int flags, struct linux_timespec *rqtp, \
638faf91a83Snjoly			    struct linux_timespec *rmtp); }
639