70c6c921fc84b6302e0efe720ce08b7c2f69e0e2
[reactos.git] / reactos / drivers / base / kdcom / kddll.h
1 /*
2 * COPYRIGHT: GPL, see COPYING in the top level directory
3 * PROJECT: ReactOS kernel
4 * FILE: drivers/base/kddll/kddll.h
5 * PURPOSE: Base definitions for the kernel debugger.
6 * PROGRAMMER: Timo Kreuzer (timo.kreuzer@ewactos.org)
7 */
8
9 #define NOEXTAPI
10 #include <ntifs.h>
11 #include <windbgkd.h>
12
13 //#define KDDEBUG /* uncomment to enable debugging this dll */
14
15 typedef ULONG (*PFNDBGPRNT)(const char *Format, ...);
16 extern PFNDBGPRNT KdpDbgPrint;
17
18 #ifndef KDDEBUG
19 #define KDDBGPRINT(...)
20 #else
21 #define KDDBGPRINT KdpDbgPrint
22 #endif
23
24 typedef enum
25 {
26 KDP_PACKET_RECEIVED = 0,
27 KDP_PACKET_TIMEOUT = 1,
28 KDP_PACKET_RESEND = 2
29 } KDP_STATUS;
30
31 VOID
32 NTAPI
33 KdpSendBuffer(
34 IN PVOID Buffer,
35 IN ULONG Size);
36
37 KDP_STATUS
38 NTAPI
39 KdpReceiveBuffer(
40 OUT PVOID Buffer,
41 IN ULONG Size);
42
43 KDP_STATUS
44 NTAPI
45 KdpReceivePacketLeader(
46 OUT PULONG PacketLeader);
47
48 VOID
49 NTAPI
50 KdpSendByte(IN UCHAR Byte);
51
52 KDP_STATUS
53 NTAPI
54 KdpPollByte(OUT PUCHAR OutByte);
55
56 KDP_STATUS
57 NTAPI
58 KdpReceiveByte(OUT PUCHAR OutByte);
59
60 KDP_STATUS
61 NTAPI
62 KdpPollBreakIn(VOID);
63
64 /* EOF */