121#define CONST_STR_LEN(x) (sizeof(x)/sizeof(x[0]) - 1)
127 PSTR CommandLine, PortString, BaudString;
134 CommandLine = LoaderBlock->LoadOptions;
140 PortString =
strstr(CommandLine,
"DEBUGPORT");
141 BaudString =
strstr(CommandLine,
"BAUDRATE");
148 while (*PortString ==
' ') ++PortString;
150 if (*PortString) ++PortString;
158 if (*PortString !=
':')
165 ComPortNumber =
Value;
184 while (*BaudString ==
' ') ++BaudString;
197 ComPortAddress =
UlongToPtr(BaseArray[ComPortNumber]);
USHORT NTAPI CpGetByte(_Inout_ PCPPORT Port, _Out_ PUCHAR Byte, _In_ BOOLEAN Wait, _In_ BOOLEAN Poll)
VOID NTAPI CpPutByte(_Inout_ PCPPORT Port, _In_ UCHAR Byte)
NTSTATUS NTAPI CpInitialize(_Inout_ PCPPORT Port, _In_ PUCHAR Address, _In_ ULONG BaudRate)
BOOLEAN NTAPI CpDoesPortExist(_In_ PUCHAR Address)
#define NT_SUCCESS(StatCode)
#define _strnicmp(_String1, _String2, _MaxCount)
_ACRTIMP __msvcrt_long __cdecl atol(const char *)
_ACRTIMP __msvcrt_ulong __cdecl strtoul(const char *, char **, int)
_ACRTIMP char *__cdecl strstr(const char *, const char *)
NTSTATUS NTAPI KdDebuggerInitialize1(IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL)
NTSTATUS NTAPI KdD0Transition(VOID)
NTSTATUS NTAPI KdRestore(IN BOOLEAN SleepTransition)
NTSTATUS NTAPI KdD3Transition(VOID)
KDP_STATUS NTAPI KdpReceiveByte(OUT PUCHAR OutByte)
KDP_STATUS NTAPI KdpPollByte(OUT PUCHAR OutByte)
VOID NTAPI KdpSendByte(IN UCHAR Byte)
KDP_STATUS NTAPI KdpPollBreakIn(VOID)
NTSTATUS NTAPI KdDebuggerInitialize0(IN PLOADER_PARAMETER_BLOCK LoaderBlock OPTIONAL)
NTSTATUS NTAPI KdpPortInitialize(_In_ PUCHAR PortAddress, _In_ ULONG BaudRate)
NTSTATUS NTAPI KdSave(IN BOOLEAN SleepTransition)
_In_ ULONG _In_ ULONG _In_ ULONG Length
PULONG MinorVersion OPTIONAL
#define DEFAULT_DEBUG_PORT
#define DEFAULT_DEBUG_BAUD_RATE
#define DEFAULT_BAUD_RATE
#define STATUS_INVALID_PARAMETER
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
#define BREAKIN_PACKET_BYTE
void int int ULONGLONG int va_list * ap