xref: /netbsd-src/sys/compat/linux/arch/mips/syscalls.master (revision fd5cb0acea84d278e04e640d37ca2398f894991f)
1	$NetBSD: syscalls.master,v 1.16 2004/09/20 18:41:07 jdolecek Exp $
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4
5; Derived from NetBSD's sys/compat/linux/arch/powerpc/syscalls.master
6; from Linux's arch/mips/kernel/syscalls.h
7
8; NetBSD mips COMPAT_LINUX system call name/number "master" file.
9; (See syscalls.conf to see what it is processed into.)
10;
11; Expect problems with
12;  48 signal: undefined in Linux???
13;  86 uselib: needs a.out
14;
15; Fields: number type [type-dependent ...]
16;	number	system call number, must be in order
17;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
18;		the compatibility options defined in syscalls.conf.
19;
20; types:
21;	STD	always included
22;	OBSOL	obsolete, not included in system
23;	UNIMPL	unimplemented, not included in system
24;	NODEF	included, but don't define the syscall number
25;	NOARGS	included, but don't define the syscall args structure
26;	INDIR	included, but don't define the syscall args structure
27;		and allow it to be "really" varargs.
28;
29; The compat options are defined in the syscalls.conf file, and the
30; compat option name is prefixed to the syscall name.  Other than
31; that, they're like NODEF (for 'compat' options), or STD (for
32; 'libcompat' options).
33;
34; The type-dependent arguments are as follows:
35; For STD, NODEF, NOARGS, and compat syscalls:
36;	{ pseudo-proto } [alias]
37; For other syscalls:
38;	[comment]
39;
40; #ifdef's, etc. may be included, and are copied to the output files.
41; #include's are copied to the syscall names and switch definition files only.
42
43#if defined(_KERNEL_OPT)
44#include "opt_compat_netbsd.h"
45#include "opt_compat_43.h"
46#endif
47
48#include <sys/param.h>
49#include <sys/poll.h>
50#include <sys/systm.h>
51#include <sys/signal.h>
52#include <sys/mount.h>
53#include <sys/sa.h>
54#include <sys/syscallargs.h>
55
56#include <compat/linux/common/linux_types.h>
57#include <compat/linux/common/linux_signal.h>
58#include <compat/linux/common/linux_siginfo.h>
59#include <compat/linux/common/linux_machdep.h>
60#include <compat/linux/common/linux_mmap.h>
61#include <compat/linux/common/linux_socketcall.h>
62
63#include <compat/linux/linux_syscallargs.h>
64
650	NOARGS		{ int linux_sys_nosys(void); } syscall
661	NOARGS		{ int sys_exit(int rval); }
672	NOARGS		{ int sys_fork(void); }
683	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
694	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
705	STD		{ int linux_sys_open(const char *path, int flags, \
71			    int mode); }
726	NOARGS		{ int sys_close(int fd); }
737	STD		{ int linux_sys_waitpid(int pid, int *status, \
74			    int options);}
758	STD		{ int linux_sys_creat(const char *path, int mode); }
769	STD		{ int linux_sys_link(const char *path, \
77			    const char *link); }
7810	STD		{ int linux_sys_unlink(const char *path); }
7911	STD		{ int linux_sys_execve(const char *path, char **argp, \
80			    char **envp); }
8112	STD		{ int linux_sys_chdir(const char *path); }
8213	STD		{ int linux_sys_time(linux_time_t *t); }
8314	STD		{ int linux_sys_mknod(const char *path, int mode, \
84			    int dev); }
8515	STD		{ int linux_sys_chmod(const char *path, int mode); }
8616	STD		{ int linux_sys_lchown(const char *path, int uid, \
87			    int gid); }
8817	UNIMPL
8918	OBSOL		ostat
9019	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
91			    int whence); }
9220	NOARGS MPSAFE	{ pid_t sys_getpid(void); }
9321	UNIMPL		mount
9422	OBSOL		umount
9523	NOARGS		{ int sys_setuid(uid_t uid); }
9624	NOARGS		{ uid_t sys_getuid(void); }
9725	STD		{ int linux_sys_stime(linux_time_t *t); }
9826	STD		{ int linux_sys_ptrace(int request, int pid, \
99			  int addr, int data); }
10027	STD		{ int linux_sys_alarm(unsigned int secs); }
10128	OBSOL		ofstat
10229	STD		{ int linux_sys_pause(void); }
10330	STD		{ int linux_sys_utime(const char *path, \
104			    struct linux_utimbuf *times); }
10531	UNIMPL
10632	UNIMPL
10733	STD		{ int linux_sys_access(const char *path, int flags); }
10834	STD		{ int linux_sys_nice(int incr); }
10935	UNIMPL
11036	NOARGS		{ int sys_sync(void); }
11137	STD		{ int linux_sys_kill(int pid, int signum); }
11238	STD		{ int linux_sys_rename(const char *from, \
113			    const char *to); }
11439	STD		{ int linux_sys_mkdir(const char *path, int mode); }
11540	STD		{ int linux_sys_rmdir(const char *path); }
11641	NOARGS		{ int sys_dup(u_int fd); }
11742	STD		{ int linux_sys_pipe(int *pfds); }
11843	STD		{ int linux_sys_times(struct times *tms); }
11944	UNIMPL
12045	STD		{ int linux_sys_brk(char *nsize); }
12146	NOARGS		{ int sys_setgid(gid_t gid); }
12247	NOARGS		{ gid_t sys_getgid(void); }
12348	STD		{ int linux_sys_signal(int signum, \
124			    linux___sighandler_t handler); }
12549	NOARGS		{ uid_t sys_geteuid(void); }
12650	NOARGS		{ gid_t sys_getegid(void); }
12751	NOARGS		{ int sys_acct(char *path); }
12852	UNIMPL		umount
12953	UNIMPL
13054	STD		{ int linux_sys_ioctl(int fd, u_long com, \
131			    caddr_t data); }
13255	STD		{ int linux_sys_fcntl(int fd, int cmd, void *arg); }
13356	OBSOL		mpx
13457	NOARGS		{ int sys_setpgid(int pid, int pgid); }
13558	UNIMPL
13659 	STD  		    { int linux_sys_olduname(struct linux_old_utsname \
137			    *up); }
13860	NOARGS		{ int sys_umask(int newmask); }
13961	NOARGS		{ int sys_chroot(char *path); }
14062	UNIMPL		ustat
14163	NOARGS		{ int sys_dup2(u_int from, u_int to); }
14264	NOARGS		{ pid_t sys_getppid(void); }
14365	NOARGS		{ int sys_getpgrp(void); }
14466	NOARGS		{ int sys_setsid(void); }
14567	STD		{ int linux_sys_sigaction(int signum, \
146			    const struct linux_old_sigaction *nsa, \
147			    struct linux_old_sigaction *osa); }
14868	STD		{ int linux_sys_siggetmask(void); }
14969	STD		{ int linux_sys_sigsetmask(linux_old_sigset_t mask); }
15070	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
15171	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
15272	STD		{ int linux_sys_sigsuspend(caddr_t restart, \
153			    int oldmask, int mask); }
15473	STD		{ int linux_sys_sigpending(linux_old_sigset_t *set); }
15574	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
156			    u_int len);}
15775	STD		{ int linux_sys_setrlimit(u_int which, \
158			    struct orlimit *rlp); }
15976	STD		{ int linux_sys_getrlimit(u_int which, \
160			    struct orlimit *rlp); }
16177	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
16278	STD		{ int linux_sys_gettimeofday(struct timeval *tp, \
163			    struct timezone *tzp); }
16479	STD		{ int linux_sys_settimeofday(struct timeval *tp, \
165			    struct timezone *tzp); }
16680	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
16781	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
16882	UNIMPL		old_select
16983	STD		{ int linux_sys_symlink(const char *path, \
170			    const char *to); }
17184	NOARGS		{ int compat_43_sys_lstat(const char *path, \
172			    struct stat43 *up); } oolstat
17385	STD		{ int linux_sys_readlink(const char *name, char *buf, \
174			    int count); }
17586	UNIMPL		uselib
176;86	STD		{ int linux_sys_uselib(const char *path); }
17787	STD		{ int linux_sys_swapon(char *name); }
17888	STD		{ int linux_sys_reboot(int magic1, int magic2, \
179			    int cmd, void *arg); }
18089	STD		{ int linux_sys_readdir(int fd, caddr_t dent, \
181			    unsigned int count); }
18290	NOARGS      	{ int linux_sys_mmap(unsigned long addr, size_t len, \
183			    int prot, int flags, int fd, linux_off_t offset); }
18491	NOARGS		{ int sys_munmap(caddr_t addr, int len); }
18592	STD		{ int linux_sys_truncate(const char *path, \
186			    long length); }
18793	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
18894	NOARGS		{ int sys_fchmod(int fd, int mode); }
18995 	NOARGS		{ int sys___posix_fchown(int fd, int uid, int gid); }
19096	NOARGS		{ int sys_getpriority(int which, int who); }
19197	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
19298	UNIMPL
19399	STD		{ int linux_sys_statfs(const char *path, \
194			    struct linux_statfs *sp); }
195100	STD		{ int linux_sys_fstatfs(int fd, \
196			    struct linux_statfs *sp); }
197101	STD		{ int linux_sys_ioperm(unsigned int lo, \
198			    unsigned int hi, int val); }
199102	STD		{ int linux_sys_socketcall(int what, void *args); }
200103	UNIMPL		syslog
201104	NOARGS		{ int sys_setitimer(u_int which, \
202			    struct itimerval *itv, struct itimerval *oitv); }
203105	NOARGS		{ int sys_getitimer(u_int which, \
204			    struct itimerval *itv); }
205106	STD		{ int linux_sys_stat(const char *path, \
206			    struct linux_stat *sp); }
207107	STD		{ int linux_sys_lstat(const char *path, \
208			    struct linux_stat *sp); }
209108	STD		{ int linux_sys_fstat(int fd, struct linux_stat *sp); }
210109	STD		{ int linux_sys_uname(struct linux_utsname *up); }
211110	UNIMPL		iopl
212111	UNIMPL		vhangup
213112	UNIMPL		idle
214113	UNIMPL		vm86old
215114	STD		{ int linux_sys_wait4(int pid, int *status, \
216			    int options, struct rusage *rusage); }
217115	STD		{ int linux_sys_swapoff(const char *path); }
218116	STD		{ int linux_sys_sysinfo(struct linux_sysinfo *arg); }
219117	STD		{ int linux_sys_ipc(int what, int a1, int a2, int a3, \
220			    caddr_t ptr); }
221118	NOARGS		{ int sys_fsync(int fd); }
222119	STD		{ int linux_sys_sigreturn(struct linux_sigframe *sf); }
223120	STD		{ int linux_sys_clone(int flags, void *stack); }
224121	STD		{ int linux_sys_setdomainname(char *domainname, \
225			    int len); }
226122	STD		{ int linux_sys_new_uname(struct linux_utsname *up); }
227123	UNIMPL		modify_ldt
228124	UNIMPL		adjtimex
229125	STD		{ int linux_sys_mprotect(const void *start, \
230			    unsigned long len, int prot); }
231126	STD		{ int linux_sys_sigprocmask(int how, \
232			    const linux_old_sigset_t *set, \
233			    linux_old_sigset_t *oset); }
234127	UNIMPL		create_module
235128	UNIMPL		init_module
236129	UNIMPL		delete_module
237130	UNIMPL		get_kernel_syms
238131	UNIMPL		quotactl
239132	STD		{ int linux_sys_getpgid(int pid); }
240133	NOARGS		{ int sys_fchdir(int fd); }
241134	UNIMPL		bdflush
242135	UNIMPL		sysfs
243136	STD		{ int linux_sys_personality(int per); }
244137	UNIMPL		afs_syscall
245138	STD		{ int linux_sys_setfsuid(uid_t uid); }
246139	NOARGS		{ int linux_sys_getfsuid(void); }
247140	STD		{ int linux_sys_llseek(int fd, u_int32_t ohigh, \
248			    u_int32_t olow, caddr_t res, int whence); }
249141	STD		{ int linux_sys_getdents(int fd, \
250			    struct linux_dirent *dent, unsigned int count); }
251142	STD		{ int linux_sys_select(int nfds, fd_set *readfds, \
252			    fd_set *writefds, fd_set *exceptfds, \
253			    struct timeval *timeout); }
254143	NOARGS		{ int sys_flock(int fd, int how); }
255144	STD		{ int linux_sys_msync(caddr_t addr, int len, int fl); }
256145	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
257				u_int iovcnt); }
258146	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
259				u_int iovcnt); }
260147	STD		{ int linux_sys_cacheflush(void *addr, \
261			    int bytes, int cache); }
262148	UNIMPL		cachectl
263149	STD		{ int linux_sys_sysmips(int cmd, int arg1, \
264			    int arg2, int arg3); }
265150	UNIMPL
266151	NOARGS		{ pid_t sys_getsid(pid_t pid); }
267152	STD		{ int linux_sys_fdatasync(int fd); }
268153	STD		{ int linux_sys___sysctl(struct linux___sysctl *lsp); }
269154	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
270155	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
271156	NOARGS		{ int sys_mlockall(int flags); }
272157	NOARGS		{ int sys_munlockall(void); }
273158	STD		{ int linux_sys_sched_setparam(pid_t pid, \
274			    const struct linux_sched_param *sp); }
275159	STD		{ int linux_sys_sched_getparam(pid_t pid, \
276			    struct linux_sched_param *sp); }
277160	STD		{ int linux_sys_sched_setscheduler(pid_t pid, \
278			    int policy, const struct linux_sched_param *sp); }
279161	STD		{ int linux_sys_sched_getscheduler(pid_t pid); }
280162	STD		{ int linux_sys_sched_yield(void); }
281163	STD		{ int linux_sys_sched_get_priority_max(int policy); }
282164	STD		{ int linux_sys_sched_get_priority_min(int policy); }
283165	UNIMPL		sched_rr_get_interval
284166	NOARGS		{ int sys_nanosleep(const struct timespec *rqtp, \
285				struct timespec *rmtp); }
286167	STD		{ void *linux_sys_mremap(void *old_address, \
287			    size_t old_size, size_t new_size, u_long flags); }
288168	NOARGS		{ int linux_sys_accept(int s, \
289			    struct osockaddr *name, int *anamelen); }
290169	NOARGS		{ int linux_sys_bind(int s, \
291			    const struct osockaddr *name, int namelen); }
292170	NOARGS		{ int linux_sys_connect(int s, \
293			    const struct sockaddr *name, int namelen); }
294171	NOARGS		{ int linux_sys_getpeername(int fdes, caddr_t asa, \
295			    int *alen); }
296172	NOARGS		{ int linux_sys_getsockname(int fdes, caddr_t asa, \
297			    int *alen); }
298173	NOARGS		{ int linux_sys_getsockopt(int s, int level, \
299			    int optname, void *optval, int *optlen); }
300174	NOARGS		{ int sys_listen(int s, int backlog); }
301175	NOARGS		{ int linux_sys_recv(int s, void *buf, int len, \
302			    int flags); }
303176	NOARGS		{ int linux_sys_recvfrom(int s, void *buf, int len, \
304			    int flags, struct osockaddr *from, \
305			    int *fromlenaddr); }
306177	NOARGS		{ int linux_sys_recvmsg(int s, struct msghdr *msg, \
307			    u_int flags); }
308178	NOARGS		{ int linux_sys_send(int s, caddr_t buf, int len, \
309			    int flags); }
310179	NOARGS		{ int linux_sys_sendmsg(int s, struct msghdr *msg, \
311			    u_int flags); }
312180	NOARGS		{ int linux_sys_sendto(int s, void *msg, \
313			    int len, int flags, struct osockaddr *to, \
314			    int tolen); }
315181	NOARGS		{ int linux_sys_setsockopt(int s, int level, \
316			    int optname, void *optval, int optlen); }
317182	UNIMPL		shutdown
318183	NOARGS		{ int linux_sys_socket(int domain, int type, \
319			    int protocol); }
320184	NOARGS		{ int linux_sys_socketpair(int domain, int type, \
321			    int protocol, int *rsv); }
322185	STD		{ int linux_sys_setresuid(uid_t ruid, uid_t euid, \
323			    uid_t suid); }
324186	STD		{ int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \
325			    uid_t *suid); }
326187	UNIMPL		query_module
327188	NOARGS		{ int sys_poll(struct pollfd *fds, u_int nfds, \
328			    int timeout); }
329189	UNIMPL		nfsservctl
330190	STD		{ int linux_sys_setresgid(gid_t rgid, gid_t egid, \
331			    gid_t sgid); }
332191	STD		{ int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \
333			    gid_t *sgid); }
334192	UNIMPL		prctl
335193	STD		{ int linux_sys_rt_sigreturn( \
336			    struct linux_pt_regs regs); }
337194	STD		{ int linux_sys_rt_sigaction(int signum, \
338			    const struct linux_sigaction *nsa, \
339			    struct linux_sigaction *osa, \
340			    size_t sigsetsize); }
341195	STD		{ int linux_sys_rt_sigprocmask(int how, \
342			    const linux_sigset_t *set, \
343			    linux_sigset_t *oset, \
344			    size_t sigsetsize); }
345196	STD		{ int linux_sys_rt_sigpending( \
346			    linux_sigset_t *set, \
347			    size_t sigsetsize); }
348197	UNIMPL		rt_sigtimedwait
349; XXX XAX int here?  sigset_t here?  siginfo_t
350198	STD		{ int linux_sys_rt_queueinfo(int pid, int signum, \
351			    void *uinfo); }
352199	STD		{ int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \
353			    size_t sigsetsize); }
354200	STD		{ int linux_sys_pread(int fd, char *buf, \
355			    size_t nbyte, linux_off_t offset); }
356201	STD		{ int linux_sys_pwrite(int fd, char *buf, \
357			    size_t nbyte, linux_off_t offset); }
358202	STD		{ int linux_sys_chown(const char *path, \
359			    int uid, int gid); }
360203	NOARGS		{ int sys___getcwd(char *bufp, size_t length); }
361204	UNIMPL		capget
362205	UNIMPL		capset
363206	STD		{ int linux_sys_sigaltstack( \
364			    const struct linux_sigaltstack *ss, \
365			    struct linux_sigaltstack *oss); }
366207	UNIMPL		sendfile
367208	UNIMPL
368209	UNIMPL
369210	NOARGS		{ linux_off_t linux_sys_mmap2(unsigned long addr, \
370			    size_t len, int prot, int flags, int fd, \
371			    linux_off_t offset); }
372211	STD		{ int linux_sys_truncate64(const char *path, \
373			    off_t length); }
374212	STD		{ int linux_sys_ftruncate64(unsigned int fd, \
375			    off_t length); }
376213	STD		{ int linux_sys_stat64(const char *path, \
377			    struct linux_stat64 *sp); }
378214	STD		{ int linux_sys_lstat64(const char *path, \
379			    struct linux_stat64 *sp); }
380215	STD		{ int linux_sys_fstat64(int fd, \
381			    struct linux_stat64 *sp); }
382216	UNIMPL		pivot_root
383217	NOARGS		{ int sys_mincore(void *addr, size_t len, char *vec); }
384218	NOARGS		{ int sys_madvise(void *addr, size_t len, int behav); }
385219	STD		{ int linux_sys_getdents64(int fd, \
386			    struct linux_dirent64 *dent, unsigned int count); }
387220	STD		{ int linux_sys_fcntl64(int fd, \
388			    int cmd, void *arg); }
389221	UNIMPL		/* reserved */
390222	UNIMPL		gettid
391223	UNIMPL		readahead
392224	UNIMPL		setxattr
393225	UNIMPL		lsetxattr
394226	UNIMPL		fsetxattr
395227	UNIMPL		getxattr
396228	UNIMPL		lgetxattr
397229	UNIMPL		fgetxattr
398230	UNIMPL		listxattr
399231	UNIMPL		llistxattr
400232	UNIMPL		flistxattr
401233	UNIMPL		removexattr
402234	UNIMPL		lremovexattr
403235	UNIMPL		fremovexattr
404236	UNIMPL		tkill
405237	UNIMPL		sendfile64
406238	UNIMPL		futex
407239	UNIMPL		sched_setaffinity
408240	UNIMPL		sched_getaffinity
409241	UNIMPL		io_setup
410242	UNIMPL		io_destroy
411243	UNIMPL		io_getevents
412244	UNIMPL		io_submit
413245	UNIMPL		io_cancel
414246	STD		{ int linux_sys_exit_group(int error_code); }
415247	UNIMPL		lookup_dcookie
416248	UNIMPL		epoll_create
417249	UNIMPL		epoll_ctl
418250	UNIMPL		epoll_wait
419251	UNIMPL		remap_file_pages
420252	UNIMPL		set_tid_address
421253	UNIMPL		restart_syscall
422254	UNIMPL		fadvise64
423255	STD		{ int linux_sys_statfs64(const char *path, \
424			    size_t sz, struct linux_statfs64 *sp); }
425256	STD		{ int linux_sys_fstatfs64(int fd, \
426			    size_t sz, struct linux_statfs64 *sp); }
427257	UNIMPL		timer_create
428258	UNIMPL		timer_settime
429259	UNIMPL		timer_gettime
430260	UNIMPL		timer_getoverrun
431261	UNIMPL		timer_delete
432262	UNIMPL		clock_settime
433263	UNIMPL		clock_gettime
434264	UNIMPL		clock_getres
435265	UNIMPL		clock_nanosleep
436266	UNIMPL		tgkill
437267	UNIMPL		utimes
438268	UNIMPL		mbind
439269	UNIMPL		get_mempolicy
440270	UNIMPL		set_mempolicy
441271	UNIMPL		mq_open
442272	UNIMPL		mq_unlink
443273	UNIMPL		mq_timedsend
444274	UNIMPL		mq_timedreceive
445275	UNIMPL		mq_notify
446276	UNIMPL		mq_getsetattr
447