#include <mach/mach_types.h>
#include <mach/mach_traps.h>
#include <kern/syscall_sw.h>
int kern_invalid_debug = 0;
#include <mach/mach_traps.h>
#include <mach/mach_syscalls.h>
#include <kern/syscall_subr.h>
#include <kern/clock.h>
#include <mach/mk_timer.h>
mach_trap_t mach_trap_table[MACH_TRAP_TABLE_COUNT] = {
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(mach_reply_port, 0, NULL, NULL),
MACH_TRAP(thread_self_trap, 0, NULL, NULL),
MACH_TRAP(task_self_trap, 0, NULL, NULL),
MACH_TRAP(host_self_trap, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(mach_msg_trap, 7, munge_wwwwwww, munge_ddddddd),
MACH_TRAP(mach_msg_overwrite_trap, 8, munge_wwwwwwww, munge_dddddddd),
MACH_TRAP(semaphore_signal_trap, 1, munge_w, munge_d),
MACH_TRAP(semaphore_signal_all_trap, 1, munge_w, munge_d),
MACH_TRAP(semaphore_signal_thread_trap, 2, munge_ww, munge_dd),
MACH_TRAP(semaphore_wait_trap, 1, munge_w, munge_d),
MACH_TRAP(semaphore_wait_signal_trap, 2, munge_ww, munge_dd),
MACH_TRAP(semaphore_timedwait_trap, 3, munge_www, munge_ddd),
MACH_TRAP(semaphore_timedwait_signal_trap, 4, munge_wwww, munge_dddd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(init_process, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(map_fd, 5, munge_wwwww, munge_ddddd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(task_for_pid, 3, munge_www, munge_ddd),
MACH_TRAP(pid_for_task, 2, munge_ww,munge_dd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(macx_swapon, 4, munge_wwww, munge_dddd),
MACH_TRAP(macx_swapoff, 2, munge_ww, munge_dd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(macx_triggers, 4, munge_wwww, munge_dddd),
MACH_TRAP(macx_backing_store_suspend, 1, munge_w, munge_d),
MACH_TRAP(macx_backing_store_recovery, 1, munge_w, munge_d),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(swtch_pri, 0, NULL, NULL),
MACH_TRAP(swtch, 0, NULL, NULL),
MACH_TRAP(thread_switch, 3, munge_www, munge_ddd),
MACH_TRAP(clock_sleep_trap, 5, munge_wwwww, munge_ddddd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(mach_timebase_info_trap, 1, munge_w, munge_d),
MACH_TRAP(mach_wait_until_trap, 2, munge_l, munge_d),
MACH_TRAP(mk_timer_create_trap, 0, NULL, NULL),
MACH_TRAP(mk_timer_destroy_trap, 1, munge_w, munge_d),
MACH_TRAP(mk_timer_arm_trap, 3, munge_wl, munge_dd),
MACH_TRAP(mk_timer_cancel_trap, 2, munge_ww, munge_dd),
MACH_TRAP(mk_timebase_info_trap, 5, munge_wwwww, munge_ddddd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(iokit_user_client_trap, 8, munge_wwwwwwww, munge_dddddddd),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
MACH_TRAP(kern_invalid, 0, NULL, NULL),
};
int mach_trap_count = (sizeof(mach_trap_table) / sizeof(mach_trap_table[0]));
kern_return_t
kern_invalid(
__unused struct kern_invalid_args *args)
{
if (kern_invalid_debug) Debugger("kern_invalid mach trap");
return(KERN_INVALID_ARGUMENT);
}