syscalls.master revision 1.2
11.2Smrg	$NetBSD: syscalls.master,v 1.2 1998/08/26 13:42:50 mrg Exp $
21.1Smrg
31.1Smrg;	from: NetBSD: syscalls.master,v 1.81 1998/07/05 08:49:50 jonathan Exp
41.1Smrg;	@(#)syscalls.master	8.2 (Berkeley) 1/13/94
51.1Smrg
61.1Smrg; NetBSD system call name/number "master" file.
71.1Smrg; (See syscalls.conf to see what it is processed into.)
81.1Smrg;
91.1Smrg; Fields: number type [type-dependent ...]
101.1Smrg;	number	system call number, must be in order
111.1Smrg;	type	one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of
121.1Smrg;		the compatibility options defined in syscalls.conf.
131.1Smrg;
141.1Smrg; types:
151.1Smrg;	STD	always included
161.1Smrg;	OBSOL	obsolete, not included in system
171.1Smrg;	UNIMPL	unimplemented, not included in system
181.1Smrg;	NODEF	included, but don't define the syscall number
191.1Smrg;	NOARGS	included, but don't define the syscall args structure
201.1Smrg;	INDIR	included, but don't define the syscall args structure,
211.1Smrg;		and allow it to be "really" varargs.
221.1Smrg;
231.1Smrg; The compat options are defined in the syscalls.conf file, and the
241.1Smrg; compat option name is prefixed to the syscall name.  Other than
251.1Smrg; that, they're like NODEF (for 'compat' options), or STD (for
261.1Smrg; 'libcompat' options).
271.1Smrg;
281.1Smrg; The type-dependent arguments are as follows:
291.1Smrg; For STD, NODEF, NOARGS, and compat syscalls:
301.1Smrg;	{ pseudo-proto } [alias]
311.1Smrg; For other syscalls:
321.1Smrg;	[comment]
331.1Smrg;
341.1Smrg; #ifdef's, etc. may be included, and are copied to the output files.
351.1Smrg; #include's are copied to the syscall names and switch definition files only.
361.1Smrg
371.1Smrg#include "opt_ktrace.h"
381.1Smrg#include "opt_nfsserver.h"
391.1Smrg#include "opt_compat_netbsd.h"
401.1Smrg
411.1Smrg#include "fs_lfs.h"
421.1Smrg#include "fs_nfs.h"
431.1Smrg
441.1Smrg#include <sys/param.h>
451.1Smrg#include <sys/systm.h>
461.1Smrg#include <sys/signal.h>
471.1Smrg#include <sys/mount.h>
481.1Smrg#include <sys/syscallargs.h>
491.1Smrg
501.1Smrg#include <compat/sparc32/sparc32.h>
511.1Smrg#include <compat/sparc32/sparc32_syscallargs.h>
521.1Smrg
531.1Smrg; Reserved/unimplemented system calls in the range 0-150 inclusive
541.1Smrg; are reserved for use in future Berkeley releases.
551.1Smrg; Additional system calls implemented in vendor and other
561.1Smrg; redistributions should be placed in the reserved range at the end
571.1Smrg; of the current calls.
581.1Smrg
591.1Smrg0	INDIR		{ int sys_syscall(int number, ...); }
601.1Smrg1	NOARGS		{ void sys_exit(int rval); }
611.1Smrg2	NOARGS		{ int sys_fork(void); }
621.1Smrg3	STD		{ sparc32_ssize_t compat_sparc32_read(int fd, sparc32_voidp buf, sparc32_size_t nbyte); }
631.1Smrg4	STD		{ sparc32_ssize_t compat_sparc32_write(int fd, const sparc32_voidp buf, sparc32_size_t nbyte); }
641.1Smrg5	STD		{ int compat_sparc32_open(const sparc32_charp path, int flags, ... mode_t mode); }
651.1Smrg6	NOARGS		{ int sys_close(int fd); }
661.1Smrg7	STD		{ int compat_sparc32_wait4(int pid, sparc32_intp status, int options, sparc32_rusagep_t rusage); }
671.1Smrg8	COMPAT_43	{ int compat_sparc32_ocreat(const sparc32_charp path, mode_t mode); }
681.1Smrg9	STD		{ int compat_sparc32_link(const sparc32_charp path, const sparc32_charp link); }
691.1Smrg10	STD		{ int compat_sparc32_unlink(const sparc32_charp path); }
701.1Smrg11	OBSOL		execv
711.1Smrg12	STD		{ int compat_sparc32_chdir(const sparc32_charp path); }
721.1Smrg13	NOARGS		{ int sys_fchdir(int fd); }
731.1Smrg14	STD		{ int compat_sparc32_mknod(const sparc32_charp path, mode_t mode, dev_t dev); }
741.1Smrg15	STD		{ int compat_sparc32_chmod(const sparc32_charp path, mode_t mode); }
751.1Smrg16	STD		{ int compat_sparc32_chown(const sparc32_charp path, uid_t uid, gid_t gid); }
761.1Smrg17	STD		{ int compat_sparc32_break(sparc32_charp nsize); }
771.1Smrg18	STD		{ int compat_sparc32_getfsstat(sparc32_statfsp_t buf, sparc32_long bufsize, int flags); }
781.1Smrg19	COMPAT_43	{ sparc32_long compat_sparc32_olseek(int fd, sparc32_long offset, int whence); }
791.1Smrg20	NOARGS		{ pid_t sys_getpid(void); }
801.1Smrg21	STD		{ int compat_sparc32_mount(const sparc32_charp type, const sparc32_charp path, int flags, sparc32_voidp data); }
811.1Smrg22	STD		{ int compat_sparc32_unmount(const sparc32_charp path, int flags); }
821.1Smrg23	NOARGS		{ int sys_setuid(uid_t uid); }
831.1Smrg24	NOARGS		{ uid_t sys_getuid(void); }
841.1Smrg25	NOARGS		{ uid_t sys_geteuid(void); }
851.1Smrg26	STD		{ int compat_sparc32_ptrace(int req, pid_t pid, sparc32_caddr_t addr, int data); }
861.1Smrg27	STD		{ sparc32_ssize_t compat_sparc32_recvmsg(int s, sparc32_msghdrp_t msg, int flags); }
871.1Smrg28	STD		{ sparc32_ssize_t compat_sparc32_sendmsg(int s, const sparc32_msghdrp_t msg, int flags); }
881.1Smrg29	STD		{ sparc32_ssize_t compat_sparc32_recvfrom(int s, sparc32_voidp buf, sparc32_size_t len, int flags, sparc32_sockaddrp_t from, sparc32_intp fromlenaddr); }
891.1Smrg30	STD		{ int compat_sparc32_accept(int s, sparc32_sockaddrp_t name, sparc32_intp anamelen); }
901.1Smrg31	STD		{ int compat_sparc32_getpeername(int fdes, sparc32_sockaddrp_t asa, sparc32_intp alen); }
911.1Smrg32	STD		{ int compat_sparc32_getsockname(int fdes, sparc32_sockaddrp_t asa, sparc32_intp alen); }
921.1Smrg33	STD		{ int compat_sparc32_access(const sparc32_charp path, int flags); }
931.1Smrg34	STD		{ int compat_sparc32_chflags(const sparc32_charp path, sparc32_u_long flags); }
941.1Smrg35	STD		{ int compat_sparc32_fchflags(int fd, sparc32_u_long flags); }
951.1Smrg36	NOARGS		{ void sys_sync(void); }
961.1Smrg37	NOARGS		{ int sys_kill(int pid, int signum); }
971.1Smrg38	COMPAT_43	{ int compat_sparc32_stat43(const sparc32_charp path, sparc32_stat43p_t ub); }
981.1Smrg39	NOARGS		{ pid_t sys_getppid(void); }
991.1Smrg40	COMPAT_43	{ int compat_sparc32_lstat43(const sparc32_charp path, sparc32_stat43p_t ub); }
1001.1Smrg41	NOARGS		{ int sys_dup(int fd); }
1011.1Smrg42	NOARGS		{ int sys_pipe(void); }
1021.1Smrg43	NOARGS		{ gid_t sys_getegid(void); }
1031.1Smrg44	STD		{ int compat_sparc32_profil(sparc32_caddr_t samples, sparc32_size_t size, sparc32_u_long offset, u_int scale); }
1041.1Smrg#ifdef KTRACE
1051.1Smrg45	STD		{ int compat_sparc32_ktrace(const sparc32_charp fname, int ops, int facs, int pid); }
1061.1Smrg#else
1071.1Smrg45	UNIMPL		compat_sparc32_ktrace
1081.1Smrg#endif
1091.1Smrg46	STD		{ int compat_sparc32_sigaction(int signum, const sparc32_sigactionp_t nsa, sparc32_sigactionp_t osa); }
1101.1Smrg47	NOARGS		{ gid_t sys_getgid(void); }
1111.1Smrg48	NOARGS		{ int sys_sigprocmask(int how, sigset_t mask); }
1121.1Smrg49	STD		{ int compat_sparc32___getlogin(sparc32_charp namebuf, u_int namelen); }
1131.1Smrg50	STD		{ int compat_sparc32_setlogin(const sparc32_charp namebuf); }
1141.1Smrg51	STD		{ int compat_sparc32_acct(const sparc32_charp path); }
1151.1Smrg52	NOARGS		{ int sys_sigpending(void); }
1161.1Smrg53	COMPAT_13	{ int compat_sparc32_sigaltstack13(const sparc32_sigaltstack13p_t nss, sparc32_sigaltstack13p_t oss); }
1171.1Smrg54	STD		{ int compat_sparc32_ioctl(int fd, sparc32_u_long com, ... sparc32_voidp data); }
1181.2Smrg#ifdef COMPAT_12
1191.2Smrg55	NOARGS		{ int compat_12_sys_reboot(int opt); }
1201.2Smrg#else
1211.2Smrg55	OBSOL		oreboot
1221.2Smrg#endif
1231.1Smrg56	STD		{ int compat_sparc32_revoke(const sparc32_charp path); }
1241.1Smrg57	STD		{ int compat_sparc32_symlink(const sparc32_charp path, const sparc32_charp link); }
1251.1Smrg58	STD		{ int compat_sparc32_readlink(const sparc32_charp path, sparc32_charp buf, sparc32_size_t count); }
1261.1Smrg59	STD		{ int compat_sparc32_execve(const sparc32_charp path, sparc32_charpp argp, sparc32_charpp envp); }
1271.1Smrg60	NOARGS		{ mode_t sys_umask(mode_t newmask); }
1281.1Smrg61	STD		{ int compat_sparc32_chroot(const sparc32_charp path); }
1291.1Smrg62	COMPAT_43	{ int compat_sparc32_fstat43(int fd, sparc32_stat43p_t sb); }
1301.1Smrg63	COMPAT_43	{ int compat_sparc32_ogetkerninfo(int op, sparc32_charp where, sparc32_intp size, int arg); }
1311.1Smrg64	COMPAT_43	{ int sys_getpagesize(void); } ogetpagesize
1321.1Smrg65	COMPAT_12	{ int compat_sparc32_msync(sparc32_caddr_t addr, sparc32_size_t len); }
1331.1Smrg; XXX COMPAT_??? for 4.4BSD-compatible vfork(2)?
1341.1Smrg66	NOARGS		{ int sys_vfork(void); }
1351.1Smrg67	OBSOL		vread
1361.1Smrg68	OBSOL		vwrite
1371.1Smrg69	NOARGS		{ int sys_sbrk(int incr); }
1381.1Smrg70	NOARGS		{ int sys_sstk(int incr); }
1391.1Smrg71	COMPAT_43	{ int compat_sparc32_ommap(sparc32_caddr_t addr, sparc32_size_t len, int prot, int flags, int fd, sparc32_long pos); }
1401.1Smrg72	NOARGS		{ int sys_ovadvise(int anom); } vadvise
1411.1Smrg73	STD		{ int compat_sparc32_munmap(sparc32_voidp addr, sparc32_size_t len); }
1421.1Smrg74	STD		{ int compat_sparc32_mprotect(sparc32_voidp addr, sparc32_size_t len, int prot); }
1431.1Smrg75	STD		{ int compat_sparc32_madvise(sparc32_voidp addr, sparc32_size_t len, int behav); }
1441.1Smrg76	OBSOL		vhangup
1451.1Smrg77	OBSOL		vlimit
1461.1Smrg78	STD		{ int compat_sparc32_mincore(sparc32_caddr_t addr, sparc32_size_t len, sparc32_charp vec); }
1471.1Smrg79	STD		{ int compat_sparc32_getgroups(int gidsetsize, sparc32_gid_tp gidset); }
1481.1Smrg80	STD		{ int compat_sparc32_setgroups(int gidsetsize, const sparc32_gid_tp gidset); }
1491.1Smrg81	NOARGS		{ int sys_getpgrp(void); }
1501.1Smrg82	NOARGS		{ int sys_setpgid(int pid, int pgid); }
1511.1Smrg83	STD		{ int compat_sparc32_setitimer(int which, const sparc32_itimervalp_t itv, sparc32_itimervalp_t oitv); }
1521.1Smrg84	COMPAT_43	{ int sys_wait(void); } owait
1531.1Smrg85	COMPAT_12	{ int compat_sparc32_oswapon(const sparc32_charp name); }
1541.1Smrg86	STD		{ int compat_sparc32_getitimer(int which, sparc32_itimervalp_t itv); }
1551.1Smrg87	COMPAT_43	{ int compat_sparc32_ogethostname(sparc32_charp hostname, u_int len); }
1561.1Smrg88	COMPAT_43	{ int compat_sparc32_osethostname(sparc32_charp hostname, u_int len); }
1571.1Smrg89	COMPAT_43	{ int sys_getdtablesize(void); } ogetdtablesize
1581.1Smrg90	NOARGS		{ int sys_dup2(int from, int to); }
1591.1Smrg91	UNIMPL		getdopt
1601.1Smrg92	STD		{ int compat_sparc32_fcntl(int fd, int cmd, ... sparc32_voidp arg); }
1611.1Smrg93	STD		{ int compat_sparc32_select(int nd, sparc32_fd_setp_t in, sparc32_fd_setp_t ou, sparc32_fd_setp_t ex, sparc32_timevalp_t tv); }
1621.1Smrg94	UNIMPL		setdopt
1631.1Smrg95	NOARGS		{ int sys_fsync(int fd); }
1641.1Smrg96	NOARGS		{ int sys_setpriority(int which, int who, int prio); }
1651.1Smrg97	NOARGS		{ int sys_socket(int domain, int type, int protocol); }
1661.1Smrg98	STD		{ int compat_sparc32_connect(int s, const sparc32_sockaddrp_t name, int namelen); }
1671.1Smrg99	COMPAT_43	{ int compat_sparc32_oaccept(int s, sparc32_caddr_t name, sparc32_intp anamelen); }
1681.1Smrg100	NOARGS		{ int sys_getpriority(int which, int who); }
1691.1Smrg101	COMPAT_43	{ int compat_sparc32_osend(int s, sparc32_caddr_t buf, int len, int flags); }
1701.1Smrg102	COMPAT_43	{ int compat_sparc32_orecv(int s, sparc32_caddr_t buf, int len, int flags); }
1711.1Smrg103	STD		{ int compat_sparc32_sigreturn(sparc32_sigcontextp_t sigcntxp); }
1721.1Smrg104	STD		{ int compat_sparc32_bind(int s, const sparc32_sockaddrp_t name, int namelen); }
1731.1Smrg105	STD		{ int compat_sparc32_setsockopt(int s, int level, int name, const sparc32_voidp val, int valsize); }
1741.1Smrg106	NOARGS		{ int sys_listen(int s, int backlog); }
1751.1Smrg107	OBSOL		vtimes
1761.1Smrg108	COMPAT_43	{ int compat_sparc32_osigvec(int signum, sparc32_sigvecp_t nsv, sparc32_sigvecp_t osv); }
1771.1Smrg#ifdef COMPAT_43
1781.1Smrg109	NOARGS		{ int compat_43_sys_sigblock(int mask); }
1791.1Smrg110	NOARGS		{ int compat_43_sys_sigsetmask(int mask); }
1801.1Smrg#else
1811.1Smrg109	OBSOL		sigblock
1821.1Smrg110	OBSOL		sigsetmask
1831.1Smrg#endif
1841.1Smrg111	NOARGS		{ int sys_sigsuspend(int mask); }
1851.1Smrg112	COMPAT_43	{ int compat_sparc32_osigstack(sparc32_sigstackp_t nss, sparc32_sigstackp_t oss); }
1861.1Smrg113	COMPAT_43	{ int compat_sparc32_orecvmsg(int s, sparc32_omsghdrp_t msg, int flags); }
1871.1Smrg114	COMPAT_43	{ int compat_sparc32_osendmsg(int s, sparc32_caddr_t msg, int flags); }
1881.1Smrg#ifdef TRACE
1891.1Smrg115	NOARGS		{ int sys_vtrace(int request, int value); }
1901.1Smrg#else
1911.1Smrg115	OBSOL		vtrace
1921.1Smrg#endif
1931.1Smrg116	STD		{ int compat_sparc32_gettimeofday(sparc32_timevalp_t tp, sparc32_timezonep_t tzp); }
1941.1Smrg117	STD		{ int compat_sparc32_getrusage(int who, sparc32_rusagep_t rusage); }
1951.1Smrg118	STD		{ int compat_sparc32_getsockopt(int s, int level, int name, sparc32_voidp val, sparc32_intp avalsize); }
1961.1Smrg119	OBSOL		resuba
1971.1Smrg120	STD		{ sparc32_ssize_t compat_sparc32_readv(int fd, const sparc32_iovecp_t iovp, int iovcnt); }
1981.1Smrg121	STD		{ sparc32_ssize_t compat_sparc32_writev(int fd, const sparc32_iovecp_t iovp, int iovcnt); }
1991.1Smrg122	STD		{ int compat_sparc32_settimeofday(const sparc32_timevalp_t tv, const sparc32_timezonep_t tzp); }
2001.1Smrg123	NOARGS		{ int sys_fchown(int fd, uid_t uid, gid_t gid); }
2011.1Smrg124	NOARGS		{ int sys_fchmod(int fd, mode_t mode); }
2021.1Smrg125	COMPAT_43	{ int compat_sparc32_orecvfrom(int s, sparc32_caddr_t buf, sparc32_size_t len, int flags, sparc32_caddr_t from, sparc32_intp fromlenaddr); }
2031.1Smrg126	NOARGS		{ int sys_setreuid(uid_t ruid, uid_t euid); }
2041.1Smrg127	NOARGS		{ int sys_setregid(gid_t rgid, gid_t egid); }
2051.1Smrg128	STD		{ int compat_sparc32_rename(const sparc32_charp from, const sparc32_charp to); }
2061.1Smrg129	COMPAT_43	{ int compat_sparc32_otruncate(const sparc32_charp path, sparc32_long length); }
2071.1Smrg130	COMPAT_43	{ int compat_sparc32_oftruncate(int fd, sparc32_long length); }
2081.1Smrg131	NOARGS		{ int sys_flock(int fd, int how); }
2091.1Smrg132	STD		{ int compat_sparc32_mkfifo(const sparc32_charp path, mode_t mode); }
2101.1Smrg133	STD		{ sparc32_ssize_t compat_sparc32_sendto(int s, const sparc32_voidp buf, sparc32_size_t len, int flags, const sparc32_sockaddrp_t to, int tolen); }
2111.1Smrg134	NOARGS		{ int sys_shutdown(int s, int how); }
2121.1Smrg135	STD		{ int compat_sparc32_socketpair(int domain, int type, int protocol, sparc32_intp rsv); }
2131.1Smrg136	STD		{ int compat_sparc32_mkdir(const sparc32_charp path, mode_t mode); }
2141.1Smrg137	STD		{ int compat_sparc32_rmdir(const sparc32_charp path); }
2151.1Smrg138	STD		{ int compat_sparc32_utimes(const sparc32_charp path, const sparc32_timevalp_t tptr); }
2161.1Smrg139	OBSOL		4.2 sigreturn
2171.1Smrg140	STD		{ int compat_sparc32_adjtime(const sparc32_timevalp_t delta, sparc32_timevalp_t olddelta); }
2181.1Smrg141	COMPAT_43	{ int compat_sparc32_ogetpeername(int fdes, sparc32_caddr_t asa, sparc32_intp alen); }
2191.1Smrg142	COMPAT_43	{ int32_t sys_gethostid(void); } ogethostid
2201.1Smrg#ifdef COMPAT_43
2211.1Smrg143	NOARGS		{ int compat_43_sys_sethostid(int32_t hostid); }
2221.1Smrg#else
2231.1Smrg143	OBSOL		sethostid
2241.1Smrg#endif
2251.1Smrg144	COMPAT_43	{ int compat_sparc32_ogetrlimit(int which, sparc32_orlimitp_t rlp); }
2261.1Smrg145	COMPAT_43	{ int compat_sparc32_osetrlimit(int which, const sparc32_orlimitp_t rlp); }
2271.1Smrg#ifdef COMPAT_43
2281.1Smrg146	NOARGS		{ int compat_43_sys_killpg(int pgid, int signum); }
2291.1Smrg#else
2301.1Smrg146	OBSOL		killpg
2311.1Smrg#endif
2321.1Smrg147	NOARGS		{ int sys_setsid(void); }
2331.1Smrg148	STD		{ int compat_sparc32_quotactl(const sparc32_charp path, int cmd, int uid, sparc32_caddr_t arg); }
2341.1Smrg149	COMPAT_43	{ int sys_quota(void); } oquota
2351.1Smrg150	COMPAT_43	{ int compat_sparc32_ogetsockname(int fdec, sparc32_caddr_t asa, sparc32_intp alen); }
2361.1Smrg
2371.1Smrg; Syscalls 151-180 inclusive are reserved for vendor-specific
2381.1Smrg; system calls.  (This includes various calls added for compatibity
2391.1Smrg; with other Unix variants.)
2401.1Smrg; Some of these calls are now supported by BSD...
2411.1Smrg151	UNIMPL
2421.1Smrg152	UNIMPL
2431.1Smrg153	UNIMPL
2441.1Smrg154	UNIMPL
2451.1Smrg#if defined(NFS) || defined(NFSSERVER)
2461.1Smrg155	STD		{ int compat_sparc32_nfssvc(int flag, sparc32_voidp argp); }
2471.1Smrg#else
2481.1Smrg155	UNIMPL
2491.1Smrg#endif
2501.1Smrg156	COMPAT_43	{ int compat_sparc32_ogetdirentries(int fd, sparc32_charp buf, u_int count, sparc32_longp basep); }
2511.1Smrg157	STD		{ int compat_sparc32_statfs(const sparc32_charp path, sparc32_statfsp_t buf); }
2521.1Smrg158	STD		{ int compat_sparc32_fstatfs(int fd, sparc32_statfsp_t buf); }
2531.1Smrg159	UNIMPL
2541.1Smrg160	UNIMPL
2551.1Smrg#if defined(NFS) || defined(NFSSERVER)
2561.1Smrg161	STD		{ int compat_sparc32_getfh(const sparc32_charp fname, sparc32_fhandlep_t fhp); }
2571.1Smrg#else
2581.1Smrg161	UNIMPL		compat_sparc32_getfh
2591.1Smrg#endif
2601.1Smrg162	COMPAT_09	{ int compat_sparc32_ogetdomainname(sparc32_charp domainname, int len); }
2611.1Smrg163	COMPAT_09	{ int compat_sparc32_osetdomainname(sparc32_charp domainname, int len); }
2621.1Smrg164	COMPAT_09	{ int compat_sparc32_uname(sparc32_outsnamep_t name); }
2631.1Smrg165	STD		{ int compat_sparc32_sysarch(int op, sparc32_voidp parms); }
2641.1Smrg166	UNIMPL
2651.1Smrg167	UNIMPL
2661.1Smrg168	UNIMPL
2671.1Smrg; XXX more generally, never on machines where sizeof(sparc32_voidp ) != sizeof(int)
2681.1Smrg#if defined(SYSVSEM) && !defined(alpha)
2691.1Smrg169	NOARGS		{ int compat_10_sys_semsys(int which, int a2, int a3, int a4, int a5); } osemsys
2701.1Smrg#else
2711.1Smrg169	UNIMPL		1.0 semsys
2721.1Smrg#endif
2731.1Smrg; XXX more generally, never on machines where sizeof(sparc32_voidp ) != sizeof(int)
2741.1Smrg#if defined(SYSVMSG) && !defined(alpha)
2751.1Smrg170	NOARGS		{ int compat_10_sys_msgsys(int which, int a2, int a3, int a4, int a5, int a6); } omsgsys
2761.1Smrg#else
2771.1Smrg170	UNIMPL		1.0 msgsys
2781.1Smrg#endif
2791.1Smrg; XXX more generally, never on machines where sizeof(sparc32_voidp ) != sizeof(int)
2801.1Smrg#if defined(SYSVSHM) && !defined(alpha)
2811.1Smrg171	NOARGS		{ int compat_10_sys_shmsys(int which, int a2, int a3, int a4); } oshmsys
2821.1Smrg#else
2831.1Smrg171	UNIMPL		1.0 shmsys
2841.1Smrg#endif
2851.1Smrg172	UNIMPL
2861.1Smrg173	STD		{ sparc32_ssize_t compat_sparc32_pread(int fd, sparc32_voidp buf, sparc32_size_t nbyte, int pad, off_t offset); }
2871.1Smrg174	STD		{ sparc32_ssize_t compat_sparc32_pwrite(int fd, const sparc32_voidp buf, sparc32_size_t nbyte, int pad, off_t offset); }
2881.1Smrg175	STD		{ int compat_sparc32_ntp_gettime(sparc32_ntptimevalp_t ntvp); }
2891.1Smrg176	STD		{ int compat_sparc32_ntp_adjtime(sparc32_timexp_t tp); }
2901.1Smrg177	UNIMPL
2911.1Smrg178	UNIMPL
2921.1Smrg179	UNIMPL
2931.1Smrg180	UNIMPL
2941.1Smrg
2951.1Smrg; Syscalls 180-199 are used by/reserved for BSD
2961.1Smrg181	NOARGS		{ int sys_setgid(gid_t gid); }
2971.1Smrg182	NOARGS		{ int sys_setegid(gid_t egid); }
2981.1Smrg183	NOARGS		{ int sys_seteuid(uid_t euid); }
2991.1Smrg#ifdef LFS
3001.1Smrg184	STD		{ int compat_sparc32_lfs_bmapv(sparc32_fsid_tp_t fsidp, sparc32_block_infop_t blkiov, int blkcnt); }
3011.1Smrg185	STD		{ int compat_sparc32_lfs_markv(sparc32_fsid_tp_t fsidp, sparc32_block_infop_t blkiov, int blkcnt); }
3021.1Smrg186	STD		{ int compat_sparc32_lfs_segclean(sparc32_fsid_tp_t fsidp, sparc32_u_long segment); }
3031.1Smrg187	STD		{ int compat_sparc32_lfs_segwait(sparc32_fsid_tp_t fsidp, sparc32_timevalp_t tv); }
3041.1Smrg#else
3051.1Smrg184	UNIMPL
3061.1Smrg185	UNIMPL
3071.1Smrg186	UNIMPL
3081.1Smrg187	UNIMPL
3091.1Smrg#endif
3101.1Smrg188	COMPAT_12	{ int compat_sparc32_stat12(const sparc32_charp path, sparc32_stat12p_t ub); }
3111.1Smrg189	COMPAT_12	{ int compat_sparc32_fstat12(int fd, sparc32_stat12p_t sb); }
3121.1Smrg190	COMPAT_12	{ int compat_sparc32_lstat12(const sparc32_charp path, sparc32_stat12p_t ub); }
3131.1Smrg191	STD		{ sparc32_long compat_sparc32_pathconf(const sparc32_charp path, int name); }
3141.1Smrg192	STD		{ sparc32_long compat_sparc32_fpathconf(int fd, int name); }
3151.1Smrg193	UNIMPL
3161.1Smrg194	STD		{ int compat_sparc32_getrlimit(int which, sparc32_rlimitp_t rlp); }
3171.1Smrg195	STD		{ int compat_sparc32_setrlimit(int which, const sparc32_rlimitp_t rlp); }
3181.1Smrg196	COMPAT_12	{ int compat_sparc32_getdirentries(int fd, sparc32_charp buf, u_int count, sparc32_longp basep); }
3191.1Smrg197	STD		{ sparc32_voidp compat_sparc32_mmap(sparc32_voidp addr, sparc32_size_t len, int prot, int flags, int fd, sparc32_long pad, off_t pos); }
3201.1Smrg198	INDIR		{ quad_t sys___syscall(quad_t num, ...); }
3211.1Smrg199	NOARGS		{ off_t sys_lseek(int fd, int pad, off_t offset, int whence); }
3221.1Smrg200	STD		{ int compat_sparc32_truncate(const sparc32_charp path, int pad, off_t length); }
3231.1Smrg201	NOARGS		{ int sys_ftruncate(int fd, int pad, off_t length); }
3241.1Smrg202	STD		{ int compat_sparc32___sysctl(sparc32_intp name, u_int namelen, sparc32_voidp old, sparc32_size_tp oldlenp, sparc32_voidp new, sparc32_size_t newlen); }
3251.1Smrg203	STD		{ int compat_sparc32_mlock(const sparc32_voidp addr, sparc32_size_t len); }
3261.1Smrg204	STD		{ int compat_sparc32_munlock(const sparc32_voidp addr, sparc32_size_t len); }
3271.1Smrg205	STD		{ int compat_sparc32_undelete(const sparc32_charp path); }
3281.1Smrg206	STD		{ int compat_sparc32_futimes(int fd, const sparc32_timevalp_t tptr); }
3291.1Smrg207	NOARGS		{ int sys_getpgid(pid_t pid); }
3301.1Smrg208	STD		{ int compat_sparc32_reboot(int opt, sparc32_charp bootstr); }
3311.1Smrg209	STD		{ int compat_sparc32_poll(sparc32_pollfdp_t fds, u_int nfds, int timeout); }
3321.1Smrg;
3331.1Smrg; Syscalls 210-219 are reserved for dynamically loaded syscalls
3341.1Smrg;
3351.1Smrg#ifdef LKM
3361.1Smrg210	NODEF		{ int sys_lkmnosys(void); }
3371.1Smrg211	NODEF		{ int sys_lkmnosys(void); }
3381.1Smrg212	NODEF		{ int sys_lkmnosys(void); }
3391.1Smrg213	NODEF		{ int sys_lkmnosys(void); }
3401.1Smrg214	NODEF		{ int sys_lkmnosys(void); }
3411.1Smrg215	NODEF		{ int sys_lkmnosys(void); }
3421.1Smrg216	NODEF		{ int sys_lkmnosys(void); }
3431.1Smrg217	NODEF		{ int sys_lkmnosys(void); }
3441.1Smrg218	NODEF		{ int sys_lkmnosys(void); }
3451.1Smrg219	NODEF		{ int sys_lkmnosys(void); }
3461.1Smrg#else	/* !LKM */
3471.1Smrg210	UNIMPL
3481.1Smrg211	UNIMPL
3491.1Smrg212	UNIMPL
3501.1Smrg213	UNIMPL
3511.1Smrg214	UNIMPL
3521.1Smrg215	UNIMPL
3531.1Smrg216	UNIMPL
3541.1Smrg217	UNIMPL
3551.1Smrg218	UNIMPL
3561.1Smrg219	UNIMPL
3571.1Smrg#endif	/* !LKM */
3581.1Smrg; System calls 220-300 are reserved for use by NetBSD
3591.1Smrg#ifdef SYSVSEM
3601.1Smrg220	STD		{ int compat_sparc32___semctl(int semid, int semnum, int cmd, sparc32_semunu_t arg); }
3611.1Smrg221	STD		{ int compat_sparc32_semget(sparc32_key_t key, int nsems, int semflg); }
3621.1Smrg222	STD		{ int compat_sparc32_semop(int semid, sparc32_sembufp_t sops, sparc32_size_t nsops); }
3631.1Smrg223	NOARGS		{ int sys_semconfig(int flag); }
3641.1Smrg#else
3651.1Smrg220	UNIMPL		compat_sparc32_semctl
3661.1Smrg221	UNIMPL		compat_sparc32_semget
3671.1Smrg222	UNIMPL		compat_sparc32_semop
3681.1Smrg223	UNIMPL		compat_sparc32_semconfig
3691.1Smrg#endif
3701.1Smrg#ifdef SYSVMSG
3711.1Smrg224	STD		{ int compat_sparc32_msgctl(int msqid, int cmd, sparc32_msqid_dsp_t buf); }
3721.1Smrg225	STD		{ int compat_sparc32_msgget(sparc32_key_t key, int msgflg); }
3731.1Smrg226	STD		{ int compat_sparc32_msgsnd(int msqid, const sparc32_voidp msgp, sparc32_size_t msgsz, int msgflg); }
3741.1Smrg227	STD		{ sparc32_ssize_t compat_sparc32_msgrcv(int msqid, sparc32_voidp msgp, sparc32_size_t msgsz, sparc32_long msgtyp, int msgflg); }
3751.1Smrg#else
3761.1Smrg224	UNIMPL		compat_sparc32_msgctl
3771.1Smrg225	UNIMPL		compat_sparc32_msgget
3781.1Smrg226	UNIMPL		compat_sparc32_msgsnd
3791.1Smrg227	UNIMPL		compat_sparc32_msgrcv
3801.1Smrg#endif
3811.1Smrg#ifdef SYSVSHM
3821.1Smrg228	STD		{ sparc32_voidp compat_sparc32_shmat(int shmid, const sparc32_voidp shmaddr, int shmflg); }
3831.1Smrg229	STD		{ int compat_sparc32_shmctl(int shmid, int cmd, sparc32_shmid_dsp_t buf); }
3841.1Smrg230	STD		{ int compat_sparc32_shmdt(const sparc32_voidp shmaddr); }
3851.1Smrg231	STD		{ int compat_sparc32_shmget(sparc32_key_t key, sparc32_size_t size, int shmflg); }
3861.1Smrg#else
3871.1Smrg228	UNIMPL		compat_sparc32_shmat
3881.1Smrg229	UNIMPL		compat_sparc32_shmctl
3891.1Smrg230	UNIMPL		compat_sparc32_shmdt
3901.1Smrg231	UNIMPL		compat_sparc32_shmget
3911.1Smrg#endif
3921.1Smrg232	STD		{ int compat_sparc32_clock_gettime(sparc32_clockid_t clock_id, sparc32_timespecp_t tp); }
3931.1Smrg233	STD		{ int compat_sparc32_clock_settime(sparc32_clockid_t clock_id, const sparc32_timespecp_t tp); }
3941.1Smrg234	STD		{ int compat_sparc32_clock_getres(sparc32_clockid_t clock_id, sparc32_timespecp_t tp); }
3951.1Smrg235	UNIMPL		timer_create
3961.1Smrg236	UNIMPL		timer_delete
3971.1Smrg237	UNIMPL		timer_settime
3981.1Smrg238	UNIMPL		timer_gettime
3991.1Smrg239	UNIMPL		timer_getoverrun
4001.1Smrg;
4011.1Smrg; Syscalls 240-269 are reserved for other IEEE Std1003.1b syscalls
4021.1Smrg;
4031.1Smrg240	STD		{ int compat_sparc32_nanosleep(const sparc32_timespecp_t rqtp, sparc32_timespecp_t rmtp); }
4041.1Smrg241	NOARGS		{ int sys_fdatasync(int fd); }
4051.1Smrg242	UNIMPL
4061.1Smrg243	UNIMPL
4071.1Smrg244	UNIMPL
4081.1Smrg245	UNIMPL
4091.1Smrg246	UNIMPL
4101.1Smrg247	UNIMPL
4111.1Smrg248	UNIMPL
4121.1Smrg249	UNIMPL
4131.1Smrg250	UNIMPL
4141.1Smrg251	UNIMPL
4151.1Smrg252	UNIMPL
4161.1Smrg253	UNIMPL
4171.1Smrg254	UNIMPL
4181.1Smrg255	UNIMPL
4191.1Smrg256	UNIMPL
4201.1Smrg257	UNIMPL
4211.1Smrg258	UNIMPL
4221.1Smrg259	UNIMPL
4231.1Smrg260	UNIMPL
4241.1Smrg261	UNIMPL
4251.1Smrg262	UNIMPL
4261.1Smrg263	UNIMPL
4271.1Smrg264	UNIMPL
4281.1Smrg265	UNIMPL
4291.1Smrg266	UNIMPL
4301.1Smrg267	UNIMPL
4311.1Smrg268	UNIMPL
4321.1Smrg269	UNIMPL
4331.1Smrg270	STD		{ int compat_sparc32___posix_rename(const sparc32_charp from, const sparc32_charp to); }
4341.1Smrg271	STD		{ int compat_sparc32_swapctl(int cmd, const sparc32_voidp arg, int misc); }
4351.1Smrg272	STD		{ int compat_sparc32_getdents(int fd, sparc32_charp buf, sparc32_size_t count); }
4361.1Smrg273	STD		{ int compat_sparc32_minherit(sparc32_voidp addr, sparc32_size_t len, int inherit); }
4371.1Smrg274	STD		{ int compat_sparc32_lchmod(const sparc32_charp path, mode_t mode); }
4381.1Smrg275	STD		{ int compat_sparc32_lchown(const sparc32_charp path, uid_t uid, gid_t gid); }
4391.1Smrg276	STD		{ int compat_sparc32_lutimes(const sparc32_charp path, const sparc32_timevalp_t tptr); }
4401.1Smrg277	STD		{ int compat_sparc32___msync13(sparc32_voidp addr, sparc32_size_t len, int flags); }
4411.1Smrg278	STD		{ int compat_sparc32___stat13(const sparc32_charp path, sparc32_statp_t ub); }
4421.1Smrg279	STD		{ int compat_sparc32___fstat13(int fd, sparc32_statp_t sb); }
4431.1Smrg280	STD		{ int compat_sparc32___lstat13(const sparc32_charp path, sparc32_statp_t ub); }
4441.1Smrg281	STD		{ int compat_sparc32___sigaltstack14(const sparc32_sigaltstackp_t nss, sparc32_sigaltstackp_t oss); }
4451.1Smrg282	NOARGS		{ int sys___vfork14(void); }
4461.1Smrg283	STD		{ int compat_sparc32___posix_chown(const sparc32_charp path, uid_t uid, gid_t gid); }
4471.1Smrg284	NOARGS		{ int sys___posix_fchown(int fd, uid_t uid, gid_t gid); }
4481.1Smrg285	STD		{ int compat_sparc32___posix_lchown(const sparc32_charp path, uid_t uid, gid_t gid); }
4491.1Smrg286	NOARGS		{ pid_t sys_getsid(pid_t pid); }
4501.1Smrg287	UNIMPL
4511.1Smrg#ifdef KTRACE
4521.1Smrg288	NOARGS		{ int sys_fktrace(const int fd, int ops, int facs, int pid); }
4531.1Smrg#else
4541.1Smrg288	UNIMPL
4551.1Smrg#endif
4561.1Smrg289	STD		{ sparc32_ssize_t compat_sparc32_preadv(int fd, const sparc32_iovecp_t iovp, int iovcnt, int pad, off_t offset); }
4571.1Smrg290	STD		{ sparc32_ssize_t compat_sparc32_pwritev(int fd, const sparc32_iovecp_t iovp, int iovcnt, int pad, off_t offset); }
458