mach_sys/
exception_types.rs

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