#if defined __linux__
#define UC_MCONTEXT_GREGS_R8 0x28
#define UC_MCONTEXT_GREGS_R9 0x30
#define UC_MCONTEXT_GREGS_R10 0x38
#define UC_MCONTEXT_GREGS_R11 0x40
#define UC_MCONTEXT_GREGS_R12 0x48
#define UC_MCONTEXT_GREGS_R13 0x50
#define UC_MCONTEXT_GREGS_R14 0x58
#define UC_MCONTEXT_GREGS_R15 0x60
#define UC_MCONTEXT_GREGS_RDI 0x68
#define UC_MCONTEXT_GREGS_RSI 0x70
#define UC_MCONTEXT_GREGS_RBP 0x78
#define UC_MCONTEXT_GREGS_RBX 0x80
#define UC_MCONTEXT_GREGS_RDX 0x88
#define UC_MCONTEXT_GREGS_RAX 0x90
#define UC_MCONTEXT_GREGS_RCX 0x98
#define UC_MCONTEXT_GREGS_RSP 0xa0
#define UC_MCONTEXT_GREGS_RIP 0xa8
#define UC_MCONTEXT_FPREGS_PTR 0x1a8
#define UC_MCONTEXT_FPREGS_MEM 0xe0
#define UC_SIGMASK 0x128
#define FPREGS_OFFSET_MXCSR 0x18
#elif defined __FreeBSD__
#define UC_SIGMASK 0x0
#define UC_MCONTEXT_GREGS_RDI 0x18
#define UC_MCONTEXT_GREGS_RSI 0x20
#define UC_MCONTEXT_GREGS_RDX 0x28
#define UC_MCONTEXT_GREGS_RCX 0x30
#define UC_MCONTEXT_GREGS_R8 0x38
#define UC_MCONTEXT_GREGS_R9 0x40
#define UC_MCONTEXT_GREGS_RAX 0x48
#define UC_MCONTEXT_GREGS_RBX 0x50
#define UC_MCONTEXT_GREGS_RBP 0x58
#define UC_MCONTEXT_GREGS_R10 0x60
#define UC_MCONTEXT_GREGS_R11 0x68
#define UC_MCONTEXT_GREGS_R12 0x70
#define UC_MCONTEXT_GREGS_R13 0x78
#define UC_MCONTEXT_GREGS_R14 0x80
#define UC_MCONTEXT_GREGS_R15 0x88
#define UC_MCONTEXT_FS 0x94
#define UC_MCONTEXT_GS 0x96
#define UC_MCONTEXT_FLAGS 0xa0
#define UC_MCONTEXT_ES 0xa4
#define UC_MCONTEXT_DS 0xa6
#define UC_MCONTEXT_GREGS_RIP 0xb0
#define UC_MCONTEXT_CS 0xb8
#define UC_MCONTEXT_RFLAGS 0xc0
#define UC_MCONTEXT_GREGS_RSP 0xc8
#define UC_MCONTEXT_SS 0xd0
#define UC_MCONTEXT_MC_LEN 0xd8
#define UC_MCONTEXT_FPFORMAT 0xe0
#define UC_MCONTEXT_OWNEDFP 0xe8
#define UC_MCONTEXT_FPSTATE 0xf0
#define UC_MCONTEXT_FPOWNED_FPU 0x20001
#define UC_MCONTEXT_FPFMT_XMM 0x10002
#define UC_MCONTEXT_MC_LEN_VAL 0x320
#elif defined(__QNX__)
#define UC_SIGMASK 0x0
#define UC_MCONTEXT_GREGS_R8 0x48
#define UC_MCONTEXT_GREGS_R9 0x50
#define UC_MCONTEXT_GREGS_R10 0x40
#define UC_MCONTEXT_GREGS_R11 0x78
#define UC_MCONTEXT_GREGS_R12 0x80
#define UC_MCONTEXT_GREGS_R13 0x88
#define UC_MCONTEXT_GREGS_R14 0x90
#define UC_MCONTEXT_GREGS_R15 0x98
#define UC_MCONTEXT_GREGS_RDI 0x28
#define UC_MCONTEXT_GREGS_RSI 0x30
#define UC_MCONTEXT_GREGS_RBP 0x68
#define UC_MCONTEXT_GREGS_RBX 0x60
#define UC_MCONTEXT_GREGS_RDX 0x38
#define UC_MCONTEXT_GREGS_RAX 0x58
#define UC_MCONTEXT_GREGS_RCX 0x70
#define UC_MCONTEXT_GREGS_RSP 0xb8
#define UC_MCONTEXT_GREGS_RIP 0xa0
#elif defined __sun
#define UC_MCONTEXT_GREGS_R8 0x78
#define UC_MCONTEXT_GREGS_R9 0x70
#define UC_MCONTEXT_GREGS_R10 0x68
#define UC_MCONTEXT_GREGS_R11 0x60
#define UC_MCONTEXT_GREGS_R12 0x58
#define UC_MCONTEXT_GREGS_R13 0x50
#define UC_MCONTEXT_GREGS_R14 0x48
#define UC_MCONTEXT_GREGS_R15 0x40
#define UC_MCONTEXT_GREGS_RDI 0x80
#define UC_MCONTEXT_GREGS_RSI 0x88
#define UC_MCONTEXT_GREGS_RBP 0x90
#define UC_MCONTEXT_GREGS_RBX 0x98
#define UC_MCONTEXT_GREGS_RDX 0xa0
#define UC_MCONTEXT_GREGS_RAX 0xb0
#define UC_MCONTEXT_GREGS_RCX 0xa8
#define UC_MCONTEXT_GREGS_RSP 0xe0
#define UC_MCONTEXT_GREGS_RIP 0xc8
#define UC_MCONTEXT_FPREGS_MEM 0x120
#define FPREGS_OFFSET_MXCSR 0x18
#endif