ReactOS 0.4.15-dev-7953-g1f49173
wdbgexts.h
Go to the documentation of this file.
1#ifndef _WDBGEXTS_
2#define _WDBGEXTS_
3
4#pragma once
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10enum
11{
14};
15
16#define KD_SECONDARY_VERSION_DEFAULT 0
17#define KD_SECONDARY_VERSION_AMD64_OBSOLETE_CONTEXT_1 0
18#define KD_SECONDARY_VERSION_AMD64_OBSOLETE_CONTEXT_2 1
19#define KD_SECONDARY_VERSION_AMD64_CONTEXT 2
20
21#if defined(_AMD64_)
22#define CURRENT_KD_SECONDARY_VERSION KD_SECONDARY_VERSION_AMD64_CONTEXT
23#else
24#define CURRENT_KD_SECONDARY_VERSION KD_SECONDARY_VERSION_DEFAULT
25#endif
26
27#define DBGKD_VERS_FLAG_MP 0x0001
28#define DBGKD_VERS_FLAG_DATA 0x0002
29#define DBGKD_VERS_FLAG_PTR64 0x0004
30#define DBGKD_VERS_FLAG_NOMM 0x0008
31#define DBGKD_VERS_FLAG_HSS 0x0010
32#define DBGKD_VERS_FLAG_PARTITIONS 0x0020
33
34#define KDBG_TAG 'GBDK'
35
37{
50
51//
52// The major type is in the high byte
53//
54#define DBGKD_MAJOR_TYPE(MajorVersion) \
55 ((DBGKD_MAJOR_TYPES)((MajorVersion) >> 8))
56
58{
74
76{
81
82typedef struct _KDDEBUGGER_DATA32
83{
151
153{
169
171{
176
177/* Self-documenting type: stores a pointer as a 64-bit quantity */
178#if !defined(_WIN64) && (defined(__GNUC__) || defined(__clang__))
179/* Minimal hackery for GCC/Clang, see commit b9cd3f2d9 (r25845) and de81021ba */
180typedef union _ULPTR64
181{
183 ULONG64 ptr64;
184} ULPTR64;
185#else
186// #define ULPTR64 PVOID64
187#define ULPTR64 ULONG64
188#endif
189
190typedef struct _KDDEBUGGER_DATA64
191{
258
259#if (NTDDI_VERSION >= NTDDI_WINXP)
262#endif
263
264/* NOTE: Documented as "NT 5.0 hotfix (QFE) addition" */
265#if (NTDDI_VERSION >= NTDDI_WIN2KSP4)
277#endif
278
279#if (NTDDI_VERSION >= NTDDI_WINXP)
284#endif
285
286#if (NTDDI_VERSION >= NTDDI_WS03)
334#endif
335
336#if (NTDDI_VERSION >= NTDDI_LONGHORN)
340#endif
341
342#if (NTDDI_VERSION >= NTDDI_WIN7)
345#endif
346
347#if (NTDDI_VERSION >= NTDDI_WIN8)
359#endif
360
361#if (NTDDI_VERSION >= NTDDI_WINBLUE) // NTDDI_WIN81
364#endif
365
366#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
369#endif
370
371#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
376#endif
378
379#ifdef __cplusplus
380}
381#endif
382
383#endif // _WDBGEXTS_
unsigned __int64 ULONG64
Definition: imports.h:198
static PVOID ptr
Definition: dispmode.c:27
unsigned short USHORT
Definition: pedump.c:61
struct _DBGKD_DEBUG_DATA_HEADER32 * PDBGKD_DEBUG_DATA_HEADER32
struct _DBGKD_DEBUG_DATA_HEADER64 * PDBGKD_DEBUG_DATA_HEADER64
struct _KDDEBUGGER_DATA64 KDDEBUGGER_DATA64
struct _DBGKD_GET_VERSION32 DBGKD_GET_VERSION32
struct _DBGKD_GET_VERSION64 * PDBGKD_GET_VERSION64
struct _DBGKD_GET_VERSION64 DBGKD_GET_VERSION64
struct _DBGKD_DEBUG_DATA_HEADER64 DBGKD_DEBUG_DATA_HEADER64
struct _DBGKD_DEBUG_DATA_HEADER32 DBGKD_DEBUG_DATA_HEADER32
struct _KDDEBUGGER_DATA32 KDDEBUGGER_DATA32
struct _KDDEBUGGER_DATA64 * PKDDEBUGGER_DATA64
_DBGKD_MAJOR_TYPES
Definition: wdbgexts.h:37
@ DBGKD_MAJOR_SINGULARITY
Definition: wdbgexts.h:45
@ DBGKD_MAJOR_EFI
Definition: wdbgexts.h:43
@ DBGKD_MAJOR_BIG
Definition: wdbgexts.h:40
@ DBGKD_MAJOR_EXDI
Definition: wdbgexts.h:41
@ DBGKD_MAJOR_XBOX
Definition: wdbgexts.h:39
@ DBGKD_MAJOR_COUNT
Definition: wdbgexts.h:48
@ DBGKD_MAJOR_MIDORI
Definition: wdbgexts.h:47
@ DBGKD_MAJOR_TNT
Definition: wdbgexts.h:44
@ DBGKD_MAJOR_NTBD
Definition: wdbgexts.h:42
@ DBGKD_MAJOR_NT
Definition: wdbgexts.h:38
@ DBGKD_MAJOR_HYPERVISOR
Definition: wdbgexts.h:46
struct _DBGKD_GET_VERSION32 * PDBGKD_GET_VERSION32
#define ULPTR64
Definition: wdbgexts.h:187
@ DBGKD_SIMULATION_EXDI
Definition: wdbgexts.h:13
@ DBGKD_SIMULATION_NONE
Definition: wdbgexts.h:12
struct _KDDEBUGGER_DATA32 * PKDDEBUGGER_DATA32
enum _DBGKD_MAJOR_TYPES DBGKD_MAJOR_TYPES
ULONG DebuggerDataList
Definition: wdbgexts.h:72
ULONG KeUserCallbackDispatcher
Definition: wdbgexts.h:70
USHORT ThCallbackStack
Definition: wdbgexts.h:66
ULONG BreakpointWithStatus
Definition: wdbgexts.h:71
ULONG PsLoadedModuleList
Definition: wdbgexts.h:64
USHORT ProtocolVersion
Definition: wdbgexts.h:61
ULONG64 DebuggerDataList
Definition: wdbgexts.h:167
ULONG64 PsLoadedModuleList
Definition: wdbgexts.h:166
USHORT Unused[1]
Definition: wdbgexts.h:164
UCHAR KdSecondaryVersion
Definition: wdbgexts.h:157
ULONG MmPagedPoolCommit
Definition: wdbgexts.h:131
ULONG MmModifiedPageListHead
Definition: wdbgexts.h:136
ULONG MmSystemCacheWs
Definition: wdbgexts.h:108
ULONG MmAvailablePages
Definition: wdbgexts.h:138
ULONG MmNonPagedPoolEnd
Definition: wdbgexts.h:120
ULONG MmSubsectionBase
Definition: wdbgexts.h:112
ULONG MmSharedCommit
Definition: wdbgexts.h:128
ULONG ObpRootDirectoryObject
Definition: wdbgexts.h:104
ULONG BreakpointWithStatus
Definition: wdbgexts.h:86
ULONG IopErrorLogListHead
Definition: wdbgexts.h:103
ULONG MmSystemCacheEnd
Definition: wdbgexts.h:107
ULONG MmFreePageListHead
Definition: wdbgexts.h:134
ULONG MmSystemCacheStart
Definition: wdbgexts.h:106
USHORT PaeEnabled
Definition: wdbgexts.h:91
ULONG MmStandbyPageListHead
Definition: wdbgexts.h:135
ULONG MmLowestPhysicalPage
Definition: wdbgexts.h:114
ULONG MmHighestUserAddress
Definition: wdbgexts.h:142
ULONG MmPagedPoolEnd
Definition: wdbgexts.h:122
ULONG MmProcessCommit
Definition: wdbgexts.h:130
ULONG KdPrintCircularBufferEnd
Definition: wdbgexts.h:146
ULONG KdPrintRolloverCount
Definition: wdbgexts.h:148
ULONG MmTotalCommittedPages
Definition: wdbgexts.h:127
ULONG KeTimeIncrement
Definition: wdbgexts.h:100
ULONG KiBugcheckData
Definition: wdbgexts.h:102
ULONG ObpTypeObjectType
Definition: wdbgexts.h:105
ULONG KiCallUserMode
Definition: wdbgexts.h:92
ULONG MmSystemPtesEnd
Definition: wdbgexts.h:111
ULONG MmNumberOfPagingFiles
Definition: wdbgexts.h:113
ULONG KdPrintWritePointer
Definition: wdbgexts.h:147
ULONG MmTotalCommitLimit
Definition: wdbgexts.h:126
ULONG MmSizeOfPagedPoolInBytes
Definition: wdbgexts.h:125
USHORT FramePointer
Definition: wdbgexts.h:90
ULONG ExpNumberOfPagedPools
Definition: wdbgexts.h:99
USHORT ThCallbackStack
Definition: wdbgexts.h:88
ULONG MmHighestPhysicalPage
Definition: wdbgexts.h:115
ULONG ExpSystemResourcesList
Definition: wdbgexts.h:97
ULONG MmPagedPoolInformation
Definition: wdbgexts.h:123
ULONG MmSystemRangeStart
Definition: wdbgexts.h:143
ULONG MmDriverCommit
Definition: wdbgexts.h:129
ULONG MmNumberOfPhysicalPages
Definition: wdbgexts.h:116
ULONG KdPrintCircularBuffer
Definition: wdbgexts.h:145
ULONG MmModifiedNoWritePageListHead
Definition: wdbgexts.h:137
ULONG MmUserProbeAddress
Definition: wdbgexts.h:144
ULONG SavedContext
Definition: wdbgexts.h:87
ULONG MmLoadedUserImageList
Definition: wdbgexts.h:149
ULONG MmResidentAvailablePages
Definition: wdbgexts.h:139
ULONG NonPagedPoolDescriptor
Definition: wdbgexts.h:141
DBGKD_DEBUG_DATA_HEADER32 Header
Definition: wdbgexts.h:84
ULONG KeUserCallbackDispatcher
Definition: wdbgexts.h:93
ULONG MmMaximumNonPagedPoolInBytes
Definition: wdbgexts.h:117
ULONG PoolTrackTable
Definition: wdbgexts.h:140
ULONG PsLoadedModuleList
Definition: wdbgexts.h:94
ULONG MmNonPagedSystemStart
Definition: wdbgexts.h:118
ULONG ExpPagedPoolDescriptor
Definition: wdbgexts.h:98
ULONG MmNonPagedPoolStart
Definition: wdbgexts.h:119
ULONG MmSystemPtesStart
Definition: wdbgexts.h:110
ULONG KeBugCheckCallbackListHead
Definition: wdbgexts.h:101
USHORT NextCallback
Definition: wdbgexts.h:89
ULONG MmZeroedPageListHead
Definition: wdbgexts.h:133
ULONG PsActiveProcessHead
Definition: wdbgexts.h:95
ULONG MmPagedPoolStart
Definition: wdbgexts.h:121
ULONG MmExtendedCommit
Definition: wdbgexts.h:132
ULPTR64 MmBadPagesDetected
Definition: wdbgexts.h:338
ULONG OffsetEThreadIrpList
Definition: wdbgexts.h:353
ULPTR64 MmLastUnloadedDriver
Definition: wdbgexts.h:268
USHORT OffsetPrcbIsrStack
Definition: wdbgexts.h:357
ULPTR64 MmMaximumNonPagedPoolInBytes
Definition: wdbgexts.h:225
ULPTR64 KeLoaderBlock
Definition: wdbgexts.h:311
USHORT OffsetKThreadKernelStack
Definition: wdbgexts.h:290
ULPTR64 PsActiveProcessHead
Definition: wdbgexts.h:203
ULPTR64 MmUnloadedDrivers
Definition: wdbgexts.h:267
ULPTR64 MmZeroedPageListHead
Definition: wdbgexts.h:241
ULPTR64 MmPeakCommitment
Definition: wdbgexts.h:274
ULPTR64 ObpRootDirectoryObject
Definition: wdbgexts.h:212
ULPTR64 KernelVerifier
Definition: wdbgexts.h:271
ULPTR64 MmSystemCacheStart
Definition: wdbgexts.h:214
USHORT Gdt64R3CmTeb
Definition: wdbgexts.h:331
USHORT OffsetPcrCurrentPrcb
Definition: wdbgexts.h:314
ULPTR64 MmSharedCommit
Definition: wdbgexts.h:236
ULPTR64 KdPrintCircularBufferPtr
Definition: wdbgexts.h:309
USHORT ThCallbackStack
Definition: wdbgexts.h:196
ULPTR64 PoolTrackTable
Definition: wdbgexts.h:248
ULPTR64 KiProcessorBlock
Definition: wdbgexts.h:266
ULONG OffsetKThreadStackLimit
Definition: wdbgexts.h:350
ULPTR64 MmPfnDatabase
Definition: wdbgexts.h:217
ULPTR64 PsLoadedModuleList
Definition: wdbgexts.h:202
ULPTR64 ObpTypeObjectType
Definition: wdbgexts.h:213
USHORT SizeEProcess
Definition: wdbgexts.h:296
ULPTR64 MmSubsectionBase
Definition: wdbgexts.h:220
ULONG64 MmPageSize
Definition: wdbgexts.h:232
ULPTR64 KiBugcheckData
Definition: wdbgexts.h:210
ULPTR64 KiNormalSystemCall
Definition: wdbgexts.h:261
USHORT OffsetPcrInitialBStore
Definition: wdbgexts.h:316
ULONG RetpolineStubSize
Definition: wdbgexts.h:375
USHORT OffsetKPriQueueThreadListHead
Definition: wdbgexts.h:362
ULONG RetpolineStubOffset
Definition: wdbgexts.h:374
ULPTR64 KeTimeIncrement
Definition: wdbgexts.h:208
USHORT OffsetPrcbNormalDpcState
Definition: wdbgexts.h:355
USHORT OffsetPcrContainedPrcb
Definition: wdbgexts.h:315
ULPTR64 MmPagedPoolCommit
Definition: wdbgexts.h:239
ULPTR64 MmPhysicalMemoryBlock
Definition: wdbgexts.h:280
ULPTR64 MmTotalCommittedPages
Definition: wdbgexts.h:235
ULONG OffsetKThreadStackBase
Definition: wdbgexts.h:351
ULPTR64 MmDriverCommit
Definition: wdbgexts.h:237
ULPTR64 MmAvailablePages
Definition: wdbgexts.h:246
ULPTR64 IopTriageDumpDataBlocks
Definition: wdbgexts.h:333
ULPTR64 KdPrintRolloverCount
Definition: wdbgexts.h:256
ULPTR64 MmVirtualTranslationBase
Definition: wdbgexts.h:287
USHORT OffsetPrcbDpcRoutine
Definition: wdbgexts.h:301
USHORT OffsetPrcbNumber
Definition: wdbgexts.h:307
ULPTR64 MmNonPagedPoolStart
Definition: wdbgexts.h:227
USHORT OffsetPrcbCpuType
Definition: wdbgexts.h:304
ULPTR64 MmUserProbeAddress
Definition: wdbgexts.h:252
USHORT OffsetKThreadState
Definition: wdbgexts.h:293
ULONG OffsetKThreadQueueListEntry
Definition: wdbgexts.h:352
USHORT OffsetEprocessDirectoryTableBase
Definition: wdbgexts.h:299
ULPTR64 ExpSystemResourcesList
Definition: wdbgexts.h:205
USHORT OffsetKThreadInitialStack
Definition: wdbgexts.h:291
USHORT OffsetPcrInitialStack
Definition: wdbgexts.h:318
USHORT OffsetKThreadBStore
Definition: wdbgexts.h:294
USHORT OffsetPrcbPcrPage
Definition: wdbgexts.h:320
ULPTR64 MmModifiedNoWritePageListHead
Definition: wdbgexts.h:245
ULPTR64 MmSpecialPoolTag
Definition: wdbgexts.h:270
USHORT FramePointer
Definition: wdbgexts.h:198
USHORT SizeKDPC_STACK_FRAME
Definition: wdbgexts.h:358
USHORT OffsetKThreadBStoreLimit
Definition: wdbgexts.h:295
ULPTR64 ExpPagedPoolDescriptor
Definition: wdbgexts.h:206
ULPTR64 MmZeroedPageSingleBitErrorsDetected
Definition: wdbgexts.h:339
ULPTR64 KdPrintWritePointer
Definition: wdbgexts.h:255
USHORT OffsetPrcbProcStateSpecialReg
Definition: wdbgexts.h:321
ULPTR64 EtwpDebuggerData
Definition: wdbgexts.h:343
USHORT OffsetEprocessPeb
Definition: wdbgexts.h:297
ULPTR64 KdPrintCircularBufferEnd
Definition: wdbgexts.h:254
USHORT NextCallback
Definition: wdbgexts.h:197
ULPTR64 MmNumberOfPagingFiles
Definition: wdbgexts.h:221
ULPTR64 MmResidentAvailablePages
Definition: wdbgexts.h:247
USHORT OffsetPrcbIdleThread
Definition: wdbgexts.h:354
ULPTR64 MmNumberOfPhysicalPages
Definition: wdbgexts.h:224
ULPTR64 KdPrintBufferSize
Definition: wdbgexts.h:310
ULPTR64 MmSystemRangeStart
Definition: wdbgexts.h:251
ULONG64 SavedContext
Definition: wdbgexts.h:195
ULPTR64 MmPagedPoolInformation
Definition: wdbgexts.h:231
ULPTR64 MmTriageActionTaken
Definition: wdbgexts.h:269
USHORT OffsetPcrSelfPcr
Definition: wdbgexts.h:313
USHORT OffsetKThreadTeb
Definition: wdbgexts.h:289
ULPTR64 MmLoadedUserImageList
Definition: wdbgexts.h:257
ULPTR64 MmPagedPoolStart
Definition: wdbgexts.h:229
ULPTR64 MmStandbyPageListHead
Definition: wdbgexts.h:243
USHORT OffsetPrcbProcStateContext
Definition: wdbgexts.h:306
ULPTR64 MmFreePageListHead
Definition: wdbgexts.h:242
USHORT OffsetPrcbVendorString
Definition: wdbgexts.h:305
USHORT OffsetPrcbCurrentThread
Definition: wdbgexts.h:302
USHORT OffsetEprocessParentCID
Definition: wdbgexts.h:298
USHORT OffsetPcrBStoreLimit
Definition: wdbgexts.h:317
ULPTR64 MmHighestUserAddress
Definition: wdbgexts.h:250
ULPTR64 NtBuildLab
Definition: wdbgexts.h:260
ULPTR64 CmNtCSDVersion
Definition: wdbgexts.h:276
USHORT OffsetPrcbContext
Definition: wdbgexts.h:344
ULPTR64 MmNonPagedPoolEnd
Definition: wdbgexts.h:228
ULPTR64 KdPrintCircularBuffer
Definition: wdbgexts.h:253
ULPTR64 MmSessionSize
Definition: wdbgexts.h:282
USHORT OffsetPrcbMaxBreakpoints
Definition: wdbgexts.h:348
ULPTR64 VfCrashDataBlock
Definition: wdbgexts.h:337
USHORT Gdt64R3CmCode
Definition: wdbgexts.h:330
ULPTR64 BreakpointWithStatus
Definition: wdbgexts.h:194
USHORT OffsetPrcbDpcStack
Definition: wdbgexts.h:356
USHORT SizeEThread
Definition: wdbgexts.h:308
ULPTR64 MmTotalCommitLimit
Definition: wdbgexts.h:234
ULPTR64 MmTotalCommitLimitMaximum
Definition: wdbgexts.h:275
ULONG64 KeUserCallbackDispatcher
Definition: wdbgexts.h:201
ULPTR64 MmVerifierData
Definition: wdbgexts.h:272
ULPTR64 MmPagedPoolEnd
Definition: wdbgexts.h:230
ULPTR64 MmSystemCacheEnd
Definition: wdbgexts.h:215
ULPTR64 IopNumTriageDumpDataBlocks
Definition: wdbgexts.h:332
ULPTR64 KeBugCheckCallbackListHead
Definition: wdbgexts.h:209
ULPTR64 KiCallUserMode
Definition: wdbgexts.h:200
ULPTR64 MmSystemCacheWs
Definition: wdbgexts.h:216
USHORT OffsetKThreadApcProcess
Definition: wdbgexts.h:292
DBGKD_DEBUG_DATA_HEADER64 Header
Definition: wdbgexts.h:192
ULPTR64 MmSizeOfPagedPoolInBytes
Definition: wdbgexts.h:233
ULPTR64 MmExtendedCommit
Definition: wdbgexts.h:240
USHORT OffsetPcrStackLimit
Definition: wdbgexts.h:319
ULONG64 KernBase
Definition: wdbgexts.h:193
ULPTR64 MmLowestPhysicalPage
Definition: wdbgexts.h:222
ULPTR64 MmSessionBase
Definition: wdbgexts.h:281
ULPTR64 NonPagedPoolDescriptor
Definition: wdbgexts.h:249
ULPTR64 MmSystemPtesEnd
Definition: wdbgexts.h:219
ULPTR64 MmModifiedPageListHead
Definition: wdbgexts.h:244
ULPTR64 MmSystemPtesStart
Definition: wdbgexts.h:218
ULONG RetpolineStubFunctionTableSize
Definition: wdbgexts.h:373
USHORT OffsetPrcbMhz
Definition: wdbgexts.h:303
ULPTR64 MmHighestPhysicalPage
Definition: wdbgexts.h:223
ULPTR64 IopErrorLogListHead
Definition: wdbgexts.h:211
USHORT OffsetPrcbMaxWatchpoints
Definition: wdbgexts.h:349
ULPTR64 MmNonPagedSystemStart
Definition: wdbgexts.h:226
USHORT OffsetKThreadWaitReason
Definition: wdbgexts.h:363
ULPTR64 MmSystemParentTablePage
Definition: wdbgexts.h:283
ULPTR64 MmProcessCommit
Definition: wdbgexts.h:238
ULPTR64 ExpNumberOfPagedPools
Definition: wdbgexts.h:207
ULPTR64 MmAllocatedNonPagedPool
Definition: wdbgexts.h:273
ULPTR64 PspCidTable
Definition: wdbgexts.h:204
USHORT OffsetKThreadNextProcessor
Definition: wdbgexts.h:288
ULPTR64 RetpolineStubFunctionTable
Definition: wdbgexts.h:372
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
unsigned char UCHAR
Definition: xmlstorage.h:181