[PSDK]
[reactos.git] / include / xdk / kdtypes.h
1 /******************************************************************************
2 * Kernel Debugger Types *
3 ******************************************************************************/
4 $if (_NTDDK_)
5 typedef struct _DEBUG_DEVICE_ADDRESS {
6 UCHAR Type;
7 BOOLEAN Valid;
8 UCHAR Reserved[2];
9 PUCHAR TranslatedAddress;
10 ULONG Length;
11 } DEBUG_DEVICE_ADDRESS, *PDEBUG_DEVICE_ADDRESS;
12
13 typedef struct _DEBUG_MEMORY_REQUIREMENTS {
14 PHYSICAL_ADDRESS Start;
15 PHYSICAL_ADDRESS MaxEnd;
16 PVOID VirtualAddress;
17 ULONG Length;
18 BOOLEAN Cached;
19 BOOLEAN Aligned;
20 } DEBUG_MEMORY_REQUIREMENTS, *PDEBUG_MEMORY_REQUIREMENTS;
21
22 typedef struct _DEBUG_DEVICE_DESCRIPTOR {
23 ULONG Bus;
24 ULONG Slot;
25 USHORT Segment;
26 USHORT VendorID;
27 USHORT DeviceID;
28 UCHAR BaseClass;
29 UCHAR SubClass;
30 UCHAR ProgIf;
31 BOOLEAN Initialized;
32 BOOLEAN Configured;
33 DEBUG_DEVICE_ADDRESS BaseAddress[6];
34 DEBUG_MEMORY_REQUIREMENTS Memory;
35 } DEBUG_DEVICE_DESCRIPTOR, *PDEBUG_DEVICE_DESCRIPTOR;
36
37 typedef NTSTATUS
38 (NTAPI *pKdSetupPciDeviceForDebugging)(
39 IN PVOID LoaderBlock OPTIONAL,
40 IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice);
41
42 typedef NTSTATUS
43 (NTAPI *pKdReleasePciDeviceForDebugging)(
44 IN OUT PDEBUG_DEVICE_DESCRIPTOR PciDevice);
45
46 typedef PVOID
47 (NTAPI *pKdGetAcpiTablePhase0)(
48 IN struct _LOADER_PARAMETER_BLOCK *LoaderBlock,
49 IN ULONG Signature);
50
51 typedef VOID
52 (NTAPI *pKdCheckPowerButton)(
53 VOID);
54
55 #if (NTDDI_VERSION >= NTDDI_VISTA)
56 typedef PVOID
57 (NTAPI *pKdMapPhysicalMemory64)(
58 IN PHYSICAL_ADDRESS PhysicalAddress,
59 IN ULONG NumberPages,
60 IN BOOLEAN FlushCurrentTLB);
61
62 typedef VOID
63 (NTAPI *pKdUnmapVirtualAddress)(
64 IN PVOID VirtualAddress,
65 IN ULONG NumberPages,
66 IN BOOLEAN FlushCurrentTLB);
67 #else
68 typedef PVOID
69 (NTAPI *pKdMapPhysicalMemory64)(
70 IN PHYSICAL_ADDRESS PhysicalAddress,
71 IN ULONG NumberPages);
72
73 typedef VOID
74 (NTAPI *pKdUnmapVirtualAddress)(
75 IN PVOID VirtualAddress,
76 IN ULONG NumberPages);
77 #endif
78
79 typedef ULONG
80 (NTAPI *pKdGetPciDataByOffset)(
81 IN ULONG BusNumber,
82 IN ULONG SlotNumber,
83 OUT PVOID Buffer,
84 IN ULONG Offset,
85 IN ULONG Length);
86
87 typedef ULONG
88 (NTAPI *pKdSetPciDataByOffset)(
89 IN ULONG BusNumber,
90 IN ULONG SlotNumber,
91 IN PVOID Buffer,
92 IN ULONG Offset,
93 IN ULONG Length);
94 $endif