#define STATUS_ILLEGAL_INSTRUCTION
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
KDSTATUS gdb_send_debug_io(_In_ PSTRING String, _In_ BOOLEAN WithPrefix)
void send_gdb_ntstatus(_In_ NTSTATUS Status)
KDSTATUS send_gdb_memory(_In_ const VOID *Buffer, _In_ size_t Length)
void send_gdb_partial_packet(_In_ const CHAR *Buffer)
void send_gdb_partial_memory(_In_ const VOID *Buffer, _In_ size_t Length)
void start_gdb_packet(void)
KDSTATUS gdb_send_exception()
KDSTATUS finish_gdb_packet(void)
ULONG send_gdb_partial_binary(_In_ const VOID *Buffer, _In_ size_t Length)
KDSTATUS send_gdb_packet(_In_ const CHAR *Buffer)
static CHAR currentChecksum
static char * exception_code_to_gdb(NTSTATUS code, char *out)
KDP_STATUS NTAPI KdpReceiveByte(OUT PUCHAR OutByte)
VOID NTAPI KdpSendByte(IN UCHAR Byte)
DBGKD_ANY_WAIT_STATE_CHANGE CurrentStateChange
#define handle_to_gdb_pid
FORCEINLINE UINT_PTR handle_to_gdb_tid(HANDLE Handle)
#define sprintf(buf, format,...)
struct _ETHREAD * PETHREAD
_In_ ULONG _In_ ULONG _In_ ULONG Length
HANDLE NTAPI PsGetThreadId(IN PETHREAD Thread)
HANDLE NTAPI PsGetThreadProcessId(IN PETHREAD Thread)
#define STATUS_ARRAY_BOUNDS_EXCEEDED
#define STATUS_STACK_OVERFLOW
#define STATUS_SINGLE_STEP
#define STATUS_BREAKPOINT
#define STATUS_ACCESS_VIOLATION
#define STATUS_DATATYPE_MISALIGNMENT
#define STATUS_INTEGER_OVERFLOW
#define STATUS_INTEGER_DIVIDE_BY_ZERO
#define KdPacketNeedsResend
union _DBGKD_ANY_WAIT_STATE_CHANGE::@3550 u
DBGKM_EXCEPTION64 Exception
EXCEPTION_RECORD64 ExceptionRecord
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFSTRING String
#define DbgKdLoadSymbolsStateChange
#define DbgKdExceptionStateChange
#define KD_DEBUGGER_NOT_PRESENT