#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: sunos32_sysent.c,v 1.39 2018/08/10 21:47:16 pgoyette Exp $");
#if defined(_KERNEL_OPT)
#include "opt_sysv.h"
#include "opt_compat_sunos.h"
#endif
#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>
#include <compat/netbsd32/netbsd32.h>
#include <compat/netbsd32/netbsd32_syscallargs.h>
#include <compat/sunos32/sunos32.h>
#include <compat/sunos32/sunos32_syscallargs.h>
#define s(type) sizeof(type)
#define n(type) (sizeof(type)/sizeof (register32_t))
#define ns(type) .sy_narg = n(type), .sy_argsize = s(type)
struct sysent sunos32_sysent[] = {
{
.sy_call = (sy_call_t *)sys_nosys
},
{
ns(struct netbsd32_exit_args),
.sy_call = (sy_call_t *)netbsd32_exit
},
{
.sy_call = (sy_call_t *)sys_fork
},
{
ns(struct netbsd32_read_args),
.sy_call = (sy_call_t *)netbsd32_read
},
{
ns(struct netbsd32_write_args),
.sy_call = (sy_call_t *)netbsd32_write
},
{
ns(struct sunos32_sys_open_args),
.sy_call = (sy_call_t *)sunos32_sys_open
},
{
ns(struct netbsd32_close_args),
.sy_call = (sy_call_t *)netbsd32_close
},
{
ns(struct sunos32_sys_wait4_args),
.sy_call = (sy_call_t *)sunos32_sys_wait4
},
{
ns(struct sunos32_sys_creat_args),
.sy_call = (sy_call_t *)sunos32_sys_creat
},
{
ns(struct netbsd32_link_args),
.sy_call = (sy_call_t *)netbsd32_link
},
{
ns(struct netbsd32_unlink_args),
.sy_call = (sy_call_t *)netbsd32_unlink
},
{
ns(struct sunos32_sys_execv_args),
.sy_call = (sy_call_t *)sunos32_sys_execv
},
{
ns(struct netbsd32_chdir_args),
.sy_call = (sy_call_t *)netbsd32_chdir
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_mknod_args),
.sy_call = (sy_call_t *)sunos32_sys_mknod
},
{
ns(struct netbsd32_chmod_args),
.sy_call = (sy_call_t *)netbsd32_chmod
},
{
ns(struct netbsd32_chown_args),
.sy_call = (sy_call_t *)netbsd32_chown
},
{
ns(struct netbsd32_break_args),
.sy_call = (sy_call_t *)netbsd32_break
},
{
.sy_call = sys_nosys,
},
{
ns(struct compat_43_netbsd32_olseek_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_olseek
},
{
.sy_call = (sy_call_t *)sys_getpid_with_ppid
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_setuid_args),
.sy_call = (sy_call_t *)netbsd32_setuid
},
{
.sy_call = (sy_call_t *)sys_getuid_with_euid
},
{
ns(struct sunos32_sys_stime_args),
.sy_call = (sy_call_t *)sunos32_sys_stime
},
{
ns(struct sunos32_sys_ptrace_args),
.sy_call = (sy_call_t *)sunos32_sys_ptrace
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_access_args),
.sy_call = (sy_call_t *)sunos32_sys_access
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = (sy_call_t *)sys_sync
},
{
ns(struct netbsd32_kill_args),
.sy_call = (sy_call_t *)netbsd32_kill
},
{
ns(struct sunos32_sys_stat_args),
.sy_call = (sy_call_t *)sunos32_sys_stat
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_lstat_args),
.sy_call = (sy_call_t *)sunos32_sys_lstat
},
{
ns(struct netbsd32_dup_args),
.sy_call = (sy_call_t *)netbsd32_dup
},
{
.sy_call = (sy_call_t *)sys_pipe
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_profil_args),
.sy_call = (sy_call_t *)netbsd32_profil
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_setgid_args),
.sy_call = (sy_call_t *)netbsd32_setgid
},
{
.sy_call = (sy_call_t *)sys_getgid_with_egid
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_acct_args),
.sy_call = (sy_call_t *)netbsd32_acct
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_mctl_args),
.sy_call = (sy_call_t *)sunos32_sys_mctl
},
{
ns(struct sunos32_sys_ioctl_args),
.sy_call = (sy_call_t *)sunos32_sys_ioctl
},
{
ns(struct sunos32_sys_reboot_args),
.sy_call = (sy_call_t *)sunos32_sys_reboot
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_symlink_args),
.sy_call = (sy_call_t *)netbsd32_symlink
},
{
ns(struct netbsd32_readlink_args),
.sy_call = (sy_call_t *)netbsd32_readlink
},
{
ns(struct sunos32_sys_execve_args),
.sy_call = (sy_call_t *)sunos32_sys_execve
},
{
ns(struct netbsd32_umask_args),
.sy_call = (sy_call_t *)netbsd32_umask
},
{
ns(struct netbsd32_chroot_args),
.sy_call = (sy_call_t *)netbsd32_chroot
},
{
ns(struct compat_43_netbsd32_fstat43_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_fstat43
},
{
.sy_call = sys_nosys,
},
{
.sy_call = (sy_call_t *)compat_43_sys_getpagesize
},
{
ns(struct sunos32_sys_omsync_args),
.sy_call = (sy_call_t *)sunos32_sys_omsync
},
{
.sy_call = (sy_call_t *)sys_vfork
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_mmap_args),
.sy_call = (sy_call_t *)sunos32_sys_mmap
},
{
ns(struct netbsd32_ovadvise_args),
.sy_call = (sy_call_t *)netbsd32_ovadvise
},
{
ns(struct netbsd32_munmap_args),
.sy_call = (sy_call_t *)netbsd32_munmap
},
{
ns(struct netbsd32_mprotect_args),
.sy_call = (sy_call_t *)netbsd32_mprotect
},
{
ns(struct netbsd32_madvise_args),
.sy_call = (sy_call_t *)netbsd32_madvise
},
{
.sy_call = (sy_call_t *)sunos32_sys_vhangup
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_mincore_args),
.sy_call = (sy_call_t *)netbsd32_mincore
},
{
ns(struct netbsd32_getgroups_args),
.sy_call = (sy_call_t *)netbsd32_getgroups
},
{
ns(struct netbsd32_setgroups_args),
.sy_call = (sy_call_t *)netbsd32_setgroups
},
{
.sy_call = (sy_call_t *)sys_getpgrp
},
{
ns(struct sunos32_sys_setpgrp_args),
.sy_call = (sy_call_t *)sunos32_sys_setpgrp
},
{
ns(struct compat_50_netbsd32_setitimer_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_setitimer
},
{
.sy_call = sys_nosys,
},
{
ns(struct compat_12_netbsd32_oswapon_args),
.sy_call = (sy_call_t *)compat_12_netbsd32_oswapon
},
{
ns(struct compat_50_netbsd32_getitimer_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_getitimer
},
{
ns(struct compat_43_netbsd32_ogethostname_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_ogethostname
},
{
ns(struct compat_43_netbsd32_osethostname_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_osethostname
},
{
.sy_call = (sy_call_t *)compat_43_sys_getdtablesize
},
{
ns(struct netbsd32_dup2_args),
.sy_call = (sy_call_t *)netbsd32_dup2
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_fcntl_args),
.sy_call = (sy_call_t *)sunos32_sys_fcntl
},
{
ns(struct compat_50_netbsd32_select_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_select
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_fsync_args),
.sy_call = (sy_call_t *)netbsd32_fsync
},
{
ns(struct netbsd32_setpriority_args),
.sy_call = (sy_call_t *)netbsd32_setpriority
},
{
ns(struct sunos32_sys_socket_args),
.sy_call = (sy_call_t *)sunos32_sys_socket
},
{
ns(struct netbsd32_connect_args),
.sy_call = (sy_call_t *)netbsd32_connect
},
{
ns(struct compat_43_netbsd32_oaccept_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_oaccept
},
{
ns(struct netbsd32_getpriority_args),
.sy_call = (sy_call_t *)netbsd32_getpriority
},
{
ns(struct compat_43_netbsd32_osend_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_osend
},
{
ns(struct compat_43_netbsd32_orecv_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_orecv
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_bind_args),
.sy_call = (sy_call_t *)netbsd32_bind
},
{
ns(struct sunos32_sys_setsockopt_args),
.sy_call = (sy_call_t *)sunos32_sys_setsockopt
},
{
ns(struct netbsd32_listen_args),
.sy_call = (sy_call_t *)netbsd32_listen
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_sigvec_args),
.sy_call = (sy_call_t *)sunos32_sys_sigvec
},
{
ns(struct compat_43_netbsd32_sigblock_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_sigblock
},
{
ns(struct compat_43_netbsd32_sigsetmask_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_sigsetmask
},
{
ns(struct sunos32_sys_sigsuspend_args),
.sy_call = (sy_call_t *)sunos32_sys_sigsuspend
},
{
ns(struct compat_43_netbsd32_osigstack_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_osigstack
},
{
ns(struct compat_43_netbsd32_orecvmsg_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_orecvmsg
},
{
ns(struct compat_43_netbsd32_osendmsg_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_osendmsg
},
{
.sy_call = sys_nosys,
},
{
ns(struct compat_50_netbsd32_gettimeofday_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_gettimeofday
},
{
ns(struct compat_50_netbsd32_getrusage_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_getrusage
},
{
ns(struct netbsd32_getsockopt_args),
.sy_call = (sy_call_t *)netbsd32_getsockopt
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_readv_args),
.sy_call = (sy_call_t *)netbsd32_readv
},
{
ns(struct netbsd32_writev_args),
.sy_call = (sy_call_t *)netbsd32_writev
},
{
ns(struct compat_50_netbsd32_settimeofday_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_settimeofday
},
{
ns(struct netbsd32_fchown_args),
.sy_call = (sy_call_t *)netbsd32_fchown
},
{
ns(struct netbsd32_fchmod_args),
.sy_call = (sy_call_t *)netbsd32_fchmod
},
{
ns(struct compat_43_netbsd32_orecvfrom_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_orecvfrom
},
{
ns(struct netbsd32_setreuid_args),
.sy_call = (sy_call_t *)netbsd32_setreuid
},
{
ns(struct netbsd32_setregid_args),
.sy_call = (sy_call_t *)netbsd32_setregid
},
{
ns(struct netbsd32_rename_args),
.sy_call = (sy_call_t *)netbsd32_rename
},
{
ns(struct compat_43_netbsd32_otruncate_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_otruncate
},
{
ns(struct compat_43_netbsd32_oftruncate_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_oftruncate
},
{
ns(struct netbsd32_flock_args),
.sy_call = (sy_call_t *)netbsd32_flock
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_sendto_args),
.sy_call = (sy_call_t *)netbsd32_sendto
},
{
ns(struct netbsd32_shutdown_args),
.sy_call = (sy_call_t *)netbsd32_shutdown
},
{
ns(struct sunos32_sys_socketpair_args),
.sy_call = (sy_call_t *)sunos32_sys_socketpair
},
{
ns(struct netbsd32_mkdir_args),
.sy_call = (sy_call_t *)netbsd32_mkdir
},
{
ns(struct netbsd32_rmdir_args),
.sy_call = (sy_call_t *)netbsd32_rmdir
},
{
ns(struct compat_50_netbsd32_utimes_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_utimes
},
{
ns(struct sunos32_sys_sigreturn_args),
.sy_call = (sy_call_t *)sunos32_sys_sigreturn
},
{
ns(struct compat_50_netbsd32_adjtime_args),
.sy_call = (sy_call_t *)compat_50_netbsd32_adjtime
},
{
ns(struct compat_43_netbsd32_ogetpeername_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_ogetpeername
},
{
.sy_call = (sy_call_t *)compat_43_sys_gethostid
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_getrlimit_args),
.sy_call = (sy_call_t *)sunos32_sys_getrlimit
},
{
ns(struct sunos32_sys_setrlimit_args),
.sy_call = (sy_call_t *)sunos32_sys_setrlimit
},
{
ns(struct compat_43_netbsd32_killpg_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_killpg
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct compat_43_netbsd32_ogetsockname_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_ogetsockname
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_poll_args),
.sy_call = (sy_call_t *)netbsd32_poll
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct compat_43_netbsd32_ogetdirentries_args),
.sy_call = (sy_call_t *)compat_43_netbsd32_ogetdirentries
},
{
ns(struct sunos32_sys_statfs_args),
.sy_call = (sy_call_t *)sunos32_sys_statfs
},
{
ns(struct sunos32_sys_fstatfs_args),
.sy_call = (sy_call_t *)sunos32_sys_fstatfs
},
{
ns(struct sunos32_sys_unmount_args),
.sy_call = (sy_call_t *)sunos32_sys_unmount
},
{
.sy_call = sys_nosys,
},
{
ns(struct compat_30_sys_getfh_args),
.sy_call = (sy_call_t *)compat_30_sys_getfh
},
{
ns(struct compat_09_netbsd32_ogetdomainname_args),
.sy_call = (sy_call_t *)compat_09_netbsd32_ogetdomainname
},
{
ns(struct compat_09_netbsd32_osetdomainname_args),
.sy_call = (sy_call_t *)compat_09_netbsd32_osetdomainname
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_quotactl_args),
.sy_call = (sy_call_t *)sunos32_sys_quotactl
},
{
ns(struct sunos32_sys_exportfs_args),
.sy_call = (sy_call_t *)sunos32_sys_exportfs
},
{
ns(struct sunos32_sys_mount_args),
.sy_call = (sy_call_t *)sunos32_sys_mount
},
{
ns(struct sunos32_sys_ustat_args),
.sy_call = (sy_call_t *)sunos32_sys_ustat
},
#ifdef SYSVSEM
{
ns(struct compat_10_netbsd32_semsys_args),
.sy_call = (sy_call_t *)compat_10_netbsd32_semsys
},
#else
{
.sy_call = sys_nosys,
},
#endif
#ifdef SYSVMSG
{
ns(struct compat_10_netbsd32_msgsys_args),
.sy_call = (sy_call_t *)compat_10_netbsd32_msgsys
},
#else
{
.sy_call = sys_nosys,
},
#endif
#ifdef SYSVSHM
{
ns(struct compat_10_netbsd32_shmsys_args),
.sy_call = (sy_call_t *)compat_10_netbsd32_shmsys
},
#else
{
.sy_call = sys_nosys,
},
#endif
{
ns(struct sunos32_sys_auditsys_args),
.sy_call = (sy_call_t *)sunos32_sys_auditsys
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_getdents_args),
.sy_call = (sy_call_t *)sunos32_sys_getdents
},
{
.sy_call = (sy_call_t *)sys_setsid
},
{
ns(struct netbsd32_fchdir_args),
.sy_call = (sy_call_t *)netbsd32_fchdir
},
{
ns(struct netbsd32_fchroot_args),
.sy_call = (sy_call_t *)netbsd32_fchroot
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
ns(struct sunos32_sys_sigpending_args),
.sy_call = (sy_call_t *)sunos32_sys_sigpending
},
{
.sy_call = sys_nosys,
},
{
ns(struct netbsd32_setpgid_args),
.sy_call = (sy_call_t *)netbsd32_setpgid
},
{
ns(struct netbsd32_pathconf_args),
.sy_call = (sy_call_t *)netbsd32_pathconf
},
{
ns(struct netbsd32_fpathconf_args),
.sy_call = (sy_call_t *)netbsd32_fpathconf
},
{
ns(struct sunos32_sys_sysconf_args),
.sy_call = (sy_call_t *)sunos32_sys_sysconf
},
{
ns(struct sunos32_sys_uname_args),
.sy_call = (sy_call_t *)sunos32_sys_uname
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
{
.sy_call = sys_nosys,
},
};
const uint32_t sunos32_sysent_nomodbits[] = {
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
0x00000000,
};