+ /* struct UNICODE_STRING */
+ uni_str_type = arch_composite_type (gdbarch, "unicode_string",
+ TYPE_CODE_STRUCT);
+
+ append_composite_type_field (uni_str_type, "length", word_type);
+ append_composite_type_field (uni_str_type, "maximum_length", word_type);
+ append_composite_type_field_aligned (uni_str_type, "buffer",
+ wchar_ptr_type,
+ TYPE_LENGTH (wchar_ptr_type));
+
+ /* struct _RTL_USER_PROCESS_PARAMETERS */
+ rupp_type = arch_composite_type (gdbarch, "rtl_user_process_parameters",
+ TYPE_CODE_STRUCT);
+
+ append_composite_type_field (rupp_type, "maximum_length", dword32_type);
+ append_composite_type_field (rupp_type, "length", dword32_type);
+ append_composite_type_field (rupp_type, "flags", dword32_type);
+ append_composite_type_field (rupp_type, "debug_flags", dword32_type);
+ append_composite_type_field (rupp_type, "console_handle", void_ptr_type);
+ append_composite_type_field (rupp_type, "console_flags", dword32_type);
+ append_composite_type_field_aligned (rupp_type, "standard_input",
+ void_ptr_type,
+ TYPE_LENGTH (void_ptr_type));
+ append_composite_type_field (rupp_type, "standard_output", void_ptr_type);
+ append_composite_type_field (rupp_type, "standard_error", void_ptr_type);
+ append_composite_type_field (rupp_type, "current_directory", uni_str_type);
+ append_composite_type_field (rupp_type, "current_directory_handle",
+ void_ptr_type);
+ append_composite_type_field (rupp_type, "dll_path", uni_str_type);
+ append_composite_type_field (rupp_type, "image_path_name", uni_str_type);
+ append_composite_type_field (rupp_type, "command_line", uni_str_type);
+ append_composite_type_field (rupp_type, "environment", void_ptr_type);
+ append_composite_type_field (rupp_type, "starting_x", dword32_type);
+ append_composite_type_field (rupp_type, "starting_y", dword32_type);
+ append_composite_type_field (rupp_type, "count_x", dword32_type);
+ append_composite_type_field (rupp_type, "count_y", dword32_type);
+ append_composite_type_field (rupp_type, "count_chars_x", dword32_type);
+ append_composite_type_field (rupp_type, "count_chars_y", dword32_type);
+ append_composite_type_field (rupp_type, "fill_attribute", dword32_type);
+ append_composite_type_field (rupp_type, "window_flags", dword32_type);
+ append_composite_type_field (rupp_type, "show_window_flags", dword32_type);
+ append_composite_type_field_aligned (rupp_type, "window_title",
+ uni_str_type,
+ TYPE_LENGTH (void_ptr_type));
+ append_composite_type_field (rupp_type, "desktop_info", uni_str_type);
+ append_composite_type_field (rupp_type, "shell_info", uni_str_type);
+ append_composite_type_field (rupp_type, "runtime_data", uni_str_type);
+
+ rupp_ptr_type = arch_pointer_type (gdbarch, gdbarch_ptr_bit (gdbarch),
+ NULL, rupp_type);
+