From e93c837607c0768bcca49179196bc0a586c83b3b Mon Sep 17 00:00:00 2001 From: midipix Date: Oct 10 2016 05:37:01 +0000 Subject: nt_process.h: struct _nt_runtime_data: added process synchronization support. --- diff --git a/include/ntapi/nt_process.h b/include/ntapi/nt_process.h index d594a27..9a94f0d 100644 --- a/include/ntapi/nt_process.h +++ b/include/ntapi/nt_process.h @@ -53,6 +53,14 @@ typedef enum _nt_process_create_info_class { +/* friendly process synchronization opcode indexes */ +typedef enum _nt_process_opcode_idx { + NT_PROCESS_OPCODE_IDX_FORK, + NT_PROCESS_OPCODE_IDX_EXECVE, +} nt_process_opcode_idx; + + + /* special handles */ #define NT_CURRENT_PROCESS_HANDLE (void *)(uintptr_t)-1 @@ -179,6 +187,7 @@ typedef enum _nt_process_create_info_class { #define NT_RUNTIME_DATA_INTEGRAL_PROCESS (0x01) /* runtime data convenience storage */ +#define NT_RUNTIME_DATA_SYNC_OPCODES (0x08) #define NT_RUNTIME_DATA_USER_PTRS (0x10) #define NT_RUNTIME_DATA_USER_INT32_SLOTS (0x10) #define NT_RUNTIME_DATA_USER_INT64_SLOTS (0x10) @@ -457,6 +466,8 @@ typedef struct _nt_runtime_data { void * hdebug; void * hlog; void * hready; + void * hsync; + void * hswap; void * srv_ready; nt_guid srv_guid; int32_t srv_type; @@ -511,6 +522,7 @@ typedef struct _nt_runtime_data { void * sa_handler[64]; uintptr_t sa_flags [64]; uint32_t sa_mask [64][2]; + int32_t opcode[NT_RUNTIME_DATA_SYNC_OPCODES]; void * uptr [NT_RUNTIME_DATA_USER_PTRS]; void * uclose[NT_RUNTIME_DATA_USER_PTRS]; int32_t udat32[NT_RUNTIME_DATA_USER_INT32_SLOTS];