Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1993 Microsoft Corporation Copyright (c) 1993 Logitech Inc.
Module Name:
debug.c
Abstract:
Debugging support routines.
Environment:
Kernel mode only.
Notes:
Revision History:
--*/
#include "stdarg.h"
#include "stdio.h"
#include "string.h"
#include "ntddk.h"
#include "debug.h"
#if DBG
//
// Declare the global debug flag for this driver.
//
ULONG SerialMouseDebug = 0;
//
// Undocumented call (prototype).
// Use it to avoid timing problems and conflicts with the serial device.
// This call is valid only during initialization and before the display
// driver takes ownership of the display.
//
VOID HalDisplayString(PSZ Buffer);
static ULONG DebugOutput = DBG_SERIAL;
VOID _SerMouSetDebugOutput( IN ULONG Destination ) /*++
Routine Description:
Set the destination of the debugging string. The options are: DBG_COLOR: Main computer screen. DBG_SERIAL: Serial debugger port
Note: The output to the DBG_COLOR screen can be used only during initilialization before we switch to graphical mode.
Arguments:
Destination - The debugging string destination.
Return Value:
None.
--*/ { DebugOutput = Destination; return; }
int _SerMouGetDebugOutput( VOID ) /*++
Routine Description:
Get the current debugger string output destination.
Arguments:
None.
Return Value:
Current debugging output destination.
--*/ { return DebugOutput; }
VOID SerMouDebugPrint( ULONG DebugPrintLevel, PCSZ DebugMessage, ... )
/*++
Routine Description:
Debug print routine.
Arguments:
Debug print level between 0 and 3, with 3 being the most verbose.
Return Value:
None.
--*/
{ va_list ap;
va_start(ap, DebugMessage);
if (DebugPrintLevel <= SerialMouseDebug) {
CHAR buffer[128];
(VOID) vsprintf(buffer, DebugMessage, ap);
if (DebugOutput & DBG_SERIAL) { DbgPrint(buffer); }
if (DebugOutput & DBG_COLOR) { HalDisplayString(buffer); } }
va_end(ap);
} #endif
|