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