mirror of https://github.com/lianthony/NT4.0
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.
137 lines
4.8 KiB
137 lines
4.8 KiB
/***************************************************************************\
|
|
|* Copyright (c) 1994 Microsoft Corporation *|
|
|
|* Developed for Microsoft by TriplePoint, Inc. Beaverton, Oregon *|
|
|
|* *|
|
|
|* This file is part of the HT Communications DSU41 WAN Miniport Driver. *|
|
|
\***************************************************************************/
|
|
|
|
/*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
Module Name:
|
|
|
|
debug.h
|
|
|
|
Abstract:
|
|
|
|
This file contains generic debug macros for driver development.
|
|
If (DBG == 0) no code is generated; Otherwise macros will expand.
|
|
|
|
Author:
|
|
|
|
Larry Hattery - TriplePoint, Inc. ([email protected]) Jun-94
|
|
|
|
Environment:
|
|
|
|
Development Only.
|
|
|
|
debug.c must be linked into the driver code to support output.
|
|
|
|
Revision History:
|
|
|
|
---------------------------------------------------------------------------*/
|
|
|
|
#ifndef _DEBUG_H
|
|
#define _DEBUG_H
|
|
|
|
/*
|
|
// DEBUG FLAG DEFINITIONS
|
|
*/
|
|
|
|
#define DBG_ERROR_ON 0x0001L /* Display DBG_ERROR messages */
|
|
#define DBG_WARNING_ON 0x0002L /* Display DBG_WARNING messages */
|
|
#define DBG_NOTICE_ON 0x0004L /* Display DBG_NOTICE messages */
|
|
#define DBG_TRACE_ON 0x0008L /* Display ENTER/TRACE/LEAVE messages */
|
|
#define DBG_REQUEST_ON 0x0010L /* Enable set/query request display */
|
|
#define DBG_PARAMS_ON 0x0020L /* Enable function parameter display */
|
|
#define DBG_HEADERS_ON 0x0040L /* Enable Tx/Rx MAC header display */
|
|
#define DBG_PACKETS_ON 0x0080L /* Enable Tx/Rx packet display */
|
|
#define DBG_FILTER1_ON 0x0100L /* Display DBG_FILTER 1 messages */
|
|
#define DBG_FILTER2_ON 0x0200L /* Display DBG_FILTER 2 messages */
|
|
#define DBG_FILTER3_ON 0x0400L /* Display DBG_FILTER 3 messages */
|
|
#define DBG_FILTER4_ON 0x0800L /* Display DBG_FILTER 4 messages */
|
|
#define DBG_BREAK_ON 0x1000L /* Enable breakpoints */
|
|
#define DBG_TAPICALL_ON 0x4000L /* Enable TAPI call state messages */
|
|
#define DBG_HWTEST_ON 0x8000L /* Enable hardware self-test */
|
|
|
|
extern VOID
|
|
DbgPrintData(
|
|
IN PUCHAR Data,
|
|
IN UINT NumBytes,
|
|
IN ULONG Offset
|
|
);
|
|
|
|
extern VOID NTAPI DbgBreakPoint(VOID);
|
|
|
|
#if defined(DBG) && (DBG != 0)
|
|
|
|
/*
|
|
// A - is a pointer to the adapter structure
|
|
// S - is a parenthesised printf string
|
|
// e.g. DBG_PRINT(Adap,("ERR=%d",err));
|
|
// F - is a function name
|
|
// e.g. DBG_FUNC("FunctionName")
|
|
// C - is a C conditional
|
|
// e.g. ASSERT(a <= b)
|
|
*/
|
|
|
|
# define BREAKPOINT DbgBreakPoint()
|
|
|
|
# define STATIC
|
|
|
|
# define DBG_FUNC(F) static const char __FUNC__[] = F;
|
|
|
|
# define DBG_BREAK(A) {if ((A)->DbgFlags & DBG_BREAK_ON) BREAKPOINT;}
|
|
|
|
// WARNING DBG_PRINT(A,S) (A) can be NULL!!!
|
|
# define DBG_PRINT(A,S) {DbgPrint("%s---%s @ %s:%d\n",(A)?(A)->DbgID:"?",__FUNC__,__FILE__,__LINE__);DbgPrint S;}
|
|
|
|
# define DBG_ENTER(A) {if ((A)->DbgFlags & DBG_TRACE_ON) \
|
|
{DbgPrint("%s>>>%s\n",(A)->DbgID,__FUNC__);}}
|
|
|
|
# define DBG_TRACE(A) {if ((A)->DbgFlags & DBG_TRACE_ON) \
|
|
{DbgPrint("%s---%s:%d\n",(A)->DbgID,__FUNC__,__LINE__);}}
|
|
|
|
# define DBG_LEAVE(A) {if ((A)->DbgFlags & DBG_TRACE_ON) \
|
|
{DbgPrint("%s<<<%s\n",(A)->DbgID,__FUNC__);}}
|
|
|
|
# define DBG_ERROR(A,S) {if ((A)->DbgFlags & DBG_ERROR_ON) \
|
|
{DbgPrint("%s---%s: ERROR: ",(A)->DbgID,__FUNC__);DbgPrint S;}}
|
|
|
|
# define DBG_WARNING(A,S) {if ((A)->DbgFlags & DBG_WARNING_ON) \
|
|
{DbgPrint("%s---%s: WARNING: ",(A)->DbgID,__FUNC__);DbgPrint S;}}
|
|
|
|
# define DBG_NOTICE(A,S) {if ((A)->DbgFlags & DBG_NOTICE_ON) \
|
|
{DbgPrint("%s---%s: NOTICE: ",(A)->DbgID,__FUNC__);DbgPrint S;}}
|
|
|
|
# define DBG_FILTER(A,M,S){if ((A)->DbgFlags & (M)) \
|
|
{DbgPrint("%s---%s: ",(A)->DbgID,__FUNC__);DbgPrint S;}}
|
|
|
|
# define DBG_DISPLAY(S) {DbgPrint("?---%s: ",__FUNC__); DbgPrint S;}
|
|
|
|
#ifdef ASSERT
|
|
#undef ASSERT
|
|
#endif
|
|
#define ASSERT(C) if (!(C)) { \
|
|
DbgPrint("!---%s: ASSERT(%s) FAILED!\n%s #%d\n", \
|
|
__FUNC__, #C, __FILE__, __LINE__); \
|
|
BREAKPOINT; \
|
|
}
|
|
#else
|
|
|
|
# define BREAKPOINT
|
|
# define STATIC static
|
|
# define DBG_FUNC(F)
|
|
# define DBG_BREAK
|
|
# define DBG_PRINT(A,S)
|
|
# define DBG_ENTER(A)
|
|
# define DBG_TRACE(A)
|
|
# define DBG_LEAVE(A)
|
|
# define DBG_ERROR(A,S)
|
|
# define DBG_WARNING(A,S)
|
|
# define DBG_NOTICE(A,S)
|
|
# define DBG_FILTER(A,M,S)
|
|
# define DBG_DISPLAY(S)
|
|
|
|
#endif
|
|
|
|
#endif
|