/*
 * System call switch table.
 *
 * DO NOT EDIT-- this file is automatically generated.
 * created from	NetBSD: syscalls.master,v 1.24 1994/12/06 00:17:06 deraadt Exp 
 */

#include <sys/param.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
#include <compat/sunos/sunos.h>
#include <compat/sunos/sunos_syscallargs.h>
int	nosys();
int	exit();
int	fork();
int	read();
int	write();
int	sunos_open();
int	close();
int	sunos_wait4();
int	sunos_creat();
int	link();
int	unlink();
int	sunos_execv();
int	chdir();
int	sunos_mknod();
int	chmod();
int	chown();
int	obreak();
int	compat_43_lseek();
int	getpid();
int	setuid();
int	getuid();
int	sunos_ptrace();
int	access();
int	sync();
int	kill();
int	compat_43_stat();
int	compat_43_lstat();
int	dup();
int	pipe();
int	profil();
int	setgid();
int	getgid();
int	acct();
int	sunos_mctl();
int	sunos_ioctl();
int	reboot();
int	symlink();
int	readlink();
int	execve();
int	umask();
int	chroot();
int	compat_43_fstat();
int	compat_43_getpagesize();
int	sunos_omsync();
int	vfork();
int	sbrk();
int	sstk();
int	sunos_mmap();
int	ovadvise();
int	munmap();
int	mprotect();
int	madvise();
int	sunos_vhangup();
int	mincore();
int	getgroups();
int	setgroups();
int	getpgrp();
int	sunos_setpgid();
int	setitimer();
int	swapon();
int	getitimer();
int	compat_43_gethostname();
int	compat_43_sethostname();
int	compat_43_getdtablesize();
int	dup2();
int	fcntl();
int	select();
int	fsync();
int	setpriority();
int	socket();
int	connect();
int	compat_43_accept();
int	getpriority();
int	compat_43_send();
int	compat_43_recv();
int	bind();
int	sunos_setsockopt();
int	listen();
int	compat_43_sigvec();
int	compat_43_sigblock();
int	compat_43_sigsetmask();
int	sigsuspend();
int	compat_43_sigstack();
int	compat_43_recvmsg();
int	compat_43_sendmsg();
int	gettimeofday();
int	getrusage();
int	getsockopt();
int	readv();
int	writev();
int	settimeofday();
int	fchown();
int	fchmod();
int	compat_43_recvfrom();
int	compat_43_setreuid();
int	compat_43_setregid();
int	rename();
int	compat_43_truncate();
int	compat_43_ftruncate();
int	flock();
int	sendto();
int	shutdown();
int	socketpair();
int	mkdir();
int	rmdir();
int	utimes();
int	sigreturn();
int	adjtime();
int	compat_43_getpeername();
int	compat_43_gethostid();
int	sunos_getrlimit();
int	sunos_setrlimit();
int	compat_43_killpg();
int	compat_43_getsockname();
int	sunos_poll();
#ifdef NFSSERVER
int	sunos_nfssvc();
#else
#endif
int	getdirentries();
int	sunos_statfs();
int	sunos_fstatfs();
int	sunos_unmount();
#ifdef NFSCLIENT
int	async_daemon();
int	getfh();
#else
#endif
int	compat_09_getdomainname();
int	compat_09_setdomainname();
int	sunos_quotactl();
int	sunos_exportfs();
int	sunos_mount();
int	sunos_ustat();
#ifdef SYSVSEM
int	compat_10_semsys();
#else
#endif
#ifdef SYSVMSG
int	compat_10_msgsys();
#else
#endif
#ifdef SYSVSHM
int	compat_10_shmsys();
#else
#endif
int	sunos_auditsys();
int	sunos_getdents();
int	setsid();
int	fchdir();
int	sunos_fchroot();
int	sunos_sigpending();
int	setpgid();
int	pathconf();
int	fpathconf();
int	sunos_sysconf();
int	sunos_uname();

#ifdef COMPAT_43
#define compat_43(func) __CONCAT(compat_43_,func)

#ifdef NFSSERVER
#else
#endif
#ifdef NFSCLIENT
#else
#endif
#ifdef SYSVSEM
#else
#endif
#ifdef SYSVMSG
#else
#endif
#ifdef SYSVSHM
#else
#endif

#else /* COMPAT_43 */
#define compat_43(func) nosys
#endif /* COMPAT_43 */


#ifdef COMPAT_09
#define compat_09(func) __CONCAT(compat_09_,func)

#ifdef NFSSERVER
#else
#endif
#ifdef NFSCLIENT
#else
#endif
#ifdef SYSVSEM
#else
#endif
#ifdef SYSVMSG
#else
#endif
#ifdef SYSVSHM
#else
#endif

#else /* COMPAT_09 */
#define compat_09(func) nosys
#endif /* COMPAT_09 */


#ifdef COMPAT_10
#define compat_10(func) __CONCAT(compat_10_,func)

#ifdef NFSSERVER
#else
#endif
#ifdef NFSCLIENT
#else
#endif
#ifdef SYSVSEM
#else
#endif
#ifdef SYSVMSG
#else
#endif
#ifdef SYSVSHM
#else
#endif

#else /* COMPAT_10 */
#define compat_10(func) nosys
#endif /* COMPAT_10 */

#define	s(type)	sizeof(type)

struct sysent sunos_sysent[] = {
	{ 0, 0,
	    nosys },				/* 0 = syscall */
	{ 1, s(struct exit_args),
	    exit },				/* 1 = exit */
	{ 0, 0,
	    fork },				/* 2 = fork */
	{ 3, s(struct read_args),
	    read },				/* 3 = read */
	{ 3, s(struct write_args),
	    write },				/* 4 = write */
	{ 3, s(struct sunos_open_args),
	    sunos_open },			/* 5 = sunos_open */
	{ 1, s(struct close_args),
	    close },				/* 6 = close */
	{ 4, s(struct sunos_wait4_args),
	    sunos_wait4 },			/* 7 = sunos_wait4 */
	{ 2, s(struct sunos_creat_args),
	    sunos_creat },			/* 8 = sunos_creat */
	{ 2, s(struct link_args),
	    link },				/* 9 = link */
	{ 1, s(struct unlink_args),
	    unlink },				/* 10 = unlink */
	{ 2, s(struct sunos_execv_args),
	    sunos_execv },			/* 11 = sunos_execv */
	{ 1, s(struct chdir_args),
	    chdir },				/* 12 = chdir */
	{ 0, 0,
	    nosys },				/* 13 = obsolete time */
	{ 3, s(struct sunos_mknod_args),
	    sunos_mknod },			/* 14 = sunos_mknod */
	{ 2, s(struct chmod_args),
	    chmod },				/* 15 = chmod */
	{ 3, s(struct chown_args),
	    chown },				/* 16 = chown */
	{ 1, s(struct obreak_args),
	    obreak },				/* 17 = break */
	{ 0, 0,
	    nosys },				/* 18 = obsolete stat */
	{ 3, s(struct compat_43_lseek_args),
	    compat_43_lseek },			/* 19 = compat_43_lseek */
	{ 0, 0,
	    getpid },				/* 20 = getpid */
	{ 0, 0,
	    nosys },				/* 21 = obsolete sunos_old_mount */
	{ 0, 0,
	    nosys },				/* 22 = unimplemented System V umount */
	{ 1, s(struct setuid_args),
	    setuid },				/* 23 = setuid */
	{ 0, 0,
	    getuid },				/* 24 = getuid */
	{ 0, 0,
	    nosys },				/* 25 = unimplemented sunos_stime */
	{ 5, s(struct sunos_ptrace_args),
	    sunos_ptrace },			/* 26 = sunos_ptrace */
	{ 0, 0,
	    nosys },				/* 27 = unimplemented sunos_alarm */
	{ 0, 0,
	    nosys },				/* 28 = unimplemented sunos_fstat */
	{ 0, 0,
	    nosys },				/* 29 = unimplemented sunos_pause */
	{ 0, 0,
	    nosys },				/* 30 = unimplemented sunos_utime */
	{ 0, 0,
	    nosys },				/* 31 = unimplemented sunos_stty */
	{ 0, 0,
	    nosys },				/* 32 = unimplemented sunos_gtty */
	{ 2, s(struct access_args),
	    access },				/* 33 = access */
	{ 0, 0,
	    nosys },				/* 34 = unimplemented sunos_nice */
	{ 0, 0,
	    nosys },				/* 35 = unimplemented sunos_ftime */
	{ 0, 0,
	    sync },				/* 36 = sync */
	{ 2, s(struct kill_args),
	    kill },				/* 37 = kill */
	{ 2, s(struct compat_43_stat_args),
	    compat_43_stat },			/* 38 = compat_43_stat */
	{ 0, 0,
	    nosys },				/* 39 = unimplemented sunos_setpgrp */
	{ 2, s(struct compat_43_lstat_args),
	    compat_43_lstat },			/* 40 = compat_43_lstat */
	{ 1, s(struct dup_args),
	    dup },				/* 41 = dup */
	{ 0, 0,
	    pipe },				/* 42 = pipe */
	{ 0, 0,
	    nosys },				/* 43 = unimplemented sunos_times */
	{ 4, s(struct profil_args),
	    profil },				/* 44 = profil */
	{ 0, 0,
	    nosys },				/* 45 = unimplemented */
	{ 1, s(struct setgid_args),
	    setgid },				/* 46 = setgid */
	{ 0, 0,
	    getgid },				/* 47 = getgid */
	{ 0, 0,
	    nosys },				/* 48 = unimplemented sunos_ssig */
	{ 0, 0,
	    nosys },				/* 49 = unimplemented reserved for USG */
	{ 0, 0,
	    nosys },				/* 50 = unimplemented reserved for USG */
	{ 1, s(struct acct_args),
	    acct },				/* 51 = acct */
	{ 0, 0,
	    nosys },				/* 52 = unimplemented */
	{ 4, s(struct sunos_mctl_args),
	    sunos_mctl },			/* 53 = sunos_mctl */
	{ 3, s(struct sunos_ioctl_args),
	    sunos_ioctl },			/* 54 = sunos_ioctl */
	{ 1, s(struct reboot_args),
	    reboot },				/* 55 = reboot */
	{ 0, 0,
	    nosys },				/* 56 = obsolete sunos_owait3 */
	{ 2, s(struct symlink_args),
	    symlink },				/* 57 = symlink */
	{ 3, s(struct readlink_args),
	    readlink },				/* 58 = readlink */
	{ 3, s(struct execve_args),
	    execve },				/* 59 = execve */
	{ 1, s(struct umask_args),
	    umask },				/* 60 = umask */
	{ 1, s(struct chroot_args),
	    chroot },				/* 61 = chroot */
	{ 2, s(struct compat_43_fstat_args),
	    compat_43_fstat },			/* 62 = compat_43_fstat */
	{ 0, 0,
	    nosys },				/* 63 = unimplemented */
	{ 0, 0,
	    compat_43_getpagesize },		/* 64 = compat_43_getpagesize */
	{ 3, s(struct sunos_omsync_args),
	    sunos_omsync },			/* 65 = sunos_omsync */
	{ 0, 0,
	    vfork },				/* 66 = vfork */
	{ 0, 0,
	    nosys },				/* 67 = obsolete vread */
	{ 0, 0,
	    nosys },				/* 68 = obsolete vwrite */
	{ 1, s(struct sbrk_args),
	    sbrk },				/* 69 = sbrk */
	{ 1, s(struct sstk_args),
	    sstk },				/* 70 = sstk */
	{ 6, s(struct sunos_mmap_args),
	    sunos_mmap },			/* 71 = sunos_mmap */
	{ 1, s(struct ovadvise_args),
	    ovadvise },				/* 72 = vadvise */
	{ 2, s(struct munmap_args),
	    munmap },				/* 73 = munmap */
	{ 3, s(struct mprotect_args),
	    mprotect },				/* 74 = mprotect */
	{ 3, s(struct madvise_args),
	    madvise },				/* 75 = madvise */
	{ 0, 0,
	    sunos_vhangup },			/* 76 = sunos_vhangup */
	{ 0, 0,
	    nosys },				/* 77 = unimplemented vlimit */
	{ 3, s(struct mincore_args),
	    mincore },				/* 78 = mincore */
	{ 2, s(struct getgroups_args),
	    getgroups },			/* 79 = getgroups */
	{ 2, s(struct setgroups_args),
	    setgroups },			/* 80 = setgroups */
	{ 0, 0,
	    getpgrp },				/* 81 = getpgrp */
	{ 2, s(struct sunos_setpgid_args),
	    sunos_setpgid },			/* 82 = sunos_setpgid */
	{ 3, s(struct setitimer_args),
	    setitimer },			/* 83 = setitimer */
	{ 0, 0,
	    nosys },				/* 84 = unimplemented { int sunos_wait ( void ) ; } */
	{ 1, s(struct swapon_args),
	    swapon },				/* 85 = swapon */
	{ 2, s(struct getitimer_args),
	    getitimer },			/* 86 = getitimer */
	{ 2, s(struct compat_43_gethostname_args),
	    compat_43_gethostname },		/* 87 = compat_43_gethostname */
	{ 2, s(struct compat_43_sethostname_args),
	    compat_43_sethostname },		/* 88 = compat_43_sethostname */
	{ 0, 0,
	    compat_43_getdtablesize },		/* 89 = compat_43_getdtablesize */
	{ 2, s(struct dup2_args),
	    dup2 },				/* 90 = dup2 */
	{ 0, 0,
	    nosys },				/* 91 = unimplemented getdopt */
	{ 3, s(struct fcntl_args),
	    fcntl },				/* 92 = fcntl */
	{ 5, s(struct select_args),
	    select },				/* 93 = select */
	{ 0, 0,
	    nosys },				/* 94 = unimplemented setdopt */
	{ 1, s(struct fsync_args),
	    fsync },				/* 95 = fsync */
	{ 3, s(struct setpriority_args),
	    setpriority },			/* 96 = setpriority */
	{ 3, s(struct socket_args),
	    socket },				/* 97 = socket */
	{ 3, s(struct connect_args),
	    connect },				/* 98 = connect */
	{ 3, s(struct compat_43_accept_args),
	    compat_43_accept },			/* 99 = compat_43_accept */
	{ 2, s(struct getpriority_args),
	    getpriority },			/* 100 = getpriority */
	{ 4, s(struct compat_43_send_args),
	    compat_43_send },			/* 101 = compat_43_send */
	{ 4, s(struct compat_43_recv_args),
	    compat_43_recv },			/* 102 = compat_43_recv */
	{ 0, 0,
	    nosys },				/* 103 = unimplemented old socketaddr */
	{ 3, s(struct bind_args),
	    bind },				/* 104 = bind */
	{ 5, s(struct sunos_setsockopt_args),
	    sunos_setsockopt },			/* 105 = sunos_setsockopt */
	{ 2, s(struct listen_args),
	    listen },				/* 106 = listen */
	{ 0, 0,
	    nosys },				/* 107 = unimplemented vtimes */
	{ 3, s(struct compat_43_sigvec_args),
	    compat_43_sigvec },			/* 108 = compat_43_sigvec */
	{ 1, s(struct compat_43_sigblock_args),
	    compat_43_sigblock },		/* 109 = compat_43_sigblock */
	{ 1, s(struct compat_43_sigsetmask_args),
	    compat_43_sigsetmask },		/* 110 = compat_43_sigsetmask */
	{ 1, s(struct sigsuspend_args),
	    sigsuspend },			/* 111 = sigsuspend */
	{ 2, s(struct compat_43_sigstack_args),
	    compat_43_sigstack },		/* 112 = compat_43_sigstack */
	{ 3, s(struct compat_43_recvmsg_args),
	    compat_43_recvmsg },		/* 113 = compat_43_recvmsg */
	{ 3, s(struct compat_43_sendmsg_args),
	    compat_43_sendmsg },		/* 114 = compat_43_sendmsg */
	{ 0, 0,
	    nosys },				/* 115 = obsolete vtrace */
	{ 2, s(struct gettimeofday_args),
	    gettimeofday },			/* 116 = gettimeofday */
	{ 2, s(struct getrusage_args),
	    getrusage },			/* 117 = getrusage */
	{ 5, s(struct getsockopt_args),
	    getsockopt },			/* 118 = getsockopt */
	{ 0, 0,
	    nosys },				/* 119 = unimplemented */
	{ 3, s(struct readv_args),
	    readv },				/* 120 = readv */
	{ 3, s(struct writev_args),
	    writev },				/* 121 = writev */
	{ 2, s(struct settimeofday_args),
	    settimeofday },			/* 122 = settimeofday */
	{ 3, s(struct fchown_args),
	    fchown },				/* 123 = fchown */
	{ 2, s(struct fchmod_args),
	    fchmod },				/* 124 = fchmod */
	{ 6, s(struct compat_43_recvfrom_args),
	    compat_43_recvfrom },		/* 125 = compat_43_recvfrom */
	{ 2, s(struct compat_43_setreuid_args),
	    compat_43_setreuid },		/* 126 = compat_43_setreuid */
	{ 2, s(struct compat_43_setregid_args),
	    compat_43_setregid },		/* 127 = compat_43_setregid */
	{ 2, s(struct rename_args),
	    rename },				/* 128 = rename */
	{ 2, s(struct compat_43_truncate_args),
	    compat_43_truncate },		/* 129 = compat_43_truncate */
	{ 2, s(struct compat_43_ftruncate_args),
	    compat_43_ftruncate },		/* 130 = compat_43_ftruncate */
	{ 2, s(struct flock_args),
	    flock },				/* 131 = flock */
	{ 0, 0,
	    nosys },				/* 132 = unimplemented */
	{ 6, s(struct sendto_args),
	    sendto },				/* 133 = sendto */
	{ 2, s(struct shutdown_args),
	    shutdown },				/* 134 = shutdown */
	{ 4, s(struct socketpair_args),
	    socketpair },			/* 135 = socketpair */
	{ 2, s(struct mkdir_args),
	    mkdir },				/* 136 = mkdir */
	{ 1, s(struct rmdir_args),
	    rmdir },				/* 137 = rmdir */
	{ 2, s(struct utimes_args),
	    utimes },				/* 138 = utimes */
	{ 1, s(struct sigreturn_args),
	    sigreturn },			/* 139 = sigreturn */
	{ 2, s(struct adjtime_args),
	    adjtime },				/* 140 = adjtime */
	{ 3, s(struct compat_43_getpeername_args),
	    compat_43_getpeername },		/* 141 = compat_43_getpeername */
	{ 0, 0,
	    compat_43_gethostid },		/* 142 = compat_43_gethostid */
	{ 0, 0,
	    nosys },				/* 143 = unimplemented old sethostid */
	{ 2, s(struct sunos_getrlimit_args),
	    sunos_getrlimit },			/* 144 = sunos_getrlimit */
	{ 2, s(struct sunos_setrlimit_args),
	    sunos_setrlimit },			/* 145 = sunos_setrlimit */
	{ 2, s(struct compat_43_killpg_args),
	    compat_43_killpg },			/* 146 = compat_43_killpg */
	{ 0, 0,
	    nosys },				/* 147 = unimplemented */
	{ 0, 0,
	    nosys },				/* 148 = unimplemented */
	{ 0, 0,
	    nosys },				/* 149 = unimplemented */
	{ 3, s(struct compat_43_getsockname_args),
	    compat_43_getsockname },		/* 150 = compat_43_getsockname */
	{ 0, 0,
	    nosys },				/* 151 = unimplemented getmsg */
	{ 0, 0,
	    nosys },				/* 152 = unimplemented putmsg */
	{ 3, s(struct sunos_poll_args),
	    sunos_poll },			/* 153 = sunos_poll */
	{ 0, 0,
	    nosys },				/* 154 = unimplemented */
#ifdef NFSSERVER
	{ 1, s(struct sunos_nfssvc_args),
	    sunos_nfssvc },			/* 155 = sunos_nfssvc */
#else
	{ 0, 0,
	    nosys },				/* 155 = unimplemented */
#endif
	{ 4, s(struct getdirentries_args),
	    getdirentries },			/* 156 = getdirentries */
	{ 2, s(struct sunos_statfs_args),
	    sunos_statfs },			/* 157 = sunos_statfs */
	{ 2, s(struct sunos_fstatfs_args),
	    sunos_fstatfs },			/* 158 = sunos_fstatfs */
	{ 2, s(struct sunos_unmount_args),
	    sunos_unmount },			/* 159 = sunos_unmount */
#ifdef NFSCLIENT
	{ 0, 0,
	    async_daemon },			/* 160 = async_daemon */
	{ 2, s(struct getfh_args),
	    getfh },				/* 161 = getfh */
#else
	{ 0, 0,
	    nosys },				/* 160 = unimplemented */
	{ 0, 0,
	    nosys },				/* 161 = unimplemented */
#endif
	{ 2, s(struct compat_09_getdomainname_args),
	    compat_09_getdomainname },		/* 162 = compat_09_getdomainname */
	{ 2, s(struct compat_09_setdomainname_args),
	    compat_09_setdomainname },		/* 163 = compat_09_setdomainname */
	{ 0, 0,
	    nosys },				/* 164 = unimplemented rtschedule */
	{ 4, s(struct sunos_quotactl_args),
	    sunos_quotactl },			/* 165 = sunos_quotactl */
	{ 2, s(struct sunos_exportfs_args),
	    sunos_exportfs },			/* 166 = sunos_exportfs */
	{ 4, s(struct sunos_mount_args),
	    sunos_mount },			/* 167 = sunos_mount */
	{ 2, s(struct sunos_ustat_args),
	    sunos_ustat },			/* 168 = sunos_ustat */
#ifdef SYSVSEM
	{ 5, s(struct compat_10_semsys_args),
	    compat_10_semsys },			/* 169 = compat_10_semsys */
#else
	{ 0, 0,
	    nosys },				/* 169 = unimplemented nosys */
#endif
#ifdef SYSVMSG
	{ 6, s(struct compat_10_msgsys_args),
	    compat_10_msgsys },			/* 170 = compat_10_msgsys */
#else
	{ 0, 0,
	    nosys },				/* 170 = unimplemented nosys */
#endif
#ifdef SYSVSHM
	{ 4, s(struct compat_10_shmsys_args),
	    compat_10_shmsys },			/* 171 = compat_10_shmsys */
#else
	{ 0, 0,
	    nosys },				/* 171 = unimplemented nosys */
#endif
	{ 1, s(struct sunos_auditsys_args),
	    sunos_auditsys },			/* 172 = sunos_auditsys */
	{ 0, 0,
	    nosys },				/* 173 = unimplemented rfssys */
	{ 3, s(struct sunos_getdents_args),
	    sunos_getdents },			/* 174 = sunos_getdents */
	{ 0, 0,
	    setsid },				/* 175 = setsid */
	{ 1, s(struct fchdir_args),
	    fchdir },				/* 176 = fchdir */
	{ 1, s(struct sunos_fchroot_args),
	    sunos_fchroot },			/* 177 = sunos_fchroot */
	{ 0, 0,
	    nosys },				/* 178 = unimplemented vpixsys */
	{ 0, 0,
	    nosys },				/* 179 = unimplemented aioread */
	{ 0, 0,
	    nosys },				/* 180 = unimplemented aiowrite */
	{ 0, 0,
	    nosys },				/* 181 = unimplemented aiowait */
	{ 0, 0,
	    nosys },				/* 182 = unimplemented aiocancel */
	{ 1, s(struct sunos_sigpending_args),
	    sunos_sigpending },			/* 183 = sunos_sigpending */
	{ 0, 0,
	    nosys },				/* 184 = unimplemented */
	{ 2, s(struct setpgid_args),
	    setpgid },				/* 185 = setpgid */
	{ 2, s(struct pathconf_args),
	    pathconf },				/* 186 = pathconf */
	{ 2, s(struct fpathconf_args),
	    fpathconf },			/* 187 = fpathconf */
	{ 1, s(struct sunos_sysconf_args),
	    sunos_sysconf },			/* 188 = sunos_sysconf */
	{ 1, s(struct sunos_uname_args),
	    sunos_uname },			/* 189 = sunos_uname */
};

int	nsunos_sysent= sizeof(sunos_sysent) / sizeof(sunos_sysent[0]);
