OLD | NEW |
1 // Copyright 2015 The Crashpad Authors. All rights reserved. | 1 // Copyright 2015 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
225 typename Traits::Pointer TlsBitmap; | 225 typename Traits::Pointer TlsBitmap; |
226 DWORD TlsBitmapBits[2]; | 226 DWORD TlsBitmapBits[2]; |
227 typename Traits::Pointer ReadOnlySharedMemoryBase; | 227 typename Traits::Pointer ReadOnlySharedMemoryBase; |
228 typename Traits::Pointer SparePvoid0; | 228 typename Traits::Pointer SparePvoid0; |
229 typename Traits::Pointer ReadOnlyStaticServerData; | 229 typename Traits::Pointer ReadOnlyStaticServerData; |
230 typename Traits::Pointer AnsiCodePageData; | 230 typename Traits::Pointer AnsiCodePageData; |
231 typename Traits::Pointer OemCodePageData; | 231 typename Traits::Pointer OemCodePageData; |
232 typename Traits::Pointer UnicodeCaseTableData; | 232 typename Traits::Pointer UnicodeCaseTableData; |
233 DWORD NumberOfProcessors; | 233 DWORD NumberOfProcessors; |
234 DWORD NtGlobalFlag; | 234 DWORD NtGlobalFlag; |
| 235 DWORD alignment_for_x86; |
235 LARGE_INTEGER CriticalSectionTimeout; | 236 LARGE_INTEGER CriticalSectionTimeout; |
236 typename Traits::UnsignedIntegral HeapSegmentReserve; | 237 typename Traits::UnsignedIntegral HeapSegmentReserve; |
237 typename Traits::UnsignedIntegral HeapSegmentCommit; | 238 typename Traits::UnsignedIntegral HeapSegmentCommit; |
238 typename Traits::UnsignedIntegral HeapDeCommitTotalFreeThreshold; | 239 typename Traits::UnsignedIntegral HeapDeCommitTotalFreeThreshold; |
239 typename Traits::UnsignedIntegral HeapDeCommitFreeBlockThreshold; | 240 typename Traits::UnsignedIntegral HeapDeCommitFreeBlockThreshold; |
240 DWORD NumberOfHeaps; | 241 DWORD NumberOfHeaps; |
241 DWORD MaximumNumberOfHeaps; | 242 DWORD MaximumNumberOfHeaps; |
242 typename Traits::Pointer ProcessHeaps; | 243 typename Traits::Pointer ProcessHeaps; |
243 typename Traits::Pointer GdiSharedHandleTable; | 244 typename Traits::Pointer GdiSharedHandleTable; |
244 typename Traits::Pointer ProcessStarterHelper; | 245 typename Traits::Pointer ProcessStarterHelper; |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 | 448 |
448 template <class Traits> | 449 template <class Traits> |
449 struct EXCEPTION_POINTERS { | 450 struct EXCEPTION_POINTERS { |
450 typename Traits::Pointer ExceptionRecord; | 451 typename Traits::Pointer ExceptionRecord; |
451 typename Traits::Pointer ContextRecord; | 452 typename Traits::Pointer ContextRecord; |
452 }; | 453 }; |
453 | 454 |
454 using EXCEPTION_POINTERS32 = EXCEPTION_POINTERS<internal::Traits32>; | 455 using EXCEPTION_POINTERS32 = EXCEPTION_POINTERS<internal::Traits32>; |
455 using EXCEPTION_POINTERS64 = EXCEPTION_POINTERS<internal::Traits64>; | 456 using EXCEPTION_POINTERS64 = EXCEPTION_POINTERS<internal::Traits64>; |
456 | 457 |
| 458 // This is defined in winnt.h, but not for cross-bitness. |
| 459 template <class Traits> |
| 460 struct RTL_CRITICAL_SECTION { |
| 461 typename Traits::Pointer DebugInfo; |
| 462 LONG LockCount; |
| 463 LONG RecursionCount; |
| 464 typename Traits::Pointer OwningThread; |
| 465 typename Traits::Pointer LockSemaphore; |
| 466 typename Traits::UnsignedIntegral SpinCount; |
| 467 }; |
| 468 |
| 469 template <class Traits> |
| 470 struct RTL_CRITICAL_SECTION_DEBUG { |
| 471 union { |
| 472 struct { |
| 473 WORD Type; |
| 474 WORD CreatorBackTraceIndex; |
| 475 }; |
| 476 typename Traits::Pad alignment_for_x64; |
| 477 }; |
| 478 typename Traits::Pointer CriticalSection; |
| 479 LIST_ENTRY<Traits> ProcessLocksList; |
| 480 DWORD EntryCount; |
| 481 DWORD ContentionCount; |
| 482 DWORD Flags; |
| 483 WORD CreatorBackTraceIndexHigh; |
| 484 WORD SpareWORD; |
| 485 }; |
| 486 |
457 #pragma pack(pop) | 487 #pragma pack(pop) |
458 | 488 |
459 //! \} | 489 //! \} |
460 | 490 |
461 } // namespace process_types | 491 } // namespace process_types |
462 } // namespace crashpad | 492 } // namespace crashpad |
463 | 493 |
464 #endif // CRASHPAD_UTIL_WIN_PROCESS_STRUCTS_H_ | 494 #endif // CRASHPAD_UTIL_WIN_PROCESS_STRUCTS_H_ |
OLD | NEW |