$OpenBSD: syscalls.master,v 1.11 1999/06/07 07:17:48 deraadt Exp $
;	$NetBSD: syscalls.master,v 1.33 1996/02/28 16:05:43 pk Exp $

;	@(#)syscalls.master	8.1 (Berkeley) 7/19/93

; OpenBSD COMPAT_SUNOS system call name/number "master" file.
; (See syscalls.conf to see what it is processed into.)
;
; Fields: number type [type-dependent ...]
;	number	system call number, must be in order
;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
;		the compatibility options defined in syscalls.conf.
;
; types:
;	STD	always included
;	OBSOL	obsolete, not included in system
;	UNIMPL	unimplemented, not included in system
;	NODEF	included, but don't define the syscall number
;	NOARGS	included, but don't define the syscall args structure
;
; The compat options are defined in the syscalls.conf file, and the
; compat option name is prefixed to the syscall name.  Other than
; that, they're like NODEF (for 'compat' options), or STD (for
; 'libcompat' options).
;
; The type-dependent arguments are as follows:
; For STD, NODEF, NOARGS, and compat syscalls:
;	{ pseudo-proto } [alias]
; For other syscalls:
;	[comment]
;
; #ifdef's, etc. may be included, and are copied to the output files.
; #include's are copied to the syscall switch definition file only.

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/poll.h>
#include <sys/syscallargs.h>

#include <compat/sunos/sunos.h>
#include <compat/sunos/sunos_syscallargs.h>

0	NOARGS		{ int sys_nosys(void); } syscall
1	NOARGS		{ int sys_exit(int rval); }
2	NOARGS		{ int sys_fork(void); }
3	NOARGS		{ int sys_read(int fd, char *buf, u_int nbyte); }
4	NOARGS		{ int sys_write(int fd, char *buf, u_int nbyte); }
5	STD		{ int sunos_sys_open(char *path, int flags, int mode); }
6	NOARGS		{ int sys_close(int fd); }
7	STD		{ int sunos_sys_wait4(int pid, int *status, \
			    int options, struct rusage *rusage); }
8	STD		{ int sunos_sys_creat(char *path, int mode); }
9	NOARGS		{ int sys_link(char *path, char *link); }
10	NOARGS		{ int sys_unlink(char *path); }
11	STD		{ int sunos_sys_execv(char *path, char **argp); }
12	NOARGS		{ int sys_chdir(char *path); }
13	OBSOL		time
14	STD		{ int sunos_sys_mknod(char *path, int mode, int dev); }
15	NOARGS		{ int sys_chmod(char *path, int mode); }
16	NOARGS		{ int sys_lchown(char *path, int uid, int gid); }
17	NOARGS		{ int sys_obreak(char *nsize); } break
18	OBSOL		stat
19	NOARGS		{ long compat_43_sys_lseek(int fd, long offset, int whence); }
20	NOARGS		{ pid_t sys_getpid(void); }
21	OBSOL		sunos_old_mount
22	UNIMPL		System V umount
23	NOARGS		{ int sys_setuid(uid_t uid); }
24	NOARGS		{ uid_t sys_getuid(void); }
25	STD		{ int sunos_sys_ostime(int time); }
26	STD		{ long sunos_sys_ptrace(int req, pid_t pid, \
			    caddr_t addr, int data, char *addr2); }
27	UNIMPL		sunos_alarm
28	UNIMPL		sunos_fstat
29	UNIMPL		sunos_pause
30	UNIMPL		sunos_utime
31	UNIMPL		sunos_stty
32	UNIMPL		sunos_gtty
33	STD		{ int sunos_sys_access(char *path, int flags); }
34	UNIMPL		sunos_nice
35	UNIMPL		sunos_ftime
36	NOARGS		{ int sys_sync(void); }
37	NOARGS		{ int sys_kill(int pid, int signum); }
38	STD		{ int sunos_sys_stat(char *path, struct ostat *ub); }
39	UNIMPL		sunos_setpgrp
40	STD		{ int sunos_sys_lstat(char *path, struct ostat *ub); }
41	NOARGS		{ int sys_dup(u_int fd); }
42	NOARGS		{ int sys_opipe(void); }
43	STD		{ int sunos_sys_otimes(struct tms *tp); }
44	NOARGS		{ int sys_profil(caddr_t samples, u_int size, \
			    u_int offset, u_int scale); }
45	UNIMPL		
46	NOARGS		{ int sys_setgid(uid_t gid); }
47	NOARGS		{ gid_t sys_getgid(void); }
48	UNIMPL		sunos_ssig
49	UNIMPL		reserved for USG
50	UNIMPL		reserved for USG
51	NOARGS		{ int sys_acct(char *path); }
52	UNIMPL		
53	STD		{ int sunos_sys_mctl(caddr_t addr, int len, int func, \
			    void *arg); }
54	STD		{ int sunos_sys_ioctl(int fd, u_long com, \
			    caddr_t data); }
55	STD		{ int sunos_sys_reboot(int howto, char *bootstr); }
56	OBSOL		sunos_owait3
57	NOARGS		{ int sys_symlink(char *path, char *link); }
58	NOARGS		{ int sys_readlink(char *path, char *buf, int count); }
59	STD		{ int sunos_sys_execve(char *path, char **argp, \
			    char **envp); }
60	NOARGS		{ int sys_umask(int newmask); }
61	NOARGS		{ int sys_chroot(char *path); }
62	NOARGS		{ int compat_43_sys_fstat(int fd, struct ostat *sb); }
63	UNIMPL		
64	NOARGS		{ int compat_43_sys_getpagesize(void); }
65	NOARGS		{ int sys_msync(void *addr, size_t len, \
			    int flags); }
66	NOARGS		{ int sys_vfork(void); }
67	OBSOL		vread
68	OBSOL		vwrite
69	NOARGS		{ int sys_sbrk(int incr); }
70	NOARGS		{ int sys_sstk(int incr); }
71	STD		{ int sunos_sys_mmap(caddr_t addr, size_t len, \
			    int prot, int flags, int fd, long pos); }
72	NOARGS		{ int sys_ovadvise(int anom); } vadvise
73	NOARGS		{ int sys_munmap(caddr_t addr, size_t len); }
74	NOARGS		{ int sys_mprotect(caddr_t addr, size_t len, \
			    int prot); }
75	NOARGS		{ int sys_madvise(caddr_t addr, size_t len, \
			    int behav); }
76	STD		{ int sunos_sys_vhangup(void); }
77	UNIMPL		vlimit
78	NOARGS		{ int sys_mincore(caddr_t addr, size_t len, \
			    char *vec); }
79	NOARGS		{ int sys_getgroups(u_int gidsetsize, gid_t *gidset); }
80	NOARGS		{ int sys_setgroups(u_int gidsetsize, gid_t *gidset); }
81	NOARGS		{ int sys_getpgrp(void); }
82	STD		{ int sunos_sys_setpgrp(int pid, int pgid); }
83	NOARGS		{ int sys_setitimer(u_int which, \
			    struct itimerval *itv, struct itimerval *oitv); }
84	UNIMPL		{ int sunos_sys_wait(void); }
85	NOARGS		{ int sys_swapon(char *name); }
86	NOARGS		{ int sys_getitimer(u_int which, \
			    struct itimerval *itv); }
87	NOARGS		{ int compat_43_sys_gethostname(char *hostname, \
			    u_int len); }
88	NOARGS		{ int compat_43_sys_sethostname(char *hostname, \
			    u_int len); }
89	NOARGS		{ int compat_43_sys_getdtablesize(void); }
90	NOARGS		{ int sys_dup2(u_int from, u_int to); }
91	UNIMPL		getdopt
92	STD		{ int sunos_sys_fcntl(int fd, int cmd, void *arg); }
93	NOARGS		{ int sys_select(u_int nd, fd_set *in, fd_set *ou, \
			    fd_set *ex, struct timeval *tv); }
94	UNIMPL		setdopt
95	NOARGS		{ int sys_fsync(int fd); }
96	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
97	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
98	NOARGS		{ int sys_connect(int s, caddr_t name, int namelen); }
99	NOARGS		{ int compat_43_sys_accept(int s, caddr_t name, \
			    int *anamelen); }
100	NOARGS		{ int sys_getpriority(int which, int who); }
101	NOARGS		{ int compat_43_sys_send(int s, caddr_t buf, int len, \
			    int flags); }
102	NOARGS		{ int compat_43_sys_recv(int s, caddr_t buf, int len, \
			    int flags); }
103	UNIMPL		old socketaddr
104	NOARGS		{ int sys_bind(int s, caddr_t name, int namelen); }
105	STD		{ int sunos_sys_setsockopt(int s, int level, int name, \
			    caddr_t val, int valsize); }
106	NOARGS		{ int sys_listen(int s, int backlog); }
107	UNIMPL		vtimes
108	STD		{ int sunos_sys_sigvec(int signum, struct sigvec *nsv, \
			    struct sigvec *osv); }
109	NOARGS		{ int compat_43_sys_sigblock(int mask); }
110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); }
111	NOARGS		{ int sys_sigsuspend(int mask); }
112	NOARGS		{ int compat_43_sys_sigstack(struct sigstack *nss, \
			    struct sigstack *oss); }
113	NOARGS		{ int compat_43_sys_recvmsg(int s, \
			    struct omsghdr *msg, int flags); }
114	NOARGS		{ int compat_43_sys_sendmsg(int s, caddr_t msg, \
			    int flags); }
115	OBSOL		vtrace
116	NOARGS		{ int sys_gettimeofday(struct timeval *tp, \
			    struct timezone *tzp); }
117	NOARGS		{ int sys_getrusage(int who, struct rusage *rusage); }
118	NOARGS		{ int sys_getsockopt(int s, int level, int name, \
			    caddr_t val, int *avalsize); }
119	UNIMPL		
120	NOARGS		{ int sys_readv(int fd, struct iovec *iovp, \
			    u_int iovcnt); }
121	NOARGS		{ int sys_writev(int fd, struct iovec *iovp, \
			    u_int iovcnt); }
122	NOARGS		{ int sys_settimeofday(struct timeval *tv, \
			    struct timezone *tzp); }
123	NOARGS		{ int sys_fchown(int fd, int uid, int gid); }
124	NOARGS		{ int sys_fchmod(int fd, int mode); }
125	NOARGS		{ int compat_43_sys_recvfrom(int s, caddr_t buf, \
			    size_t len, int flags, caddr_t from, \
			    int *fromlenaddr); }
126	NOARGS		{ int compat_43_sys_setreuid(int ruid, int euid); }
127	NOARGS		{ int compat_43_sys_setregid(int rgid, int egid); }
128	NOARGS		{ int sys_rename(char *from, char *to); }
129	NOARGS		{ int compat_43_sys_truncate(char *path, long length); }
130	NOARGS		{ int compat_43_sys_ftruncate(int fd, long length); }
131	NOARGS		{ int sys_flock(int fd, int how); }
132	UNIMPL		
133	NOARGS		{ int sys_sendto(int s, caddr_t buf, size_t len, \
			    int flags, caddr_t to, int tolen); }
134	NOARGS		{ int sys_shutdown(int s, int how); }
135	NOARGS		{ int sys_socketpair(int domain, int type, \
			    int protocol, int *rsv); }
136	NOARGS		{ int sys_mkdir(char *path, int mode); }
137	NOARGS		{ int sys_rmdir(char *path); }
138	NOARGS		{ int sys_utimes(char *path, struct timeval *tptr); }
139	STD		{ int sunos_sys_sigreturn(struct sigcontext *sigcntxp); }
140	NOARGS		{ int sys_adjtime(struct timeval *delta, \
			    struct timeval *olddelta); }
141	NOARGS		{ int compat_43_sys_getpeername(int fdes, caddr_t asa, \
			    int *alen); }
142	NOARGS		{ int compat_43_sys_gethostid(void); }
143	UNIMPL		old sethostid
144	STD		{ int sunos_sys_getrlimit(u_int which, \
			    struct orlimit *rlp); }
145	STD		{ int sunos_sys_setrlimit(u_int which, \
			    struct orlimit *rlp); }
146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); }
147	UNIMPL		
148	UNIMPL		
149	UNIMPL		
150	NOARGS		{ int compat_43_sys_getsockname(int fdes, caddr_t asa, \
			    int *alen); }
151	UNIMPL		getmsg
152	UNIMPL		putmsg
153	NOARGS		{ int sys_poll(struct pollfd *fds, \
			    unsigned long nfds, int timeout); }
154	UNIMPL		
#ifdef NFSSERVER
155	STD		{ int sunos_sys_nfssvc(int fd); }
#else
155	UNIMPL		
#endif
156	NOARGS		{ int sys_getdirentries(int fd, char *buf, \
			    u_int count, long *basep); }
157	STD		{ int sunos_sys_statfs(char *path, \
			    struct sunos_statfs *buf); }
158	STD		{ int sunos_sys_fstatfs(int fd, \
			    struct sunos_statfs *buf); }
159	STD		{ int sunos_sys_unmount(char *path); }
#ifdef NFSCLIENT
160	NOARGS		{ int async_daemon(void); }
161	NOARGS		{ int sys_getfh(char *fname, fhandle_t *fhp); }
#else
160	UNIMPL		
161	UNIMPL		
#endif
162	NOARGS		{ int compat_09_sys_getdomainname(char *domainname, \
			    int len); }
163	NOARGS		{ int compat_09_sys_setdomainname(char *domainname, \
			    int len); }
164	UNIMPL		rtschedule
165	STD		{ int sunos_sys_quotactl(int cmd, char *special, \
			    int uid, caddr_t addr); }
166	STD		{ int sunos_sys_exportfs(char *path, char *ex); }
167	STD		{ int sunos_sys_mount(char *type, char *dir, \
			    int flags, caddr_t data); }
168	STD		{ int sunos_sys_ustat(int dev, \
			    struct sunos_ustat *buf); }
#ifdef SYSVSEM
169	NOARGS		{ int compat_10_sys_semsys(int which, int a2, int a3, \
			    int a4, int a5); }
#else
169	UNIMPL		semsys
#endif
#ifdef SYSVMSG
170	NOARGS		{ int compat_10_sys_msgsys(int which, int a2, int a3, \
			    int a4, int a5, int a6); }
#else
170	UNIMPL		msgsys
#endif
#ifdef SYSVSHM
171	NOARGS		{ int compat_10_sys_shmsys(int which, int a2, int a3, \
			    int a4); }
#else
171	UNIMPL		shmsys
#endif
172	STD		{ int sunos_sys_auditsys(char *record); }
173	UNIMPL		rfssys
174	STD		{ int sunos_sys_getdents(int fd, char *buf, \
			    int nbytes); }
175	NOARGS		{ int sys_setsid(void); }
176	NOARGS		{ int sys_fchdir(int fd); }
177	STD		{ int sunos_sys_fchroot(int fd); }
178	UNIMPL		vpixsys
179	UNIMPL		aioread
180	UNIMPL		aiowrite
181	UNIMPL		aiowait
182	UNIMPL		aiocancel
183	STD		{ int sunos_sys_sigpending(int *mask); }
184	UNIMPL		
185	NOARGS		{ int sys_setpgid(int pid, int pgid); }
186	NOARGS		{ long sys_pathconf(char *path, int name); }
187	NOARGS		{ long sys_fpathconf(int fd, int name); }
188	STD		{ int sunos_sys_sysconf(int name); }
189	STD		{ int sunos_sys_uname(struct sunos_utsname *name); }