| |
| |
| |
| |
| |
| |
| #ifndef ___NTAPI_CONTEXT_H_ |
| #define ___NTAPI_CONTEXT_H_ |
| |
| #if defined(__X86_MODEL) |
| |
| #define __GET_CSR_PORT_HANDLE_BY_LOGIC __ntapi_tt_get_csr_port_handle_addr_by_logic_i386 |
| |
| |
| #define STACK_POINTER_REGISTER uc_esp |
| #define INSTRUCTION_POINTER_REGISTER uc_eip |
| #define FAST_CALL_ARG0 uc_ecx |
| #define FAST_CALL_ARG1 uc_edx |
| |
| |
| #define __INIT_CONTEXT(context) \ |
| context.uc_context_flags = NT_CONTEXT_JUST_EVERYTHING; \ |
| context.uc_seg_gs = 0x00; \ |
| context.uc_seg_fs = 0x3b; \ |
| context.uc_seg_es = 0x23; \ |
| context.uc_seg_ds = 0x23; \ |
| context.uc_seg_ss = 0x23; \ |
| context.uc_seg_cs = 0x1b; \ |
| context.uc_eflags = 0x200 |
| |
| #elif defined (__X86_64_MODEL) |
| |
| #define __GET_CSR_PORT_HANDLE_BY_LOGIC __ntapi_tt_get_csr_port_handle_addr_by_logic_x86_64 |
| |
| |
| #define STACK_POINTER_REGISTER uc_rsp |
| #define INSTRUCTION_POINTER_REGISTER uc_rip |
| #define FAST_CALL_ARG0 uc_rcx |
| #define FAST_CALL_ARG1 uc_rdx |
| |
| |
| #define __INIT_CONTEXT(context) \ |
| context.uc_context_flags= NT_CONTEXT_JUST_EVERYTHING; \ |
| context.uc_seg_cs = 0x33; \ |
| context.uc_seg_ds = 0x2b; \ |
| context.uc_seg_es = 0x2b; \ |
| context.uc_seg_fs = 0x53; \ |
| context.uc_seg_gs = 0x2b; \ |
| context.uc_seg_ss = 0x2b; \ |
| context.uc_eflags = 0x200; \ |
| context.uc_mx_csr = 0x1f80 |
| |
| #endif |
| |
| #endif |