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_ */ 66