|
const c = @import("../darwin.zig");
|
mcontext_t
|
pub const mcontext_t = extern struct {
es: exception_state,
ss: thread_state,
fs: float_state,
};
|
exception_state
|
pub const exception_state = extern struct {
trapno: u16,
cpu: u16,
err: u32,
faultvaddr: u64,
};
|
thread_state
|
pub const thread_state = extern struct {
rax: u64,
rbx: u64,
rcx: u64,
rdx: u64,
rdi: u64,
rsi: u64,
rbp: u64,
rsp: u64,
r8: u64,
r9: u64,
r10: u64,
r11: u64,
r12: u64,
r13: u64,
r14: u64,
r15: u64,
rip: u64,
rflags: u64,
cs: u64,
fs: u64,
gs: u64,
};
const stmm_reg = [16]u8;
const xmm_reg = [16]u8;
|
float_state
|
pub const float_state = extern struct {
reserved: [2]c_int,
fcw: u16,
fsw: u16,
ftw: u8,
rsrv1: u8,
fop: u16,
ip: u32,
cs: u16,
rsrv2: u16,
dp: u32,
ds: u16,
rsrv3: u16,
mxcsr: u32,
mxcsrmask: u32,
stmm: [8]stmm_reg,
xmm: [16]xmm_reg,
rsrv4: [96]u8,
reserved1: c_int,
};
|
THREAD_STATE
|
pub const THREAD_STATE = 4;
|
THREAD_STATE_COUNT
|
pub const THREAD_STATE_COUNT: c.mach_msg_type_number_t = @sizeOf(thread_state) / @sizeOf(c_int);
|
EXC_TYPES_COUNT
|
pub const EXC_TYPES_COUNT = 14;
|
EXC_MASK_MACHINE
|
pub const EXC_MASK_MACHINE = 0;
|
x86_THREAD_STATE32
|
pub const x86_THREAD_STATE32 = 1;
|
x86_FLOAT_STATE32
|
pub const x86_FLOAT_STATE32 = 2;
|
x86_EXCEPTION_STATE32
|
pub const x86_EXCEPTION_STATE32 = 3;
|
x86_THREAD_STATE64
|
pub const x86_THREAD_STATE64 = 4;
|
x86_FLOAT_STATE64
|
pub const x86_FLOAT_STATE64 = 5;
|
x86_EXCEPTION_STATE64
|
pub const x86_EXCEPTION_STATE64 = 6;
|
x86_THREAD_STATE
|
pub const x86_THREAD_STATE = 7;
|
x86_FLOAT_STATE
|
pub const x86_FLOAT_STATE = 8;
|
x86_EXCEPTION_STATE
|
pub const x86_EXCEPTION_STATE = 9;
|
x86_DEBUG_STATE32
|
pub const x86_DEBUG_STATE32 = 10;
|
x86_DEBUG_STATE64
|
pub const x86_DEBUG_STATE64 = 11;
|
x86_DEBUG_STATE
|
pub const x86_DEBUG_STATE = 12;
|
THREAD_STATE_NONE
|
pub const THREAD_STATE_NONE = 13;
|
x86_AVX_STATE32
|
pub const x86_AVX_STATE32 = 16;
|
x86_AVX_STATE64
|
pub const x86_AVX_STATE64 = (x86_AVX_STATE32 + 1);
|
x86_AVX_STATE
|
pub const x86_AVX_STATE = (x86_AVX_STATE32 + 2);
|
x86_AVX512_STATE32
|
pub const x86_AVX512_STATE32 = 19;
|
x86_AVX512_STATE64
|
pub const x86_AVX512_STATE64 = (x86_AVX512_STATE32 + 1);
|
x86_AVX512_STATE
|
pub const x86_AVX512_STATE = (x86_AVX512_STATE32 + 2);
|
x86_PAGEIN_STATE
|
pub const x86_PAGEIN_STATE = 22;
|
x86_THREAD_FULL_STATE64
|
pub const x86_THREAD_FULL_STATE64 = 23;
|
x86_INSTRUCTION_STATE
|
pub const x86_INSTRUCTION_STATE = 24;
|
x86_LAST_BRANCH_STATE
|
pub const x86_LAST_BRANCH_STATE = 25;
|
|