- Merge from trunk up to r45543
[reactos.git] / drivers / base / kddll / 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 #ifndef _KDDLL_H_
10 #define _KDDLL_H_
11
12 #define NOEXTAPI
13 #include <ntddk.h>
14 #define NDEBUG
15 #include <halfuncs.h>
16 #include <stdio.h>
17 #include <stdlib.h>
18 #include <debug.h>
19 #include "arc/arc.h"
20 #include "windbgkd.h"
21
22 #include <wdbgexts.h>
23 #include <ioaccess.h> /* port intrinsics */
24
25 typedef UCHAR BYTE, *PBYTE;
26
27 typedef ULONG (*PFNDBGPRNT)(const char *Format, ...);
28 extern PFNDBGPRNT KdpDbgPrint;
29
30 typedef enum
31 {
32 KDP_PACKET_RECEIVED = 0,
33 KDP_PACKET_TIMEOUT = 1,
34 KDP_PACKET_RESEND = 2
35 } KDP_STATUS;
36
37 #ifndef KDDEBUG
38 #define KDDBGPRINT(...)
39 #else
40 #define KDDBGPRINT KdpDbgPrint
41 #endif
42
43 VOID
44 NTAPI
45 KdpSendBuffer(
46 IN PVOID Buffer,
47 IN ULONG Size);
48
49 KDP_STATUS
50 NTAPI
51 KdpReceiveBuffer(
52 OUT PVOID Buffer,
53 IN ULONG Size);
54
55 KDP_STATUS
56 NTAPI
57 KdpReceivePacketLeader(
58 OUT PULONG PacketLeader);
59
60 VOID
61 NTAPI
62 KdpSendByte(IN BYTE Byte);
63
64 KDP_STATUS
65 NTAPI
66 KdpPollByte(OUT PBYTE OutByte);
67
68 KDP_STATUS
69 NTAPI
70 KdpReceiveByte(OUT PBYTE OutByte);
71
72 KDP_STATUS
73 NTAPI
74 KdpPollBreakIn();
75
76
77 #if 0
78 NTSTATUS
79 NTAPI
80 KdDebuggerInitialize0(
81 IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL);
82 #endif
83
84
85 #endif /* !_KDDLL_H_ */