rpcsx/orbis-kernel/src/sysvec.cpp
Isaac Marovitz 098220217c
Fix typo & other problems (#12)
* Ignore external deps
* Clang 16
* clang-format 16
* Fix linting action
2023-07-07 00:48:59 +03:00

2476 lines
80 KiB
C++

#include "sys/syscall.hpp"
#include "sys/sysentry.hpp"
#include "sys/sysproto.hpp"
#include <unordered_map>
enum { PSL_C = 0x1 };
void orbis::syscall_entry(Thread *thread) {
uint64_t regstbl[] = {
readRegister(thread->context, RegisterId::rdi),
readRegister(thread->context, RegisterId::rsi),
readRegister(thread->context, RegisterId::rdx),
readRegister(thread->context, RegisterId::r10),
readRegister(thread->context, RegisterId::r8),
readRegister(thread->context, RegisterId::r9),
};
uint64_t *regsptr = regstbl;
sint regcnt = 6;
int syscall_num = readRegister(thread->context, RegisterId::rax);
if (syscall_num == kSYS_syscall || syscall_num == kSYS___syscall) {
syscall_num = *regsptr++;
--regcnt;
}
thread->retval[0] = 0;
thread->retval[1] = readRegister(thread->context, RegisterId::rdx);
int error = 0;
auto p = thread->tproc;
if (syscall_num >= p->sysent->size) {
error = int(ErrorCode::NOSYS);
} else {
auto sysent = p->sysent->table[syscall_num];
uint64_t args[8];
std::memcpy(args, regsptr,
std::min(regcnt, sysent.narg) * sizeof(uint64_t));
if (sysent.narg > regcnt) {
if (sysent.narg > std::ssize(args)) {
std::abort();
}
error =
int(uread(args + regcnt,
ptr<void>(readRegister(thread->context, RegisterId::rsp) +
sizeof(uint64_t)),
(sysent.narg - regcnt) * sizeof(uint64_t)));
}
if (error == 0) {
if (thread->tproc->onSysEnter != nullptr) {
thread->tproc->onSysEnter(thread, syscall_num, args, sysent.narg);
}
auto result = sysent.call(thread, args);
if (thread->tproc->onSysExit != nullptr) {
thread->tproc->onSysExit(thread, syscall_num, args, sysent.narg,
result);
}
error = result.value();
}
}
auto rflags = readRegister(thread->context, RegisterId::rflags);
if (error == 0) {
writeRegister(thread->context, RegisterId::rax, thread->retval[0]);
writeRegister(thread->context, RegisterId::rdx, thread->retval[1]);
writeRegister(thread->context, RegisterId::rflags, rflags & ~PSL_C);
} else {
writeRegister(thread->context, RegisterId::rax, error);
writeRegister(thread->context, RegisterId::rflags, rflags | PSL_C);
}
}
namespace orbis {
namespace detail {
template <auto Fn> struct WrapImpl;
template <typename... Args, SysResult (*Fn)(Thread *, Args...)>
requires(sizeof...(Args) < 8)
struct WrapImpl<Fn> {
constexpr sysent operator()() {
sysent result;
result.narg = sizeof...(Args);
result.call = &WrapImpl::call;
return result;
}
private:
static SysResult call(Thread *thread, uint64_t *args) {
return callImpl(thread, args, std::index_sequence_for<Args...>{});
}
template <std::size_t... I>
static SysResult callImpl(Thread *thread, uint64_t *args,
std::index_sequence<I...>) {
return Fn(thread, Args(args[I])...);
}
};
} // namespace detail
template <auto Fn> constexpr auto wrap() -> decltype(detail::WrapImpl<Fn>()()) {
return detail::WrapImpl<Fn>()();
}
static const std::unordered_map<SysResult (*)(Thread *, uint64_t *),
const char *>
gImplToName = {
{wrap<nosys>().call, "nosys"},
{wrap<sys_exit>().call, "sys_exit"},
{wrap<sys_fork>().call, "sys_fork"},
{wrap<sys_read>().call, "sys_read"},
{wrap<sys_write>().call, "sys_write"},
{wrap<sys_open>().call, "sys_open"},
{wrap<sys_close>().call, "sys_close"},
{wrap<sys_wait4>().call, "sys_wait4"},
{wrap<sys_link>().call, "sys_link"},
{wrap<sys_unlink>().call, "sys_unlink"},
{wrap<sys_chdir>().call, "sys_chdir"},
{wrap<sys_fchdir>().call, "sys_fchdir"},
{wrap<sys_mknod>().call, "sys_mknod"},
{wrap<sys_chmod>().call, "sys_chmod"},
{wrap<sys_chown>().call, "sys_chown"},
{wrap<sys_obreak>().call, "sys_obreak"},
{wrap<sys_getpid>().call, "sys_getpid"},
{wrap<sys_mount>().call, "sys_mount"},
{wrap<sys_unmount>().call, "sys_unmount"},
{wrap<sys_setuid>().call, "sys_setuid"},
{wrap<sys_getuid>().call, "sys_getuid"},
{wrap<sys_geteuid>().call, "sys_geteuid"},
{wrap<sys_ptrace>().call, "sys_ptrace"},
{wrap<sys_recvmsg>().call, "sys_recvmsg"},
{wrap<sys_sendmsg>().call, "sys_sendmsg"},
{wrap<sys_recvfrom>().call, "sys_recvfrom"},
{wrap<sys_accept>().call, "sys_accept"},
{wrap<sys_getpeername>().call, "sys_getpeername"},
{wrap<sys_getsockname>().call, "sys_getsockname"},
{wrap<sys_access>().call, "sys_access"},
{wrap<sys_chflags>().call, "sys_chflags"},
{wrap<sys_fchflags>().call, "sys_fchflags"},
{wrap<sys_sync>().call, "sys_sync"},
{wrap<sys_kill>().call, "sys_kill"},
{wrap<sys_getppid>().call, "sys_getppid"},
{wrap<sys_dup>().call, "sys_dup"},
{wrap<sys_pipe>().call, "sys_pipe"},
{wrap<sys_getegid>().call, "sys_getegid"},
{wrap<sys_profil>().call, "sys_profil"},
{wrap<sys_ktrace>().call, "sys_ktrace"},
{wrap<sys_getgid>().call, "sys_getgid"},
{wrap<sys_getlogin>().call, "sys_getlogin"},
{wrap<sys_setlogin>().call, "sys_setlogin"},
{wrap<sys_acct>().call, "sys_acct"},
{wrap<sys_sigaltstack>().call, "sys_sigaltstack"},
{wrap<sys_ioctl>().call, "sys_ioctl"},
{wrap<sys_reboot>().call, "sys_reboot"},
{wrap<sys_revoke>().call, "sys_revoke"},
{wrap<sys_symlink>().call, "sys_symlink"},
{wrap<sys_readlink>().call, "sys_readlink"},
{wrap<sys_execve>().call, "sys_execve"},
{wrap<sys_umask>().call, "sys_umask"},
{wrap<sys_chroot>().call, "sys_chroot"},
{wrap<sys_msync>().call, "sys_msync"},
{wrap<sys_vfork>().call, "sys_vfork"},
{wrap<sys_sbrk>().call, "sys_sbrk"},
{wrap<sys_sstk>().call, "sys_sstk"},
{wrap<sys_ovadvise>().call, "sys_ovadvise"},
{wrap<sys_munmap>().call, "sys_munmap"},
{wrap<sys_mprotect>().call, "sys_mprotect"},
{wrap<sys_madvise>().call, "sys_madvise"},
{wrap<sys_mincore>().call, "sys_mincore"},
{wrap<sys_getgroups>().call, "sys_getgroups"},
{wrap<sys_setgroups>().call, "sys_setgroups"},
{wrap<sys_getpgrp>().call, "sys_getpgrp"},
{wrap<sys_setpgid>().call, "sys_setpgid"},
{wrap<sys_setitimer>().call, "sys_setitimer"},
{wrap<sys_swapon>().call, "sys_swapon"},
{wrap<sys_getitimer>().call, "sys_getitimer"},
{wrap<sys_getdtablesize>().call, "sys_getdtablesize"},
{wrap<sys_dup2>().call, "sys_dup2"},
{wrap<sys_fcntl>().call, "sys_fcntl"},
{wrap<sys_select>().call, "sys_select"},
{wrap<sys_fsync>().call, "sys_fsync"},
{wrap<sys_setpriority>().call, "sys_setpriority"},
{wrap<sys_socket>().call, "sys_socket"},
{wrap<sys_connect>().call, "sys_connect"},
{wrap<sys_getpriority>().call, "sys_getpriority"},
{wrap<sys_bind>().call, "sys_bind"},
{wrap<sys_setsockopt>().call, "sys_setsockopt"},
{wrap<sys_listen>().call, "sys_listen"},
{wrap<sys_gettimeofday>().call, "sys_gettimeofday"},
{wrap<sys_getrusage>().call, "sys_getrusage"},
{wrap<sys_getsockopt>().call, "sys_getsockopt"},
{wrap<sys_readv>().call, "sys_readv"},
{wrap<sys_writev>().call, "sys_writev"},
{wrap<sys_settimeofday>().call, "sys_settimeofday"},
{wrap<sys_fchown>().call, "sys_fchown"},
{wrap<sys_fchmod>().call, "sys_fchmod"},
{wrap<sys_setreuid>().call, "sys_setreuid"},
{wrap<sys_setregid>().call, "sys_setregid"},
{wrap<sys_rename>().call, "sys_rename"},
{wrap<sys_flock>().call, "sys_flock"},
{wrap<sys_mkfifo>().call, "sys_mkfifo"},
{wrap<sys_sendto>().call, "sys_sendto"},
{wrap<sys_shutdown>().call, "sys_shutdown"},
{wrap<sys_socketpair>().call, "sys_socketpair"},
{wrap<sys_mkdir>().call, "sys_mkdir"},
{wrap<sys_rmdir>().call, "sys_rmdir"},
{wrap<sys_utimes>().call, "sys_utimes"},
{wrap<sys_adjtime>().call, "sys_adjtime"},
{wrap<sys_setsid>().call, "sys_setsid"},
{wrap<sys_quotactl>().call, "sys_quotactl"},
{wrap<sys_nlm_syscall>().call, "sys_nlm_syscall"},
{wrap<sys_nfssvc>().call, "sys_nfssvc"},
{wrap<sys_lgetfh>().call, "sys_lgetfh"},
{wrap<sys_getfh>().call, "sys_getfh"},
{wrap<sys_sysarch>().call, "sys_sysarch"},
{wrap<sys_rtprio>().call, "sys_rtprio"},
{wrap<sys_semsys>().call, "sys_semsys"},
{wrap<sys_msgsys>().call, "sys_msgsys"},
{wrap<sys_shmsys>().call, "sys_shmsys"},
{wrap<sys_freebsd6_pread>().call, "sys_freebsd6_pread"},
{wrap<sys_freebsd6_pwrite>().call, "sys_freebsd6_pwrite"},
{wrap<sys_setfib>().call, "sys_setfib"},
{wrap<sys_ntp_adjtime>().call, "sys_ntp_adjtime"},
{wrap<sys_setgid>().call, "sys_setgid"},
{wrap<sys_setegid>().call, "sys_setegid"},
{wrap<sys_seteuid>().call, "sys_seteuid"},
{wrap<sys_stat>().call, "sys_stat"},
{wrap<sys_fstat>().call, "sys_fstat"},
{wrap<sys_lstat>().call, "sys_lstat"},
{wrap<sys_pathconf>().call, "sys_pathconf"},
{wrap<sys_fpathconf>().call, "sys_fpathconf"},
{wrap<sys_getrlimit>().call, "sys_getrlimit"},
{wrap<sys_setrlimit>().call, "sys_setrlimit"},
{wrap<sys_getdirentries>().call, "sys_getdirentries"},
{wrap<sys_freebsd6_mmap>().call, "sys_freebsd6_mmap"},
{wrap<sys_freebsd6_lseek>().call, "sys_freebsd6_lseek"},
{wrap<sys_freebsd6_truncate>().call, "sys_freebsd6_truncate"},
{wrap<sys_freebsd6_ftruncate>().call, "sys_freebsd6_ftruncate"},
{wrap<sys___sysctl>().call, "sys___sysctl"},
{wrap<sys_mlock>().call, "sys_mlock"},
{wrap<sys_munlock>().call, "sys_munlock"},
{wrap<sys_undelete>().call, "sys_undelete"},
{wrap<sys_futimes>().call, "sys_futimes"},
{wrap<sys_getpgid>().call, "sys_getpgid"},
{wrap<sys_poll>().call, "sys_poll"},
{wrap<sys_semget>().call, "sys_semget"},
{wrap<sys_semop>().call, "sys_semop"},
{wrap<sys_msgget>().call, "sys_msgget"},
{wrap<sys_msgsnd>().call, "sys_msgsnd"},
{wrap<sys_msgrcv>().call, "sys_msgrcv"},
{wrap<sys_shmat>().call, "sys_shmat"},
{wrap<sys_shmdt>().call, "sys_shmdt"},
{wrap<sys_shmget>().call, "sys_shmget"},
{wrap<sys_clock_gettime>().call, "sys_clock_gettime"},
{wrap<sys_clock_settime>().call, "sys_clock_settime"},
{wrap<sys_clock_getres>().call, "sys_clock_getres"},
{wrap<sys_ktimer_create>().call, "sys_ktimer_create"},
{wrap<sys_ktimer_delete>().call, "sys_ktimer_delete"},
{wrap<sys_ktimer_settime>().call, "sys_ktimer_settime"},
{wrap<sys_ktimer_gettime>().call, "sys_ktimer_gettime"},
{wrap<sys_ktimer_getoverrun>().call, "sys_ktimer_getoverrun"},
{wrap<sys_nanosleep>().call, "sys_nanosleep"},
{wrap<sys_ntp_gettime>().call, "sys_ntp_gettime"},
{wrap<sys_minherit>().call, "sys_minherit"},
{wrap<sys_rfork>().call, "sys_rfork"},
{wrap<sys_openbsd_poll>().call, "sys_openbsd_poll"},
{wrap<sys_issetugid>().call, "sys_issetugid"},
{wrap<sys_lchown>().call, "sys_lchown"},
{wrap<sys_aio_read>().call, "sys_aio_read"},
{wrap<sys_aio_write>().call, "sys_aio_write"},
{wrap<sys_lio_listio>().call, "sys_lio_listio"},
{wrap<sys_getdents>().call, "sys_getdents"},
{wrap<sys_lchmod>().call, "sys_lchmod"},
{wrap<sys_lutimes>().call, "sys_lutimes"},
{wrap<sys_nstat>().call, "sys_nstat"},
{wrap<sys_nfstat>().call, "sys_nfstat"},
{wrap<sys_nlstat>().call, "sys_nlstat"},
{wrap<sys_preadv>().call, "sys_preadv"},
{wrap<sys_pwritev>().call, "sys_pwritev"},
{wrap<sys_fhopen>().call, "sys_fhopen"},
{wrap<sys_fhstat>().call, "sys_fhstat"},
{wrap<sys_modnext>().call, "sys_modnext"},
{wrap<sys_modstat>().call, "sys_modstat"},
{wrap<sys_modfnext>().call, "sys_modfnext"},
{wrap<sys_modfind>().call, "sys_modfind"},
{wrap<sys_kldload>().call, "sys_kldload"},
{wrap<sys_kldunload>().call, "sys_kldunload"},
{wrap<sys_kldfind>().call, "sys_kldfind"},
{wrap<sys_kldnext>().call, "sys_kldnext"},
{wrap<sys_kldstat>().call, "sys_kldstat"},
{wrap<sys_kldfirstmod>().call, "sys_kldfirstmod"},
{wrap<sys_getsid>().call, "sys_getsid"},
{wrap<sys_setresuid>().call, "sys_setresuid"},
{wrap<sys_setresgid>().call, "sys_setresgid"},
{wrap<sys_aio_return>().call, "sys_aio_return"},
{wrap<sys_aio_suspend>().call, "sys_aio_suspend"},
{wrap<sys_aio_cancel>().call, "sys_aio_cancel"},
{wrap<sys_aio_error>().call, "sys_aio_error"},
{wrap<sys_oaio_read>().call, "sys_oaio_read"},
{wrap<sys_oaio_write>().call, "sys_oaio_write"},
{wrap<sys_olio_listio>().call, "sys_olio_listio"},
{wrap<sys_yield>().call, "sys_yield"},
{wrap<sys_mlockall>().call, "sys_mlockall"},
{wrap<sys_munlockall>().call, "sys_munlockall"},
{wrap<sys___getcwd>().call, "sys___getcwd"},
{wrap<sys_sched_setparam>().call, "sys_sched_setparam"},
{wrap<sys_sched_getparam>().call, "sys_sched_getparam"},
{wrap<sys_sched_setscheduler>().call, "sys_sched_setscheduler"},
{wrap<sys_sched_getscheduler>().call, "sys_sched_getscheduler"},
{wrap<sys_sched_yield>().call, "sys_sched_yield"},
{wrap<sys_sched_get_priority_max>().call, "sys_sched_get_priority_max"},
{wrap<sys_sched_get_priority_min>().call, "sys_sched_get_priority_min"},
{wrap<sys_sched_rr_get_interval>().call, "sys_sched_rr_get_interval"},
{wrap<sys_utrace>().call, "sys_utrace"},
{wrap<sys_kldsym>().call, "sys_kldsym"},
{wrap<sys_jail>().call, "sys_jail"},
{wrap<sys_nnpfs_syscall>().call, "sys_nnpfs_syscall"},
{wrap<sys_sigprocmask>().call, "sys_sigprocmask"},
{wrap<sys_sigsuspend>().call, "sys_sigsuspend"},
{wrap<sys_sigpending>().call, "sys_sigpending"},
{wrap<sys_sigtimedwait>().call, "sys_sigtimedwait"},
{wrap<sys_sigwaitinfo>().call, "sys_sigwaitinfo"},
{wrap<sys___acl_get_file>().call, "sys___acl_get_file"},
{wrap<sys___acl_set_file>().call, "sys___acl_set_file"},
{wrap<sys___acl_get_fd>().call, "sys___acl_get_fd"},
{wrap<sys___acl_set_fd>().call, "sys___acl_set_fd"},
{wrap<sys___acl_delete_file>().call, "sys___acl_delete_file"},
{wrap<sys___acl_delete_fd>().call, "sys___acl_delete_fd"},
{wrap<sys___acl_aclcheck_file>().call, "sys___acl_aclcheck_file"},
{wrap<sys___acl_aclcheck_fd>().call, "sys___acl_aclcheck_fd"},
{wrap<sys_extattrctl>().call, "sys_extattrctl"},
{wrap<sys_extattr_set_file>().call, "sys_extattr_set_file"},
{wrap<sys_extattr_get_file>().call, "sys_extattr_get_file"},
{wrap<sys_extattr_delete_file>().call, "sys_extattr_delete_file"},
{wrap<sys_aio_waitcomplete>().call, "sys_aio_waitcomplete"},
{wrap<sys_getresuid>().call, "sys_getresuid"},
{wrap<sys_getresgid>().call, "sys_getresgid"},
{wrap<sys_kqueue>().call, "sys_kqueue"},
{wrap<sys_kevent>().call, "sys_kevent"},
{wrap<sys_extattr_set_fd>().call, "sys_extattr_set_fd"},
{wrap<sys_extattr_get_fd>().call, "sys_extattr_get_fd"},
{wrap<sys_extattr_delete_fd>().call, "sys_extattr_delete_fd"},
{wrap<sys___setugid>().call, "sys___setugid"},
{wrap<sys_eaccess>().call, "sys_eaccess"},
{wrap<sys_afs3_syscall>().call, "sys_afs3_syscall"},
{wrap<sys_nmount>().call, "sys_nmount"},
{wrap<sys___mac_get_proc>().call, "sys___mac_get_proc"},
{wrap<sys___mac_set_proc>().call, "sys___mac_set_proc"},
{wrap<sys___mac_get_fd>().call, "sys___mac_get_fd"},
{wrap<sys___mac_get_file>().call, "sys___mac_get_file"},
{wrap<sys___mac_set_fd>().call, "sys___mac_set_fd"},
{wrap<sys___mac_set_file>().call, "sys___mac_set_file"},
{wrap<sys_kenv>().call, "sys_kenv"},
{wrap<sys_lchflags>().call, "sys_lchflags"},
{wrap<sys_uuidgen>().call, "sys_uuidgen"},
{wrap<sys_sendfile>().call, "sys_sendfile"},
{wrap<sys_mac_syscall>().call, "sys_mac_syscall"},
{wrap<sys_getfsstat>().call, "sys_getfsstat"},
{wrap<sys_statfs>().call, "sys_statfs"},
{wrap<sys_fstatfs>().call, "sys_fstatfs"},
{wrap<sys_fhstatfs>().call, "sys_fhstatfs"},
{wrap<sys_ksem_close>().call, "sys_ksem_close"},
{wrap<sys_ksem_post>().call, "sys_ksem_post"},
{wrap<sys_ksem_wait>().call, "sys_ksem_wait"},
{wrap<sys_ksem_trywait>().call, "sys_ksem_trywait"},
{wrap<sys_ksem_init>().call, "sys_ksem_init"},
{wrap<sys_ksem_open>().call, "sys_ksem_open"},
{wrap<sys_ksem_unlink>().call, "sys_ksem_unlink"},
{wrap<sys_ksem_getvalue>().call, "sys_ksem_getvalue"},
{wrap<sys_ksem_destroy>().call, "sys_ksem_destroy"},
{wrap<sys___mac_get_pid>().call, "sys___mac_get_pid"},
{wrap<sys___mac_get_link>().call, "sys___mac_get_link"},
{wrap<sys___mac_set_link>().call, "sys___mac_set_link"},
{wrap<sys_extattr_set_link>().call, "sys_extattr_set_link"},
{wrap<sys_extattr_get_link>().call, "sys_extattr_get_link"},
{wrap<sys_extattr_delete_link>().call, "sys_extattr_delete_link"},
{wrap<sys___mac_execve>().call, "sys___mac_execve"},
{wrap<sys_sigaction>().call, "sys_sigaction"},
{wrap<sys_sigreturn>().call, "sys_sigreturn"},
{wrap<sys_getcontext>().call, "sys_getcontext"},
{wrap<sys_setcontext>().call, "sys_setcontext"},
{wrap<sys_swapcontext>().call, "sys_swapcontext"},
{wrap<sys_swapoff>().call, "sys_swapoff"},
{wrap<sys___acl_get_link>().call, "sys___acl_get_link"},
{wrap<sys___acl_set_link>().call, "sys___acl_set_link"},
{wrap<sys___acl_delete_link>().call, "sys___acl_delete_link"},
{wrap<sys___acl_aclcheck_link>().call, "sys___acl_aclcheck_link"},
{wrap<sys_sigwait>().call, "sys_sigwait"},
{wrap<sys_thr_create>().call, "sys_thr_create"},
{wrap<sys_thr_exit>().call, "sys_thr_exit"},
{wrap<sys_thr_self>().call, "sys_thr_self"},
{wrap<sys_thr_kill>().call, "sys_thr_kill"},
{wrap<sys__umtx_lock>().call, "sys__umtx_lock"},
{wrap<sys__umtx_unlock>().call, "sys__umtx_unlock"},
{wrap<sys_jail_attach>().call, "sys_jail_attach"},
{wrap<sys_extattr_list_fd>().call, "sys_extattr_list_fd"},
{wrap<sys_extattr_list_file>().call, "sys_extattr_list_file"},
{wrap<sys_extattr_list_link>().call, "sys_extattr_list_link"},
{wrap<sys_ksem_timedwait>().call, "sys_ksem_timedwait"},
{wrap<sys_thr_suspend>().call, "sys_thr_suspend"},
{wrap<sys_thr_wake>().call, "sys_thr_wake"},
{wrap<sys_kldunloadf>().call, "sys_kldunloadf"},
{wrap<sys_audit>().call, "sys_audit"},
{wrap<sys_auditon>().call, "sys_auditon"},
{wrap<sys_getauid>().call, "sys_getauid"},
{wrap<sys_setauid>().call, "sys_setauid"},
{wrap<sys_getaudit>().call, "sys_getaudit"},
{wrap<sys_setaudit>().call, "sys_setaudit"},
{wrap<sys_getaudit_addr>().call, "sys_getaudit_addr"},
{wrap<sys_setaudit_addr>().call, "sys_setaudit_addr"},
{wrap<sys_auditctl>().call, "sys_auditctl"},
{wrap<sys__umtx_op>().call, "sys__umtx_op"},
{wrap<sys_thr_new>().call, "sys_thr_new"},
{wrap<sys_sigqueue>().call, "sys_sigqueue"},
{wrap<sys_kmq_open>().call, "sys_kmq_open"},
{wrap<sys_kmq_setattr>().call, "sys_kmq_setattr"},
{wrap<sys_kmq_timedreceive>().call, "sys_kmq_timedreceive"},
{wrap<sys_kmq_timedsend>().call, "sys_kmq_timedsend"},
{wrap<sys_kmq_notify>().call, "sys_kmq_notify"},
{wrap<sys_kmq_unlink>().call, "sys_kmq_unlink"},
{wrap<sys_abort2>().call, "sys_abort2"},
{wrap<sys_thr_set_name>().call, "sys_thr_set_name"},
{wrap<sys_aio_fsync>().call, "sys_aio_fsync"},
{wrap<sys_rtprio_thread>().call, "sys_rtprio_thread"},
{wrap<sys_sctp_peeloff>().call, "sys_sctp_peeloff"},
{wrap<sys_sctp_generic_sendmsg>().call, "sys_sctp_generic_sendmsg"},
{wrap<sys_sctp_generic_sendmsg_iov>().call,
"sys_sctp_generic_sendmsg_iov"},
{wrap<sys_sctp_generic_recvmsg>().call, "sys_sctp_generic_recvmsg"},
{wrap<sys_pread>().call, "sys_pread"},
{wrap<sys_pwrite>().call, "sys_pwrite"},
{wrap<sys_mmap>().call, "sys_mmap"},
{wrap<sys_lseek>().call, "sys_lseek"},
{wrap<sys_truncate>().call, "sys_truncate"},
{wrap<sys_ftruncate>().call, "sys_ftruncate"},
{wrap<sys_thr_kill2>().call, "sys_thr_kill2"},
{wrap<sys_shm_open>().call, "sys_shm_open"},
{wrap<sys_shm_unlink>().call, "sys_shm_unlink"},
{wrap<sys_cpuset>().call, "sys_cpuset"},
{wrap<sys_cpuset_setid>().call, "sys_cpuset_setid"},
{wrap<sys_cpuset_getid>().call, "sys_cpuset_getid"},
{wrap<sys_cpuset_getaffinity>().call, "sys_cpuset_getaffinity"},
{wrap<sys_cpuset_setaffinity>().call, "sys_cpuset_setaffinity"},
{wrap<sys_faccessat>().call, "sys_faccessat"},
{wrap<sys_fchmodat>().call, "sys_fchmodat"},
{wrap<sys_fchownat>().call, "sys_fchownat"},
{wrap<sys_fexecve>().call, "sys_fexecve"},
{wrap<sys_fstatat>().call, "sys_fstatat"},
{wrap<sys_futimesat>().call, "sys_futimesat"},
{wrap<sys_linkat>().call, "sys_linkat"},
{wrap<sys_mkdirat>().call, "sys_mkdirat"},
{wrap<sys_mkfifoat>().call, "sys_mkfifoat"},
{wrap<sys_mknodat>().call, "sys_mknodat"},
{wrap<sys_openat>().call, "sys_openat"},
{wrap<sys_readlinkat>().call, "sys_readlinkat"},
{wrap<sys_renameat>().call, "sys_renameat"},
{wrap<sys_symlinkat>().call, "sys_symlinkat"},
{wrap<sys_unlinkat>().call, "sys_unlinkat"},
{wrap<sys_posix_openpt>().call, "sys_posix_openpt"},
{wrap<sys_gssd_syscall>().call, "sys_gssd_syscall"},
{wrap<sys_jail_get>().call, "sys_jail_get"},
{wrap<sys_jail_set>().call, "sys_jail_set"},
{wrap<sys_jail_remove>().call, "sys_jail_remove"},
{wrap<sys_closefrom>().call, "sys_closefrom"},
{wrap<sys___semctl>().call, "sys___semctl"},
{wrap<sys_msgctl>().call, "sys_msgctl"},
{wrap<sys_shmctl>().call, "sys_shmctl"},
{wrap<sys_lpathconf>().call, "sys_lpathconf"},
{wrap<sys_cap_new>().call, "sys_cap_new"},
{wrap<sys_cap_getrights>().call, "sys_cap_getrights"},
{wrap<sys_cap_enter>().call, "sys_cap_enter"},
{wrap<sys_cap_getmode>().call, "sys_cap_getmode"},
{wrap<sys_pdfork>().call, "sys_pdfork"},
{wrap<sys_pdkill>().call, "sys_pdkill"},
{wrap<sys_pdgetpid>().call, "sys_pdgetpid"},
{wrap<sys_pselect>().call, "sys_pselect"},
{wrap<sys_getloginclass>().call, "sys_getloginclass"},
{wrap<sys_setloginclass>().call, "sys_setloginclass"},
{wrap<sys_rctl_get_racct>().call, "sys_rctl_get_racct"},
{wrap<sys_rctl_get_rules>().call, "sys_rctl_get_rules"},
{wrap<sys_rctl_get_limits>().call, "sys_rctl_get_limits"},
{wrap<sys_rctl_add_rule>().call, "sys_rctl_add_rule"},
{wrap<sys_rctl_remove_rule>().call, "sys_rctl_remove_rule"},
{wrap<sys_posix_fallocate>().call, "sys_posix_fallocate"},
{wrap<sys_posix_fadvise>().call, "sys_posix_fadvise"},
{wrap<sys_netcontrol>().call, "sys_netcontrol"},
{wrap<sys_netabort>().call, "sys_netabort"},
{wrap<sys_netgetsockinfo>().call, "sys_netgetsockinfo"},
{wrap<sys_socketex>().call, "sys_socketex"},
{wrap<sys_socketclose>().call, "sys_socketclose"},
{wrap<sys_netgetiflist>().call, "sys_netgetiflist"},
{wrap<sys_kqueueex>().call, "sys_kqueueex"},
{wrap<sys_mtypeprotect>().call, "sys_mtypeprotect"},
{wrap<sys_regmgr_call>().call, "sys_regmgr_call"},
{wrap<sys_jitshm_create>().call, "sys_jitshm_create"},
{wrap<sys_jitshm_alias>().call, "sys_jitshm_alias"},
{wrap<sys_dl_get_list>().call, "sys_dl_get_list"},
{wrap<sys_dl_get_info>().call, "sys_dl_get_info"},
{wrap<sys_dl_notify_event>().call, "sys_dl_notify_event"},
{wrap<sys_evf_create>().call, "sys_evf_create"},
{wrap<sys_evf_delete>().call, "sys_evf_delete"},
{wrap<sys_evf_open>().call, "sys_evf_open"},
{wrap<sys_evf_close>().call, "sys_evf_close"},
{wrap<sys_evf_wait>().call, "sys_evf_wait"},
{wrap<sys_evf_trywait>().call, "sys_evf_trywait"},
{wrap<sys_evf_set>().call, "sys_evf_set"},
{wrap<sys_evf_clear>().call, "sys_evf_clear"},
{wrap<sys_evf_cancel>().call, "sys_evf_cancel"},
{wrap<sys_query_memory_protection>().call,
"sys_query_memory_protection"},
{wrap<sys_batch_map>().call, "sys_batch_map"},
{wrap<sys_osem_create>().call, "sys_osem_create"},
{wrap<sys_osem_delete>().call, "sys_osem_delete"},
{wrap<sys_osem_open>().call, "sys_osem_open"},
{wrap<sys_osem_close>().call, "sys_osem_close"},
{wrap<sys_osem_wait>().call, "sys_osem_wait"},
{wrap<sys_osem_trywait>().call, "sys_osem_trywait"},
{wrap<sys_osem_post>().call, "sys_osem_post"},
{wrap<sys_osem_cancel>().call, "sys_osem_cancel"},
{wrap<sys_namedobj_create>().call, "sys_namedobj_create"},
{wrap<sys_namedobj_delete>().call, "sys_namedobj_delete"},
{wrap<sys_set_vm_container>().call, "sys_set_vm_container"},
{wrap<sys_debug_init>().call, "sys_debug_init"},
{wrap<sys_suspend_process>().call, "sys_suspend_process"},
{wrap<sys_resume_process>().call, "sys_resume_process"},
{wrap<sys_opmc_enable>().call, "sys_opmc_enable"},
{wrap<sys_opmc_disable>().call, "sys_opmc_disable"},
{wrap<sys_opmc_set_ctl>().call, "sys_opmc_set_ctl"},
{wrap<sys_opmc_set_ctr>().call, "sys_opmc_set_ctr"},
{wrap<sys_opmc_get_ctr>().call, "sys_opmc_get_ctr"},
{wrap<sys_budget_create>().call, "sys_budget_create"},
{wrap<sys_budget_delete>().call, "sys_budget_delete"},
{wrap<sys_budget_get>().call, "sys_budget_get"},
{wrap<sys_budget_set>().call, "sys_budget_set"},
{wrap<sys_virtual_query>().call, "sys_virtual_query"},
{wrap<sys_mdbg_call>().call, "sys_mdbg_call"},
{wrap<sys_obs_sblock_create>().call, "sys_obs_sblock_create"},
{wrap<sys_obs_sblock_delete>().call, "sys_obs_sblock_delete"},
{wrap<sys_obs_sblock_enter>().call, "sys_obs_sblock_enter"},
{wrap<sys_obs_sblock_exit>().call, "sys_obs_sblock_exit"},
{wrap<sys_obs_sblock_xenter>().call, "sys_obs_sblock_xenter"},
{wrap<sys_obs_sblock_xexit>().call, "sys_obs_sblock_xexit"},
{wrap<sys_obs_eport_create>().call, "sys_obs_eport_create"},
{wrap<sys_obs_eport_delete>().call, "sys_obs_eport_delete"},
{wrap<sys_obs_eport_trigger>().call, "sys_obs_eport_trigger"},
{wrap<sys_obs_eport_open>().call, "sys_obs_eport_open"},
{wrap<sys_obs_eport_close>().call, "sys_obs_eport_close"},
{wrap<sys_is_in_sandbox>().call, "sys_is_in_sandbox"},
{wrap<sys_dmem_container>().call, "sys_dmem_container"},
{wrap<sys_get_authinfo>().call, "sys_get_authinfo"},
{wrap<sys_mname>().call, "sys_mname"},
{wrap<sys_dynlib_dlopen>().call, "sys_dynlib_dlopen"},
{wrap<sys_dynlib_dlclose>().call, "sys_dynlib_dlclose"},
{wrap<sys_dynlib_dlsym>().call, "sys_dynlib_dlsym"},
{wrap<sys_dynlib_get_list>().call, "sys_dynlib_get_list"},
{wrap<sys_dynlib_get_info>().call, "sys_dynlib_get_info"},
{wrap<sys_dynlib_load_prx>().call, "sys_dynlib_load_prx"},
{wrap<sys_dynlib_unload_prx>().call, "sys_dynlib_unload_prx"},
{wrap<sys_dynlib_do_copy_relocations>().call,
"sys_dynlib_do_copy_relocations"},
{wrap<sys_dynlib_prepare_dlclose>().call, "sys_dynlib_prepare_dlclose"},
{wrap<sys_dynlib_get_proc_param>().call, "sys_dynlib_get_proc_param"},
{wrap<sys_dynlib_process_needed_and_relocate>().call,
"sys_dynlib_process_needed_and_relocate"},
{wrap<sys_sandbox_path>().call, "sys_sandbox_path"},
{wrap<sys_mdbg_service>().call, "sys_mdbg_service"},
{wrap<sys_randomized_path>().call, "sys_randomized_path"},
{wrap<sys_rdup>().call, "sys_rdup"},
{wrap<sys_dl_get_metadata>().call, "sys_dl_get_metadata"},
{wrap<sys_workaround8849>().call, "sys_workaround8849"},
{wrap<sys_is_development_mode>().call, "sys_is_development_mode"},
{wrap<sys_get_self_auth_info>().call, "sys_get_self_auth_info"},
{wrap<sys_dynlib_get_info_ex>().call, "sys_dynlib_get_info_ex"},
{wrap<sys_budget_getid>().call, "sys_budget_getid"},
{wrap<sys_budget_get_ptype>().call, "sys_budget_get_ptype"},
{wrap<sys_get_paging_stats_of_all_threads>().call,
"sys_get_paging_stats_of_all_threads"},
{wrap<sys_get_proc_type_info>().call, "sys_get_proc_type_info"},
{wrap<sys_get_resident_count>().call, "sys_get_resident_count"},
{wrap<sys_prepare_to_suspend_process>().call,
"sys_prepare_to_suspend_process"},
{wrap<sys_get_resident_fmem_count>().call,
"sys_get_resident_fmem_count"},
{wrap<sys_thr_get_name>().call, "sys_thr_get_name"},
{wrap<sys_set_gpo>().call, "sys_set_gpo"},
{wrap<sys_get_paging_stats_of_all_objects>().call,
"sys_get_paging_stats_of_all_objects"},
{wrap<sys_test_debug_rwmem>().call, "sys_test_debug_rwmem"},
{wrap<sys_free_stack>().call, "sys_free_stack"},
{wrap<sys_suspend_system>().call, "sys_suspend_system"},
{wrap<sys_ipmimgr_call>().call, "sys_ipmimgr_call"},
{wrap<sys_get_gpo>().call, "sys_get_gpo"},
{wrap<sys_get_vm_map_timestamp>().call, "sys_get_vm_map_timestamp"},
{wrap<sys_opmc_set_hw>().call, "sys_opmc_set_hw"},
{wrap<sys_opmc_get_hw>().call, "sys_opmc_get_hw"},
{wrap<sys_get_cpu_usage_all>().call, "sys_get_cpu_usage_all"},
{wrap<sys_mmap_dmem>().call, "sys_mmap_dmem"},
{wrap<sys_physhm_open>().call, "sys_physhm_open"},
{wrap<sys_physhm_unlink>().call, "sys_physhm_unlink"},
{wrap<sys_resume_internal_hdd>().call, "sys_resume_internal_hdd"},
{wrap<sys_thr_suspend_ucontext>().call, "sys_thr_suspend_ucontext"},
{wrap<sys_thr_resume_ucontext>().call, "sys_thr_resume_ucontext"},
{wrap<sys_thr_get_ucontext>().call, "sys_thr_get_ucontext"},
{wrap<sys_thr_set_ucontext>().call, "sys_thr_set_ucontext"},
{wrap<sys_set_timezone_info>().call, "sys_set_timezone_info"},
{wrap<sys_set_phys_fmem_limit>().call, "sys_set_phys_fmem_limit"},
{wrap<sys_utc_to_localtime>().call, "sys_utc_to_localtime"},
{wrap<sys_localtime_to_utc>().call, "sys_localtime_to_utc"},
{wrap<sys_set_uevt>().call, "sys_set_uevt"},
{wrap<sys_get_cpu_usage_proc>().call, "sys_get_cpu_usage_proc"},
{wrap<sys_get_map_statistics>().call, "sys_get_map_statistics"},
{wrap<sys_set_chicken_switches>().call, "sys_set_chicken_switches"},
{wrap<sys_extend_page_table_pool>().call, "sys_extend_page_table_pool"},
{wrap<sys_extend_page_table_pool2>().call,
"sys_extend_page_table_pool2"},
{wrap<sys_get_kernel_mem_statistics>().call,
"sys_get_kernel_mem_statistics"},
{wrap<sys_get_sdk_compiled_version>().call,
"sys_get_sdk_compiled_version"},
{wrap<sys_app_state_change>().call, "sys_app_state_change"},
{wrap<sys_dynlib_get_obj_member>().call, "sys_dynlib_get_obj_member"},
{wrap<sys_budget_get_ptype_of_budget>().call,
"sys_budget_get_ptype_of_budget"},
{wrap<sys_prepare_to_resume_process>().call,
"sys_prepare_to_resume_process"},
{wrap<sys_process_terminate>().call, "sys_process_terminate"},
{wrap<sys_blockpool_open>().call, "sys_blockpool_open"},
{wrap<sys_blockpool_map>().call, "sys_blockpool_map"},
{wrap<sys_blockpool_unmap>().call, "sys_blockpool_unmap"},
{wrap<sys_dynlib_get_info_for_libdbg>().call,
"sys_dynlib_get_info_for_libdbg"},
{wrap<sys_blockpool_batch>().call, "sys_blockpool_batch"},
{wrap<sys_fdatasync>().call, "sys_fdatasync"},
{wrap<sys_dynlib_get_list2>().call, "sys_dynlib_get_list2"},
{wrap<sys_dynlib_get_info2>().call, "sys_dynlib_get_info2"},
{wrap<sys_aio_submit>().call, "sys_aio_submit"},
{wrap<sys_aio_multi_delete>().call, "sys_aio_multi_delete"},
{wrap<sys_aio_multi_wait>().call, "sys_aio_multi_wait"},
{wrap<sys_aio_multi_poll>().call, "sys_aio_multi_poll"},
{wrap<sys_aio_get_data>().call, "sys_aio_get_data"},
{wrap<sys_aio_multi_cancel>().call, "sys_aio_multi_cancel"},
{wrap<sys_get_bio_usage_all>().call, "sys_get_bio_usage_all"},
{wrap<sys_aio_create>().call, "sys_aio_create"},
{wrap<sys_aio_submit_cmd>().call, "sys_aio_submit_cmd"},
{wrap<sys_aio_init>().call, "sys_aio_init"},
{wrap<sys_get_page_table_stats>().call, "sys_get_page_table_stats"},
{wrap<sys_dynlib_get_list_for_libdbg>().call,
"sys_dynlib_get_list_for_libdbg"},
{wrap<sys_blockpool_move>().call, "sys_blockpool_move"},
{wrap<sys_virtual_query_all>().call, "sys_virtual_query_all"},
{wrap<sys_reserve_2mb_page>().call, "sys_reserve_2mb_page"},
{wrap<sys_cpumode_yield>().call, "sys_cpumode_yield"},
{wrap<sys_wait6>().call, "sys_wait6"},
{wrap<sys_cap_rights_limit>().call, "sys_cap_rights_limit"},
{wrap<sys_cap_ioctls_limit>().call, "sys_cap_ioctls_limit"},
{wrap<sys_cap_ioctls_get>().call, "sys_cap_ioctls_get"},
{wrap<sys_cap_fcntls_limit>().call, "sys_cap_fcntls_limit"},
{wrap<sys_cap_fcntls_get>().call, "sys_cap_fcntls_get"},
{wrap<sys_bindat>().call, "sys_bindat"},
{wrap<sys_connectat>().call, "sys_connectat"},
{wrap<sys_chflagsat>().call, "sys_chflagsat"},
{wrap<sys_accept4>().call, "sys_accept4"},
{wrap<sys_pipe2>().call, "sys_pipe2"},
{wrap<sys_aio_mlock>().call, "sys_aio_mlock"},
{wrap<sys_procctl>().call, "sys_procctl"},
{wrap<sys_ppoll>().call, "sys_ppoll"},
{wrap<sys_futimens>().call, "sys_futimens"},
{wrap<sys_utimensat>().call, "sys_utimensat"},
{wrap<sys_numa_getaffinity>().call, "sys_numa_getaffinity"},
{wrap<sys_numa_setaffinity>().call, "sys_numa_setaffinity"},
{wrap<sys_apr_submit>().call, "sys_apr_submit"},
{wrap<sys_apr_resolve>().call, "sys_apr_resolve"},
{wrap<sys_apr_stat>().call, "sys_apr_stat"},
{wrap<sys_apr_wait>().call, "sys_apr_wait"},
{wrap<sys_apr_ctrl>().call, "sys_apr_ctrl"},
{wrap<sys_get_phys_page_size>().call, "sys_get_phys_page_size"},
{wrap<sys_begin_app_mount>().call, "sys_begin_app_mount"},
{wrap<sys_end_app_mount>().call, "sys_end_app_mount"},
{wrap<sys_fsc2h_ctrl>().call, "sys_fsc2h_ctrl"},
{wrap<sys_streamwrite>().call, "sys_streamwrite"},
{wrap<sys_app_save>().call, "sys_app_save"},
{wrap<sys_app_restore>().call, "sys_app_restore"},
{wrap<sys_saved_app_delete>().call, "sys_saved_app_delete"},
{wrap<sys_get_ppr_sdk_compiled_version>().call,
"sys_get_ppr_sdk_compiled_version"},
{wrap<sys_notify_app_event>().call, "sys_notify_app_event"},
{wrap<sys_ioreq>().call, "sys_ioreq"},
{wrap<sys_openintr>().call, "sys_openintr"},
{wrap<sys_dl_get_info_2>().call, "sys_dl_get_info_2"},
{wrap<sys_acinfo_add>().call, "sys_acinfo_add"},
{wrap<sys_acinfo_delete>().call, "sys_acinfo_delete"},
{wrap<sys_acinfo_get_all_for_coredump>().call,
"sys_acinfo_get_all_for_coredump"},
{wrap<sys_ampr_ctrl_debug>().call, "sys_ampr_ctrl_debug"},
{wrap<sys_workspace_ctrl>().call, "sys_workspace_ctrl"},
};
const char *getSysentName(SysResult (*sysent)(Thread *, uint64_t *)) {
auto it = gImplToName.find(sysent);
if (it == gImplToName.end()) {
return nullptr;
}
return it->second;
}
static constexpr sysent freebsd9_sysent[] = {
wrap<nosys>(),
wrap<sys_exit>(),
wrap<sys_fork>(),
wrap<sys_read>(),
wrap<sys_write>(),
wrap<sys_open>(),
wrap<sys_close>(),
wrap<sys_wait4>(),
wrap<nosys>(),
wrap<sys_link>(),
wrap<sys_unlink>(),
wrap<nosys>(),
wrap<sys_chdir>(),
wrap<sys_fchdir>(),
wrap<sys_mknod>(),
wrap<sys_chmod>(),
wrap<sys_chown>(),
wrap<sys_obreak>(),
wrap<sys_getfsstat>(),
wrap<nosys>(),
wrap<sys_getpid>(),
wrap<sys_mount>(),
wrap<sys_unmount>(),
wrap<sys_setuid>(),
wrap<sys_getuid>(),
wrap<sys_geteuid>(),
wrap<sys_ptrace>(),
wrap<sys_recvmsg>(),
wrap<sys_sendmsg>(),
wrap<sys_recvfrom>(),
wrap<sys_accept>(),
wrap<sys_getpeername>(),
wrap<sys_getsockname>(),
wrap<sys_access>(),
wrap<sys_chflags>(),
wrap<sys_fchflags>(),
wrap<sys_sync>(),
wrap<sys_kill>(),
wrap<nosys>(),
wrap<sys_getppid>(),
wrap<nosys>(),
wrap<sys_dup>(),
wrap<sys_pipe>(),
wrap<sys_getegid>(),
wrap<sys_profil>(),
wrap<sys_ktrace>(),
wrap<nosys>(),
wrap<sys_getgid>(),
wrap<nosys>(),
wrap<sys_getlogin>(),
wrap<sys_setlogin>(),
wrap<sys_acct>(),
wrap<nosys>(),
wrap<sys_sigaltstack>(),
wrap<sys_ioctl>(),
wrap<sys_reboot>(),
wrap<sys_revoke>(),
wrap<sys_symlink>(),
wrap<sys_readlink>(),
wrap<sys_execve>(),
wrap<sys_umask>(),
wrap<sys_chroot>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_msync>(),
wrap<sys_vfork>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sbrk>(),
wrap<sys_sstk>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_munmap>(),
wrap<sys_mprotect>(),
wrap<sys_madvise>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_mincore>(),
wrap<sys_getgroups>(),
wrap<sys_setgroups>(),
wrap<sys_getpgrp>(),
wrap<sys_setpgid>(),
wrap<sys_setitimer>(),
wrap<nosys>(),
wrap<sys_swapon>(),
wrap<sys_getitimer>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getdtablesize>(),
wrap<sys_dup2>(),
wrap<nosys>(),
wrap<sys_fcntl>(),
wrap<sys_select>(),
wrap<nosys>(),
wrap<sys_fsync>(),
wrap<sys_setpriority>(),
wrap<sys_socket>(),
wrap<sys_connect>(),
wrap<nosys>(),
wrap<sys_getpriority>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_bind>(),
wrap<sys_setsockopt>(),
wrap<sys_listen>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_gettimeofday>(),
wrap<sys_getrusage>(),
wrap<sys_getsockopt>(),
wrap<nosys>(),
wrap<sys_readv>(),
wrap<sys_writev>(),
wrap<sys_settimeofday>(),
wrap<sys_fchown>(),
wrap<sys_fchmod>(),
wrap<nosys>(),
wrap<sys_setreuid>(),
wrap<sys_setregid>(),
wrap<sys_rename>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_flock>(),
wrap<sys_mkfifo>(),
wrap<sys_sendto>(),
wrap<sys_shutdown>(),
wrap<sys_socketpair>(),
wrap<sys_mkdir>(),
wrap<sys_rmdir>(),
wrap<sys_utimes>(),
wrap<nosys>(),
wrap<sys_adjtime>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_setsid>(),
wrap<sys_quotactl>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_nlm_syscall>(),
wrap<sys_nfssvc>(),
wrap<nosys>(),
wrap<sys_statfs>(),
wrap<sys_fstatfs>(),
wrap<nosys>(),
wrap<sys_lgetfh>(),
wrap<sys_getfh>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sysarch>(),
wrap<sys_rtprio>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_semsys>(),
wrap<sys_msgsys>(),
wrap<sys_shmsys>(),
wrap<nosys>(),
wrap<sys_freebsd6_pread>(),
wrap<sys_freebsd6_pwrite>(),
wrap<sys_setfib>(),
wrap<sys_ntp_adjtime>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_setgid>(),
wrap<sys_setegid>(),
wrap<sys_seteuid>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_stat>(),
wrap<sys_fstat>(),
wrap<sys_lstat>(),
wrap<sys_pathconf>(),
wrap<sys_fpathconf>(),
wrap<nosys>(),
wrap<sys_getrlimit>(),
wrap<sys_setrlimit>(),
wrap<sys_getdirentries>(),
wrap<sys_freebsd6_mmap>(),
wrap<nosys>(),
wrap<sys_freebsd6_lseek>(),
wrap<sys_freebsd6_truncate>(),
wrap<sys_freebsd6_ftruncate>(),
wrap<sys___sysctl>(),
wrap<sys_mlock>(),
wrap<sys_munlock>(),
wrap<sys_undelete>(),
wrap<sys_futimes>(),
wrap<sys_getpgid>(),
wrap<nosys>(),
wrap<sys_poll>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys___semctl>(),
wrap<sys_semget>(),
wrap<sys_semop>(),
wrap<nosys>(),
wrap<sys_msgctl>(),
wrap<sys_msgget>(),
wrap<sys_msgsnd>(),
wrap<sys_msgrcv>(),
wrap<sys_shmat>(),
wrap<sys_shmctl>(),
wrap<sys_shmdt>(),
wrap<sys_shmget>(),
wrap<sys_clock_gettime>(),
wrap<sys_clock_settime>(),
wrap<sys_clock_getres>(),
wrap<sys_ktimer_create>(),
wrap<sys_ktimer_delete>(),
wrap<sys_ktimer_settime>(),
wrap<sys_ktimer_gettime>(),
wrap<sys_ktimer_getoverrun>(),
wrap<sys_nanosleep>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_ntp_gettime>(),
wrap<nosys>(),
wrap<sys_minherit>(),
wrap<sys_rfork>(),
wrap<sys_openbsd_poll>(),
wrap<sys_issetugid>(),
wrap<sys_lchown>(),
wrap<sys_aio_read>(),
wrap<sys_aio_write>(),
wrap<sys_lio_listio>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getdents>(),
wrap<nosys>(),
wrap<sys_lchmod>(),
wrap<sys_lchown>(),
wrap<sys_lutimes>(),
wrap<sys_msync>(),
wrap<sys_nstat>(),
wrap<sys_nfstat>(),
wrap<sys_nlstat>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_preadv>(),
wrap<sys_pwritev>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_fhstatfs>(),
wrap<sys_fhopen>(),
wrap<sys_fhstat>(),
wrap<sys_modnext>(),
wrap<sys_modstat>(),
wrap<sys_modfnext>(),
wrap<sys_modfind>(),
wrap<sys_kldload>(),
wrap<sys_kldunload>(),
wrap<sys_kldfind>(),
wrap<sys_kldnext>(),
wrap<sys_kldstat>(),
wrap<sys_kldfirstmod>(),
wrap<sys_getsid>(),
wrap<sys_setresuid>(),
wrap<sys_setresgid>(),
wrap<nosys>(),
wrap<sys_aio_return>(),
wrap<sys_aio_suspend>(),
wrap<sys_aio_cancel>(),
wrap<sys_aio_error>(),
wrap<sys_oaio_read>(),
wrap<sys_oaio_write>(),
wrap<sys_olio_listio>(),
wrap<sys_yield>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_mlockall>(),
wrap<sys_munlockall>(),
wrap<sys___getcwd>(),
wrap<sys_sched_setparam>(),
wrap<sys_sched_getparam>(),
wrap<sys_sched_setscheduler>(),
wrap<sys_sched_getscheduler>(),
wrap<sys_sched_yield>(),
wrap<sys_sched_get_priority_max>(),
wrap<sys_sched_get_priority_min>(),
wrap<sys_sched_rr_get_interval>(),
wrap<sys_utrace>(),
wrap<sys_sendfile>(),
wrap<sys_kldsym>(),
wrap<sys_jail>(),
wrap<sys_nnpfs_syscall>(),
wrap<sys_sigprocmask>(),
wrap<sys_sigsuspend>(),
wrap<sys_sigaction>(),
wrap<sys_sigpending>(),
wrap<sys_sigreturn>(),
wrap<sys_sigtimedwait>(),
wrap<sys_sigwaitinfo>(),
wrap<sys___acl_get_file>(),
wrap<sys___acl_set_file>(),
wrap<sys___acl_get_fd>(),
wrap<sys___acl_set_fd>(),
wrap<sys___acl_delete_file>(),
wrap<sys___acl_delete_fd>(),
wrap<sys___acl_aclcheck_file>(),
wrap<sys___acl_aclcheck_fd>(),
wrap<sys_extattrctl>(),
wrap<sys_extattr_set_file>(),
wrap<sys_extattr_get_file>(),
wrap<sys_extattr_delete_file>(),
wrap<sys_aio_waitcomplete>(),
wrap<sys_getresuid>(),
wrap<sys_getresgid>(),
wrap<sys_kqueue>(),
wrap<sys_kevent>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_extattr_set_fd>(),
wrap<sys_extattr_get_fd>(),
wrap<sys_extattr_delete_fd>(),
wrap<sys___setugid>(),
wrap<nosys>(),
wrap<sys_eaccess>(),
wrap<sys_afs3_syscall>(),
wrap<sys_nmount>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys___mac_get_proc>(),
wrap<sys___mac_set_proc>(),
wrap<sys___mac_get_fd>(),
wrap<sys___mac_get_file>(),
wrap<sys___mac_set_fd>(),
wrap<sys___mac_set_file>(),
wrap<sys_kenv>(),
wrap<sys_lchflags>(),
wrap<sys_uuidgen>(),
wrap<sys_sendfile>(),
wrap<sys_mac_syscall>(),
wrap<sys_getfsstat>(),
wrap<sys_statfs>(),
wrap<sys_fstatfs>(),
wrap<sys_fhstatfs>(),
wrap<nosys>(),
wrap<sys_ksem_close>(),
wrap<sys_ksem_post>(),
wrap<sys_ksem_wait>(),
wrap<sys_ksem_trywait>(),
wrap<sys_ksem_init>(),
wrap<sys_ksem_open>(),
wrap<sys_ksem_unlink>(),
wrap<sys_ksem_getvalue>(),
wrap<sys_ksem_destroy>(),
wrap<sys___mac_get_pid>(),
wrap<sys___mac_get_link>(),
wrap<sys___mac_set_link>(),
wrap<sys_extattr_set_link>(),
wrap<sys_extattr_get_link>(),
wrap<sys_extattr_delete_link>(),
wrap<sys___mac_execve>(),
wrap<sys_sigaction>(),
wrap<sys_sigreturn>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getcontext>(),
wrap<sys_setcontext>(),
wrap<sys_swapcontext>(),
wrap<sys_swapoff>(),
wrap<sys___acl_get_link>(),
wrap<sys___acl_set_link>(),
wrap<sys___acl_delete_link>(),
wrap<sys___acl_aclcheck_link>(),
wrap<sys_sigwait>(),
wrap<sys_thr_create>(),
wrap<sys_thr_exit>(),
wrap<sys_thr_self>(),
wrap<sys_thr_kill>(),
wrap<sys__umtx_lock>(),
wrap<sys__umtx_unlock>(),
wrap<sys_jail_attach>(),
wrap<sys_extattr_list_fd>(),
wrap<sys_extattr_list_file>(),
wrap<sys_extattr_list_link>(),
wrap<nosys>(),
wrap<sys_ksem_timedwait>(),
wrap<sys_thr_suspend>(),
wrap<sys_thr_wake>(),
wrap<sys_kldunloadf>(),
wrap<sys_audit>(),
wrap<sys_auditon>(),
wrap<sys_getauid>(),
wrap<sys_setauid>(),
wrap<sys_getaudit>(),
wrap<sys_setaudit>(),
wrap<sys_getaudit_addr>(),
wrap<sys_setaudit_addr>(),
wrap<sys_auditctl>(),
wrap<sys__umtx_op>(),
wrap<sys_thr_new>(),
wrap<sys_sigqueue>(),
wrap<sys_kmq_open>(),
wrap<sys_kmq_setattr>(),
wrap<sys_kmq_timedreceive>(),
wrap<sys_kmq_timedsend>(),
wrap<sys_kmq_notify>(),
wrap<sys_kmq_unlink>(),
wrap<sys_abort2>(),
wrap<sys_thr_set_name>(),
wrap<sys_aio_fsync>(),
wrap<sys_rtprio_thread>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sctp_peeloff>(),
wrap<sys_sctp_generic_sendmsg>(),
wrap<sys_sctp_generic_sendmsg_iov>(),
wrap<sys_sctp_generic_recvmsg>(),
wrap<sys_pread>(),
wrap<sys_pwrite>(),
wrap<sys_mmap>(),
wrap<sys_lseek>(),
wrap<sys_truncate>(),
wrap<sys_ftruncate>(),
wrap<sys_thr_kill2>(),
wrap<sys_shm_open>(),
wrap<sys_shm_unlink>(),
wrap<sys_cpuset>(),
wrap<sys_cpuset_setid>(),
wrap<sys_cpuset_getid>(),
wrap<sys_cpuset_getaffinity>(),
wrap<sys_cpuset_setaffinity>(),
wrap<sys_faccessat>(),
wrap<sys_fchmodat>(),
wrap<sys_fchownat>(),
wrap<sys_fexecve>(),
wrap<sys_fstatat>(),
wrap<sys_futimesat>(),
wrap<sys_linkat>(),
wrap<sys_mkdirat>(),
wrap<sys_mkfifoat>(),
wrap<sys_mknodat>(),
wrap<sys_openat>(),
wrap<sys_readlinkat>(),
wrap<sys_renameat>(),
wrap<sys_symlinkat>(),
wrap<sys_unlinkat>(),
wrap<sys_posix_openpt>(),
wrap<sys_gssd_syscall>(),
wrap<sys_jail_get>(),
wrap<sys_jail_set>(),
wrap<sys_jail_remove>(),
wrap<sys_closefrom>(),
wrap<sys___semctl>(),
wrap<sys_msgctl>(),
wrap<sys_shmctl>(),
wrap<sys_lpathconf>(),
wrap<sys_cap_new>(),
wrap<sys_cap_getrights>(),
wrap<sys_cap_enter>(),
wrap<sys_cap_getmode>(),
wrap<sys_pdfork>(),
wrap<sys_pdkill>(),
wrap<sys_pdgetpid>(),
wrap<nosys>(),
wrap<sys_pselect>(),
wrap<sys_getloginclass>(),
wrap<sys_setloginclass>(),
wrap<sys_rctl_get_racct>(),
wrap<sys_rctl_get_rules>(),
wrap<sys_rctl_get_limits>(),
wrap<sys_rctl_add_rule>(),
wrap<sys_rctl_remove_rule>(),
wrap<sys_posix_fallocate>(),
wrap<sys_posix_fadvise>(),
};
// TODO
static constexpr sysent freebsd11_sysent[] = {
wrap<nosys>(),
wrap<sys_exit>(),
wrap<sys_fork>(),
wrap<sys_read>(),
wrap<sys_write>(),
wrap<sys_open>(),
wrap<sys_close>(),
wrap<sys_wait4>(),
wrap<nosys>(),
wrap<sys_link>(),
wrap<sys_unlink>(),
wrap<nosys>(),
wrap<sys_chdir>(),
wrap<sys_fchdir>(),
wrap<sys_mknod>(),
wrap<sys_chmod>(),
wrap<sys_chown>(),
wrap<sys_obreak>(),
wrap<sys_getfsstat>(),
wrap<nosys>(),
wrap<sys_getpid>(),
wrap<sys_mount>(),
wrap<sys_unmount>(),
wrap<sys_setuid>(),
wrap<sys_getuid>(),
wrap<sys_geteuid>(),
wrap<sys_ptrace>(),
wrap<sys_recvmsg>(),
wrap<sys_sendmsg>(),
wrap<sys_recvfrom>(),
wrap<sys_accept>(),
wrap<sys_getpeername>(),
wrap<sys_getsockname>(),
wrap<sys_access>(),
wrap<sys_chflags>(),
wrap<sys_fchflags>(),
wrap<sys_sync>(),
wrap<sys_kill>(),
wrap<nosys>(),
wrap<sys_getppid>(),
wrap<nosys>(),
wrap<sys_dup>(),
wrap<sys_pipe>(),
wrap<sys_getegid>(),
wrap<sys_profil>(),
wrap<sys_ktrace>(),
wrap<nosys>(),
wrap<sys_getgid>(),
wrap<nosys>(),
wrap<sys_getlogin>(),
wrap<sys_setlogin>(),
wrap<sys_acct>(),
wrap<nosys>(),
wrap<sys_sigaltstack>(),
wrap<sys_ioctl>(),
wrap<sys_reboot>(),
wrap<sys_revoke>(),
wrap<sys_symlink>(),
wrap<sys_readlink>(),
wrap<sys_execve>(),
wrap<sys_umask>(),
wrap<sys_chroot>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_msync>(),
wrap<sys_vfork>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sbrk>(),
wrap<sys_sstk>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_munmap>(),
wrap<sys_mprotect>(),
wrap<sys_madvise>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_mincore>(),
wrap<sys_getgroups>(),
wrap<sys_setgroups>(),
wrap<sys_getpgrp>(),
wrap<sys_setpgid>(),
wrap<sys_setitimer>(),
wrap<nosys>(),
wrap<sys_swapon>(),
wrap<sys_getitimer>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getdtablesize>(),
wrap<sys_dup2>(),
wrap<nosys>(),
wrap<sys_fcntl>(),
wrap<sys_select>(),
wrap<nosys>(),
wrap<sys_fsync>(),
wrap<sys_setpriority>(),
wrap<sys_socket>(),
wrap<sys_connect>(),
wrap<nosys>(),
wrap<sys_getpriority>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_bind>(),
wrap<sys_setsockopt>(),
wrap<sys_listen>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_gettimeofday>(),
wrap<sys_getrusage>(),
wrap<sys_getsockopt>(),
wrap<nosys>(),
wrap<sys_readv>(),
wrap<sys_writev>(),
wrap<sys_settimeofday>(),
wrap<sys_fchown>(),
wrap<sys_fchmod>(),
wrap<nosys>(),
wrap<sys_setreuid>(),
wrap<sys_setregid>(),
wrap<sys_rename>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_flock>(),
wrap<sys_mkfifo>(),
wrap<sys_sendto>(),
wrap<sys_shutdown>(),
wrap<sys_socketpair>(),
wrap<sys_mkdir>(),
wrap<sys_rmdir>(),
wrap<sys_utimes>(),
wrap<nosys>(),
wrap<sys_adjtime>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_setsid>(),
wrap<sys_quotactl>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_nlm_syscall>(),
wrap<sys_nfssvc>(),
wrap<nosys>(),
wrap<sys_statfs>(),
wrap<sys_fstatfs>(),
wrap<nosys>(),
wrap<sys_lgetfh>(),
wrap<sys_getfh>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sysarch>(),
wrap<sys_rtprio>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_semsys>(),
wrap<sys_msgsys>(),
wrap<sys_shmsys>(),
wrap<nosys>(),
wrap<sys_freebsd6_pread>(),
wrap<sys_freebsd6_pwrite>(),
wrap<sys_setfib>(),
wrap<sys_ntp_adjtime>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_setgid>(),
wrap<sys_setegid>(),
wrap<sys_seteuid>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_stat>(),
wrap<sys_fstat>(),
wrap<sys_lstat>(),
wrap<sys_pathconf>(),
wrap<sys_fpathconf>(),
wrap<nosys>(),
wrap<sys_getrlimit>(),
wrap<sys_setrlimit>(),
wrap<sys_getdirentries>(),
wrap<sys_freebsd6_mmap>(),
wrap<nosys>(),
wrap<sys_freebsd6_lseek>(),
wrap<sys_freebsd6_truncate>(),
wrap<sys_freebsd6_ftruncate>(),
wrap<sys___sysctl>(),
wrap<sys_mlock>(),
wrap<sys_munlock>(),
wrap<sys_undelete>(),
wrap<sys_futimes>(),
wrap<sys_getpgid>(),
wrap<nosys>(),
wrap<sys_poll>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys___semctl>(),
wrap<sys_semget>(),
wrap<sys_semop>(),
wrap<nosys>(),
wrap<sys_msgctl>(),
wrap<sys_msgget>(),
wrap<sys_msgsnd>(),
wrap<sys_msgrcv>(),
wrap<sys_shmat>(),
wrap<sys_shmctl>(),
wrap<sys_shmdt>(),
wrap<sys_shmget>(),
wrap<sys_clock_gettime>(),
wrap<sys_clock_settime>(),
wrap<sys_clock_getres>(),
wrap<sys_ktimer_create>(),
wrap<sys_ktimer_delete>(),
wrap<sys_ktimer_settime>(),
wrap<sys_ktimer_gettime>(),
wrap<sys_ktimer_getoverrun>(),
wrap<sys_nanosleep>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_ntp_gettime>(),
wrap<nosys>(),
wrap<sys_minherit>(),
wrap<sys_rfork>(),
wrap<sys_openbsd_poll>(),
wrap<sys_issetugid>(),
wrap<sys_lchown>(),
wrap<sys_aio_read>(),
wrap<sys_aio_write>(),
wrap<sys_lio_listio>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getdents>(),
wrap<nosys>(),
wrap<sys_lchmod>(),
wrap<sys_lchown>(),
wrap<sys_lutimes>(),
wrap<sys_msync>(),
wrap<sys_nstat>(),
wrap<sys_nfstat>(),
wrap<sys_nlstat>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_preadv>(),
wrap<sys_pwritev>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_fhstatfs>(),
wrap<sys_fhopen>(),
wrap<sys_fhstat>(),
wrap<sys_modnext>(),
wrap<sys_modstat>(),
wrap<sys_modfnext>(),
wrap<sys_modfind>(),
wrap<sys_kldload>(),
wrap<sys_kldunload>(),
wrap<sys_kldfind>(),
wrap<sys_kldnext>(),
wrap<sys_kldstat>(),
wrap<sys_kldfirstmod>(),
wrap<sys_getsid>(),
wrap<sys_setresuid>(),
wrap<sys_setresgid>(),
wrap<nosys>(),
wrap<sys_aio_return>(),
wrap<sys_aio_suspend>(),
wrap<sys_aio_cancel>(),
wrap<sys_aio_error>(),
wrap<sys_oaio_read>(),
wrap<sys_oaio_write>(),
wrap<sys_olio_listio>(),
wrap<sys_yield>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_mlockall>(),
wrap<sys_munlockall>(),
wrap<sys___getcwd>(),
wrap<sys_sched_setparam>(),
wrap<sys_sched_getparam>(),
wrap<sys_sched_setscheduler>(),
wrap<sys_sched_getscheduler>(),
wrap<sys_sched_yield>(),
wrap<sys_sched_get_priority_max>(),
wrap<sys_sched_get_priority_min>(),
wrap<sys_sched_rr_get_interval>(),
wrap<sys_utrace>(),
wrap<sys_sendfile>(),
wrap<sys_kldsym>(),
wrap<sys_jail>(),
wrap<sys_nnpfs_syscall>(),
wrap<sys_sigprocmask>(),
wrap<sys_sigsuspend>(),
wrap<sys_sigaction>(),
wrap<sys_sigpending>(),
wrap<sys_sigreturn>(),
wrap<sys_sigtimedwait>(),
wrap<sys_sigwaitinfo>(),
wrap<sys___acl_get_file>(),
wrap<sys___acl_set_file>(),
wrap<sys___acl_get_fd>(),
wrap<sys___acl_set_fd>(),
wrap<sys___acl_delete_file>(),
wrap<sys___acl_delete_fd>(),
wrap<sys___acl_aclcheck_file>(),
wrap<sys___acl_aclcheck_fd>(),
wrap<sys_extattrctl>(),
wrap<sys_extattr_set_file>(),
wrap<sys_extattr_get_file>(),
wrap<sys_extattr_delete_file>(),
wrap<sys_aio_waitcomplete>(),
wrap<sys_getresuid>(),
wrap<sys_getresgid>(),
wrap<sys_kqueue>(),
wrap<sys_kevent>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_extattr_set_fd>(),
wrap<sys_extattr_get_fd>(),
wrap<sys_extattr_delete_fd>(),
wrap<sys___setugid>(),
wrap<nosys>(),
wrap<sys_eaccess>(),
wrap<sys_afs3_syscall>(),
wrap<sys_nmount>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys___mac_get_proc>(),
wrap<sys___mac_set_proc>(),
wrap<sys___mac_get_fd>(),
wrap<sys___mac_get_file>(),
wrap<sys___mac_set_fd>(),
wrap<sys___mac_set_file>(),
wrap<sys_kenv>(),
wrap<sys_lchflags>(),
wrap<sys_uuidgen>(),
wrap<sys_sendfile>(),
wrap<sys_mac_syscall>(),
wrap<sys_getfsstat>(),
wrap<sys_statfs>(),
wrap<sys_fstatfs>(),
wrap<sys_fhstatfs>(),
wrap<nosys>(),
wrap<sys_ksem_close>(),
wrap<sys_ksem_post>(),
wrap<sys_ksem_wait>(),
wrap<sys_ksem_trywait>(),
wrap<sys_ksem_init>(),
wrap<sys_ksem_open>(),
wrap<sys_ksem_unlink>(),
wrap<sys_ksem_getvalue>(),
wrap<sys_ksem_destroy>(),
wrap<sys___mac_get_pid>(),
wrap<sys___mac_get_link>(),
wrap<sys___mac_set_link>(),
wrap<sys_extattr_set_link>(),
wrap<sys_extattr_get_link>(),
wrap<sys_extattr_delete_link>(),
wrap<sys___mac_execve>(),
wrap<sys_sigaction>(),
wrap<sys_sigreturn>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getcontext>(),
wrap<sys_setcontext>(),
wrap<sys_swapcontext>(),
wrap<sys_swapoff>(),
wrap<sys___acl_get_link>(),
wrap<sys___acl_set_link>(),
wrap<sys___acl_delete_link>(),
wrap<sys___acl_aclcheck_link>(),
wrap<sys_sigwait>(),
wrap<sys_thr_create>(),
wrap<sys_thr_exit>(),
wrap<sys_thr_self>(),
wrap<sys_thr_kill>(),
wrap<sys__umtx_lock>(),
wrap<sys__umtx_unlock>(),
wrap<sys_jail_attach>(),
wrap<sys_extattr_list_fd>(),
wrap<sys_extattr_list_file>(),
wrap<sys_extattr_list_link>(),
wrap<nosys>(),
wrap<sys_ksem_timedwait>(),
wrap<sys_thr_suspend>(),
wrap<sys_thr_wake>(),
wrap<sys_kldunloadf>(),
wrap<sys_audit>(),
wrap<sys_auditon>(),
wrap<sys_getauid>(),
wrap<sys_setauid>(),
wrap<sys_getaudit>(),
wrap<sys_setaudit>(),
wrap<sys_getaudit_addr>(),
wrap<sys_setaudit_addr>(),
wrap<sys_auditctl>(),
wrap<sys__umtx_op>(),
wrap<sys_thr_new>(),
wrap<sys_sigqueue>(),
wrap<sys_kmq_open>(),
wrap<sys_kmq_setattr>(),
wrap<sys_kmq_timedreceive>(),
wrap<sys_kmq_timedsend>(),
wrap<sys_kmq_notify>(),
wrap<sys_kmq_unlink>(),
wrap<sys_abort2>(),
wrap<sys_thr_set_name>(),
wrap<sys_aio_fsync>(),
wrap<sys_rtprio_thread>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sctp_peeloff>(),
wrap<sys_sctp_generic_sendmsg>(),
wrap<sys_sctp_generic_sendmsg_iov>(),
wrap<sys_sctp_generic_recvmsg>(),
wrap<sys_pread>(),
wrap<sys_pwrite>(),
wrap<sys_mmap>(),
wrap<sys_lseek>(),
wrap<sys_truncate>(),
wrap<sys_ftruncate>(),
wrap<sys_thr_kill2>(),
wrap<sys_shm_open>(),
wrap<sys_shm_unlink>(),
wrap<sys_cpuset>(),
wrap<sys_cpuset_setid>(),
wrap<sys_cpuset_getid>(),
wrap<sys_cpuset_getaffinity>(),
wrap<sys_cpuset_setaffinity>(),
wrap<sys_faccessat>(),
wrap<sys_fchmodat>(),
wrap<sys_fchownat>(),
wrap<sys_fexecve>(),
wrap<sys_fstatat>(),
wrap<sys_futimesat>(),
wrap<sys_linkat>(),
wrap<sys_mkdirat>(),
wrap<sys_mkfifoat>(),
wrap<sys_mknodat>(),
wrap<sys_openat>(),
wrap<sys_readlinkat>(),
wrap<sys_renameat>(),
wrap<sys_symlinkat>(),
wrap<sys_unlinkat>(),
wrap<sys_posix_openpt>(),
wrap<sys_gssd_syscall>(),
wrap<sys_jail_get>(),
wrap<sys_jail_set>(),
wrap<sys_jail_remove>(),
wrap<sys_closefrom>(),
wrap<sys___semctl>(),
wrap<sys_msgctl>(),
wrap<sys_shmctl>(),
wrap<sys_lpathconf>(),
wrap<sys_cap_new>(),
wrap<sys_cap_getrights>(),
wrap<sys_cap_enter>(),
wrap<sys_cap_getmode>(),
wrap<sys_pdfork>(),
wrap<sys_pdkill>(),
wrap<sys_pdgetpid>(),
wrap<nosys>(),
wrap<sys_pselect>(),
wrap<sys_getloginclass>(),
wrap<sys_setloginclass>(),
wrap<sys_rctl_get_racct>(),
wrap<sys_rctl_get_rules>(),
wrap<sys_rctl_get_limits>(),
wrap<sys_rctl_add_rule>(),
wrap<sys_rctl_remove_rule>(),
wrap<sys_posix_fallocate>(),
wrap<sys_posix_fadvise>(),
};
static constexpr sysent ps4_sysent[] = {
wrap<nosys>(),
wrap<sys_exit>(),
wrap<sys_fork>(),
wrap<sys_read>(),
wrap<sys_write>(),
wrap<sys_open>(),
wrap<sys_close>(),
wrap<sys_wait4>(),
wrap<nosys>(),
wrap<sys_link>(),
wrap<sys_unlink>(),
wrap<nosys>(),
wrap<sys_chdir>(),
wrap<sys_fchdir>(),
wrap<sys_mknod>(),
wrap<sys_chmod>(),
wrap<sys_chown>(),
wrap<sys_obreak>(),
wrap<sys_getfsstat>(),
wrap<nosys>(),
wrap<sys_getpid>(),
wrap<sys_mount>(),
wrap<sys_unmount>(),
wrap<sys_setuid>(),
wrap<sys_getuid>(),
wrap<sys_geteuid>(),
wrap<sys_ptrace>(),
wrap<sys_recvmsg>(),
wrap<sys_sendmsg>(),
wrap<sys_recvfrom>(),
wrap<sys_accept>(),
wrap<sys_getpeername>(),
wrap<sys_getsockname>(),
wrap<sys_access>(),
wrap<sys_chflags>(),
wrap<sys_fchflags>(),
wrap<sys_sync>(),
wrap<sys_kill>(),
wrap<nosys>(),
wrap<sys_getppid>(),
wrap<nosys>(),
wrap<sys_dup>(),
wrap<sys_pipe>(),
wrap<sys_getegid>(),
wrap<sys_profil>(),
wrap<sys_ktrace>(),
wrap<nosys>(),
wrap<sys_getgid>(),
wrap<nosys>(),
wrap<sys_getlogin>(),
wrap<sys_setlogin>(),
wrap<sys_acct>(),
wrap<nosys>(),
wrap<sys_sigaltstack>(),
wrap<sys_ioctl>(),
wrap<sys_reboot>(),
wrap<sys_revoke>(),
wrap<sys_symlink>(),
wrap<sys_readlink>(),
wrap<sys_execve>(),
wrap<sys_umask>(),
wrap<sys_chroot>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_msync>(),
wrap<sys_vfork>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sbrk>(),
wrap<sys_sstk>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_munmap>(),
wrap<sys_mprotect>(),
wrap<sys_madvise>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_mincore>(),
wrap<sys_getgroups>(),
wrap<sys_setgroups>(),
wrap<sys_getpgrp>(),
wrap<sys_setpgid>(),
wrap<sys_setitimer>(),
wrap<nosys>(),
wrap<sys_swapon>(),
wrap<sys_getitimer>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getdtablesize>(),
wrap<sys_dup2>(),
wrap<nosys>(),
wrap<sys_fcntl>(),
wrap<sys_select>(),
wrap<nosys>(),
wrap<sys_fsync>(),
wrap<sys_setpriority>(),
wrap<sys_socket>(),
wrap<sys_connect>(),
wrap<sys_netcontrol>(),
wrap<sys_getpriority>(),
wrap<sys_netabort>(),
wrap<sys_netgetsockinfo>(),
wrap<nosys>(),
wrap<sys_bind>(),
wrap<sys_setsockopt>(),
wrap<sys_listen>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_socketex>(),
wrap<sys_socketclose>(),
wrap<nosys>(),
wrap<sys_gettimeofday>(),
wrap<sys_getrusage>(),
wrap<sys_getsockopt>(),
wrap<nosys>(),
wrap<sys_readv>(),
wrap<sys_writev>(),
wrap<sys_settimeofday>(),
wrap<sys_fchown>(),
wrap<sys_fchmod>(),
wrap<sys_netgetiflist>(),
wrap<sys_setreuid>(),
wrap<sys_setregid>(),
wrap<sys_rename>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_flock>(),
wrap<sys_mkfifo>(),
wrap<sys_sendto>(),
wrap<sys_shutdown>(),
wrap<sys_socketpair>(),
wrap<sys_mkdir>(),
wrap<sys_rmdir>(),
wrap<sys_utimes>(),
wrap<nosys>(),
wrap<sys_adjtime>(),
wrap<sys_kqueueex>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_setsid>(),
wrap<sys_quotactl>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_nlm_syscall>(),
wrap<sys_nfssvc>(),
wrap<nosys>(),
wrap<sys_statfs>(),
wrap<sys_fstatfs>(),
wrap<nosys>(),
wrap<sys_lgetfh>(),
wrap<sys_getfh>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sysarch>(),
wrap<sys_rtprio>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_semsys>(),
wrap<sys_msgsys>(),
wrap<sys_shmsys>(),
wrap<nosys>(),
wrap<sys_freebsd6_pread>(),
wrap<sys_freebsd6_pwrite>(),
wrap<sys_setfib>(),
wrap<sys_ntp_adjtime>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_setgid>(),
wrap<sys_setegid>(),
wrap<sys_seteuid>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_stat>(),
wrap<sys_fstat>(),
wrap<sys_lstat>(),
wrap<sys_pathconf>(),
wrap<sys_fpathconf>(),
wrap<nosys>(),
wrap<sys_getrlimit>(),
wrap<sys_setrlimit>(),
wrap<sys_getdirentries>(),
wrap<sys_freebsd6_mmap>(),
wrap<nosys>(),
wrap<sys_freebsd6_lseek>(),
wrap<sys_freebsd6_truncate>(),
wrap<sys_freebsd6_ftruncate>(),
wrap<sys___sysctl>(),
wrap<sys_mlock>(),
wrap<sys_munlock>(),
wrap<sys_undelete>(),
wrap<sys_futimes>(),
wrap<sys_getpgid>(),
wrap<nosys>(),
wrap<sys_poll>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys___semctl>(),
wrap<sys_semget>(),
wrap<sys_semop>(),
wrap<nosys>(),
wrap<sys_msgctl>(),
wrap<sys_msgget>(),
wrap<sys_msgsnd>(),
wrap<sys_msgrcv>(),
wrap<sys_shmat>(),
wrap<sys_shmctl>(),
wrap<sys_shmdt>(),
wrap<sys_shmget>(),
wrap<sys_clock_gettime>(),
wrap<sys_clock_settime>(),
wrap<sys_clock_getres>(),
wrap<sys_ktimer_create>(),
wrap<sys_ktimer_delete>(),
wrap<sys_ktimer_settime>(),
wrap<sys_ktimer_gettime>(),
wrap<sys_ktimer_getoverrun>(),
wrap<sys_nanosleep>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_ntp_gettime>(),
wrap<nosys>(),
wrap<sys_minherit>(),
wrap<sys_rfork>(),
wrap<sys_openbsd_poll>(),
wrap<sys_issetugid>(),
wrap<sys_lchown>(),
wrap<sys_aio_read>(),
wrap<sys_aio_write>(),
wrap<sys_lio_listio>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getdents>(),
wrap<nosys>(),
wrap<sys_lchmod>(),
wrap<sys_lchown>(),
wrap<sys_lutimes>(),
wrap<sys_msync>(),
wrap<sys_nstat>(),
wrap<sys_nfstat>(),
wrap<sys_nlstat>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_preadv>(),
wrap<sys_pwritev>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_fhstatfs>(),
wrap<sys_fhopen>(),
wrap<sys_fhstat>(),
wrap<sys_modnext>(),
wrap<sys_modstat>(),
wrap<sys_modfnext>(),
wrap<sys_modfind>(),
wrap<sys_kldload>(),
wrap<sys_kldunload>(),
wrap<sys_kldfind>(),
wrap<sys_kldnext>(),
wrap<sys_kldstat>(),
wrap<sys_kldfirstmod>(),
wrap<sys_getsid>(),
wrap<sys_setresuid>(),
wrap<sys_setresgid>(),
wrap<nosys>(),
wrap<sys_aio_return>(),
wrap<sys_aio_suspend>(),
wrap<sys_aio_cancel>(),
wrap<sys_aio_error>(),
wrap<sys_oaio_read>(),
wrap<sys_oaio_write>(),
wrap<sys_olio_listio>(),
wrap<sys_yield>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_mlockall>(),
wrap<sys_munlockall>(),
wrap<sys___getcwd>(),
wrap<sys_sched_setparam>(),
wrap<sys_sched_getparam>(),
wrap<sys_sched_setscheduler>(),
wrap<sys_sched_getscheduler>(),
wrap<sys_sched_yield>(),
wrap<sys_sched_get_priority_max>(),
wrap<sys_sched_get_priority_min>(),
wrap<sys_sched_rr_get_interval>(),
wrap<sys_utrace>(),
wrap<sys_sendfile>(),
wrap<sys_kldsym>(),
wrap<sys_jail>(),
wrap<sys_nnpfs_syscall>(),
wrap<sys_sigprocmask>(),
wrap<sys_sigsuspend>(),
wrap<sys_sigaction>(),
wrap<sys_sigpending>(),
wrap<sys_sigreturn>(),
wrap<sys_sigtimedwait>(),
wrap<sys_sigwaitinfo>(),
wrap<sys___acl_get_file>(),
wrap<sys___acl_set_file>(),
wrap<sys___acl_get_fd>(),
wrap<sys___acl_set_fd>(),
wrap<sys___acl_delete_file>(),
wrap<sys___acl_delete_fd>(),
wrap<sys___acl_aclcheck_file>(),
wrap<sys___acl_aclcheck_fd>(),
wrap<sys_extattrctl>(),
wrap<sys_extattr_set_file>(),
wrap<sys_extattr_get_file>(),
wrap<sys_extattr_delete_file>(),
wrap<sys_aio_waitcomplete>(),
wrap<sys_getresuid>(),
wrap<sys_getresgid>(),
wrap<sys_kqueue>(),
wrap<sys_kevent>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_extattr_set_fd>(),
wrap<sys_extattr_get_fd>(),
wrap<sys_extattr_delete_fd>(),
wrap<sys___setugid>(),
wrap<nosys>(),
wrap<sys_eaccess>(),
wrap<sys_afs3_syscall>(),
wrap<sys_nmount>(),
wrap<sys_mtypeprotect>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys___mac_get_proc>(),
wrap<sys___mac_set_proc>(),
wrap<sys___mac_get_fd>(),
wrap<sys___mac_get_file>(),
wrap<sys___mac_set_fd>(),
wrap<sys___mac_set_file>(),
wrap<sys_kenv>(),
wrap<sys_lchflags>(),
wrap<sys_uuidgen>(),
wrap<sys_sendfile>(),
wrap<sys_mac_syscall>(),
wrap<sys_getfsstat>(),
wrap<sys_statfs>(),
wrap<sys_fstatfs>(),
wrap<sys_fhstatfs>(),
wrap<nosys>(),
wrap<sys_ksem_close>(),
wrap<sys_ksem_post>(),
wrap<sys_ksem_wait>(),
wrap<sys_ksem_trywait>(),
wrap<sys_ksem_init>(),
wrap<sys_ksem_open>(),
wrap<sys_ksem_unlink>(),
wrap<sys_ksem_getvalue>(),
wrap<sys_ksem_destroy>(),
wrap<sys___mac_get_pid>(),
wrap<sys___mac_get_link>(),
wrap<sys___mac_set_link>(),
wrap<sys_extattr_set_link>(),
wrap<sys_extattr_get_link>(),
wrap<sys_extattr_delete_link>(),
wrap<sys___mac_execve>(),
wrap<sys_sigaction>(),
wrap<sys_sigreturn>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_getcontext>(),
wrap<sys_setcontext>(),
wrap<sys_swapcontext>(),
wrap<sys_swapoff>(),
wrap<sys___acl_get_link>(),
wrap<sys___acl_set_link>(),
wrap<sys___acl_delete_link>(),
wrap<sys___acl_aclcheck_link>(),
wrap<sys_sigwait>(),
wrap<sys_thr_create>(),
wrap<sys_thr_exit>(),
wrap<sys_thr_self>(),
wrap<sys_thr_kill>(),
wrap<sys__umtx_lock>(),
wrap<sys__umtx_unlock>(),
wrap<sys_jail_attach>(),
wrap<sys_extattr_list_fd>(),
wrap<sys_extattr_list_file>(),
wrap<sys_extattr_list_link>(),
wrap<nosys>(),
wrap<sys_ksem_timedwait>(),
wrap<sys_thr_suspend>(),
wrap<sys_thr_wake>(),
wrap<sys_kldunloadf>(),
wrap<sys_audit>(),
wrap<sys_auditon>(),
wrap<sys_getauid>(),
wrap<sys_setauid>(),
wrap<sys_getaudit>(),
wrap<sys_setaudit>(),
wrap<sys_getaudit_addr>(),
wrap<sys_setaudit_addr>(),
wrap<sys_auditctl>(),
wrap<sys__umtx_op>(),
wrap<sys_thr_new>(),
wrap<sys_sigqueue>(),
wrap<sys_kmq_open>(),
wrap<sys_kmq_setattr>(),
wrap<sys_kmq_timedreceive>(),
wrap<sys_kmq_timedsend>(),
wrap<sys_kmq_notify>(),
wrap<sys_kmq_unlink>(),
wrap<sys_abort2>(),
wrap<sys_thr_set_name>(),
wrap<sys_aio_fsync>(),
wrap<sys_rtprio_thread>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<nosys>(),
wrap<sys_sctp_peeloff>(),
wrap<sys_sctp_generic_sendmsg>(),
wrap<sys_sctp_generic_sendmsg_iov>(),
wrap<sys_sctp_generic_recvmsg>(),
wrap<sys_pread>(),
wrap<sys_pwrite>(),
wrap<sys_mmap>(),
wrap<sys_lseek>(),
wrap<sys_truncate>(),
wrap<sys_ftruncate>(),
wrap<sys_thr_kill2>(),
wrap<sys_shm_open>(),
wrap<sys_shm_unlink>(),
wrap<sys_cpuset>(),
wrap<sys_cpuset_setid>(),
wrap<sys_cpuset_getid>(),
wrap<sys_cpuset_getaffinity>(),
wrap<sys_cpuset_setaffinity>(),
wrap<sys_faccessat>(),
wrap<sys_fchmodat>(),
wrap<sys_fchownat>(),
wrap<sys_fexecve>(),
wrap<sys_fstatat>(),
wrap<sys_futimesat>(),
wrap<sys_linkat>(),
wrap<sys_mkdirat>(),
wrap<sys_mkfifoat>(),
wrap<sys_mknodat>(),
wrap<sys_openat>(),
wrap<sys_readlinkat>(),
wrap<sys_renameat>(),
wrap<sys_symlinkat>(),
wrap<sys_unlinkat>(),
wrap<sys_posix_openpt>(),
wrap<sys_gssd_syscall>(),
wrap<sys_jail_get>(),
wrap<sys_jail_set>(),
wrap<sys_jail_remove>(),
wrap<sys_closefrom>(),
wrap<sys___semctl>(),
wrap<sys_msgctl>(),
wrap<sys_shmctl>(),
wrap<sys_lpathconf>(),
wrap<sys_cap_new>(),
wrap<sys_cap_getrights>(),
wrap<sys_cap_enter>(),
wrap<sys_cap_getmode>(),
wrap<sys_pdfork>(),
wrap<sys_pdkill>(),
wrap<sys_pdgetpid>(),
wrap<nosys>(),
wrap<sys_pselect>(),
wrap<sys_getloginclass>(),
wrap<sys_setloginclass>(),
wrap<sys_rctl_get_racct>(),
wrap<sys_rctl_get_rules>(),
wrap<sys_rctl_get_limits>(),
wrap<sys_rctl_add_rule>(),
wrap<sys_rctl_remove_rule>(),
wrap<sys_posix_fallocate>(),
wrap<sys_posix_fadvise>(),
wrap<sys_regmgr_call>(),
wrap<sys_jitshm_create>(),
wrap<sys_jitshm_alias>(),
wrap<sys_dl_get_list>(),
wrap<sys_dl_get_info>(),
wrap<sys_dl_notify_event>(),
wrap<sys_evf_create>(),
wrap<sys_evf_delete>(),
wrap<sys_evf_open>(),
wrap<sys_evf_close>(),
wrap<sys_evf_wait>(),
wrap<sys_evf_trywait>(),
wrap<sys_evf_set>(),
wrap<sys_evf_clear>(),
wrap<sys_evf_cancel>(),
wrap<sys_query_memory_protection>(),
wrap<sys_batch_map>(),
wrap<sys_osem_create>(),
wrap<sys_osem_delete>(),
wrap<sys_osem_open>(),
wrap<sys_osem_close>(),
wrap<sys_osem_wait>(),
wrap<sys_osem_trywait>(),
wrap<sys_osem_post>(),
wrap<sys_osem_cancel>(),
wrap<sys_namedobj_create>(),
wrap<sys_namedobj_delete>(),
wrap<sys_set_vm_container>(),
wrap<sys_debug_init>(),
wrap<sys_suspend_process>(),
wrap<sys_resume_process>(),
wrap<sys_opmc_enable>(),
wrap<sys_opmc_disable>(),
wrap<sys_opmc_set_ctl>(),
wrap<sys_opmc_set_ctr>(),
wrap<sys_opmc_get_ctr>(),
wrap<sys_budget_create>(),
wrap<sys_budget_delete>(),
wrap<sys_budget_get>(),
wrap<sys_budget_set>(),
wrap<sys_virtual_query>(),
wrap<sys_mdbg_call>(),
wrap<sys_obs_sblock_create>(),
wrap<sys_obs_sblock_delete>(),
wrap<sys_obs_sblock_enter>(),
wrap<sys_obs_sblock_exit>(),
wrap<sys_obs_sblock_xenter>(),
wrap<sys_obs_sblock_xexit>(),
wrap<sys_obs_eport_create>(),
wrap<sys_obs_eport_delete>(),
wrap<sys_obs_eport_trigger>(),
wrap<sys_obs_eport_open>(),
wrap<sys_obs_eport_close>(),
wrap<sys_is_in_sandbox>(),
wrap<sys_dmem_container>(),
wrap<sys_get_authinfo>(),
wrap<sys_mname>(),
wrap<sys_dynlib_dlopen>(),
wrap<sys_dynlib_dlclose>(),
wrap<sys_dynlib_dlsym>(),
wrap<sys_dynlib_get_list>(),
wrap<sys_dynlib_get_info>(),
wrap<sys_dynlib_load_prx>(),
wrap<sys_dynlib_unload_prx>(),
wrap<sys_dynlib_do_copy_relocations>(),
wrap<sys_dynlib_prepare_dlclose>(),
wrap<sys_dynlib_get_proc_param>(),
wrap<sys_dynlib_process_needed_and_relocate>(),
wrap<sys_sandbox_path>(),
wrap<sys_mdbg_service>(),
wrap<sys_randomized_path>(),
wrap<sys_rdup>(),
wrap<sys_dl_get_metadata>(),
wrap<sys_workaround8849>(),
wrap<sys_is_development_mode>(),
wrap<sys_get_self_auth_info>(),
wrap<sys_dynlib_get_info_ex>(),
wrap<sys_budget_getid>(),
wrap<sys_budget_get_ptype>(),
wrap<sys_get_paging_stats_of_all_threads>(),
wrap<sys_get_proc_type_info>(),
wrap<sys_get_resident_count>(),
wrap<sys_prepare_to_suspend_process>(),
wrap<sys_get_resident_fmem_count>(),
wrap<sys_thr_get_name>(),
wrap<sys_set_gpo>(),
wrap<sys_get_paging_stats_of_all_objects>(),
wrap<sys_test_debug_rwmem>(),
wrap<sys_free_stack>(),
wrap<sys_suspend_system>(),
wrap<sys_ipmimgr_call>(),
wrap<sys_get_gpo>(),
wrap<sys_get_vm_map_timestamp>(),
wrap<sys_opmc_set_hw>(),
wrap<sys_opmc_get_hw>(),
wrap<sys_get_cpu_usage_all>(),
wrap<sys_mmap_dmem>(),
wrap<sys_physhm_open>(),
wrap<sys_physhm_unlink>(),
wrap<sys_resume_internal_hdd>(),
wrap<sys_thr_suspend_ucontext>(),
wrap<sys_thr_resume_ucontext>(),
wrap<sys_thr_get_ucontext>(),
wrap<sys_thr_set_ucontext>(),
wrap<sys_set_timezone_info>(),
wrap<sys_set_phys_fmem_limit>(),
wrap<sys_utc_to_localtime>(),
wrap<sys_localtime_to_utc>(),
wrap<sys_set_uevt>(),
wrap<sys_get_cpu_usage_proc>(),
wrap<sys_get_map_statistics>(),
wrap<sys_set_chicken_switches>(),
wrap<sys_extend_page_table_pool>(),
wrap<sys_extend_page_table_pool2>(),
wrap<sys_get_kernel_mem_statistics>(),
wrap<sys_get_sdk_compiled_version>(),
wrap<sys_app_state_change>(),
wrap<sys_dynlib_get_obj_member>(),
wrap<sys_budget_get_ptype_of_budget>(),
wrap<sys_prepare_to_resume_process>(),
wrap<sys_process_terminate>(),
wrap<sys_blockpool_open>(),
wrap<sys_blockpool_map>(),
wrap<sys_blockpool_unmap>(),
wrap<sys_dynlib_get_info_for_libdbg>(),
wrap<sys_blockpool_batch>(),
wrap<sys_fdatasync>(),
wrap<sys_dynlib_get_list2>(),
wrap<sys_dynlib_get_info2>(),
wrap<sys_aio_submit>(),
wrap<sys_aio_multi_delete>(),
wrap<sys_aio_multi_wait>(),
wrap<sys_aio_multi_poll>(),
wrap<sys_aio_get_data>(),
wrap<sys_aio_multi_cancel>(),
wrap<sys_get_bio_usage_all>(),
wrap<sys_aio_create>(),
wrap<sys_aio_submit_cmd>(),
wrap<sys_aio_init>(),
wrap<sys_get_page_table_stats>(),
wrap<sys_dynlib_get_list_for_libdbg>(),
wrap<sys_blockpool_move>(),
wrap<sys_virtual_query_all>(),
wrap<sys_reserve_2mb_page>(),
wrap<sys_cpumode_yield>(),
};
constinit sysentvec freebsd9_sysvec = {.size = std::size(freebsd9_sysent),
.table = freebsd9_sysent};
constinit sysentvec freebsd11_sysvec = {.size = std::size(freebsd11_sysent),
.table = freebsd11_sysent};
constinit sysentvec ps4_sysvec = {.size = std::size(ps4_sysent),
.table = ps4_sysent};
constinit sysentvec ps5_sysvec = {.size = 0, .table = nullptr};
} // namespace orbis