typedef void *CONTEXT_T;
#define HAVE_CONTEXT_T 1
-#define CONTEXT_RIP(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RIP])
-#define CONTEXT_RAX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RAX])
-#define CONTEXT_RCX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RCX])
-#define CONTEXT_RDX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RDX])
-#define CONTEXT_RBX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RBX])
-#define CONTEXT_RSP(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RSP])
-#define CONTEXT_RBP(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RBP])
-#define CONTEXT_RSI(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RSI])
-#define CONTEXT_RDI(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_RDI])
-#define CONTEXT_R8(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R8])
-#define CONTEXT_R9(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R9])
-#define CONTEXT_R10(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R10])
-#define CONTEXT_R11(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R11])
-#define CONTEXT_R12(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R12])
-#define CONTEXT_R13(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R13])
-#define CONTEXT_R14(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R14])
-#define CONTEXT_R15(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_R15])
+#define CONTEXT_RIP(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RIP])
+#define CONTEXT_RAX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RAX])
+#define CONTEXT_RCX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RCX])
+#define CONTEXT_RDX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RDX])
+#define CONTEXT_RBX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RBX])
+#define CONTEXT_RSP(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RSP])
+#define CONTEXT_RBP(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RBP])
+#define CONTEXT_RSI(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RSI])
+#define CONTEXT_RDI(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_RDI])
+#define CONTEXT_R8(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R8])
+#define CONTEXT_R9(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R9])
+#define CONTEXT_R10(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R10])
+#define CONTEXT_R11(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R11])
+#define CONTEXT_R12(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R12])
+#define CONTEXT_R13(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R13])
+#define CONTEXT_R14(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R14])
+#define CONTEXT_R15(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_R15])
#elif defined(HAVE_STRUCT_UCONTEXT_UC_MCONTEXT_GREGS) && defined(CPU_i386)
typedef void *CONTEXT_T;
#define HAVE_CONTEXT_T 1
-#define CONTEXT_RIP(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_EIP])
-#define CONTEXT_RAX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_EAX])
-#define CONTEXT_RCX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_ECX])
-#define CONTEXT_RDX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_EDX])
-#define CONTEXT_RBX(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_EBX])
-#define CONTEXT_RSP(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_ESP])
-#define CONTEXT_RBP(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_EBP])
-#define CONTEXT_RSI(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_ESI])
-#define CONTEXT_RDI(context) (((struct ucontext *) context)->uc_mcontext.gregs[REG_EDI])
+#define CONTEXT_RIP(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_EIP])
+#define CONTEXT_RAX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_EAX])
+#define CONTEXT_RCX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_ECX])
+#define CONTEXT_RDX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_EDX])
+#define CONTEXT_RBX(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_EBX])
+#define CONTEXT_RSP(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_ESP])
+#define CONTEXT_RBP(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_EBP])
+#define CONTEXT_RSI(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_ESI])
+#define CONTEXT_RDI(context) (((ucontext_t *) context)->uc_mcontext.gregs[REG_EDI])
#elif defined(__DARWIN_UNIX03) && defined(CPU_x86_64)