[TASKMGR] Process page: Allow using "Open File Location" functionality without runnin...
[reactos.git] / ntoskrnl / include / internal / kd.h
1 #pragma once
2
3 #include <cportlib/cportlib.h>
4
5 //
6 // Kernel Debugger Port Definition
7 //
8
9 BOOLEAN
10 NTAPI
11 KdPortInitializeEx(
12 PCPPORT PortInformation,
13 ULONG ComPortNumber
14 );
15
16 BOOLEAN
17 NTAPI
18 KdPortGetByteEx(
19 PCPPORT PortInformation,
20 PUCHAR ByteReceived);
21
22 VOID
23 NTAPI
24 KdPortPutByteEx(
25 PCPPORT PortInformation,
26 UCHAR ByteToSend
27 );
28
29 #ifdef _NTOSKRNL_
30
31 /* KD GLOBALS ****************************************************************/
32
33 /* KD Internal Debug Services */
34 typedef enum _KDP_DEBUG_SERVICE
35 {
36 DumpNonPagedPool = 0x1e, /* a */
37 ManualBugCheck = 0x30, /* b */
38 DumpNonPagedPoolStats = 0x2e, /* c */
39 DumpNewNonPagedPool = 0x20, /* d */
40 DumpNewNonPagedPoolStats = 0x12, /* e */
41 DumpAllThreads = 0x21, /* f */
42 DumpUserThreads = 0x22, /* g */
43 KdSpare1 = 0x23, /* h */
44 KdSpare2 = 0x17, /* i */
45 KdSpare3 = 0x24, /* j */
46 EnterDebugger = 0x25, /* k */
47 ThatsWhatSheSaid = 69 /* FIGURE IT OUT */
48 } KDP_DEBUG_SERVICE;
49
50 #endif // _NTOSKRNL_
51
52 #if DBG && defined(_M_IX86) && !defined(_WINKD_) // See ke/i386/traphdlr.c
53 #define ID_Win32PreServiceHook 'WSH0'
54 #define ID_Win32PostServiceHook 'WSH1'
55 typedef void (NTAPI *PKDBG_PRESERVICEHOOK)(ULONG, PULONG_PTR);
56 typedef ULONG_PTR (NTAPI *PKDBG_POSTSERVICEHOOK)(ULONG, ULONG_PTR);
57 extern PKDBG_PRESERVICEHOOK KeWin32PreServiceHook;
58 extern PKDBG_POSTSERVICEHOOK KeWin32PostServiceHook;
59 #endif