/*
 * System call switch table.
 *
 * DO NOT EDIT-- this file is automatically generated.
 * created from	NetBSD: syscalls.master,v 1.3 1994/10/26 02:53:19 cgd Exp 
 */

#include <sys/param.h>
#include <compat/ibcs2/ibcs2_types.h>
#include <compat/ibcs2/ibcs2_signal.h>
#include <compat/ibcs2/ibcs2_statfs.h>
#include <sys/systm.h>
#include <sys/signal.h>
#include <sys/mount.h>
#include <sys/syscallargs.h>
#include <compat/ibcs2/ibcs2_syscallargs.h>
int	nosys();
int	exit();
int	fork();
int	ibcs2_read();
int	write();
int	ibcs2_open();
int	close();
int	ibcs2_waitsys();
int	ibcs2_creat();
int	link();
int	ibcs2_unlink();
int	ibcs2_execv();
int	ibcs2_chdir();
int	ibcs2_time();
int	ibcs2_mknod();
int	ibcs2_chmod();
int	ibcs2_chown();
int	obreak();
int	ibcs2_stat();
int	compat_43_lseek();
int	getpid();
int	ibcs2_mount();
int	ibcs2_umount();
int	ibcs2_setuid();
int	getuid();
int	ibcs2_stime();
int	ibcs2_alarm();
int	ibcs2_fstat();
int	ibcs2_pause();
int	ibcs2_utime();
int	ibcs2_access();
int	ibcs2_nice();
int	ibcs2_statfs();
int	sync();
int	ibcs2_kill();
int	ibcs2_fstatfs();
int	ibcs2_pgrpsys();
int	dup();
int	pipe();
int	ibcs2_times();
int	ibcs2_plock();
int	ibcs2_setgid();
int	getgid();
int	ibcs2_sigsys();
#ifdef SYSVMSG
int	ibcs2_msgsys();
#else
#endif
#ifdef SYSVSHM
int	ibcs2_shmsys();
#else
#endif
#ifdef SYSVSEM
int	ibcs2_semsys();
#else
#endif
int	ibcs2_ioctl();
int	ibcs2_uadmin();
int	ibcs2_utssys();
int	ibcs2_execve();
int	umask();
int	chroot();
int	ibcs2_fcntl();
int	ibcs2_ulimit();
int	ibcs2_rmdir();
int	ibcs2_mkdir();
int	ibcs2_getdents();
int	ibcs2_sysfs();
int	ibcs2_getmsg();
int	ibcs2_putmsg();
int	ibcs2_poll();
int	ibcs2_symlink();
int	ibcs2_lstat();
int	ibcs2_readlink();
int	sigreturn();
int	xenix_rdchk();
int	xenix_chsize();
int	xenix_ftime();
int	xenix_nap();
int	select();
int	ibcs2_sigaction();
int	ibcs2_sigprocmask();
int	ibcs2_sigpending();
int	ibcs2_sigsuspend();
int	ibcs2_getgroups();
int	ibcs2_setgroups();
int	ibcs2_sysconf();
int	ibcs2_pathconf();
int	ibcs2_fpathconf();
int	ibcs2_rename();

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

#ifdef SYSVMSG
#else
#endif
#ifdef SYSVSHM
#else
#endif
#ifdef SYSVSEM
#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 SYSVMSG
#else
#endif
#ifdef SYSVSHM
#else
#endif
#ifdef SYSVSEM
#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 SYSVMSG
#else
#endif
#ifdef SYSVSHM
#else
#endif
#ifdef SYSVSEM
#else
#endif

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

#define	s(type)	sizeof(type)

struct sysent ibcs2_sysent[] = {
	{ 0, 0,
	    nosys },				/* 0 = syscall */
	{ 1, s(struct exit_args),
	    exit },				/* 1 = exit */
	{ 0, 0,
	    fork },				/* 2 = fork */
	{ 3, s(struct ibcs2_read_args),
	    ibcs2_read },			/* 3 = ibcs2_read */
	{ 3, s(struct write_args),
	    write },				/* 4 = write */
	{ 3, s(struct ibcs2_open_args),
	    ibcs2_open },			/* 5 = ibcs2_open */
	{ 1, s(struct close_args),
	    close },				/* 6 = close */
	{ 3, s(struct ibcs2_waitsys_args),
	    ibcs2_waitsys },			/* 7 = ibcs2_waitsys */
	{ 2, s(struct ibcs2_creat_args),
	    ibcs2_creat },			/* 8 = ibcs2_creat */
	{ 2, s(struct link_args),
	    link },				/* 9 = link */
	{ 1, s(struct ibcs2_unlink_args),
	    ibcs2_unlink },			/* 10 = ibcs2_unlink */
	{ 2, s(struct ibcs2_execv_args),
	    ibcs2_execv },			/* 11 = ibcs2_execv */
	{ 1, s(struct ibcs2_chdir_args),
	    ibcs2_chdir },			/* 12 = ibcs2_chdir */
	{ 1, s(struct ibcs2_time_args),
	    ibcs2_time },			/* 13 = ibcs2_time */
	{ 3, s(struct ibcs2_mknod_args),
	    ibcs2_mknod },			/* 14 = ibcs2_mknod */
	{ 2, s(struct ibcs2_chmod_args),
	    ibcs2_chmod },			/* 15 = ibcs2_chmod */
	{ 3, s(struct ibcs2_chown_args),
	    ibcs2_chown },			/* 16 = ibcs2_chown */
	{ 1, s(struct obreak_args),
	    obreak },				/* 17 = obreak */
	{ 2, s(struct ibcs2_stat_args),
	    ibcs2_stat },			/* 18 = ibcs2_stat */
	{ 3, s(struct compat_43_lseek_args),
	    compat_43_lseek },			/* 19 = compat_43_lseek */
	{ 0, 0,
	    getpid },				/* 20 = getpid */
	{ 6, s(struct ibcs2_mount_args),
	    ibcs2_mount },			/* 21 = ibcs2_mount */
	{ 1, s(struct ibcs2_umount_args),
	    ibcs2_umount },			/* 22 = ibcs2_umount */
	{ 1, s(struct ibcs2_setuid_args),
	    ibcs2_setuid },			/* 23 = ibcs2_setuid */
	{ 0, 0,
	    getuid },				/* 24 = getuid */
	{ 1, s(struct ibcs2_stime_args),
	    ibcs2_stime },			/* 25 = ibcs2_stime */
	{ 0, 0,
	    nosys },				/* 26 = unimplemented ibcs2_ptrace */
	{ 1, s(struct ibcs2_alarm_args),
	    ibcs2_alarm },			/* 27 = ibcs2_alarm */
	{ 2, s(struct ibcs2_fstat_args),
	    ibcs2_fstat },			/* 28 = ibcs2_fstat */
	{ 0, 0,
	    ibcs2_pause },			/* 29 = ibcs2_pause */
	{ 2, s(struct ibcs2_utime_args),
	    ibcs2_utime },			/* 30 = ibcs2_utime */
	{ 0, 0,
	    nosys },				/* 31 = unimplemented was stty */
	{ 0, 0,
	    nosys },				/* 32 = unimplemented was gtty */
	{ 2, s(struct ibcs2_access_args),
	    ibcs2_access },			/* 33 = ibcs2_access */
	{ 1, s(struct ibcs2_nice_args),
	    ibcs2_nice },			/* 34 = ibcs2_nice */
	{ 4, s(struct ibcs2_statfs_args),
	    ibcs2_statfs },			/* 35 = ibcs2_statfs */
	{ 0, 0,
	    sync },				/* 36 = sync */
	{ 2, s(struct ibcs2_kill_args),
	    ibcs2_kill },			/* 37 = ibcs2_kill */
	{ 4, s(struct ibcs2_fstatfs_args),
	    ibcs2_fstatfs },			/* 38 = ibcs2_fstatfs */
	{ 4, s(struct ibcs2_pgrpsys_args),
	    ibcs2_pgrpsys },			/* 39 = ibcs2_pgrpsys */
	{ 0, 0,
	    nosys },				/* 40 = unimplemented ibcs2_xenix */
	{ 1, s(struct dup_args),
	    dup },				/* 41 = dup */
	{ 0, 0,
	    pipe },				/* 42 = pipe */
	{ 1, s(struct ibcs2_times_args),
	    ibcs2_times },			/* 43 = ibcs2_times */
	{ 0, 0,
	    nosys },				/* 44 = unimplemented profil */
	{ 1, s(struct ibcs2_plock_args),
	    ibcs2_plock },			/* 45 = ibcs2_plock */
	{ 1, s(struct ibcs2_setgid_args),
	    ibcs2_setgid },			/* 46 = ibcs2_setgid */
	{ 0, 0,
	    getgid },				/* 47 = getgid */
	{ 2, s(struct ibcs2_sigsys_args),
	    ibcs2_sigsys },			/* 48 = ibcs2_sigsys */
#ifdef SYSVMSG
	{ 6, s(struct ibcs2_msgsys_args),
	    ibcs2_msgsys },			/* 49 = ibcs2_msgsys */
#else
	{ 0, 0,
	    nosys },				/* 49 = unimplemented nosys */
#endif
	{ 0, 0,
	    nosys },				/* 50 = unimplemented ibcs2_sys3b */
	{ 0, 0,
	    nosys },				/* 51 = unimplemented ibcs2_acct */
#ifdef SYSVSHM
	{ 4, s(struct ibcs2_shmsys_args),
	    ibcs2_shmsys },			/* 52 = ibcs2_shmsys */
#else
	{ 0, 0,
	    nosys },				/* 52 = unimplemented nosys */
#endif
#ifdef SYSVSEM
	{ 5, s(struct ibcs2_semsys_args),
	    ibcs2_semsys },			/* 53 = ibcs2_semsys */
#else
	{ 0, 0,
	    nosys },				/* 53 = unimplemented nosys */
#endif
	{ 3, s(struct ibcs2_ioctl_args),
	    ibcs2_ioctl },			/* 54 = ibcs2_ioctl */
	{ 3, s(struct ibcs2_uadmin_args),
	    ibcs2_uadmin },			/* 55 = ibcs2_uadmin */
	{ 0, 0,
	    nosys },				/* 56 = unimplemented nosys */
	{ 3, s(struct ibcs2_utssys_args),
	    ibcs2_utssys },			/* 57 = ibcs2_utssys */
	{ 0, 0,
	    nosys },				/* 58 = unimplemented nosys */
	{ 3, s(struct ibcs2_execve_args),
	    ibcs2_execve },			/* 59 = ibcs2_execve */
	{ 1, s(struct umask_args),
	    umask },				/* 60 = umask */
	{ 1, s(struct chroot_args),
	    chroot },				/* 61 = chroot */
	{ 3, s(struct ibcs2_fcntl_args),
	    ibcs2_fcntl },			/* 62 = ibcs2_fcntl */
	{ 2, s(struct ibcs2_ulimit_args),
	    ibcs2_ulimit },			/* 63 = ibcs2_ulimit */
	{ 0, 0,
	    nosys },				/* 64 = unimplemented reserved for unix/pc */
	{ 0, 0,
	    nosys },				/* 65 = unimplemented reserved for unix/pc */
	{ 0, 0,
	    nosys },				/* 66 = unimplemented reserved for unix/pc */
	{ 0, 0,
	    nosys },				/* 67 = unimplemented reserved for unix/pc */
	{ 0, 0,
	    nosys },				/* 68 = unimplemented reserved for unix/pc */
	{ 0, 0,
	    nosys },				/* 69 = unimplemented reserved for unix/pc */
	{ 0, 0,
	    nosys },				/* 70 = obsolete rfs_advfs */
	{ 0, 0,
	    nosys },				/* 71 = obsolete rfs_unadvfs */
	{ 0, 0,
	    nosys },				/* 72 = obsolete rfs_rmount */
	{ 0, 0,
	    nosys },				/* 73 = obsolete rfs_rumount */
	{ 0, 0,
	    nosys },				/* 74 = obsolete rfs_rfstart */
	{ 0, 0,
	    nosys },				/* 75 = obsolete rfs_sigret */
	{ 0, 0,
	    nosys },				/* 76 = obsolete rfs_rdebug */
	{ 0, 0,
	    nosys },				/* 77 = obsolete rfs_rfstop */
	{ 0, 0,
	    nosys },				/* 78 = unimplemented rfs_rfsys */
	{ 1, s(struct ibcs2_rmdir_args),
	    ibcs2_rmdir },			/* 79 = ibcs2_rmdir */
	{ 2, s(struct ibcs2_mkdir_args),
	    ibcs2_mkdir },			/* 80 = ibcs2_mkdir */
	{ 3, s(struct ibcs2_getdents_args),
	    ibcs2_getdents },			/* 81 = ibcs2_getdents */
	{ 0, 0,
	    nosys },				/* 82 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 83 = unimplemented nosys */
	{ 3, s(struct ibcs2_sysfs_args),
	    ibcs2_sysfs },			/* 84 = ibcs2_sysfs */
	{ 4, s(struct ibcs2_getmsg_args),
	    ibcs2_getmsg },			/* 85 = ibcs2_getmsg */
	{ 4, s(struct ibcs2_putmsg_args),
	    ibcs2_putmsg },			/* 86 = ibcs2_putmsg */
	{ 3, s(struct ibcs2_poll_args),
	    ibcs2_poll },			/* 87 = ibcs2_poll */
	{ 0, 0,
	    nosys },				/* 88 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 89 = unimplemented nosys */
	{ 2, s(struct ibcs2_symlink_args),
	    ibcs2_symlink },			/* 90 = ibcs2_symlink */
	{ 2, s(struct ibcs2_lstat_args),
	    ibcs2_lstat },			/* 91 = ibcs2_lstat */
	{ 3, s(struct ibcs2_readlink_args),
	    ibcs2_readlink },			/* 92 = ibcs2_readlink */
	{ 0, 0,
	    nosys },				/* 93 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 94 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 95 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 96 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 97 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 98 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 99 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 100 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 101 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 102 = unimplemented nosys */
	{ 1, s(struct sigreturn_args),
	    sigreturn },			/* 103 = sigreturn */
	{ 0, 0,
	    nosys },				/* 104 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 105 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 106 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 107 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 108 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 109 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 110 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 111 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 112 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 113 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 114 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 115 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 116 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 117 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 118 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 119 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 120 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 121 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 122 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 123 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 124 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 125 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 126 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 127 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 128 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 129 = unimplemented xenix_xlocking */
	{ 0, 0,
	    nosys },				/* 130 = unimplemented xenix_creatsem */
	{ 0, 0,
	    nosys },				/* 131 = unimplemented xenix_opensem */
	{ 0, 0,
	    nosys },				/* 132 = unimplemented xenix_sigsem */
	{ 0, 0,
	    nosys },				/* 133 = unimplemented xenix_waitsem */
	{ 0, 0,
	    nosys },				/* 134 = unimplemented xenix_nbwaitsem */
	{ 1, s(struct xenix_rdchk_args),
	    xenix_rdchk },			/* 135 = xenix_rdchk */
	{ 0, 0,
	    nosys },				/* 136 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 137 = unimplemented nosys */
	{ 2, s(struct xenix_chsize_args),
	    xenix_chsize },			/* 138 = xenix_chsize */
	{ 1, s(struct xenix_ftime_args),
	    xenix_ftime },			/* 139 = xenix_ftime */
	{ 1, s(struct xenix_nap_args),
	    xenix_nap },			/* 140 = xenix_nap */
	{ 0, 0,
	    nosys },				/* 141 = unimplemented xenix_sdget */
	{ 0, 0,
	    nosys },				/* 142 = unimplemented xenix_sdfree */
	{ 0, 0,
	    nosys },				/* 143 = unimplemented xenix_sdenter */
	{ 0, 0,
	    nosys },				/* 144 = unimplemented xenix_sdleave */
	{ 0, 0,
	    nosys },				/* 145 = unimplemented xenix_sdgetv */
	{ 0, 0,
	    nosys },				/* 146 = unimplemented xenix_sdwaitv */
	{ 0, 0,
	    nosys },				/* 147 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 148 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 149 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 150 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 151 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 152 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 153 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 154 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 155 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 156 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 157 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 158 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 159 = unimplemented nosys */
	{ 0, 0,
	    nosys },				/* 160 = unimplemented xenix_proctl */
	{ 0, 0,
	    nosys },				/* 161 = unimplemented xenix_execseg */
	{ 0, 0,
	    nosys },				/* 162 = unimplemented xenix_unexecseg */
	{ 0, 0,
	    nosys },				/* 163 = unimplemented nosys */
	{ 5, s(struct select_args),
	    select },				/* 164 = select */
	{ 0, 0,
	    nosys },				/* 165 = unimplemented xenix_eaccess */
	{ 0, 0,
	    nosys },				/* 166 = unimplemented xenix_paccess */
	{ 3, s(struct ibcs2_sigaction_args),
	    ibcs2_sigaction },			/* 167 = ibcs2_sigaction */
	{ 3, s(struct ibcs2_sigprocmask_args),
	    ibcs2_sigprocmask },		/* 168 = ibcs2_sigprocmask */
	{ 1, s(struct ibcs2_sigpending_args),
	    ibcs2_sigpending },			/* 169 = ibcs2_sigpending */
	{ 1, s(struct ibcs2_sigsuspend_args),
	    ibcs2_sigsuspend },			/* 170 = ibcs2_sigsuspend */
	{ 2, s(struct ibcs2_getgroups_args),
	    ibcs2_getgroups },			/* 171 = ibcs2_getgroups */
	{ 2, s(struct ibcs2_setgroups_args),
	    ibcs2_setgroups },			/* 172 = ibcs2_setgroups */
	{ 1, s(struct ibcs2_sysconf_args),
	    ibcs2_sysconf },			/* 173 = ibcs2_sysconf */
	{ 2, s(struct ibcs2_pathconf_args),
	    ibcs2_pathconf },			/* 174 = ibcs2_pathconf */
	{ 2, s(struct ibcs2_fpathconf_args),
	    ibcs2_fpathconf },			/* 175 = ibcs2_fpathconf */
	{ 2, s(struct ibcs2_rename_args),
	    ibcs2_rename },			/* 176 = ibcs2_rename */
};

int	nibcs2_sysent= sizeof(ibcs2_sysent) / sizeof(ibcs2_sysent[0]);
