2002-07-04 David Welch <welch@computer2.darkstar.org>
[reactos.git] / reactos / ntoskrnl / include / internal / kd.h
1 /* $Id: kd.h,v 1.10 2002/07/04 19:56:35 dwelch Exp $
2 *
3 * kernel debugger prototypes
4 */
5
6 #ifndef __INCLUDE_INTERNAL_KERNEL_DEBUGGER_H
7 #define __INCLUDE_INTERNAL_KERNEL_DEBUGGER_H
8
9 #include <internal/ke.h>
10
11 #define KD_DEBUG_DISABLED 0x00
12 #define KD_DEBUG_GDB 0x01
13 #define KD_DEBUG_PICE 0x02
14 #define KD_DEBUG_SCREEN 0x04
15 #define KD_DEBUG_SERIAL 0x08
16 #define KD_DEBUG_BOCHS 0x10
17 #define KD_DEBUG_FILELOG 0x20
18 #define KD_DEBUG_MDA 0x40
19
20 extern ULONG KdDebugState;
21
22 KD_PORT_INFORMATION GdbPortInfo;
23 KD_PORT_INFORMATION LogPortInfo;
24
25 typedef enum _KD_CONTINUE_TYPE
26 {
27 kdContinue = 0,
28 kdDoNotHandleException,
29 kdHandleException
30 } KD_CONTINUE_TYPE;
31
32 ULONG
33 KdpPrintString (PANSI_STRING String);
34
35 VOID
36 DebugLogWrite(PCH String);
37 VOID
38 DebugLogInit(VOID);
39 VOID
40 DebugLogInit2(VOID);
41
42 VOID
43 KdInit1(VOID);
44
45 VOID
46 KdInit2(VOID);
47
48 VOID
49 KdPutChar(UCHAR Value);
50
51 UCHAR
52 KdGetChar(VOID);
53
54 VOID
55 KdGdbStubInit();
56
57 VOID
58 KdGdbDebugPrint (LPSTR Message);
59
60 VOID
61 KdDebugPrint (LPSTR Message);
62
63 KD_CONTINUE_TYPE
64 KdEnterDebuggerException(PEXCEPTION_RECORD ExceptionRecord,
65 PCONTEXT Context,
66 PKTRAP_FRAME TrapFrame);
67 VOID KdInitializeMda(VOID);
68 VOID KdPrintMda(PCH pch);
69
70 #endif /* __INCLUDE_INTERNAL_KERNEL_DEBUGGER_H */