ReactOS 0.4.16-dev-761-g56c8c8a
kdtypes.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 kdtypes.h
8
9Abstract:
10
11 Type definitions for the Kernel Debugger.
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _KDTYPES_H
20#define _KDTYPES_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26
27//
28// Debug Filter Levels
29//
30#define DPFLTR_ERROR_LEVEL 0
31#define DPFLTR_WARNING_LEVEL 1
32#define DPFLTR_TRACE_LEVEL 2
33#define DPFLTR_INFO_LEVEL 3
34#define DPFLTR_MASK 0x80000000
35
36//
37// Debug Status Codes
38//
39#define DBG_STATUS_CONTROL_C 1
40#define DBG_STATUS_SYSRQ 2
41#define DBG_STATUS_BUGCHECK_FIRST 3
42#define DBG_STATUS_BUGCHECK_SECOND 4
43#define DBG_STATUS_FATAL 5
44#define DBG_STATUS_DEBUG_CONTROL 6
45#define DBG_STATUS_WORKER 7
46
47//
48// DebugService Control Types
49//
50#define BREAKPOINT_BREAK 0
51#define BREAKPOINT_PRINT 1
52#define BREAKPOINT_PROMPT 2
53#define BREAKPOINT_LOAD_SYMBOLS 3
54#define BREAKPOINT_UNLOAD_SYMBOLS 4
55#define BREAKPOINT_COMMAND_STRING 5
56
57//
58// Debug Control Codes for NtSystemDebugcontrol
59//
60typedef enum _SYSDBG_COMMAND
61{
94#if (NTDDI_VERSION >= NTDDI_VISTA)
100#endif
101#if (NTDDI_VERSION >= NTDDI_WINBLUE) // NTDDI_WIN81
103#endif
104#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
106#endif
108
109//
110// System Debugger Types
111//
112typedef struct _SYSDBG_PHYSICAL
113{
118
119typedef struct _SYSDBG_VIRTUAL
120{
125
127{
133
134typedef struct _SYSDBG_IO_SPACE
135{
143
144typedef struct _SYSDBG_BUS_DATA
145{
153
154typedef struct _SYSDBG_MSR
155{
159
161{
172
173#if (NTDDI_VERSION >= NTDDI_WINBLUE) // NTDDI_WIN81
174
176{
177 struct
178 {
182#if (NTDDI_VERSION >= NTDDI_WIN10_RS4)
184#if (NTDDI_VERSION >= NTDDI_WIN11)
187#else
188 ULONG Reserved : 28;
189#endif // (NTDDI_VERSION >= NTDDI_WIN11)
190#else
191 ULONG Reserved : 29;
192#endif // (NTDDI_VERSION >= NTDDI_WIN10_RS4)
193 };
196
198{
199 struct
200 {
202#if (NTDDI_VERSION >= NTDDI_WIN11)
205#else
206 ULONG Reserved : 31;
207#endif
208 };
211
212#if (NTDDI_VERSION >= NTDDI_WIN11)
213
215{
218 union
219 {
221 struct
222 {
225 };
226 };
229
230#define SYSDBG_LIVEDUMP_CONTROL_VERSION 1
231#define SYSDBG_LIVEDUMP_CONTROL_VERSION_WIN11 2
232
233#endif // (NTDDI_VERSION >= NTDDI_WIN11)
234
236{
247#if (NTDDI_VERSION >= NTDDI_WIN11)
249#endif
251
252#endif // (NTDDI_VERSION >= NTDDI_WINBLUE)
253
254#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
255
257{
260
261#endif
262
263//
264// KD Structures
265//
266typedef struct _KD_SYMBOLS_INFO
267{
273
274#endif // _KDTYPES_H
enum _INTERFACE_TYPE INTERFACE_TYPE
struct _KD_SYMBOLS_INFO * PKD_SYMBOLS_INFO
struct _SYSDBG_PHYSICAL SYSDBG_PHYSICAL
union _SYSDBG_LIVEDUMP_CONTROL_ADDPAGES SYSDBG_LIVEDUMP_CONTROL_ADDPAGES
struct _SYSDBG_MSR * PSYSDBG_MSR
struct _SYSDBG_CONTROL_SPACE * PSYSDBG_CONTROL_SPACE
struct _SYSDBG_BUS_DATA SYSDBG_BUS_DATA
struct _SYSDBG_CONTROL_SPACE SYSDBG_CONTROL_SPACE
struct _SYSDBG_TRIAGE_DUMP * PSYSDBG_TRIAGE_DUMP
struct _SYSDBG_BUS_DATA * PSYSDBG_BUS_DATA
struct _SYSDBG_IO_SPACE SYSDBG_IO_SPACE
struct _SYSDBG_LIVEDUMP_SELECTIVE_CONTROL SYSDBG_LIVEDUMP_SELECTIVE_CONTROL
union _SYSDBG_LIVEDUMP_CONTROL_FLAGS SYSDBG_LIVEDUMP_CONTROL_FLAGS
struct _SYSDBG_PHYSICAL * PSYSDBG_PHYSICAL
_SYSDBG_COMMAND
Definition: kdtypes.h:61
@ SysDbgCheckLowMemory
Definition: kdtypes.h:82
@ SysDbgQuerySpecialCalls
Definition: kdtypes.h:67
@ SysDbgKdPullRemoteFile
Definition: kdtypes.h:105
@ SysDbgSetTracepoint
Definition: kdtypes.h:64
@ SysDbgReadPhysical
Definition: kdtypes.h:72
@ SysDbgGetPrintBufferSize
Definition: kdtypes.h:87
@ SysDbgQueryTraceInformation
Definition: kdtypes.h:63
@ SysDbgGetUmAttachPid
Definition: kdtypes.h:98
@ SysDbgClearSpecialCalls
Definition: kdtypes.h:66
@ SysDbgReadMsr
Definition: kdtypes.h:78
@ SysDbgWriteControlSpace
Definition: kdtypes.h:75
@ SysDbgGetKdBlockEnable
Definition: kdtypes.h:92
@ SysDbgWriteBusData
Definition: kdtypes.h:81
@ SysDbgEnableKernelDebugger
Definition: kdtypes.h:83
@ SysDbgWriteVirtual
Definition: kdtypes.h:71
@ SysDbgWritePhysical
Definition: kdtypes.h:73
@ SysDbgGetKdUmExceptionEnable
Definition: kdtypes.h:89
@ SysDbgQueryVersion
Definition: kdtypes.h:69
@ SysDbgReadControlSpace
Definition: kdtypes.h:74
@ SysDbgReadBusData
Definition: kdtypes.h:80
@ SysDbgBreakPoint
Definition: kdtypes.h:68
@ SysDbgSetKdUmExceptionEnable
Definition: kdtypes.h:90
@ SysDbgGetLiveKernelDump
Definition: kdtypes.h:102
@ SysDbgReadIoSpace
Definition: kdtypes.h:76
@ SysDbgGetAutoKdEnable
Definition: kdtypes.h:85
@ SysDbgWriteMsr
Definition: kdtypes.h:79
@ SysDbgClearUmAttachPid
Definition: kdtypes.h:99
@ SysDbgReadVirtual
Definition: kdtypes.h:70
@ SysDbgSetPrintBufferSize
Definition: kdtypes.h:88
@ SysDbgClearUmBreakPid
Definition: kdtypes.h:97
@ SysDbgQueryModuleInformation
Definition: kdtypes.h:62
@ SysDbgSetAutoKdEnable
Definition: kdtypes.h:86
@ SysDbgGetUmBreakPid
Definition: kdtypes.h:96
@ SysDbgGetTriageDump
Definition: kdtypes.h:91
@ SysDbgDisableKernelDebugger
Definition: kdtypes.h:84
@ SysDbgWriteIoSpace
Definition: kdtypes.h:77
@ SysDbgRegisterForUmBreakInfo
Definition: kdtypes.h:95
@ SysDbgSetSpecialCall
Definition: kdtypes.h:65
@ SysDbgSetKdBlockEnable
Definition: kdtypes.h:93
struct _SYSDBG_KD_PULL_REMOTE_FILE SYSDBG_KD_PULL_REMOTE_FILE
struct _SYSDBG_LIVEDUMP_CONTROL SYSDBG_LIVEDUMP_CONTROL
struct _SYSDBG_IO_SPACE * PSYSDBG_IO_SPACE
struct _SYSDBG_KD_PULL_REMOTE_FILE * PSYSDBG_KD_PULL_REMOTE_FILE
struct _SYSDBG_VIRTUAL SYSDBG_VIRTUAL
struct _SYSDBG_LIVEDUMP_SELECTIVE_CONTROL * PSYSDBG_LIVEDUMP_SELECTIVE_CONTROL
struct _SYSDBG_VIRTUAL * PSYSDBG_VIRTUAL
struct _SYSDBG_LIVEDUMP_CONTROL * PSYSDBG_LIVEDUMP_CONTROL
struct _KD_SYMBOLS_INFO KD_SYMBOLS_INFO
struct _SYSDBG_MSR SYSDBG_MSR
enum _SYSDBG_COMMAND SYSDBG_COMMAND
struct _SYSDBG_TRIAGE_DUMP SYSDBG_TRIAGE_DUMP
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
enum _BUS_DATA_TYPE BUS_DATA_TYPE
ULONG_PTR ProcessId
Definition: kdtypes.h:269
ULONG SizeOfImage
Definition: kdtypes.h:271
ULONG CheckSum
Definition: kdtypes.h:270
PVOID BaseOfDll
Definition: kdtypes.h:268
ULONG BusNumber
Definition: kdtypes.h:150
ULONG SlotNumber
Definition: kdtypes.h:151
BUS_DATA_TYPE BusDataType
Definition: kdtypes.h:149
ULONGLONG Address
Definition: kdtypes.h:128
INTERFACE_TYPE InterfaceType
Definition: kdtypes.h:139
ULONG BusNumber
Definition: kdtypes.h:140
ULONG AddressSpace
Definition: kdtypes.h:141
ULONGLONG Address
Definition: kdtypes.h:136
UNICODE_STRING ImageFileName
Definition: kdtypes.h:258
ULONG_PTR BugCheckParam4
Definition: kdtypes.h:242
ULONG_PTR BugCheckParam3
Definition: kdtypes.h:241
SYSDBG_LIVEDUMP_CONTROL_ADDPAGES AddPagesControl
Definition: kdtypes.h:246
PSYSDBG_LIVEDUMP_SELECTIVE_CONTROL SelectiveControl
Definition: kdtypes.h:248
ULONG_PTR BugCheckParam2
Definition: kdtypes.h:240
SYSDBG_LIVEDUMP_CONTROL_FLAGS Flags
Definition: kdtypes.h:245
ULONG_PTR BugCheckParam1
Definition: kdtypes.h:239
ULONG Address
Definition: kdtypes.h:156
ULONGLONG Data
Definition: kdtypes.h:157
PHYSICAL_ADDRESS Address
Definition: kdtypes.h:114
ULONG_PTR BugCheckParam2
Definition: kdtypes.h:165
ULONG ProcessHandles
Definition: kdtypes.h:168
ULONG_PTR BugCheckParam3
Definition: kdtypes.h:166
ULONG_PTR BugCheckParam1
Definition: kdtypes.h:164
ULONG_PTR BugCheckParam4
Definition: kdtypes.h:167
PVOID Address
Definition: kdtypes.h:121
ULONG Request
Definition: kdtypes.h:123
PVOID Buffer
Definition: kdtypes.h:122
uint32_t ULONG_PTR
Definition: typedefs.h:65
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
_Reserved_ PVOID Reserved
Definition: winddi.h:3974