enum
{
SIGSEGV = 11,
SIGPROF = 27,
};
typedef struct Siginfo Siginfo;
typedef struct Timespec Timespec;
struct Timespec
{
int64 tv_sec;
int32 tv_nsec;
};
typedef struct ExcContext ExcContext;
typedef struct ExcPortable ExcPortable;
typedef struct ExcRegs386 ExcRegs386;
typedef struct ExcRegsAmd64 ExcRegsAmd64;
struct ExcRegs386
{
uint32 eax;
uint32 ecx;
uint32 edx;
uint32 ebx;
uint32 esp;
uint32 ebp;
uint32 esi;
uint32 edi;
uint32 eip;
uint32 eflags;
};
struct ExcRegsAmd64
{
uint64 rax;
uint64 rcx;
uint64 rdx;
uint64 rbx;
uint64 rsp;
uint64 rbp;
uint64 rsi;
uint64 rdi;
uint64 r8;
uint64 r9;
uint64 r10;
uint64 r11;
uint64 r12;
uint64 r13;
uint64 r14;
uint64 r15;
uint64 rip;
uint32 rflags;
};
struct ExcContext
{
uint32 size;
uint32 portable_context_offset;
uint32 portable_context_size;
uint32 arch;
uint32 regs_size;
uint32 reserved[11];
union {
ExcRegs386 regs;
ExcRegsAmd64 regs64;
};
};
struct ExcPortableContext
{
uint32 pc;
uint32 sp;
uint32 fp;
};