syscalls.master revision 1.2
1	$NetBSD: syscalls.master,v 1.2 1995/10/10 01:34:37 mycroft Exp $
2
3;	from: @(#)syscalls.master	8.2 (Berkeley) 1/13/94
4
5; NetBSD COMPAT_FREEBSD 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;
20; The compat options are defined in the syscalls.conf file, and the
21; compat option name is prefixed to the syscall name.  Other than
22; that, they're like NODEF (for 'compat' options), or STD (for
23; 'libcompat' options).
24;
25; The type-dependent arguments are as follows:
26; For STD, NODEF, NOARGS, and compat syscalls:
27;	{ pseudo-proto } [alias]
28; For other syscalls:
29;	[comment]
30;
31; #ifdef's, etc. may be included, and are copied to the output files.
32; #include's are copied to the syscall switch definition file only.
33
34#include <sys/param.h>
35#include <sys/systm.h>
36#include <sys/signal.h>
37#include <sys/mount.h>
38#include <sys/syscallargs.h>
39
40#include <compat/freebsd/freebsd_syscallargs.h>
41
42#include <machine/freebsd_machdep.h>
43
44; Reserved/unimplemented system calls in the range 0-150 inclusive
45; are reserved for use in future Berkeley releases.
46; Additional system calls implemented in vendor and other
47; redistributions should be placed in the reserved range at the end
48; of the current calls.
49
500	NOARGS		{ int sys_nosys(void); } syscall
511	NOARGS		{ int sys_exit(int rval); }
522	NOARGS		{ int sys_fork(void); }
533	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
544	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
555	STD		{ int freebsd_sys_open(char *path, int flags, \
56			    int mode); }
576	NOARGS		{ int sys_close(int fd); }
587	NOARGS		{ int sys_wait4(int pid, int *status, int options, \
59			    struct rusage *rusage); }
608	STD		{ int compat_43_freebsd_sys_creat(char *path, \
61			    int mode); } ocreat
629	STD		{ int freebsd_sys_link(char *path, char *link); }
6310	STD		{ int freebsd_sys_unlink(char *path); }
6411	OBSOL		execv
6512	STD		{ int freebsd_sys_chdir(char *path); }
6613	NOARGS		{ int sys_fchdir(int fd); }
6714	STD		{ int freebsd_sys_mknod(char *path, int mode, \
68			    int dev); }
6915	STD		{ int freebsd_sys_chmod(char *path, int mode); }
7016	STD		{ int freebsd_sys_chown(char *path, int uid, int gid); }
7117	NOARGS		{ int sys_obreak(char *nsize); } break
7218	NOARGS		{ int sys_getfsstat(struct statfs *buf, long bufsize, \
73			    int flags); }
7419	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, \
75			    int whence); } olseek
7620	NOARGS		{ pid_t sys_getpid(void); }
7721	STD		{ int freebsd_sys_mount(int type, char *path, \
78			    int flags, caddr_t data); }
7922	STD		{ int freebsd_sys_unmount(char *path, int flags); }
8023	NOARGS		{ int sys_setuid(uid_t uid); }
8124	NOARGS		{ uid_t sys_getuid(void); }
8225	NOARGS		{ uid_t sys_geteuid(void); }
8326	STD		{ int freebsd_sys_ptrace(int req, pid_t pid, \
84			    caddr_t addr, int data); }
8527	NOARGS		{ int sys_recvmsg(int s, struct msghdr *msg, \
86			    int flags); }
8728	NOARGS		{ int sys_sendmsg(int s, caddr_t msg, int flags); }
8829	NOARGS		{ int sys_recvfrom(int s, caddr_t buf, size_t len, \
89			    int flags, caddr_t from, int *fromlenaddr); }
9030	NOARGS		{ int sys_accept(int s, caddr_t name, int *anamelen); }
9131	NOARGS		{ int sys_getpeername(int fdes, caddr_t asa, \
92			    int *alen); }
9332	NOARGS		{ int sys_getsockname(int fdes, caddr_t asa, \
94			    int *alen); }
9533	STD		{ int freebsd_sys_access(char *path, int flags); }
9634	STD		{ int freebsd_sys_chflags(char *path, int flags); }
9735	NOARGS		{ int sys_fchflags(int fd, int flags); }
9836	NOARGS		{ int sys_sync(void); }
9937	NOARGS		{ int sys_kill(int pid, int signum); }
10038	STD		{ int compat_43_freebsd_sys_stat(char *path, \
101			    struct ostat *ub); } ostat
10239	NOARGS		{ pid_t getppid(void); }
10340	STD		{ int compat_43_freebsd_sys_lstat(char *path, \
104			    struct ostat *ub); } olstat
10541	NOARGS		{ int sys_dup(u_int fd); }
10642	NOARGS		{ int sys_pipe(void); }
10743	NOARGS		{ gid_t sys_getegid(void); }
10844	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
109			    u_int offset, u_int scale); }
110#ifdef KTRACE
11145	NOARGS		{ int sys_ktrace(char *fname, int ops, int facs, \
112			    int pid); }
113#else
11445	UNIMPL		ktrace
115#endif
11646	NOARGS		{ int sys_sigaction(int signum, struct sigaction *nsa, \
117			    struct sigaction *osa); }
11847	NOARGS		{ gid_t sys_getgid(void); }
11948	NOARGS		{ int sys_sigprocmask(int how, sigset_t mask); }
12049	NOARGS		{ int sys_getlogin(char *namebuf, u_int namelen); }
12150	NOARGS		{ int sys_setlogin(char *namebuf); }
12251	NOARGS		{ int sys_acct(char *path); }
12352	NOARGS		{ int sys_sigpending(void); }
12453	NOARGS		{ int sys_sigaltstack(struct sigaltstack *nss, \
125			    struct sigaltstack *oss); }
12654	STD		{ int freebsd_sys_ioctl(int fd, u_long com, \
127			    caddr_t data); }
12855	NOARGS		{ int sys_reboot(int opt); }
12956	STD		{ int freebsd_sys_revoke(char *path); }
13057	STD		{ int freebsd_sys_symlink(char *path, char *link); }
13158	STD		{ int freebsd_sys_readlink(char *path, char *buf, \
132			    int count); }
13359	STD		{ int freebsd_sys_execve(char *path, char **argp, \
134			    char **envp); }
13560	NOARGS		{ int sys_umask(int newmask); }
13661	STD		{ int freebsd_sys_chroot(char *path); }
13762	NOARGS		{ int compat_43_sys_fstat(int fd, struct ostat *sb); } \
138			    ofstat
13963	NOARGS		{ int compat_43_sys_getkerninfo(int op, char *where, \
140			    int *size, int arg); } ogetkerninfo
14164	NOARGS		{ int compat_43_sys_getpagesize(void); } ogetpagesize
14265	STD		{ int freebsd_sys_msync(caddr_t addr, size_t len, \
143			    int flags); }
14466	NOARGS		{ int sys_vfork(void); }
14567	OBSOL		vread
14668	OBSOL		vwrite
14769	NOARGS		{ int sys_sbrk(int incr); }
14870	NOARGS		{ int sys_sstk(int incr); }
14971	NOARGS		{ int compat_43_sys_mmap(caddr_t addr, size_t len, \
150			    int prot, int flags, int fd, long pos); } ommap
15172	NOARGS		{ int sys_ovadvise(int anom); } vadvise
15273	NOARGS		{ int sys_munmap(caddr_t addr, size_t len); }
15374	NOARGS		{ int sys_mprotect(caddr_t addr, size_t len, \
154			    int prot); }
15575	NOARGS		{ int sys_madvise(caddr_t addr, size_t len, \
156			    int behav); }
15776	OBSOL		vhangup
15877	OBSOL		vlimit
15978	NOARGS		{ int sys_mincore(caddr_t addr, size_t len, char *vec); }
16079	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
16180	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
16281	NOARGS		{ int sys_getpgrp(void); }
16382	NOARGS		{ int sys_setpgid(int pid, int pgid); }
16483	NOARGS		{ int sys_setitimer(u_int which, \
165			    struct itimerval *itv, struct itimerval *oitv); }
16684	NOARGS		{ int compat_43_sys_wait(void); } owait
16785	NOARGS		{ int sys_swapon(char *name); }
16886	NOARGS		{ int sys_getitimer(u_int which, \
169			    struct itimerval *itv); }
17087	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
171			    u_int len); } ogethostname
17288	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
173			    u_int len); } osethostname
17489	NOARGS		{ int compat_43_sys_getdtablesize(void); } \
175			    ogetdtablesize
17690	NOARGS		{ int sys_dup2(u_int from, u_int to); }
17791	UNIMPL		getdopt
17892	NOARGS		{ int sys_fcntl(int fd, int cmd, void *arg); }
17993	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
180			    fd_set *ex, struct timeval *tv); }
18194	UNIMPL		setdopt
18295	NOARGS		{ int sys_fsync(int fd); }
18396	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
18497	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
18598	NOARGS		{ int sys_connect(int s, caddr_t name, int namelen); }
18699	NOARGS		{ int compat_43_sys_accept(int s, caddr_t name, \
187			    int *anamelen); } oaccept
188100	NOARGS		{ int sys_getpriority(int which, int who); }
189101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
190			    int flags); } osend
191102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
192			    int flags); } orecv
193103	STD		{ int freebsd_sys_sigreturn( \
194			    struct freebsd_sigcontext *scp); }
195104	NOARGS		{ int sys_bind(int s, caddr_t name, int namelen); }
196105	NOARGS		{ int sys_setsockopt(int s, int level, int name, \
197			    caddr_t val, int valsize); }
198106	NOARGS		{ int sys_listen(int s, int backlog); }
199107	OBSOL		vtimes
200108	NOARGS		{ int compat_43_sys_sigvec(int signum, \
201			    struct sigvec *nsv, struct sigvec *osv); } osigvec
202109	NOARGS		{ int compat_43_sys_sigblock(int mask); } osigblock
203110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); } osigsetmask
204111	NOARGS		{ int sys_sigsuspend(int mask); }
205112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
206			    struct sigstack *oss); } osigstack
207113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
208			    struct omsghdr *msg, int flags); } orecvmsg
209114	NOARGS		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
210			    int flags); } osendmsg
211#ifdef TRACE
212115	NOARGS		{ int sys_vtrace(int request, int value); }
213#else
214115	OBSOL		vtrace
215#endif
216116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
217			    struct timezone *tzp); }
218117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
219118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
220			    caddr_t val, int *avalsize); }
221119	OBSOL		resuba
222120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
223			    u_int iovcnt); }
224121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
225			    u_int iovcnt); }
226122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
227			    struct timezone *tzp); }
228123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
229124	NOARGS		{ int sys_fchmod(int fd, int mode); }
230125	NOARGS		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
231			    size_t len, int flags, caddr_t from, \
232			    int *fromlenaddr); } orecvfrom
233126	NOARGS		{ int compat_43_sys_setreuid(int ruid, int euid); } \
234			    osetreuid
235127	NOARGS		{ int compat_43_sys_setregid(int rgid, int egid); } \
236			    osetregid
237128	STD		{ int freebsd_sys_rename(char *from, char *to); }
238129	STD		{ int compat_43_freebsd_sys_truncate(char *path, \
239			    long length); } otruncate
240130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); } \
241			    oftruncate
242131	NOARGS		{ int sys_flock(int fd, int how); }
243132	STD		{ int freebsd_sys_mkfifo(char *path, int mode); }
244133	NOARGS		{ int sys_sendto(int s, caddr_t buf, size_t len, \
245			    int flags, caddr_t to, int tolen); }
246134	NOARGS		{ int sys_shutdown(int s, int how); }
247135	NOARGS		{ int sys_socketpair(int domain, int type, \
248			    int protocol, int *rsv); }
249136	STD		{ int freebsd_sys_mkdir(char *path, int mode); }
250137	STD		{ int freebsd_sys_rmdir(char *path); }
251138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
252139	OBSOL		4.2 sigreturn
253140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
254			    struct timeval *olddelta); }
255141	NOARGS		{ int compat_43_sys_getpeername(int fdes, caddr_t asa, \
256			    int *alen); } ogetpeername
257142	NOARGS		{ int32_t compat_43_sys_gethostid(void); } ogethostid
258143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); } \
259			    osethostid
260144	NOARGS		{ int compat_43_sys_getrlimit(u_int which, \
261			    struct ogetrlimit *rlp); } ogetrlimit
262145	NOARGS		{ int compat_43_sys_setrlimit(u_int which, \
263			    struct ogetrlimit *rlp); } osetrlimit
264146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); } \
265			    okillpg
266147	NOARGS		{ int sys_setsid(void); }
267148	NOARGS		{ int sys_quotactl(char *path, int cmd, int uid, \
268			    caddr_t arg); }
269149	NOARGS		{ int compat_43_sys_quota(void); } oquota
270150	NOARGS		{ int compat_43_sys_getsockname(int fdec, caddr_t asa, \
271			    int *alen); } ogetsockname
272
273; Syscalls 151-180 inclusive are reserved for vendor-specific
274; system calls.  (This includes various calls added for compatibity
275; with other Unix variants.)
276; Some of these calls are now supported by BSD...
277151	UNIMPL
278152	UNIMPL
279153	UNIMPL
280154	UNIMPL
281#if defined(NFSCLIENT) || defined(NFSSERVER)
282155	NOARGS		{ int sys_nfssvc(int flag, caddr_t argp); }
283#else
284155	UNIMPL
285#endif
286156	NOARGS		{ int compat_43_sys_getdirentries(int fd, char *buf, \
287			    u_int count, long *basep); } ogetdirentries
288157	STD		{ int freebsd_sys_statfs(char *path, \
289			    struct statfs *buf); }
290158	NOARGS		{ int sys_fstatfs(int fd, struct statfs *buf); }
291159	UNIMPL
292160	UNIMPL
293#ifdef NFSCLIENT
294161	STD		{ int freebsd_sys_getfh(char *fname, fhandle_t *fhp); }
295#else
296161	UNIMPL		getfh
297#endif
298162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
299			    int len); }
300163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
301			    int len); }
302164	NOARGS		{ int compat_09_sys_uname(struct outsname *name); }
303165	NOARGS		{ int sys_sysarch(int op, char *parms); }
304166	STD		{ int freebsd_sys_rtprio(int function, pid_t pid, \
305			    struct freebsd_rtprio *rtp); }
306167	UNIMPL
307168	UNIMPL
308; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
309#if defined(SYSVSEM) && !defined(alpha)
310169	NOARGS		{ int compat_10_sys_semsys(int which, int a2, int a3, \
311			    int a4, int a5); }
312#else
313169	UNIMPL		1.0 semsys
314#endif
315; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
316#if defined(SYSVMSG) && !defined(alpha)
317170	NOARGS		{ int compat_10_sys_msgsys(int which, int a2, int a3, \
318			    int a4, int a5, int a6); }
319#else
320170	UNIMPL		1.0 msgsys
321#endif
322; XXX more generally, never on machines where sizeof(void *) != sizeof(int)
323#if defined(SYSVSHM) && !defined(alpha)
324171	NOARGS		{ int compat_10_sys_shmsys(int which, int a2, int a3, \
325			    int a4); }
326#else
327171	UNIMPL		1.0 shmsys
328#endif
329172	UNIMPL
330173	UNIMPL
331174	UNIMPL
332175	UNIMPL
333176	STD		{ int freebsd_ntp_adjtime(struct freebsd_timex *tp); }
334177	UNIMPL
335178	UNIMPL
336179	UNIMPL
337180	UNIMPL
338
339; Syscalls 180-199 are used by/reserved for BSD
340181	NOARGS		{ int sys_setgid(gid_t gid); }
341182	NOARGS		{ int sys_setegid(gid_t egid); }
342183	NOARGS		{ int sys_seteuid(uid_t euid); }
343#ifdef LFS
344184	NOARGS		{ int lfs_bmapv(fsid_t *fsidp, \
345			    struct block_info *blkiov, int blkcnt); }
346185	NOARGS		{ int lfs_markv(fsid_t *fsidp, \
347			    struct block_info *blkiov, int blkcnt); }
348186	NOARGS		{ int lfs_segclean(fsid_t *fsidp, u_long segment); }
349187	NOARGS		{ int lfs_segwait(fsid_t *fsidp, struct timeval *tv); }
350#else
351184	UNIMPL
352185	UNIMPL
353186	UNIMPL
354187	UNIMPL
355#endif
356188	STD		{ int freebsd_sys_stat(char *path, struct stat *ub); }
357189	NOARGS		{ int sys_fstat(int fd, struct stat *sb); }
358190	STD		{ int freebsd_sys_lstat(char *path, struct stat *ub); }
359191	STD		{ int freebsd_sys_pathconf(char *path, int name); }
360192	NOARGS		{ int sys_fpathconf(int fd, int name); }
361193	UNIMPL
362194	NOARGS		{ int sys_getrlimit(u_int which, struct rlimit *rlp); }
363195	NOARGS		{ int sys_setrlimit(u_int which, struct rlimit *rlp); }
364196	NOARGS		{ int sys_getdirentries(int fd, char *buf, \
365			    u_int count, long *basep); }
366197	NOARGS		{ caddr_t sys_mmap(caddr_t addr, size_t len, int prot, \
367			    int flags, int fd, long pad, off_t pos); }
368198	NOARGS		{ int sys_nosys(void); } __syscall
369199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, \
370			    int whence); }
371200	STD		{ int freebsd_sys_truncate(char *path, int pad, \
372			    off_t length); }
373201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
374202	NOARGS		{ int sys___sysctl(int *name, u_int namelen, \
375			    void *old, size_t *oldlenp, void *new, \
376			    size_t newlen); }
377203	NOARGS		{ int sys_mlock(caddr_t addr, size_t len); }
378204	NOARGS		{ int sys_munlock(caddr_t addr, size_t len); }
379#ifdef FREEBSD_BASED_ON_44LITE_R2
380205	STD		{ int freebsd_sys_undelete(char *path); }
381#else
382205	UNIMPL
383#endif
384206	UNIMPL
385207	UNIMPL
386208	UNIMPL
387209	UNIMPL
388;
389; Syscalls 210-219 are reserved for dynamically loaded syscalls
390;
391210	UNIMPL
392211	UNIMPL
393212	UNIMPL
394213	UNIMPL
395214	UNIMPL
396215	UNIMPL
397216	UNIMPL
398217	UNIMPL
399218	UNIMPL
400219	UNIMPL
401