summaryrefslogtreecommitdiffhomepage
path: root/src/internal
diff options
context:
space:
mode:
Diffstat (limited to 'src/internal')
-rw-r--r--src/internal/pe_os.h48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/internal/pe_os.h b/src/internal/pe_os.h
index 54275e3..f8a787a 100644
--- a/src/internal/pe_os.h
+++ b/src/internal/pe_os.h
@@ -59,6 +59,54 @@ struct os_iosb {
};
+struct os_proc_params {
+ uint32_t alloc_size;
+ uint32_t used_size;
+ uint32_t flags;
+ uint32_t reserved;
+ void * hconsole;
+ uintptr_t console_flags;
+ void * hstdin;
+ void * hstdout;
+ void * hstderr;
+ struct pe_unicode_str cwd_name;
+ void * cwd_handle;
+ struct pe_unicode_str __attr_ptr_size_aligned__ dll_path;
+ struct pe_unicode_str __attr_ptr_size_aligned__ image_file_name;
+ struct pe_unicode_str __attr_ptr_size_aligned__ command_line;
+ wchar16_t * environment;
+ uint32_t dwx;
+ uint32_t dwy;
+ uint32_t dwx_size;
+ uint32_t dwy_size;
+ uint32_t dwx_count_chars;
+ uint32_t dwy_count_chars;
+ uint32_t dw_fill_attribute;
+ uint32_t dw_flags;
+ uint32_t wnd_show;
+ struct pe_unicode_str wnd_title;
+ struct pe_unicode_str __attr_ptr_size_aligned__ desktop;
+ struct pe_unicode_str __attr_ptr_size_aligned__ shell_info;
+ struct pe_unicode_str __attr_ptr_size_aligned__ runtime_data;
+};
+
+
+struct os_peb {
+ unsigned char reserved_1st[2];
+ unsigned char debugged;
+ unsigned char reserved_2nd[1];
+ void * reserved_3rd[2];
+ struct pe_peb_ldr_data* peb_ldr_data;
+ struct os_proc_params * process_params;
+ unsigned char reserved_4th[104];
+ void * reserved_5th[52];
+ void * post_process_init_routine;
+ unsigned char reserved_6th[128];
+ void * reserved_7th[1];
+ uint32_t session_id;
+};
+
+
typedef int32_t __stdcall os_zw_query_object(
__in void * handle,
__in int obj_info_class,