summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/ntapi/nt_process.h26
-rw-r--r--include/ntapi/ntapi.h1
2 files changed, 27 insertions, 0 deletions
diff --git a/include/ntapi/nt_process.h b/include/ntapi/nt_process.h
index 092a95e..0443b3f 100644
--- a/include/ntapi/nt_process.h
+++ b/include/ntapi/nt_process.h
@@ -6,6 +6,7 @@
#include "nt_object.h"
#include "nt_memory.h"
#include "nt_section.h"
+#include "nt_sync.h"
typedef enum _nt_process_info_class {
NT_PROCESS_BASIC_INFORMATION,
@@ -533,6 +534,29 @@ typedef struct _nt_create_process_params {
} nt_create_process_params;
+typedef struct _nt_spawn_process_params {
+ __out void * hprocess;
+ __out void * hthread;
+ __out void * rdata;
+ __out nt_client_id cid;
+ __out nt_process_basic_information pbi;
+ __out nt_event_basic_information eready;
+ __in nt_runtime_data * rtctx;
+ __in void * hsession;
+ __in void * htoken;
+ __in void * himage;
+ __in char * patharg;
+ __in const char * image;
+ __in const char * interpreter;
+ __in const char * optarg;
+ __in char ** argv;
+ __in char ** envp;
+ __in void * hready;
+ __in nt_timeout * timeout;
+ __in int fsuspended;
+} nt_spawn_process_params;
+
+
typedef int32_t __stdcall ntapi_zw_create_process(
__out void ** hprocess,
__in uint32_t desired_access,
@@ -659,6 +683,8 @@ typedef int32_t __stdcall ntapi_tt_create_remote_process_params(
typedef int32_t __stdcall ntapi_tt_create_native_process(
__out nt_create_process_params * params);
+typedef int32_t __stdcall ntapi_tt_spawn_native_process(
+ __in_out nt_spawn_process_params * sparams);
typedef int32_t __stdcall ntapi_tt_get_runtime_data(
__out nt_runtime_data ** pdata,
diff --git a/include/ntapi/ntapi.h b/include/ntapi/ntapi.h
index b596f32..21af579 100644
--- a/include/ntapi/ntapi.h
+++ b/include/ntapi/ntapi.h
@@ -448,6 +448,7 @@ typedef struct _ntapi_vtbl {
ntapi_tt_fork * tt_fork;
ntapi_tt_create_remote_process_params * tt_create_remote_process_params;
ntapi_tt_create_native_process * tt_create_native_process;
+ ntapi_tt_spawn_native_process * tt_spawn_native_process;
ntapi_tt_get_runtime_data * tt_get_runtime_data;
ntapi_tt_init_runtime_data * tt_init_runtime_data;
ntapi_tt_update_runtime_data * tt_update_runtime_data;