2 * 32-bit version of ntdll structures
4 * Copyright 2021 Alexandre Julliard
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #ifndef __WOW64_STRUCT32_H
22 #define __WOW64_STRUCT32_H
24 #include "wine/server.h"
32 ULONG SecurityDescriptor
;
33 ULONG SecurityQualityOfService
;
34 } OBJECT_ATTRIBUTES32
;
48 UNICODE_STRING32 Name
;
49 } OBJECT_NAME_INFORMATION32
;
53 UNICODE_STRING32 TypeName
;
54 ULONG TotalNumberOfObjects
;
55 ULONG TotalNumberOfHandles
;
56 ULONG TotalPagedPoolUsage
;
57 ULONG TotalNonPagedPoolUsage
;
58 ULONG TotalNamePoolUsage
;
59 ULONG TotalHandleTableUsage
;
60 ULONG HighWaterNumberOfObjects
;
61 ULONG HighWaterNumberOfHandles
;
62 ULONG HighWaterPagedPoolUsage
;
63 ULONG HighWaterNonPagedPoolUsage
;
64 ULONG HighWaterNamePoolUsage
;
65 ULONG HighWaterHandleTableUsage
;
66 ULONG InvalidAttributes
;
67 GENERIC_MAPPING GenericMapping
;
68 ULONG ValidAccessMask
;
69 BOOLEAN SecurityRequired
;
70 BOOLEAN MaintainHandleCount
;
74 ULONG DefaultPagedPoolCharge
;
75 ULONG DefaultNonPagedPoolCharge
;
76 } OBJECT_TYPE_INFORMATION32
;
80 UNICODE_STRING32 ObjectName
;
81 UNICODE_STRING32 ObjectTypeName
;
82 } DIRECTORY_BASIC_INFORMATION32
;
88 } FILE_COMPLETION_INFORMATION32
;
93 ULONG CompletionValue
;
94 IO_STATUS_BLOCK32 IoStatusBlock
;
95 } FILE_IO_COMPLETION_INFORMATION32
;
99 BOOLEAN ReplaceIfExists
;
101 ULONG FileNameLength
;
103 } FILE_RENAME_INFORMATION32
;
114 DWORD NumberOfAssignedProcesses
;
115 DWORD NumberOfProcessIdsInList
;
116 ULONG ProcessIdList
[1];
117 } JOBOBJECT_BASIC_PROCESS_ID_LIST32
;
121 LARGE_INTEGER PerProcessUserTimeLimit
;
122 LARGE_INTEGER PerJobUserTimeLimit
;
124 ULONG MinimumWorkingSetSize
;
125 ULONG MaximumWorkingSetSize
;
126 DWORD ActiveProcessLimit
;
129 DWORD SchedulingClass
;
130 } JOBOBJECT_BASIC_LIMIT_INFORMATION32
;
134 JOBOBJECT_BASIC_LIMIT_INFORMATION32 BasicLimitInformation
;
136 ULONG ProcessMemoryLimit
;
137 ULONG JobMemoryLimit
;
138 ULONG PeakProcessMemoryUsed
;
139 ULONG PeakJobMemoryUsed
;
140 } JOBOBJECT_EXTENDED_LIMIT_INFORMATION32
;
146 } JOBOBJECT_ASSOCIATE_COMPLETION_PORT32
;
151 ULONG AllocationBase
;
152 DWORD AllocationProtect
;
157 } MEMORY_BASIC_INFORMATION32
;
161 ULONG AllocationBase
;
162 ULONG AllocationProtect
;
167 ULONG NodePreference
;
168 } MEMORY_REGION_INFORMATION32
;
172 UNICODE_STRING32 SectionFileName
;
173 } MEMORY_SECTION_NAME32
;
180 ULONG ShareCount
: 3;
181 ULONG Win32Protection
: 11;
187 } MEMORY_WORKING_SET_EX_BLOCK32
;
191 ULONG VirtualAddress
;
192 MEMORY_WORKING_SET_EX_BLOCK32 VirtualAttributes
;
193 } MEMORY_WORKING_SET_EX_INFORMATION32
;
198 ULONG PebBaseAddress
;
201 ULONG UniqueProcessId
;
202 ULONG InheritedFromUniqueProcessId
;
203 } PROCESS_BASIC_INFORMATION32
;
210 } PROCESS_INSTRUMENTATION_CALLBACK_INFORMATION32
;
217 } PROCESS_STACK_ALLOCATION_INFORMATION32
;
225 PROCESS_STACK_ALLOCATION_INFORMATION32 AllocInfo
;
226 } PROCESS_STACK_ALLOCATION_INFORMATION_EX32
;
231 PS_CREATE_STATE State
;
237 ACCESS_MASK AdditionalFileAccess
;
245 USHORT DllCharacteristics
;
256 ULONGLONG UserProcessParametersNative
;
257 ULONG UserProcessParametersWow64
;
258 ULONG CurrentParameterFlags
;
259 ULONGLONG PebAddressNative
;
260 ULONG PebAddressWow64
;
261 ULONGLONG ManifestAddress
;
278 PS_ATTRIBUTE32 Attributes
[1];
279 } PS_ATTRIBUTE_LIST32
;
284 ULONG MappedBaseAddress
;
285 ULONG ImageBaseAddress
;
288 USHORT LoadOrderIndex
;
289 USHORT InitOrderIndex
;
292 BYTE Name
[MAXIMUM_FILENAME_LENGTH
];
293 } RTL_PROCESS_MODULE_INFORMATION32
;
298 RTL_PROCESS_MODULE_INFORMATION32 Modules
[1];
299 } RTL_PROCESS_MODULES32
;
304 RTL_PROCESS_MODULE_INFORMATION32 BaseInfo
;
308 } RTL_PROCESS_MODULE_INFORMATION_EX32
;
315 } SECTION_BASIC_INFORMATION32
;
319 ULONG TransferAddress
;
321 ULONG MaximumStackSize
;
322 ULONG CommittedStackSize
;
324 USHORT MinorSubsystemVersion
;
325 USHORT MajorSubsystemVersion
;
326 USHORT MajorOperatingSystemVersion
;
327 USHORT MinorOperatingSystemVersion
;
328 USHORT ImageCharacteristics
;
329 USHORT DllCharacteristics
;
331 BOOLEAN ImageContainsCode
;
336 } SECTION_IMAGE_INFORMATION32
;
342 } SID_AND_ATTRIBUTES32
;
347 } TOKEN_DEFAULT_DACL32
;
352 SID_AND_ATTRIBUTES32 Groups
[1];
362 SID_AND_ATTRIBUTES32 User
;
368 ULONG TebBaseAddress
;
369 CLIENT_ID32 ClientId
;
373 } THREAD_BASIC_INFORMATION32
;
377 UNICODE_STRING32 ThreadName
;
378 } THREAD_NAME_INFORMATION32
;
382 ULONG PeakVirtualSize
;
384 ULONG PageFaultCount
;
385 ULONG PeakWorkingSetSize
;
386 ULONG WorkingSetSize
;
387 ULONG QuotaPeakPagedPoolUsage
;
388 ULONG QuotaPagedPoolUsage
;
389 ULONG QuotaPeakNonPagedPoolUsage
;
390 ULONG QuotaNonPagedPoolUsage
;
392 ULONG PeakPagefileUsage
;
397 ULONG PeakVirtualSize
;
399 ULONG PageFaultCount
;
400 ULONG PeakWorkingSetSize
;
401 ULONG WorkingSetSize
;
402 ULONG QuotaPeakPagedPoolUsage
;
403 ULONG QuotaPagedPoolUsage
;
404 ULONG QuotaPeakNonPagedPoolUsage
;
405 ULONG QuotaNonPagedPoolUsage
;
407 ULONG PeakPagefileUsage
;
414 CLIENT_ID32 AppClientId
;
419 EXCEPTION_RECORD32 ExceptionRecord
;
424 ULONG HandleToThread
;
433 ULONG HandleToProcess
;
434 ULONG HandleToThread
;
440 ULONG DebugInfoFileOffset
;
452 } ExitProcess
, ExitThread
;
457 ULONG DebugInfoFileOffset
;
466 } DBGUI_WAIT_STATE_CHANGE32
;
471 ULONG KeMaximumIncrement
;
473 ULONG MmNumberOfPhysicalPages
;
474 ULONG MmLowestPhysicalPage
;
475 ULONG MmHighestPhysicalPage
;
476 ULONG AllocationGranularity
;
477 ULONG LowestUserAddress
;
478 ULONG HighestUserAddress
;
479 ULONG ActiveProcessorsAffinityMask
;
480 BYTE NumberOfProcessors
;
481 } SYSTEM_BASIC_INFORMATION32
;
487 ULONG PageFaultCount
;
488 ULONG MinimumWorkingSet
;
489 ULONG MaximumWorkingSet
;
490 ULONG CurrentSizeIncludingTransitionInPages
;
491 ULONG PeakSizeIncludingTransitionInPages
;
492 ULONG TransitionRePurposeCount
;
494 } SYSTEM_CACHE_INFORMATION32
;
504 } SYSTEM_HANDLE_ENTRY32
;
509 SYSTEM_HANDLE_ENTRY32 Handle
[1];
510 } SYSTEM_HANDLE_INFORMATION32
;
514 ULONG RegistryQuotaAllowed
;
515 ULONG RegistryQuotaUsed
;
517 } SYSTEM_REGISTRY_QUOTA_INFORMATION32
;
522 ULONG UniqueProcessId
;
525 USHORT CreatorBackTraceIndex
;
526 USHORT ObjectTypeIndex
;
527 ULONG HandleAttributes
;
529 } SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32
;
533 ULONG NumberOfHandles
;
535 SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX32 Handles
[1];
536 } SYSTEM_HANDLE_INFORMATION_EX32
;
541 LOGICAL_PROCESSOR_RELATIONSHIP Relationship
;
552 CACHE_DESCRIPTOR Cache
;
553 ULONGLONG Reserved
[2];
555 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION32
;
560 BYTE EfficiencyClass
;
563 GROUP_AFFINITY32 GroupMask
[ANYSIZE_ARRAY
];
564 } PROCESSOR_RELATIONSHIP32
;
570 GROUP_AFFINITY32 GroupMask
;
571 } NUMA_NODE_RELATIONSHIP32
;
579 PROCESSOR_CACHE_TYPE Type
;
581 GROUP_AFFINITY32 GroupMask
;
582 } CACHE_RELATIONSHIP32
;
586 BYTE MaximumProcessorCount
;
587 BYTE ActiveProcessorCount
;
589 ULONG ActiveProcessorMask
;
590 } PROCESSOR_GROUP_INFO32
;
594 WORD MaximumGroupCount
;
595 WORD ActiveGroupCount
;
597 PROCESSOR_GROUP_INFO32 GroupInfo
[ANYSIZE_ARRAY
];
598 } GROUP_RELATIONSHIP32
;
602 LOGICAL_PROCESSOR_RELATIONSHIP Relationship
;
606 PROCESSOR_RELATIONSHIP32 Processor
;
607 NUMA_NODE_RELATIONSHIP32 NumaNode
;
608 CACHE_RELATIONSHIP32 Cache
;
609 GROUP_RELATIONSHIP32 Group
;
611 } SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX32
;
615 LARGE_INTEGER KernelTime
;
616 LARGE_INTEGER UserTime
;
617 LARGE_INTEGER CreateTime
;
620 CLIENT_ID32 ClientId
;
621 DWORD dwCurrentPriority
;
622 DWORD dwBasePriority
;
623 DWORD dwContextSwitches
;
627 } SYSTEM_THREAD_INFORMATION32
;
631 ULONG NextEntryOffset
;
633 LARGE_INTEGER WorkingSetPrivateSize
;
634 ULONG HardFaultCount
;
635 ULONG NumberOfThreadsHighWatermark
;
637 LARGE_INTEGER CreationTime
;
638 LARGE_INTEGER UserTime
;
639 LARGE_INTEGER KernelTime
;
640 UNICODE_STRING32 ProcessName
;
641 DWORD dwBasePriority
;
642 ULONG UniqueProcessId
;
643 ULONG ParentProcessId
;
646 ULONG UniqueProcessKey
;
647 VM_COUNTERS_EX32 vmCounters
;
648 IO_COUNTERS ioCounters
;
649 SYSTEM_THREAD_INFORMATION32 ti
[1];
650 } SYSTEM_PROCESS_INFORMATION32
;
654 SYSTEM_THREAD_INFORMATION32 ThreadInfo
;
657 ULONG Win32StartAddress
;
662 } SYSTEM_EXTENDED_THREAD_INFORMATION32
;
666 ULONG VirtualAddress
;
668 } MEMORY_RANGE_ENTRY32
;
670 struct __server_iovec32
676 struct __server_request_info32
680 union generic_request req
;
681 union generic_reply reply
;
683 unsigned int data_count
;
685 struct __server_iovec32 data
[__SERVER_MAX_DATA
];
690 ULONG LowestStartingAddress
;
691 ULONG HighestEndingAddress
;
693 } MEM_ADDRESS_REQUIREMENTS32
;
695 #endif /* __WOW64_STRUCT32_H */