[IMM32] Refactor about reconversion (#4031)
[reactos.git] / 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@reactos.org)
7 */
8
9 #ifndef _KDDLL_H_
10 #define _KDDLL_H_
11
12 #define NOEXTAPI
13 #include <ntifs.h>
14 #include <windbgkd.h>
15
16 // #define KDDEBUG /* uncomment to enable debugging this dll */
17
18 #ifndef KDDEBUG
19 #define KDDBGPRINT(...)
20 #else
21 extern ULONG KdpDbgPrint(const char* Format, ...);
22 #define KDDBGPRINT KdpDbgPrint
23 #endif
24
25 typedef enum
26 {
27 KDP_PACKET_RECEIVED = 0,
28 KDP_PACKET_TIMEOUT = 1,
29 KDP_PACKET_RESEND = 2
30 } KDP_STATUS;
31
32 VOID
33 NTAPI
34 KdpSendBuffer(
35 IN PVOID Buffer,
36 IN ULONG Size);
37
38 KDP_STATUS
39 NTAPI
40 KdpReceiveBuffer(
41 OUT PVOID Buffer,
42 IN ULONG Size);
43
44 KDP_STATUS
45 NTAPI
46 KdpReceivePacketLeader(
47 OUT PULONG PacketLeader);
48
49 VOID
50 NTAPI
51 KdpSendByte(IN UCHAR Byte);
52
53 KDP_STATUS
54 NTAPI
55 KdpPollByte(OUT PUCHAR OutByte);
56
57 KDP_STATUS
58 NTAPI
59 KdpReceiveByte(OUT PUCHAR OutByte);
60
61 KDP_STATUS
62 NTAPI
63 KdpPollBreakIn(VOID);
64
65 #endif /* _KDDLL_H_ */