| Index: util/win/process_structs.h
|
| diff --git a/util/win/process_structs.h b/util/win/process_structs.h
|
| index 9c3be1811023de43ba387454e701267a3f5c86a2..143431f0e0c6eb4ddb29172af114dfb316432703 100644
|
| --- a/util/win/process_structs.h
|
| +++ b/util/win/process_structs.h
|
| @@ -232,6 +232,7 @@ struct PEB {
|
| typename Traits::Pointer UnicodeCaseTableData;
|
| DWORD NumberOfProcessors;
|
| DWORD NtGlobalFlag;
|
| + DWORD alignment_for_x86;
|
| LARGE_INTEGER CriticalSectionTimeout;
|
| typename Traits::UnsignedIntegral HeapSegmentReserve;
|
| typename Traits::UnsignedIntegral HeapSegmentCommit;
|
| @@ -454,6 +455,35 @@ struct EXCEPTION_POINTERS {
|
| using EXCEPTION_POINTERS32 = EXCEPTION_POINTERS<internal::Traits32>;
|
| using EXCEPTION_POINTERS64 = EXCEPTION_POINTERS<internal::Traits64>;
|
|
|
| +// This is defined in winnt.h, but not for cross-bitness.
|
| +template <class Traits>
|
| +struct RTL_CRITICAL_SECTION {
|
| + typename Traits::Pointer DebugInfo;
|
| + LONG LockCount;
|
| + LONG RecursionCount;
|
| + typename Traits::Pointer OwningThread;
|
| + typename Traits::Pointer LockSemaphore;
|
| + typename Traits::UnsignedIntegral SpinCount;
|
| +};
|
| +
|
| +template <class Traits>
|
| +struct RTL_CRITICAL_SECTION_DEBUG {
|
| + union {
|
| + struct {
|
| + WORD Type;
|
| + WORD CreatorBackTraceIndex;
|
| + };
|
| + typename Traits::Pad alignment_for_x64;
|
| + };
|
| + typename Traits::Pointer CriticalSection;
|
| + LIST_ENTRY<Traits> ProcessLocksList;
|
| + DWORD EntryCount;
|
| + DWORD ContentionCount;
|
| + DWORD Flags;
|
| + WORD CreatorBackTraceIndexHigh;
|
| + WORD SpareWORD;
|
| +};
|
| +
|
| #pragma pack(pop)
|
|
|
| //! \}
|
|
|