syscalls.master revision 49787
1	$Id: syscalls.master,v 1.19 1999/08/14 17:14:13 marcel Exp $
2
3;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93
4; System call name/number master file (or rather, slave, from LINUX).
5; Processed to created linux_sysent.c, linux_syscalls.c and linux_syscall.h.
6
7; Columns: number type nargs namespc name alt{name,tag,rtyp}/comments
8;	number	system call number, must be in order
9;	type	one of STD, OBSOL, UNIMPL, COMPAT
10;	namespc one of POSIX, BSD, STD, NOHIDE (I dont care :-) -Peter
11;	name	psuedo-prototype of syscall routine
12;		If one of the following alts is different, then all appear:
13;	altname	name of system call if different
14;	alttag	name of args struct tag if different from [o]`name'"_args"
15;	altrtyp	return type if not int (bogus - syscalls always return int)
16;		for UNIMPL/OBSOL, name continues with comments
17
18; types:
19;	STD	always included
20;	COMPAT	included on COMPAT #ifdef
21;	LIBCOMPAT included on COMPAT #ifdef, and placed in syscall.h
22;	OBSOL	obsolete, not included in system, only specifies name
23;	UNIMPL	not implemented, placeholder only
24
25#include "opt_compat.h"
26#include <sys/param.h>
27#include <sys/sysent.h>
28#include <sys/sysproto.h>
29#include <i386/linux/linux.h>
30#include <i386/linux/linux_proto.h>
31
32; #ifdef's, etc. may be included, and are copied to the output files.
33
340	STD	LINUX	{ int linux_setup(void); }
351	NOPROTO	LINUX	{ int exit(int rval); }
362	STD	LINUX	{ int linux_fork(void); }
373	NOPROTO	LINUX	{ int read(int fd, char *buf, u_int nbyte); }
384	NOPROTO	LINUX	{ int write(int fd, char *buf, u_int nbyte); }
395	STD	LINUX	{ int linux_open(char *path, int flags, int mode); }
406	NOPROTO	LINUX	{ int close(int fd); }
417	STD	LINUX	{ int linux_waitpid(int pid, int *status, int options);}
428	STD	LINUX	{ int linux_creat(char *path, int mode); }
439	STD	LINUX	{ int linux_link(char *path, char *to); }
4410	STD	LINUX	{ int linux_unlink(char *path); }
4511	STD	LINUX	{ int linux_execve(char *path, char **argp, char **envp); }
4612	STD	LINUX	{ int linux_chdir(char *path); }
4713	STD	LINUX	{ int linux_time(linux_time_t *tm); }
4814	STD	LINUX	{ int linux_mknod(char *path, int mode, int dev); }
4915	STD	LINUX	{ int linux_chmod(char *path, int mode); }
5016	STD	LINUX	{ int linux_lchown(char *path, int uid, int gid); }
5117	STD	LINUX	{ int linux_break(char *nsize); }
5218	STD	LINUX	{ int linux_stat(char *path, struct ostat *up); }
5319	STD	LINUX	{ int linux_lseek(int fdes, long off, int whence); }
5420	NOPROTO	LINUX	{ int getpid(void); }
5521	STD	LINUX	{ int linux_mount(void); }
5622	STD	LINUX	{ int linux_umount(void); }
5723	NOPROTO	LINUX	{ int setuid(uid_t uid); }
5824	NOPROTO	LINUX	{ int getuid(void); }
5925	STD	LINUX	{ int linux_stime(void); }
6026	STD	LINUX	{ int linux_ptrace(void); }
6127	STD	LINUX	{ int linux_alarm(unsigned int secs); }
6228	STD	LINUX	{ int linux_fstat(int fd, struct ostat *up); }
6329	STD	LINUX	{ int linux_pause(void); }
6430	STD	LINUX	{ int linux_utime(char *fname, struct linux_utimbuf *times); }
6531	STD	LINUX	{ int linux_stty(void); }
6632	STD	LINUX	{ int linux_gtty(void); }
6733	STD	LINUX	{ int linux_access(char *path, int flags); }
6834	STD	LINUX	{ int linux_nice(int inc); }
6935	STD	LINUX	{ int linux_ftime(void); }
7036	NOPROTO	LINUX	{ int sync(void); }
7137	STD	LINUX	{ int linux_kill(int pid, int signum); }
7238	STD	LINUX	{ int linux_rename(char *from, char *to); }
7339	STD	LINUX	{ int linux_mkdir(char *path, int mode); }
7440	STD	LINUX	{ int linux_rmdir(char *path); }
7541	NOPROTO	LINUX	{ int dup(u_int fd); }
7642	STD	LINUX	{ int linux_pipe(int *pipefds); }
7743	STD	LINUX	{ int linux_times(struct linux_times_argv *buf); }
7844	STD	LINUX	{ int linux_prof(void); }
7945	STD	LINUX	{ int linux_brk(char *dsend); }
8046	NOPROTO	LINUX	{ int setgid(gid_t gid); }
8147	NOPROTO	LINUX	{ int getgid(void); }
8248	STD	LINUX	{ int linux_signal(int sig, linux_handler_t handler); }
8349	NOPROTO	LINUX	{ int geteuid(void); }
8450	NOPROTO	LINUX	{ int getegid(void); }
8551	NOPROTO	LINUX	{ int acct(char *path); }
8652	STD	LINUX	{ int linux_phys(void); }
8753	STD	LINUX	{ int linux_lock(void); }
8854	STD	LINUX	{ int linux_ioctl(int fd, u_long cmd, int arg); }
8955	STD	LINUX	{ int linux_fcntl(int fd, int cmd, int arg); }
9056	STD	LINUX	{ int linux_mpx(void); }
9157	NOPROTO	LINUX	{ int setpgid(int pid, int pgid); }
9258	STD	LINUX	{ int linux_ulimit(void); }
9359	STD	LINUX	{ int linux_olduname(struct linux_oldold_utsname *up); }
9460	NOPROTO	LINUX	{ int umask(int newmask); }
9561	NOPROTO	LINUX	{ int chroot(char *path); }
9662	STD	LINUX	{ int linux_ustat(void); }
9763	NOPROTO	LINUX	{ int dup2(u_int from, u_int to); }
9864	NOPROTO	LINUX	{ int getppid(void); }
9965	NOPROTO	LINUX	{ int getpgrp(void); }
10066	NOPROTO	LINUX	{ int setsid(void); }
10167	STD	LINUX	{ int linux_sigaction(int sig, \
102			    struct linux_sigaction *nsa, \
103			    struct linux_sigaction *osa); }
10468	STD	LINUX	{ int linux_siggetmask(void); }
10569	STD	LINUX	{ int linux_sigsetmask(linux_sigset_t mask); }
10670	NOPROTO	LINUX	{ int setreuid(int ruid, int euid); }
10771	NOPROTO	LINUX	{ int setregid(int rgid, int egid); }
10872	STD	LINUX	{ int linux_sigsuspend(int restart, \
109			    linux_sigset_t oldmask, linux_sigset_t mask); }
11073	STD	LINUX	{ int linux_sigpending(linux_sigset_t *mask); }
11174	NOPROTO	LINUX	{ int osethostname(char *hostname, \
112			    u_int len);}
11375	STD	LINUX	{ int linux_setrlimit(u_int resource, \
114			    struct ogetrlimit *rlim); }
11576	STD	LINUX	{ int linux_getrlimit(u_int resource, \
116			    struct ogetrlimit *rlim); }
11777	NOPROTO	LINUX	{ int getrusage(int who, struct rusage *rusage); }
11878	NOPROTO	LINUX	{ int gettimeofday(struct timeval *tp, \
119			    struct timezone *tzp); }
12079	NOPROTO	LINUX	{ int settimeofday(struct timeval *tp, \
121			    struct timezone *tzp); }
12280	STD	LINUX	{ int linux_getgroups(u_int gidsetsize, \
123			    linux_gid_t *gidset); }
12481	STD	LINUX	{ int linux_setgroups(u_int gidsetsize, \
125			    linux_gid_t *gidset); }
12682	STD	LINUX	{ int linux_select(struct linux_select_argv *ptr); }
12783	STD	LINUX	{ int linux_symlink(char *path, char *to); }
12884	NOPROTO	LINUX	{ int ostat(char *path, struct ostat *up); }
12985	STD	LINUX	{ int linux_readlink(char *name, char *buf, \
130			    int count); }
13186	STD	LINUX	{ int linux_uselib(char *library); }
13287	NOPROTO	LINUX	{ int swapon(char *name); }
13388	NOPROTO	LINUX	{ int reboot(int opt); }
13489	STD	LINUX	{ int linux_readdir(int fd, struct linux_dirent *dent, \
135			    unsigned int count); }
13690	STD	LINUX	{ int linux_mmap(struct linux_mmap_argv *ptr); }
13791	NOPROTO	LINUX	{ int munmap(caddr_t addr, int len); }
13892	STD	LINUX	{ int linux_truncate(char *path, long length); }
13993	NOPROTO	LINUX	{ int oftruncate(int fd, long length); }
14094	NOPROTO	LINUX	{ int fchmod(int fd, int mode); }
14195	NOPROTO	LINUX	{ int fchown(int fd, int uid, int gid); }
14296	NOPROTO	LINUX	{ int getpriority(int which, int who); }
14397	NOPROTO	LINUX	{ int setpriority(int which, int who, int prio); }
14498	NOPROTO	LINUX	{ int profil(caddr_t samples, u_int size, \
145			    u_int offset, u_int scale); }
14699	STD	LINUX	{ int linux_statfs(char *path, \
147			    struct linux_statfs_buf *buf); }
148100	STD	LINUX	{ int linux_fstatfs(int fd, \
149			    struct linux_statfs_buf *buf); }
150101	STD	LINUX	{ int linux_ioperm(unsigned int lo, \
151			    unsigned int hi, int val); }
152102	STD	LINUX	{ int linux_socketcall(int what, void *args); }
153103	STD	LINUX	{ int linux_ksyslog(int what); }
154104	STD	LINUX	{ int linux_setitimer(u_int which, \
155			    struct itimerval *itv, struct itimerval *oitv); }
156105	STD	LINUX	{ int linux_getitimer(u_int which, \
157			    struct itimerval *itv); }
158106	STD	LINUX	{ int linux_newstat(char *path, \
159			    struct linux_newstat *buf); }
160107	STD	LINUX	{ int linux_newlstat(char *path, \
161			    struct linux_newstat *buf); }
162108	STD	LINUX	{ int linux_newfstat(int fd, struct linux_newstat *buf); }
163109	STD	LINUX	{ int linux_uname(struct linux_old_utsname *up); }
164110	STD	LINUX	{ int linux_iopl(int level); }
165111	STD	LINUX	{ int linux_vhangup(void); }
166112	STD	LINUX	{ int linux_idle(void); }
167113	STD	LINUX	{ int linux_vm86(void); }
168114	STD	LINUX	{ int linux_wait4(int pid, int *status, \
169			    int options, struct rusage *rusage); }
170115	STD	LINUX	{ int linux_swapoff(void); }
171116	STD	LINUX	{ int linux_sysinfo(void); }
172117	STD	LINUX	{ int linux_ipc(int what, int arg1, int arg2, int arg3, \
173			    caddr_t ptr); }
174118	NOPROTO	LINUX	{ int fsync(int fd); }
175119	STD	LINUX	{ int linux_sigreturn(struct linux_sigcontext *scp); }
176120	STD	LINUX	{ int linux_clone(int flags, void *stack); }
177121	NOPROTO	LINUX	{ int setdomainname(char *name, \
178			    int len); }
179122	STD	LINUX	{ int linux_newuname(struct linux_newuname_t *buf); }
180123	STD	LINUX	{ int linux_modify_ldt(int func, void *ptr, \
181			    size_t bytecount); }
182124	STD	LINUX	{ int linux_adjtimex(void); }
183125	NOPROTO	LINUX	{ int mprotect(caddr_t addr, int len, int prot); }
184126	STD	LINUX	{ int linux_sigprocmask(int how, \
185			    linux_sigset_t *mask, linux_sigset_t *omask); }
186127	STD	LINUX	{ int linux_create_module(void); }
187128	STD	LINUX	{ int linux_init_module(void); }
188129	STD	LINUX	{ int linux_delete_module(void); }
189130	STD	LINUX	{ int linux_get_kernel_syms(void); }
190131	STD	LINUX	{ int linux_quotactl(void); }
191132	STD	LINUX	{ int linux_getpgid(int pid); }
192133	NOPROTO	LINUX	{ int fchdir(int fd); }
193134	STD	LINUX	{ int linux_bdflush(void); }
194135	UNIMPL	LINUX	sysfs
195136	STD	LINUX	{ int linux_personality(int per); }
196137	UNIMPL	LINUX	afs_syscall
197138	UNIMPL	LINUX	setfsuid
198139	UNIMPL	LINUX	getfsuid
199140	STD	LINUX	{ int linux_llseek(int fd, u_int32_t ohigh, \
200			    u_int32_t olow, caddr_t res, int whence); }
201141	STD	LINUX	{ int linux_getdents(int fd, void *dent, \
202			    unsigned count); }
203142	STD	LINUX	{ int linux_newselect(int nfds, fd_set *readfds, \
204			    fd_set *writefds, fd_set *exceptfds, \
205			    struct timeval *timeout); }
206143	NOPROTO	LINUX	{ int flock(int fd, int how); }
207144	STD	LINUX	{ int linux_msync(caddr_t addr, int len, int fl); }
208145	NOPROTO	LINUX	{ int readv(int fd, struct iovec *iovp, \
209				u_int iovcnt); }
210146	NOPROTO	LINUX	{ int writev(int fd, struct iovec *iovp, \
211				u_int iovcnt); }
212
213; Turn on getsid after checking that it matches.
214
215147	UNIMPL	LINUX	getsid
216148	UNIMPL	LINUX	fdatasync
217149	UNIMPL	LINUX	_sysctl
218
219150	NOPROTO	BSD	{ int mlock(const void *addr, size_t len); }
220151	NOPROTO	BSD	{ int munlock(const void *addr, size_t len); }
221152	NOPROTO	BSD	{ int mlockall(int how); }
222153	NOPROTO	BSD	{ int munlockall(void); }
223
224154	NOPROTO	POSIX	{ int sched_setparam (pid_t pid, const struct sched_param *param); }
225155	NOPROTO	POSIX	{ int sched_getparam (pid_t pid, struct sched_param *param); }
226
227156	NOPROTO	POSIX	{ int sched_setscheduler (pid_t pid, int policy, const struct sched_param *param); }
228157	NOPROTO	POSIX	{ int sched_getscheduler (pid_t pid); }
229
230158	NOPROTO	POSIX	{ int sched_yield (void); }
231159	NOPROTO	POSIX	{ int sched_get_priority_max (int policy); }
232160	NOPROTO	POSIX	{ int sched_get_priority_min (int policy); }
233161	NOPROTO	POSIX	{ int sched_rr_get_interval (pid_t pid, struct timespec *interval); }
234
235162	NOPROTO	POSIX	{ int nanosleep(const struct timespec *rqtp, \
236			    struct timespec *rmtp); }
237
238163	STD	LINUX	{ int linux_mremap(caddr_t addr, int old_len, \
239			    int new_len, int flags); }
240164	UNIMPL	LINUX	setresuid
241165	UNIMPL	LINUX	getresuid
242166	UNIMPL	LINUX	new_vm86
243167	UNIMPL	LINUX	query_module
244168	NOPROTO	LINUX	{ int poll(struct pollfd*, unsigned int nfds, \
245				   long timeout); }
246169	UNIMPL	LINUX	nfsservctl
247170	UNIMPL	LINUX	setresgid
248171	UNIMPL	LINUX	getresgid
249172	UNIMPL	LINUX	prctl
250173	UNIMPL	LINUX	rt_sigreturn
251174	STD	LINUX	{ int linux_rt_sigaction(int sig, \
252				struct linux_new_sigaction *act, \
253				struct linux_new_sigaction *oact, \
254				size_t sigsetsize); }
255175	STD	LINUX	{ int linux_rt_sigprocmask(int how, \
256				struct linux_new_sigset *mask, \
257				struct linux_new_sigset *omask, \
258				size_t sigsetsize); }
259176	UNIMPL	LINUX	rt_sigpending
260177	UNIMPL	LINUX	rt_sigtimedwait
261178	UNIMPL	LINUX	rt_sigqueueinfo
262179	UNIMPL	LINUX	rt_sigsuspend
263180	UNIMPL	LINUX	pread
264181	UNIMPL	LINUX	pwrite
265182	STD	LINUX	{ int linux_chown(char *path, int uid, int gid); }
266183	STD	LINUX	{ int linux_getcwd(char *buf, unsigned long bufsize); }
267184	UNIMPL	LINUX	capget
268185	UNIMPL	LINUX	capset
269186	UNIMPL	LINUX	sigaltstack
270187	UNIMPL	LINUX	sendfile
271188	UNIMPL	LINUX	getpmsg
272189	UNIMPL	LINUX	putpmsg
273190	UNIMPL	LINUX	vfork
274