135 lines
2.3 KiB
C
135 lines
2.3 KiB
C
/*++
|
||
|
||
Copyright (c) 1991 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
tdidebug.h
|
||
|
||
Abstract:
|
||
|
||
This module contains code which assists the process of debugging an NT
|
||
TDI client.
|
||
|
||
Author:
|
||
|
||
David Beaver (dbeaver) 28 June 1991
|
||
|
||
Environment:
|
||
|
||
Kernel mode
|
||
|
||
Revision History:
|
||
|
||
All code moved in from other XNS and NBF locations at creation
|
||
|
||
|
||
--*/
|
||
#if !defined _TDI_DEBUG_H
|
||
#define _TDI_DEBUG_H
|
||
|
||
#if DBG
|
||
#include <stdarg.h>
|
||
#include <stdio.h>
|
||
#include <cxport.h>
|
||
VOID
|
||
TdiPrintf(
|
||
char *Format,
|
||
...
|
||
);
|
||
|
||
VOID
|
||
TdiFormattedDump(
|
||
PCHAR far_p,
|
||
ULONG len
|
||
);
|
||
|
||
VOID
|
||
TdiHexDumpLine(
|
||
PCHAR pch,
|
||
ULONG len,
|
||
PCHAR s,
|
||
PCHAR t
|
||
);
|
||
|
||
#endif
|
||
|
||
|
||
VOID
|
||
TdiPrintUString(
|
||
PUNICODE_STRING pustr
|
||
);
|
||
|
||
//
|
||
// The various Dbg print codes..
|
||
// Add as required.
|
||
//
|
||
|
||
#define TDI_DEBUG_FUNCTION 0x00000001
|
||
#define TDI_DEBUG_PARAMETERS 0x00000002
|
||
#define TDI_DEBUG_NCPA 0x00000004
|
||
#define TDI_DEBUG_CLIENTS 0x00000008
|
||
#define TDI_DEBUG_PROVIDERS 0x00000010
|
||
#define TDI_DEBUG_POWER 0x00000020
|
||
#define TDI_DEBUG_BIND 0x00000040
|
||
#define TDI_DEBUG_ADDRESS 0x00000080
|
||
#define TDI_DEBUG_REGISTRY 0x00000100
|
||
#define TDI_DEBUG_ERROR 0x00000200
|
||
#define TDI_DEBUG_FUNCTION2 0x10000000
|
||
|
||
#define LOG_ERROR 0x00000001
|
||
#define LOG_NOTIFY 0x00000002
|
||
#define LOG_REGISTER 0x00000004
|
||
#define LOG_POWER 0x00000008
|
||
|
||
#define LOG_OUTPUT_DEBUGGER 1
|
||
#define LOG_OUTPUT_BUFFER 2
|
||
|
||
#define LOG_MSG_CNT 70
|
||
#define MAX_MSG_LEN 200
|
||
|
||
#if DBG
|
||
|
||
CHAR DbgMsgs[LOG_MSG_CNT][MAX_MSG_LEN];
|
||
UINT First, Last;
|
||
CTELock DbgLock;
|
||
|
||
//
|
||
// In memory logging functions.
|
||
//
|
||
VOID
|
||
DbgMsgInit();
|
||
|
||
VOID
|
||
DbgMsg(CHAR *Format, ...);
|
||
|
||
extern ULONG TdiDebugEx;
|
||
extern ULONG TdiMemLog;
|
||
|
||
//
|
||
// Print to the in-memory buffer anyways.
|
||
//
|
||
|
||
#define TDI_DEBUG(_Flag, _Print) { \
|
||
if (TdiDebugEx & (TDI_DEBUG_ ## _Flag)) { \
|
||
DbgPrint ("TDI: "); \
|
||
DbgPrint _Print; \
|
||
} \
|
||
}
|
||
|
||
|
||
#define TDI_LOG(flgs, format) (((flgs) & TdiMemLog) ? DbgMsg format:0)
|
||
|
||
#else
|
||
|
||
#define TDI_DEBUG(_Flag, _Print) (0)
|
||
#define TDI_LOG(a,b) (0)
|
||
|
||
#endif
|
||
|
||
|
||
#endif //_TDI_DEBUG_H
|
||
|
||
|
||
|