xref: /netbsd-src/sys/compat/linux/arch/m68k/syscalls.master (revision cac8e449158efc7261bebc8657cbb0125a2cfdde)
1	$NetBSD: syscalls.master,v 1.62 2008/06/18 12:21:20 tsutsui 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 sys_getrusage(int who, struct rusage *rusage); }
16578	STD		{ int linux_sys_gettimeofday(struct timeval *tp, \
166			    struct timezone *tzp); }
16779	STD		{ int linux_sys_settimeofday(struct timeval *tp, \
168			    struct timezone *tzp); }
16980	STD		{ int linux_sys_getgroups16(int gidsetsize, \
170			    linux_gid16_t *gidset); }
17181	STD		{ int linux_sys_setgroups16(int gidsetsize, \
172			    linux_gid16_t *gidset); }
17382	STD		{ int linux_sys_oldselect(struct linux_oldselect *lsp); }
17483	NOARGS		{ int sys_symlink(const char *path, const char *to); }
175#if !defined(_KERNEL) || defined(COMPAT_43)
17684	NOARGS		{ int compat_43_sys_lstat(const char *path, \
177			    struct stat43 *up); } oolstat
178#else
17984	UNIMPL		compat_43_sys_lstat
180#endif
18185	NOARGS		{ int sys_readlink(const char *name, char *buf, \
182			    int count); }
183#ifdef EXEC_AOUT
18486	STD		{ int linux_sys_uselib(const char *path); }
185#else
18686	UNIMPL		sys_uselib
187#endif
18887	STD		{ int linux_sys_swapon(char *name); }
18988	STD		{ int linux_sys_reboot(int magic1, int magic2, \
190			    int cmd, void *arg); }
19189	STD		{ int linux_sys_readdir(int fd, void *dent, \
192			    unsigned int count); }
19390	STD		{ int linux_sys_old_mmap(struct linux_oldmmap *lmp); }
19491	NOARGS		{ int sys_munmap(void *addr, int len); }
19592	NOARGS		{ int compat_43_sys_truncate(const char *path, \
196			    long length); }
197#if !defined(_KERNEL) || defined(COMPAT_43)
19893	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
199#else
20093	UNIMPL		compat_43_sys_ftruncate
201#endif
20294	NOARGS		{ int sys_fchmod(int fd, int mode); }
20395	STD		{ int linux_sys_fchown16(int fd, linux_uid16_t uid, \
204			    linux_gid16_t gid); }
20596	STD		{ int linux_sys_getpriority(int which, int who); }
20697	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
20798	NOARGS		{ int sys_profil(void *samples, u_int size, \
208			    u_int offset, u_int scale); }
20999	STD		{ int linux_sys_statfs(const char *path, \
210			    struct linux_statfs *sp); }
211100	STD		{ int linux_sys_fstatfs(int fd, \
212			    struct linux_statfs *sp); }
213101	UNIMPL		ioperm
214102	STD		{ int linux_sys_socketcall(int what, void *args); }
215103	UNIMPL		syslog
216104	NOARGS		{ int sys_setitimer(u_int which, \
217			    struct itimerval *itv, struct itimerval *oitv); }
218105	NOARGS		{ int sys_getitimer(u_int which, \
219			    struct itimerval *itv); }
220106	STD		{ int linux_sys_stat(const char *path, \
221			    struct linux_stat *sp); }
222107	STD		{ int linux_sys_lstat(const char *path, \
223			    struct linux_stat *sp); }
224108	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
225109	UNIMPL		olduname
226110	UNIMPL		iopl
227111	UNIMPL		vhangup
228112	UNIMPL		idle
229113	UNIMPL		vm86old
230114	STD		{ int linux_sys_wait4(int pid, int *status, \
231			    int options, struct rusage *rusage); }
232115	STD		{ int linux_sys_swapoff(const char *path); }
233116	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
234117	STD		{ int linux_sys_ipc(int what, int a1, int a2, int a3, \
235			    void *ptr); }
236118	NOARGS		{ int sys_fsync(int fd); }
237119	STD		{ int linux_sys_sigreturn(void); }
238120	STD		{ int linux_sys_clone(int flags, void *stack); }
239121	STD		{ int linux_sys_setdomainname(char *domainname, \
240			    int len); }
241122	STD		{ int linux_sys_uname(struct linux_utsname *up); }
242123	STD		{ int linux_sys_cacheflush(unsigned long addr, \
243			    int scope, int cache, unsigned long len); }
244124	UNIMPL		adjtimex
245125	STD		{ int linux_sys_mprotect(const void *start, \
246			    unsigned long len, int prot); }
247126	STD		{ int linux_sys_sigprocmask(int how, \
248			    const linux_old_sigset_t *set, \
249			    linux_old_sigset_t *oset); }
250127	UNIMPL		create_module
251128	UNIMPL		init_module
252129	UNIMPL		delete_module
253130	UNIMPL		get_kernel_syms
254131	UNIMPL		quotactl
255132	NOARGS		{ pid_t sys_getpgid(pid_t pid); }
256133	NOARGS		{ int sys_fchdir(int fd); }
257134	UNIMPL		bdflush
258135	UNIMPL		sysfs
259136	STD		{ int linux_sys_personality(int per); }
260137	UNIMPL		afs_syscall
261138	NOARGS		linux_setfsuid16 { int linux_sys_setfsuid(uid_t uid); }
262139	NOARGS		linux_setfsgid16 { int linux_sys_setfsgid(gid_t gid); }
263140	STD		{ int linux_sys_llseek(int fd, u_int32_t ohigh, \
264			    u_int32_t olow, void *res, int whence); }
265141	STD		{ int linux_sys_getdents(int fd, \
266			    struct linux_dirent *dent, unsigned int count); }
267142	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
268			    fd_set *writefds, fd_set *exceptfds, \
269			    struct timeval *timeout); }
270143	NOARGS		{ int sys_flock(int fd, int how); }
271144	NOARGS		{ int sys___msync13(void *addr, size_t len, int flags); }
272145	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
273				u_int iovcnt); }
274146	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
275				u_int iovcnt); }
276147	NOARGS		{ pid_t sys_getsid(pid_t pid); }
277148	STD		{ int linux_sys_fdatasync(int fd); }
278149	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
279150	NOARGS		{ int sys_mlock(void *addr, size_t len); }
280151	NOARGS		{ int sys_munlock(void *addr, size_t len); }
281152	NOARGS		{ int sys_mlockall(int flags); }
282153	NOARGS		{ int sys_munlockall(void); }
283154	STD		{ int linux_sys_sched_setparam(pid_t pid, \
284			    const struct linux_sched_param *sp); }
285155	STD		{ int linux_sys_sched_getparam(pid_t pid, \
286			    struct linux_sched_param *sp); }
287156	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
288			    int policy, const struct linux_sched_param *sp); }
289157	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
290158	STD		{ int linux_sys_sched_yield(void); }
291159	STD		{ int linux_sys_sched_get_priority_max(int policy); }
292160	STD		{ int linux_sys_sched_get_priority_min(int policy); }
293161	UNIMPL		sched_rr_get_interval
294162	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
295				struct timespec *rmtp); }
296163	STD		{ void *linux_sys_mremap(void *old_address, \
297			    size_t old_size, size_t new_size, u_long flags); }
298164	STD		{ int linux_sys_setresuid16(linux_uid16_t ruid, \
299			    linux_uid16_t euid, linux_uid16_t suid); }
300165	STD		{ int linux_sys_getresuid16(linux_uid16_t *ruid, \
301			    linux_uid16_t *euid, linux_uid16_t *suid); }
302166	UNIMPL		vm86
303167	UNIMPL		query_module
304168	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
305			    int timeout); }
306169	UNIMPL		nfsservctl
307170	STD		{ int linux_sys_setresgid16(linux_gid16_t rgid, \
308			    linux_gid16_t egid, linux_gid16_t sgid); }
309171	STD		{ int linux_sys_getresgid16(linux_gid16_t *rgid, \
310			    linux_gid16_t *egid, linux_gid16_t *sgid); }
311172	UNIMPL		prctl
312173	STD		{ int linux_sys_rt_sigreturn(void); }
313174	STD		{ int linux_sys_rt_sigaction(int signum, \
314			    const struct linux_sigaction *nsa, \
315			    struct linux_sigaction *osa, \
316			    size_t sigsetsize); }
317175	STD		{ int linux_sys_rt_sigprocmask(int how, \
318			    const linux_sigset_t *set, \
319			    linux_sigset_t *oset, \
320			    size_t sigsetsize); }
321176	STD		{ int linux_sys_rt_sigpending( \
322			    linux_sigset_t *set, \
323			    size_t sigsetsize); }
324177	UNIMPL		rt_sigtimedwait
325; XXX XAX int here?  sigset_t here?  siginfo_t
326178	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
327			    void *uinfo); }
328179	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
329			    size_t sigsetsize); }
330180	STD		{ int linux_sys_pread(int fd, char *buf, \
331			    size_t nbyte, linux_off_t offset); }
332181	STD		{ int linux_sys_pwrite(int fd, char *buf, \
333			    size_t nbyte, linux_off_t offset); }
334;182 chown on i386; lchown on m68k.
335182	STD		{ int linux_sys_lchown16(const char *path, \
336			    linux_uid16_t uid, linux_gid16_t gid); }
337183	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
338184	UNIMPL		capget
339185	UNIMPL		capset
340186	STD		{ int linux_sys_sigaltstack( \
341			    const struct linux_sigaltstack *ss, \
342			    struct linux_sigaltstack *oss); }
343187	UNIMPL		sendfile
344188	UNIMPL		getpmsg
345189	UNIMPL		putpmsg
346190	NOARGS		{ int sys___vfork14(void); }
347191	STD		{ int linux_sys_ugetrlimit(int which, \
348			    struct orlimit *rlp); }
349#define linux_sys_mmap2_args linux_sys_mmap_args
350192	NOARGS		{ linux_off_t linux_sys_mmap2(unsigned long addr, \
351			    size_t len, int prot, int flags, int fd, \
352			    linux_off_t offset); }
353193	STD		{ int linux_sys_truncate64(const char *path, \
354			    off_t length); }
355194	STD		{ int linux_sys_ftruncate64(unsigned int fd, \
356			    off_t length); }
357195	STD		{ int linux_sys_stat64(const char *path, \
358			    struct linux_stat64 *sp); }
359196	STD		{ int linux_sys_lstat64(const char *path, \
360			    struct linux_stat64 *sp); }
361197	STD		{ int linux_sys_fstat64(int fd, \
362			    struct linux_stat64 *sp); }
363198	NOARGS		 { int sys___posix_chown(const char *path, uid_t uid, \
364			    gid_t gid); }
365199	NOARGS		{ uid_t sys_getuid(void); }
366200	NOARGS		{ gid_t sys_getgid(void); }
367201	NOARGS		{ uid_t sys_geteuid(void); }
368202	NOARGS		{ gid_t sys_getegid(void); }
369203	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
370204	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
371205	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
372206	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
373207	NOARGS		{ int sys___posix_fchown(int fd, uid_t uid, \
374			    gid_t gid); }
375208	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
376			    uid_t suid); }
377209	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
378			    uid_t *suid); }
379210	STD		{ int linux_sys_setresgid(gid_t rgid, gid_t egid, \
380			    gid_t sgid); }
381211	STD		{ int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
382			    gid_t *sgid); }
383212	NOARGS		{ int sys___posix_lchown(const char *path, uid_t uid, \
384			    gid_t gid); }
385213	NOARGS		{ int sys_setuid(uid_t uid); }
386214	NOARGS		{ int sys_setgid(gid_t gid); }
387215	STD		{ int linux_sys_setfsuid(uid_t uid); }
388216	STD		{ int linux_sys_setfsgid(gid_t gid); }
389217	UNIMPL		/* unused */
390218	UNIMPL		/* unused */
391219	UNIMPL		/* unused */
392220	STD		{ int linux_sys_getdents64(int fd, \
393			    struct linux_dirent64 *dent, unsigned int count); }
394221	UNIMPL		gettid
395222	UNIMPL		tkill
396223	STD		{ int linux_sys_setxattr(char *path, char *name, \
397			    void *value, size_t size, int flags); }
398224	STD		{ int linux_sys_lsetxattr(char *path, char *name, \
399			    void *value, size_t size, int flags); }
400225	STD		{ int linux_sys_fsetxattr(int fd, char *name, \
401			    void *value, size_t size, int flags); }
402226	STD		{ ssize_t linux_sys_getxattr(char *path, char *name, \
403			    void *value, size_t size); }
404227	STD		{ ssize_t linux_sys_lgetxattr(char *path, char *name, \
405			    void *value, size_t size); }
406228	STD		{ ssize_t linux_sys_fgetxattr(int fd, char *name, \
407			    void *value, size_t size); }
408229	STD		{ ssize_t linux_sys_listxattr(char *path, char *list, \
409			    size_t size); }
410230	STD		{ ssize_t linux_sys_llistxattr(char *path, char *list, \
411			    size_t size); }
412231	STD		{ ssize_t linux_sys_flistxattr(int fd, char *list, \
413			    size_t size); }
414232	STD		{ int linux_sys_removexattr(char *path, char *name); }
415233	STD		{ int linux_sys_lremovexattr(char *path, char *name); }
416234	STD		{ int linux_sys_fremovexattr(int fd, char *name); }
417235	UNIMPL		futex
418236	UNIMPL		sendfile64
419237	UNIMPL		mincore
420238	UNIMPL		madvise
421239	UNIMPL		fcntl64
422240	UNIMPL		readahead
423241	UNIMPL		io_setup
424242	UNIMPL		io_destroy
425243	UNIMPL		io_getevents
426244	UNIMPL		io_submit
427245	UNIMPL		io_cancel
428246	UNIMPL		fadvise64
429247	UNIMPL		exit_group
430248	UNIMPL		lookup_dcookie
431249	UNIMPL		epoll_create
432250	UNIMPL		epoll_ctl
433251	UNIMPL		epoll_wait
434252	UNIMPL		remap_file_pages
435253	UNIMPL		set_tid_address
436254	UNIMPL		timer_create
437255	UNIMPL		timer_settime
438256	UNIMPL		timer_gettime
439257	UNIMPL		timer_getoverrun
440258	UNIMPL		timer_delete
441259	STD		{ int linux_sys_clock_settime(clockid_t which, \
442			    struct linux_timespec *tp); }
443260	STD		{ int linux_sys_clock_gettime(clockid_t which, \
444			    struct linux_timespec *tp); }
445261	STD		{ int linux_sys_clock_getres(clockid_t which, \
446			    struct linux_timespec *tp); }
447262	STD		{ int linux_sys_clock_nanosleep(clockid_t which, \
448			    int flags, struct linux_timespec *rqtp, \
449			    struct linux_timespec *rmtp); }
450