+++ /dev/null
-#ifndef _WDBGEXTS_
-#define _WDBGEXTS_
-
-enum
-{
- DBGKD_SIMULATION_NONE,
- DBGKD_SIMULATION_EXDI
-};
-
-#define KD_SECONDARY_VERSION_DEFAULT 0
-#define KD_SECONDARY_VERSION_AMD64_OBSOLETE_CONTEXT_1 0
-#define KD_SECONDARY_VERSION_AMD64_OBSOLETE_CONTEXT_2 1
-#define KD_SECONDARY_VERSION_AMD64_CONTEXT 2
-
-#if defined(_AMD64_)
-#define CURRENT_KD_SECONDARY_VERSION KD_SECONDARY_VERSION_AMD64_CONTEXT
-#else
-#define CURRENT_KD_SECONDARY_VERSION KD_SECONDARY_VERSION_DEFAULT
-#endif
-
-#define DBGKD_VERS_FLAG_MP 0x0001
-#define DBGKD_VERS_FLAG_DATA 0x0002
-#define DBGKD_VERS_FLAG_PTR64 0x0004
-#define DBGKD_VERS_FLAG_NOMM 0x0008
-#define DBGKD_VERS_FLAG_HSS 0x0010
-#define DBGKD_VERS_FLAG_PARTITIONS 0x0020
-
-#define KDBG_TAG 'GBDK'
-
-typedef enum _DBGKD_MAJOR_TYPES
-{
- DBGKD_MAJOR_NT,
- DBGKD_MAJOR_XBOX,
- DBGKD_MAJOR_BIG,
- DBGKD_MAJOR_EXDI,
- DBGKD_MAJOR_NTBD,
- DBGKD_MAJOR_EFI,
- DBGKD_MAJOR_TNT,
- DBGKD_MAJOR_SINGULARITY,
- DBGKD_MAJOR_HYPERVISOR,
- DBGKD_MAJOR_MIDORI,
- DBGKD_MAJOR_COUNT
-} DBGKD_MAJOR_TYPES;
-
-//
-// The major type is in the high byte
-//
-#define DBGKD_MAJOR_TYPE(MajorVersion) \
- ((DBGKD_MAJOR_TYPES)((MajorVersion) >> 8))
-
-typedef struct _DBGKD_GET_VERSION32
-{
- USHORT MajorVersion;
- USHORT MinorVersion;
- USHORT ProtocolVersion;
- USHORT Flags;
- ULONG KernBase;
- ULONG PsLoadedModuleList;
- USHORT MachineType;
- USHORT ThCallbackStack;
- USHORT NextCallback;
- USHORT FramePointer;
- ULONG KiCallUserMode;
- ULONG KeUserCallbackDispatcher;
- ULONG BreakpointWithStatus;
- ULONG DebuggerDataList;
-} DBGKD_GET_VERSION32, *PDBGKD_GET_VERSION32;
-
-typedef struct _DBGKD_DEBUG_DATA_HEADER32
-{
- LIST_ENTRY32 List;
- ULONG OwnerTag;
- ULONG Size;
-} DBGKD_DEBUG_DATA_HEADER32, *PDBGKD_DEBUG_DATA_HEADER32;
-
-typedef struct _KDDEBUGGER_DATA32
-{
- DBGKD_DEBUG_DATA_HEADER32 Header;
- ULONG KernBase;
- ULONG BreakpointWithStatus;
- ULONG SavedContext;
- USHORT ThCallbackStack;
- USHORT NextCallback;
- USHORT FramePointer;
- USHORT PaeEnabled:1;
- ULONG KiCallUserMode;
- ULONG KeUserCallbackDispatcher;
- ULONG PsLoadedModuleList;
- ULONG PsActiveProcessHead;
- ULONG PspCidTable;
- ULONG ExpSystemResourcesList;
- ULONG ExpPagedPoolDescriptor;
- ULONG ExpNumberOfPagedPools;
- ULONG KeTimeIncrement;
- ULONG KeBugCheckCallbackListHead;
- ULONG KiBugcheckData;
- ULONG IopErrorLogListHead;
- ULONG ObpRootDirectoryObject;
- ULONG ObpTypeObjectType;
- ULONG MmSystemCacheStart;
- ULONG MmSystemCacheEnd;
- ULONG MmSystemCacheWs;
- ULONG MmPfnDatabase;
- ULONG MmSystemPtesStart;
- ULONG MmSystemPtesEnd;
- ULONG MmSubsectionBase;
- ULONG MmNumberOfPagingFiles;
- ULONG MmLowestPhysicalPage;
- ULONG MmHighestPhysicalPage;
- ULONG MmNumberOfPhysicalPages;
- ULONG MmMaximumNonPagedPoolInBytes;
- ULONG MmNonPagedSystemStart;
- ULONG MmNonPagedPoolStart;
- ULONG MmNonPagedPoolEnd;
- ULONG MmPagedPoolStart;
- ULONG MmPagedPoolEnd;
- ULONG MmPagedPoolInformation;
- ULONG MmPageSize;
- ULONG MmSizeOfPagedPoolInBytes;
- ULONG MmTotalCommitLimit;
- ULONG MmTotalCommittedPages;
- ULONG MmSharedCommit;
- ULONG MmDriverCommit;
- ULONG MmProcessCommit;
- ULONG MmPagedPoolCommit;
- ULONG MmExtendedCommit;
- ULONG MmZeroedPageListHead;
- ULONG MmFreePageListHead;
- ULONG MmStandbyPageListHead;
- ULONG MmModifiedPageListHead;
- ULONG MmModifiedNoWritePageListHead;
- ULONG MmAvailablePages;
- ULONG MmResidentAvailablePages;
- ULONG PoolTrackTable;
- ULONG NonPagedPoolDescriptor;
- ULONG MmHighestUserAddress;
- ULONG MmSystemRangeStart;
- ULONG MmUserProbeAddress;
- ULONG KdPrintCircularBuffer;
- ULONG KdPrintCircularBufferEnd;
- ULONG KdPrintWritePointer;
- ULONG KdPrintRolloverCount;
- ULONG MmLoadedUserImageList;
-} KDDEBUGGER_DATA32, *PKDDEBUGGER_DATA32;
-
-typedef struct _DBGKD_GET_VERSION64
-{
- USHORT MajorVersion;
- USHORT MinorVersion;
- UCHAR ProtocolVersion;
- UCHAR KdSecondaryVersion;
- USHORT Flags;
- USHORT MachineType;
- UCHAR MaxPacketType;
- UCHAR MaxStateChange;
- UCHAR MaxManipulate;
- UCHAR Simulation;
- USHORT Unused[1];
- ULONG64 KernBase;
- ULONG64 PsLoadedModuleList;
- ULONG64 DebuggerDataList;
-} DBGKD_GET_VERSION64, *PDBGKD_GET_VERSION64;
-
-typedef struct _DBGKD_DEBUG_DATA_HEADER64
-{
- LIST_ENTRY64 List;
- ULONG OwnerTag;
- ULONG Size;
-} DBGKD_DEBUG_DATA_HEADER64, *PDBGKD_DEBUG_DATA_HEADER64;
-
-typedef union _GCC_ULONG64
-{
- ULONG_PTR Pointer;
- ULONG64 RealPointer;
-} GCC_ULONG64, *PGCC_ULONG64;
-
-typedef struct _KDDEBUGGER_DATA64
-{
- DBGKD_DEBUG_DATA_HEADER64 Header;
- ULONG64 KernBase;
- GCC_ULONG64 BreakpointWithStatus;
- ULONG64 SavedContext;
- USHORT ThCallbackStack;
- USHORT NextCallback;
- USHORT FramePointer;
- USHORT PaeEnabled:1;
- GCC_ULONG64 KiCallUserMode;
- ULONG64 KeUserCallbackDispatcher;
- GCC_ULONG64 PsLoadedModuleList;
- GCC_ULONG64 PsActiveProcessHead;
- GCC_ULONG64 PspCidTable;
- GCC_ULONG64 ExpSystemResourcesList;
- GCC_ULONG64 ExpPagedPoolDescriptor;
- GCC_ULONG64 ExpNumberOfPagedPools;
- GCC_ULONG64 KeTimeIncrement;
- GCC_ULONG64 KeBugCheckCallbackListHead;
- GCC_ULONG64 KiBugcheckData;
- GCC_ULONG64 IopErrorLogListHead;
- GCC_ULONG64 ObpRootDirectoryObject;
- GCC_ULONG64 ObpTypeObjectType;
- GCC_ULONG64 MmSystemCacheStart;
- GCC_ULONG64 MmSystemCacheEnd;
- GCC_ULONG64 MmSystemCacheWs;
- GCC_ULONG64 MmPfnDatabase;
- GCC_ULONG64 MmSystemPtesStart;
- GCC_ULONG64 MmSystemPtesEnd;
- GCC_ULONG64 MmSubsectionBase;
- GCC_ULONG64 MmNumberOfPagingFiles;
- GCC_ULONG64 MmLowestPhysicalPage;
- GCC_ULONG64 MmHighestPhysicalPage;
- GCC_ULONG64 MmNumberOfPhysicalPages;
- GCC_ULONG64 MmMaximumNonPagedPoolInBytes;
- GCC_ULONG64 MmNonPagedSystemStart;
- GCC_ULONG64 MmNonPagedPoolStart;
- GCC_ULONG64 MmNonPagedPoolEnd;
- GCC_ULONG64 MmPagedPoolStart;
- GCC_ULONG64 MmPagedPoolEnd;
- GCC_ULONG64 MmPagedPoolInformation;
- ULONG64 MmPageSize;
- GCC_ULONG64 MmSizeOfPagedPoolInBytes;
- GCC_ULONG64 MmTotalCommitLimit;
- GCC_ULONG64 MmTotalCommittedPages;
- GCC_ULONG64 MmSharedCommit;
- GCC_ULONG64 MmDriverCommit;
- GCC_ULONG64 MmProcessCommit;
- GCC_ULONG64 MmPagedPoolCommit;
- GCC_ULONG64 MmExtendedCommit;
- GCC_ULONG64 MmZeroedPageListHead;
- GCC_ULONG64 MmFreePageListHead;
- GCC_ULONG64 MmStandbyPageListHead;
- GCC_ULONG64 MmModifiedPageListHead;
- GCC_ULONG64 MmModifiedNoWritePageListHead;
- GCC_ULONG64 MmAvailablePages;
- GCC_ULONG64 MmResidentAvailablePages;
- GCC_ULONG64 PoolTrackTable;
- GCC_ULONG64 NonPagedPoolDescriptor;
- GCC_ULONG64 MmHighestUserAddress;
- GCC_ULONG64 MmSystemRangeStart;
- GCC_ULONG64 MmUserProbeAddress;
- GCC_ULONG64 KdPrintCircularBuffer;
- GCC_ULONG64 KdPrintCircularBufferEnd;
- GCC_ULONG64 KdPrintWritePointer;
- GCC_ULONG64 KdPrintRolloverCount;
- GCC_ULONG64 MmLoadedUserImageList;
- GCC_ULONG64 NtBuildLab;
- GCC_ULONG64 KiNormalSystemCall;
- GCC_ULONG64 KiProcessorBlock;
- GCC_ULONG64 MmUnloadedDrivers;
- GCC_ULONG64 MmLastUnloadedDriver;
- GCC_ULONG64 MmTriageActionTaken;
- GCC_ULONG64 MmSpecialPoolTag;
- GCC_ULONG64 KernelVerifier;
- GCC_ULONG64 MmVerifierData;
- GCC_ULONG64 MmAllocatedNonPagedPool;
- GCC_ULONG64 MmPeakCommitment;
- GCC_ULONG64 MmTotalCommitLimitMaximum;
- GCC_ULONG64 CmNtCSDVersion;
- GCC_ULONG64 MmPhysicalMemoryBlock;
- GCC_ULONG64 MmSessionBase;
- GCC_ULONG64 MmSessionSize;
- GCC_ULONG64 MmSystemParentTablePage;
- GCC_ULONG64 MmVirtualTranslationBase;
- USHORT OffsetKThreadNextProcessor;
- USHORT OffsetKThreadTeb;
- USHORT OffsetKThreadKernelStack;
- USHORT OffsetKThreadInitialStack;
- USHORT OffsetKThreadApcProcess;
- USHORT OffsetKThreadState;
- USHORT OffsetKThreadBStore;
- USHORT OffsetKThreadBStoreLimit;
- USHORT SizeEProcess;
- USHORT OffsetEprocessPeb;
- USHORT OffsetEprocessParentCID;
- USHORT OffsetEprocessDirectoryTableBase;
- USHORT SizePrcb;
- USHORT OffsetPrcbDpcRoutine;
- USHORT OffsetPrcbCurrentThread;
- USHORT OffsetPrcbMhz;
- USHORT OffsetPrcbCpuType;
- USHORT OffsetPrcbVendorString;
- USHORT OffsetPrcbProcStateContext;
- USHORT OffsetPrcbNumber;
- USHORT SizeEThread;
- GCC_ULONG64 KdPrintCircularBufferPtr;
- GCC_ULONG64 KdPrintBufferSize;
- GCC_ULONG64 KeLoaderBlock;
- USHORT SizePcr;
- USHORT OffsetPcrSelfPcr;
- USHORT OffsetPcrCurrentPrcb;
- USHORT OffsetPcrContainedPrcb;
- USHORT OffsetPcrInitialBStore;
- USHORT OffsetPcrBStoreLimit;
- USHORT OffsetPcrInitialStack;
- USHORT OffsetPcrStackLimit;
- USHORT OffsetPrcbPcrPage;
- USHORT OffsetPrcbProcStateSpecialReg;
- USHORT GdtR0Code;
- USHORT GdtR0Data;
- USHORT GdtR0Pcr;
- USHORT GdtR3Code;
- USHORT GdtR3Data;
- USHORT GdtR3Teb;
- USHORT GdtLdt;
- USHORT GdtTss;
- USHORT Gdt64R3CmCode;
- USHORT Gdt64R3CmTeb;
- GCC_ULONG64 IopNumTriageDumpDataBlocks;
- GCC_ULONG64 IopTriageDumpDataBlocks;
-#if 0 // Longhorn/Vista and later
- GCC_ULONG64 VfCrashDataBlock;
- GCC_ULONG64 MmBadPagesDetected;
- GCC_ULONG64 MmZeroedPageSingleBitErrorsDetected;
-#endif
-} KDDEBUGGER_DATA64, *PKDDEBUGGER_DATA64;
-
-#endif