1 //! This module roughly corresponds to `mach/exception_types.h`. 2 3 use port::mach_port_t; 4 use thread_status::thread_state_flavor_t; 5 use vm_types::integer_t; 6 7 pub const EXC_BAD_ACCESS: ::libc::c_uint = 1; 8 pub const EXC_BAD_INSTRUCTION: ::libc::c_uint = 2; 9 pub const EXC_ARITHMETIC: ::libc::c_uint = 3; 10 pub const EXC_EMULATION: ::libc::c_uint = 4; 11 pub const EXC_SOFTWARE: ::libc::c_uint = 5; 12 pub const EXC_BREAKPOINT: ::libc::c_uint = 6; 13 pub const EXC_SYSCALL: ::libc::c_uint = 7; 14 pub const EXC_MACH_SYSCALL: ::libc::c_uint = 8; 15 pub const EXC_RPC_ALERT: ::libc::c_uint = 9; 16 pub const EXC_CRASH: ::libc::c_uint = 10; 17 pub const EXC_RESOURCE: ::libc::c_uint = 11; 18 pub const EXC_GUARD: ::libc::c_uint = 12; 19 pub const EXC_CORPSE_NOTIFY: ::libc::c_uint = 13; 20 pub const EXC_CORPSE_VARIANT_BIT: ::libc::c_uint = 256; 21 pub const EXCEPTION_DEFAULT: ::libc::c_uint = 1; 22 pub const EXCEPTION_STATE: ::libc::c_uint = 2; 23 pub const EXCEPTION_STATE_IDENTITY: ::libc::c_uint = 3; 24 pub const MACH_EXCEPTION_CODES: ::libc::c_uint = 2_147_483_648; 25 pub const EXC_MASK_BAD_ACCESS: ::libc::c_uint = 2; 26 pub const EXC_MASK_BAD_INSTRUCTION: ::libc::c_uint = 4; 27 pub const EXC_MASK_ARITHMETIC: ::libc::c_uint = 8; 28 pub const EXC_MASK_EMULATION: ::libc::c_uint = 16; 29 pub const EXC_MASK_SOFTWARE: ::libc::c_uint = 32; 30 pub const EXC_MASK_BREAKPOINT: ::libc::c_uint = 64; 31 pub const EXC_MASK_SYSCALL: ::libc::c_uint = 128; 32 pub const EXC_MASK_MACH_SYSCALL: ::libc::c_uint = 256; 33 pub const EXC_MASK_RPC_ALERT: ::libc::c_uint = 512; 34 pub const EXC_MASK_CRASH: ::libc::c_uint = 1024; 35 pub const EXC_MASK_RESOURCE: ::libc::c_uint = 2048; 36 pub const EXC_MASK_GUARD: ::libc::c_uint = 4096; 37 pub const EXC_MASK_CORPSE_NOTIFY: ::libc::c_uint = 8192; 38 pub const EXC_MASK_ALL: ::libc::c_uint = 7166; 39 pub const FIRST_EXCEPTION: ::libc::c_uint = 1; 40 pub const EXC_SOFT_SIGNAL: ::libc::c_uint = 65_539; 41 pub const EXC_MACF_MIN: ::libc::c_uint = 131_072; 42 pub const EXC_MACF_MAX: ::libc::c_uint = 196_607; 43 44 pub type exception_type_t = ::libc::c_int; 45 pub type exception_data_type_t = integer_t; 46 pub type mach_exception_data_type_t = i64; 47 pub type exception_behavior_t = ::libc::c_int; 48 pub type exception_data_t = *mut exception_data_type_t; 49 pub type mach_exception_data_t = *mut mach_exception_data_type_t; 50 pub type exception_mask_t = ::libc::c_uint; 51 pub type exception_mask_array_t = *mut exception_mask_t; 52 pub type exception_behavior_array_t = *mut exception_behavior_t; 53 pub type exception_flavor_array_t = *mut thread_state_flavor_t; 54 pub type exception_port_array_t = *mut mach_port_t; 55 pub type mach_exception_code_t = mach_exception_data_type_t; 56 pub type mach_exception_subcode_t = mach_exception_data_type_t; 57