xref: /netbsd-src/sys/compat/linux/arch/m68k/syscalls.master (revision 274254cdae52594c1aa480a736aef78313d15c9c)
1	$NetBSD: syscalls.master,v 1.66 2009/01/17 22:28:52 njoly Exp $
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; NetBSD m68k COMPAT_LINUX system call name/number "master" file.
6; (See syscalls.conf to see what it is processed into.)
7;
8; Fields: number type [type-dependent ...]
9;	number	system call number, must be in order
10;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
11;		the compatibility options defined in syscalls.conf.
12;
13; types:
14;	STD	always included
15;	OBSOL	obsolete, not included in system
16;	UNIMPL	unimplemented, not included in system
17;	NODEF	included, but don't define the syscall number
18;	NOARGS	included, but don't define the syscall args structure
19;	INDIR	included, but don't define the syscall args structure
20;		and allow it to be "really" varargs.
21;
22; The compat options are defined in the syscalls.conf file, and the
23; compat option name is prefixed to the syscall name.  Other than
24; that, they're like NODEF (for 'compat' options), or STD (for
25; 'libcompat' options).
26;
27; The type-dependent arguments are as follows:
28; For STD, NODEF, NOARGS, and compat syscalls:
29;	{ pseudo-proto } [alias]
30; For other syscalls:
31;	[comment]
32;
33; #ifdef's, etc. may be included, and are copied to the output files.
34; #include's are copied to the syscall names and switch definition files only.
35
36#if defined(_KERNEL_OPT)
37#include "opt_compat_netbsd.h"
38#include "opt_compat_43.h"
39#endif
40
41#include <sys/param.h>
42#include <sys/poll.h>
43#include <sys/systm.h>
44#include <sys/signal.h>
45#include <sys/mount.h>
46#include <sys/sched.h>
47#include <sys/syscallargs.h>
48
49#include <compat/linux/common/linux_types.h>
50#include <compat/linux/common/linux_signal.h>
51#include <compat/linux/common/linux_siginfo.h>
52#include <compat/linux/common/linux_machdep.h>
53#include <compat/linux/common/linux_mmap.h>
54
55#include <compat/linux/linux_syscallargs.h>
56
57%%
58
590	NOARGS		{ int|linux_sys||nosys(void); } syscall
601	NOARGS		{ int|sys||exit(int rval); }
612	NOARGS		{ int|sys||fork(void); }
623	NOARGS		{ int|sys||read(int fd, char *buf, u_int nbyte); }
634	NOARGS		{ int|sys||write(int fd, char *buf, u_int nbyte); }
645	STD		{ int|linux_sys||open(const char *path, int flags, \
65			    int mode); }
666	NOARGS		{ int|sys||close(int fd); }
677	STD		{ int|linux_sys||waitpid(int pid, int *status, \
68			    int options);}
698	STD		{ int|linux_sys||creat(const char *path, int mode); }
709	NOARGS		{ int|sys||link(const char *path, const char *link); }
7110	STD		{ int|linux_sys||unlink(const char *path); }
7211	NOARGS		{ int|sys||execve(const char *path, char **argp, \
73			    char **envp); }
7412	NOARGS		{ int|sys||chdir(const char *path); }
7513	STD		{ int|linux_sys||time(linux_time_t *t); }
7614	STD		{ int|linux_sys||mknod(const char *path, int mode, \
77			    int dev); }
7815	NOARGS		{ int|sys||chmod(const char *path, int mode); }
79;16 lchown on i386; chown on m68k.
8016	STD		{ int|linux_sys||chown16(const char *path, \
81			    linux_uid16_t uid, linux_gid16_t gid); }
8217	OBSOL		break
8318	OBSOL		ostat
84#if !defined(_KERNEL) || defined(COMPAT_43)
8519	NOARGS		{ long|compat_43_sys||lseek(int fd, long offset, \
86			    int whence); }
87#else
8819	UNIMPL		compat_43_sys_lseek
89#endif
9020	NOARGS 		{ pid_t|sys||getpid(void); }
9121	UNIMPL		mount
9222	OBSOL		umount
9323	NOARGS		linux_setuid16 { int|sys||setuid(uid_t uid); }
9424	NOARGS		linux_getuid16 { uid_t|sys||getuid(void); }
9525	STD		{ int|linux_sys||stime(linux_time_t *t); }
9626	STD		{ int|linux_sys||ptrace(int request, int pid, \
97			  int addr, int data); }
9827	STD		{ int|linux_sys||alarm(unsigned int secs); }
9928	OBSOL		ofstat
10029	STD		{ int|linux_sys||pause(void); }
10130	STD		{ int|linux_sys||utime(const char *path, \
102			    struct linux_utimbuf *times); }
10331	OBSOL		stty
10432	OBSOL		gtty
10533	NOARGS		{ int|sys||access(const char *path, int flags); }
10634	STD		{ int|linux_sys||nice(int incr); }
10735	OBSOL		ftime
10836	NOARGS		{ int|sys||sync(void); }
10937	STD		{ int|linux_sys||kill(int pid, int signum); }
11038	NOARGS		{ int|sys||__posix_rename(const char *from, \
111			    const char *to); }
11239	NOARGS		{ int|sys||mkdir(const char *path, int mode); }
11340	NOARGS		{ int|sys||rmdir(const char *path); }
11441	NOARGS		{ int|sys||dup(u_int fd); }
11542	STD		{ int|linux_sys||pipe(int *pfds); }
11643	STD		{ int|linux_sys||times(struct times *tms); }
11744	OBSOL		prof
11845	STD		{ int|linux_sys||brk(char *nsize); }
11946	NOARGS		linux_setgid16 { int|sys||setgid(gid_t gid); }
12047	NOARGS		linux_getgid16 { gid_t|sys||getgid(void); }
12148	STD		{ int|linux_sys||signal(int signum, \
122			    linux_handler_t handler); }
12349	NOARGS		linux_geteuid16 { uid_t|sys||geteuid(void); }
12450	NOARGS		linux_getegid16 { gid_t|sys||getegid(void); }
12551	NOARGS		{ int|sys||acct(char *path); }
12652	UNIMPL		umount
12753	OBSOL		lock
12854	STD		{ int|linux_sys||ioctl(int fd, u_long com, \
129			    void *data); }
13055	STD		{ int|linux_sys||fcntl(int fd, int cmd, void *arg); }
13156	OBSOL		mpx
13257	NOARGS		{ int|sys||setpgid(int pid, int pgid); }
13358	OBSOL		ulimit
13459	UNIMPL		oldolduname
13560	NOARGS		{ int|sys||umask(int newmask); }
13661	NOARGS		{ int|sys||chroot(char *path); }
13762	UNIMPL		ustat
13863	NOARGS		{ int|sys||dup2(u_int from, u_int to); }
13964	NOARGS		{ pid_t|sys||getppid(void); }
14065	NOARGS		{ int|sys||getpgrp(void); }
14166	NOARGS		{ int|sys||setsid(void); }
14267	STD		{ int|linux_sys||sigaction(int signum, \
143			    const struct linux_old_sigaction *nsa, \
144			    struct linux_old_sigaction *osa); }
14568	STD		{ int|linux_sys||siggetmask(void); }
14669	STD		{ int|linux_sys||sigsetmask(linux_old_sigset_t mask); }
14770	STD		{ int|linux_sys||setreuid16(linux_uid16_t ruid, \
148			    linux_uid16_t euid); }
14971	STD		{ int|linux_sys||setregid16(linux_gid16_t rgid, \
150			    linux_gid16_t egid); }
15172	STD		{ int|linux_sys||sigsuspend(void *restart, \
152			    int oldmask, int mask); }
15373	STD		{ int|linux_sys||sigpending(linux_old_sigset_t *set); }
154#if !defined(_KERNEL) || defined(COMPAT_43)
15574	NOARGS		{ int|compat_43_sys||sethostname(char *hostname, \
156			    u_int len);}
157#else
15874	UNIMPL		compat_43_sys_sethostname
159#endif
16075	STD		{ int|linux_sys||setrlimit(u_int which, \
161			    struct orlimit *rlp); }
16276	STD		{ int|linux_sys||getrlimit(u_int which, \
163			    struct orlimit *rlp); }
16477	NOARGS		{ int|compat_50_sys||getrusage(int who, \
165			    struct rusage50 *rusage); }
16678	STD		{ int|linux_sys||gettimeofday(struct timeval50 *tp, \
167			    struct timezone *tzp); }
16879	STD		{ int|linux_sys||settimeofday(struct timeval50 *tp, \
169			    struct timezone *tzp); }
17080	STD		{ int|linux_sys||getgroups16(int gidsetsize, \
171			    linux_gid16_t *gidset); }
17281	STD		{ int|linux_sys||setgroups16(int gidsetsize, \
173			    linux_gid16_t *gidset); }
17482	STD		{ int|linux_sys||oldselect(struct linux_oldselect *lsp); }
17583	NOARGS		{ int|sys||symlink(const char *path, const char *to); }
176#if !defined(_KERNEL) || defined(COMPAT_43)
17784	NOARGS		{ int|compat_43_sys||lstat(const char *path, \
178			    struct stat43 *up); } oolstat
179#else
18084	UNIMPL		compat_43_sys_lstat
181#endif
18285	NOARGS		{ int|sys||readlink(const char *name, char *buf, \
183			    int count); }
184#ifdef EXEC_AOUT
18586	STD		{ int|linux_sys||uselib(const char *path); }
186#else
18786	UNIMPL		sys_uselib
188#endif
18987	STD		{ int|linux_sys||swapon(char *name); }
19088	STD		{ int|linux_sys||reboot(int magic1, int magic2, \
191			    int cmd, void *arg); }
19289	STD		{ int|linux_sys||readdir(int fd, void *dent, \
193			    unsigned int count); }
19490	STD		{ int|linux_sys||old_mmap(struct linux_oldmmap *lmp); }
19591	NOARGS		{ int|sys||munmap(void *addr, int len); }
19692	NOARGS		{ int|compat_43_sys||truncate(const char *path, \
197			    long length); }
198#if !defined(_KERNEL) || defined(COMPAT_43)
19993	NOARGS		{ int|compat_43_sys||ftruncate(int fd, long length); }
200#else
20193	UNIMPL		compat_43_sys_ftruncate
202#endif
20394	NOARGS		{ int|sys||fchmod(int fd, int mode); }
20495	STD		{ int|linux_sys||fchown16(int fd, linux_uid16_t uid, \
205			    linux_gid16_t gid); }
20696	STD		{ int|linux_sys||getpriority(int which, int who); }
20797	NOARGS		{ int|sys||setpriority(int which, int who, int prio); }
20898	NOARGS		{ int|sys||profil(void *samples, u_int size, \
209			    u_int offset, u_int scale); }
21099	STD		{ int|linux_sys||statfs(const char *path, \
211			    struct linux_statfs *sp); }
212100	STD		{ int|linux_sys||fstatfs(int fd, \
213			    struct linux_statfs *sp); }
214101	UNIMPL		ioperm
215102	STD		{ int|linux_sys||socketcall(int what, void *args); }
216103	UNIMPL		syslog
217104	NOARGS		{ int|compat_50_sys||setitimer(u_int which, \
218			    struct itimerval50 *itv, \
219			    struct itimerval50 *oitv); }
220105	NOARGS		{ int|compat_50_sys||getitimer(u_int which, \
221			    struct itimerval50 *itv); }
222106	STD		{ int|linux_sys||stat(const char *path, \
223			    struct linux_stat *sp); }
224107	STD		{ int|linux_sys||lstat(const char *path, \
225			    struct linux_stat *sp); }
226108	STD		{ int|linux_sys||fstat(int fd, struct linux_stat *sp); }
227109	UNIMPL		olduname
228110	UNIMPL		iopl
229111	UNIMPL		vhangup
230112	UNIMPL		idle
231113	UNIMPL		vm86old
232114	STD		{ int|linux_sys||wait4(int pid, int *status, \
233			    int options, struct rusage50 *rusage); }
234115	STD		{ int|linux_sys||swapoff(const char *path); }
235116	STD		{ int|linux_sys||sysinfo(struct linux_sysinfo *arg); }
236117	STD		{ int|linux_sys||ipc(int what, int a1, int a2, int a3, \
237			    void *ptr); }
238118	NOARGS		{ int|sys||fsync(int fd); }
239119	STD		{ int|linux_sys||sigreturn(void); }
240120	STD		{ int|linux_sys||clone(int flags, void *stack); }
241121	STD		{ int|linux_sys||setdomainname(char *domainname, \
242			    int len); }
243122	STD		{ int|linux_sys||uname(struct linux_utsname *up); }
244123	STD		{ int|linux_sys||cacheflush(unsigned long addr, \
245			    int scope, int cache, unsigned long len); }
246124	UNIMPL		adjtimex
247125	STD		{ int|linux_sys||mprotect(const void *start, \
248			    unsigned long len, int prot); }
249126	STD		{ int|linux_sys||sigprocmask(int how, \
250			    const linux_old_sigset_t *set, \
251			    linux_old_sigset_t *oset); }
252127	UNIMPL		create_module
253128	UNIMPL		init_module
254129	UNIMPL		delete_module
255130	UNIMPL		get_kernel_syms
256131	UNIMPL		quotactl
257132	NOARGS		{ pid_t|sys||getpgid(pid_t pid); }
258133	NOARGS		{ int|sys||fchdir(int fd); }
259134	UNIMPL		bdflush
260135	UNIMPL		sysfs
261136	STD		{ int|linux_sys||personality(int per); }
262137	UNIMPL		afs_syscall
263138	NOARGS		linux_setfsuid16 { int|linux_sys||setfsuid(uid_t uid); }
264139	NOARGS		linux_setfsgid16 { int|linux_sys||setfsgid(gid_t gid); }
265140	STD		{ int|linux_sys||llseek(int fd, u_int32_t ohigh, \
266			    u_int32_t olow, void *res, int whence); }
267141	STD		{ int|linux_sys||getdents(int fd, \
268			    struct linux_dirent *dent, unsigned int count); }
269142	STD		{ int|linux_sys||select(int nfds, fd_set *readfds, \
270			    fd_set *writefds, fd_set *exceptfds, \
271			    struct timeval50 *timeout); }
272143	NOARGS		{ int|sys||flock(int fd, int how); }
273144	NOARGS		{ int|sys|13|msync(void *addr, size_t len, int flags); }
274145	NOARGS		{ int|sys||readv(int fd, struct iovec *iovp, \
275				u_int iovcnt); }
276146	NOARGS		{ int|sys||writev(int fd, struct iovec *iovp, \
277				u_int iovcnt); }
278147	NOARGS		{ pid_t|sys||getsid(pid_t pid); }
279148	STD		{ int|linux_sys||fdatasync(int fd); }
280149	STD		{ int|linux_sys||__sysctl(struct linux___sysctl *lsp); }
281150	NOARGS		{ int|sys||mlock(void *addr, size_t len); }
282151	NOARGS		{ int|sys||munlock(void *addr, size_t len); }
283152	NOARGS		{ int|sys||mlockall(int flags); }
284153	NOARGS		{ int|sys||munlockall(void); }
285154	STD		{ int|linux_sys||sched_setparam(pid_t pid, \
286			    const struct linux_sched_param *sp); }
287155	STD		{ int|linux_sys||sched_getparam(pid_t pid, \
288			    struct linux_sched_param *sp); }
289156	STD		{ int|linux_sys||sched_setscheduler(pid_t pid, \
290			    int policy, const struct linux_sched_param *sp); }
291157	STD		{ int|linux_sys||sched_getscheduler(pid_t pid); }
292158	STD		{ int|linux_sys||sched_yield(void); }
293159	STD		{ int|linux_sys||sched_get_priority_max(int policy); }
294160	STD		{ int|linux_sys||sched_get_priority_min(int policy); }
295161	UNIMPL		sched_rr_get_interval
296162	STD		{ int|linux_sys||nanosleep( \
297			    const struct linux_timespec *rqtp, \
298			    struct linux_timespec *rmtp); }
299163	STD		{ void *|linux_sys||mremap(void *old_address, \
300			    size_t old_size, size_t new_size, u_long flags); }
301164	STD		{ int|linux_sys||setresuid16(linux_uid16_t ruid, \
302			    linux_uid16_t euid, linux_uid16_t suid); }
303165	STD		{ int|linux_sys||getresuid16(linux_uid16_t *ruid, \
304			    linux_uid16_t *euid, linux_uid16_t *suid); }
305166	UNIMPL		vm86
306167	UNIMPL		query_module
307168	NOARGS		{ int|sys||poll(struct pollfd *fds, u_int nfds, \
308			    int timeout); }
309169	UNIMPL		nfsservctl
310170	STD		{ int|linux_sys||setresgid16(linux_gid16_t rgid, \
311			    linux_gid16_t egid, linux_gid16_t sgid); }
312171	STD		{ int|linux_sys||getresgid16(linux_gid16_t *rgid, \
313			    linux_gid16_t *egid, linux_gid16_t *sgid); }
314172	UNIMPL		prctl
315173	STD		{ int|linux_sys||rt_sigreturn(void); }
316174	STD		{ int|linux_sys||rt_sigaction(int signum, \
317			    const struct linux_sigaction *nsa, \
318			    struct linux_sigaction *osa, \
319			    size_t sigsetsize); }
320175	STD		{ int|linux_sys||rt_sigprocmask(int how, \
321			    const linux_sigset_t *set, \
322			    linux_sigset_t *oset, \
323			    size_t sigsetsize); }
324176	STD		{ int|linux_sys||rt_sigpending( \
325			    linux_sigset_t *set, \
326			    size_t sigsetsize); }
327177	UNIMPL		rt_sigtimedwait
328; XXX XAX int here?  sigset_t here?  siginfo_t
329178	STD		{ int|linux_sys||rt_queueinfo(int pid, int signum, \
330			    void *uinfo); }
331179	STD		{ int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \
332			    size_t sigsetsize); }
333180	STD		{ int|linux_sys||pread(int fd, char *buf, \
334			    size_t nbyte, linux_off_t offset); }
335181	STD		{ int|linux_sys||pwrite(int fd, char *buf, \
336			    size_t nbyte, linux_off_t offset); }
337;182 chown on i386; lchown on m68k.
338182	STD		{ int|linux_sys||lchown16(const char *path, \
339			    linux_uid16_t uid, linux_gid16_t gid); }
340183	NOARGS		{ int|sys||__getcwd(char *bufp, size_t length); }
341184	UNIMPL		capget
342185	UNIMPL		capset
343186	STD		{ int|linux_sys||sigaltstack( \
344			    const struct linux_sigaltstack *ss, \
345			    struct linux_sigaltstack *oss); }
346187	UNIMPL		sendfile
347188	UNIMPL		getpmsg
348189	UNIMPL		putpmsg
349190	NOARGS		{ int|sys|14|vfork(void); }
350191	STD		{ int|linux_sys||ugetrlimit(int which, \
351			    struct orlimit *rlp); }
352#define linux_sys_mmap2_args linux_sys_mmap_args
353192	NOARGS		{ linux_off_t|linux_sys||mmap2(unsigned long addr, \
354			    size_t len, int prot, int flags, int fd, \
355			    linux_off_t offset); }
356193	STD		{ int|linux_sys||truncate64(const char *path, \
357			    off_t length); }
358194	STD		{ int|linux_sys||ftruncate64(unsigned int fd, \
359			    off_t length); }
360195	STD		{ int|linux_sys||stat64(const char *path, \
361			    struct linux_stat64 *sp); }
362196	STD		{ int|linux_sys||lstat64(const char *path, \
363			    struct linux_stat64 *sp); }
364197	STD		{ int|linux_sys||fstat64(int fd, \
365			    struct linux_stat64 *sp); }
366198	NOARGS		 { int|sys||__posix_chown(const char *path, uid_t uid, \
367			    gid_t gid); }
368199	NOARGS		{ uid_t|sys||getuid(void); }
369200	NOARGS		{ gid_t|sys||getgid(void); }
370201	NOARGS		{ uid_t|sys||geteuid(void); }
371202	NOARGS		{ gid_t|sys||getegid(void); }
372203	NOARGS		{ int|sys||setreuid(uid_t ruid, uid_t euid); }
373204	NOARGS		{ int|sys||setregid(gid_t rgid, gid_t egid); }
374205	NOARGS		{ int|sys||getgroups(u_int gidsetsize, gid_t *gidset); }
375206	NOARGS		{ int|sys||setgroups(u_int gidsetsize, gid_t *gidset); }
376207	NOARGS		{ int|sys||__posix_fchown(int fd, uid_t uid, \
377			    gid_t gid); }
378208	STD		{ int|linux_sys||setresuid(uid_t ruid, uid_t euid, \
379			    uid_t suid); }
380209	STD		{ int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \
381			    uid_t *suid); }
382210	STD		{ int|linux_sys||setresgid(gid_t rgid, gid_t egid, \
383			    gid_t sgid); }
384211	STD		{ int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \
385			    gid_t *sgid); }
386212	NOARGS		{ int|sys||__posix_lchown(const char *path, uid_t uid, \
387			    gid_t gid); }
388213	NOARGS		{ int|sys||setuid(uid_t uid); }
389214	NOARGS		{ int|sys||setgid(gid_t gid); }
390215	STD		{ int|linux_sys||setfsuid(uid_t uid); }
391216	STD		{ int|linux_sys||setfsgid(gid_t gid); }
392217	UNIMPL		/* unused */
393218	UNIMPL		/* unused */
394219	UNIMPL		/* unused */
395220	STD		{ int|linux_sys||getdents64(int fd, \
396			    struct linux_dirent64 *dent, unsigned int count); }
397221	UNIMPL		gettid
398222	UNIMPL		tkill
399223	STD		{ int|linux_sys||setxattr(char *path, char *name, \
400			    void *value, size_t size, int flags); }
401224	STD		{ int|linux_sys||lsetxattr(char *path, char *name, \
402			    void *value, size_t size, int flags); }
403225	STD		{ int|linux_sys||fsetxattr(int fd, char *name, \
404			    void *value, size_t size, int flags); }
405226	STD		{ ssize_t|linux_sys||getxattr(char *path, char *name, \
406			    void *value, size_t size); }
407227	STD		{ ssize_t|linux_sys||lgetxattr(char *path, char *name, \
408			    void *value, size_t size); }
409228	STD		{ ssize_t|linux_sys||fgetxattr(int fd, char *name, \
410			    void *value, size_t size); }
411229	STD		{ ssize_t|linux_sys||listxattr(char *path, char *list, \
412			    size_t size); }
413230	STD		{ ssize_t|linux_sys||llistxattr(char *path, char *list, \
414			    size_t size); }
415231	STD		{ ssize_t|linux_sys||flistxattr(int fd, char *list, \
416			    size_t size); }
417232	STD		{ int|linux_sys||removexattr(char *path, char *name); }
418233	STD		{ int|linux_sys||lremovexattr(char *path, char *name); }
419234	STD		{ int|linux_sys||fremovexattr(int fd, char *name); }
420235	UNIMPL		futex
421236	UNIMPL		sendfile64
422237	UNIMPL		mincore
423238	UNIMPL		madvise
424239	UNIMPL		fcntl64
425240	UNIMPL		readahead
426241	UNIMPL		io_setup
427242	UNIMPL		io_destroy
428243	UNIMPL		io_getevents
429244	UNIMPL		io_submit
430245	UNIMPL		io_cancel
431246	UNIMPL		fadvise64
432247	UNIMPL		exit_group
433248	UNIMPL		lookup_dcookie
434249	UNIMPL		epoll_create
435250	UNIMPL		epoll_ctl
436251	UNIMPL		epoll_wait
437252	UNIMPL		remap_file_pages
438253	UNIMPL		set_tid_address
439254	UNIMPL		timer_create
440255	UNIMPL		timer_settime
441256	UNIMPL		timer_gettime
442257	UNIMPL		timer_getoverrun
443258	UNIMPL		timer_delete
444259	STD		{ int|linux_sys||clock_settime(clockid_t which, \
445			    struct linux_timespec *tp); }
446260	STD		{ int|linux_sys||clock_gettime(clockid_t which, \
447			    struct linux_timespec *tp); }
448261	STD		{ int|linux_sys||clock_getres(clockid_t which, \
449			    struct linux_timespec *tp); }
450262	STD		{ int|linux_sys||clock_nanosleep(clockid_t which, \
451			    int flags, struct linux_timespec *rqtp, \
452			    struct linux_timespec *rmtp); }
453