#include <mach/mach_types.h>
#include <kern/syscall_sw.h>
extern kern_return_t kern_invalid(void);
extern mach_port_name_t null_port(void);
extern kern_return_t not_implemented(void);
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>
extern kern_return_t iokit_user_client_trap();
mach_trap_t mach_trap_table[MACH_TRAP_TABLE_COUNT] = {
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(mach_reply_port, 0),
MACH_TRAP(thread_self_trap, 0),
MACH_TRAP(task_self_trap, 0),
MACH_TRAP(host_self_trap, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(mach_msg_trap, 7),
MACH_TRAP(mach_msg_overwrite_trap, 9),
MACH_TRAP(semaphore_signal_trap, 1),
MACH_TRAP(semaphore_signal_all_trap, 1),
MACH_TRAP(semaphore_signal_thread_trap, 2),
MACH_TRAP(semaphore_wait_trap, 1),
MACH_TRAP(semaphore_wait_signal_trap, 2),
MACH_TRAP(semaphore_timedwait_trap, 3),
MACH_TRAP(semaphore_timedwait_signal_trap, 4),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(init_process, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(map_fd, 5),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(task_for_pid, 3),
MACH_TRAP(pid_for_task, 2),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(macx_swapon, 4),
MACH_TRAP(macx_swapoff, 2),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(macx_triggers, 4),
MACH_TRAP(macx_backing_store_suspend, 1),
MACH_TRAP(macx_backing_store_recovery, 1),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(kern_invalid, 0),
MACH_TRAP(swtch_pri, 1),
MACH_TRAP(swtch, 0),
MACH_TRAP(thread_switch, 3),
MACH_TRAP(clock_sleep_trap, 5),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(mach_timebase_info, 1),
MACH_TRAP(mach_wait_until, 2),
MACH_TRAP(mk_timer_create, 0),
MACH_TRAP(mk_timer_destroy, 1),
MACH_TRAP(mk_timer_arm, 3),
MACH_TRAP(mk_timer_cancel, 2),
MACH_TRAP(mk_timebase_info, 5),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(iokit_user_client_trap, 8),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
MACH_TRAP(kern_invalid,0),
};
int mach_trap_count = (sizeof(mach_trap_table) / sizeof(mach_trap_table[0]));
mach_port_name_t
null_port(void)
{
if (kern_invalid_debug) Debugger("null_port mach trap");
return(MACH_PORT_NULL);
}
kern_return_t
kern_invalid(void)
{
if (kern_invalid_debug) Debugger("kern_invalid mach trap");
return(KERN_INVALID_ARGUMENT);
}
kern_return_t
not_implemented(void)
{
return(MACH_SEND_INTERRUPTED);
}