87 lines
2.2 KiB
C
87 lines
2.2 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (c) 1989 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
debug.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
This module defines debug functions and manifests.
|
||
|
|
||
|
Author:
|
||
|
|
||
|
Manny Weiser (mannyw) 20-Dec-1991
|
||
|
|
||
|
Revision History:
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _MUPDEBUG_
|
||
|
#define _MUPDEBUG_
|
||
|
|
||
|
//
|
||
|
// MUP debug level
|
||
|
//
|
||
|
|
||
|
#ifdef MUPDBG
|
||
|
|
||
|
#define DEBUG_TRACE_FILOBSUP 0x00000001
|
||
|
#define DEBUG_TRACE_CREATE 0x00000002
|
||
|
#define DEBUG_TRACE_FSCONTROL 0x00000004
|
||
|
#define DEBUG_TRACE_REFCOUNT 0x00000008
|
||
|
#define DEBUG_TRACE_CLOSE 0x00000010
|
||
|
#define DEBUG_TRACE_CLEANUP 0x00000020
|
||
|
#define DEBUG_TRACE_FORWARD 0x00000040
|
||
|
#define DEBUG_TRACE_BLOCK 0x00000080
|
||
|
|
||
|
extern LONG MsDebugTraceLevel;
|
||
|
extern LONG MsDebugTraceIndent;
|
||
|
|
||
|
VOID
|
||
|
_DebugTrace(
|
||
|
LONG Indent,
|
||
|
ULONG Level,
|
||
|
PSZ X,
|
||
|
ULONG Y
|
||
|
);
|
||
|
|
||
|
#define DebugDump(STR,LEVEL,PTR) { \
|
||
|
ULONG _i; \
|
||
|
VOID MupDump(); \
|
||
|
if (((LEVEL) == 0) || (MupDebugTraceLevel & (LEVEL))) { \
|
||
|
_i = (ULONG)PsGetCurrentThread(); \
|
||
|
DbgPrint("%08lx:",_i); \
|
||
|
DbgPrint(STR); \
|
||
|
if (PTR != NULL) {MupDump(PTR);} \
|
||
|
DbgBreakPoint(); \
|
||
|
} \
|
||
|
}
|
||
|
|
||
|
#define DebugTrace(i,l,x,y) _DebugTrace(i,l,x,(ULONG)y)
|
||
|
|
||
|
//
|
||
|
// The following routine and macro is used to catch exceptions in
|
||
|
// try except statements. It allows us to catch the exception before
|
||
|
// executing the exception handler. The exception catcher procedure is
|
||
|
// declared in msdata.c
|
||
|
//
|
||
|
|
||
|
LONG MupExceptionCatcher (IN PSZ String);
|
||
|
|
||
|
#define Exception(STR) (MupExceptionCatcher(STR))
|
||
|
|
||
|
#else // MUPDBG
|
||
|
|
||
|
#define DebugDump(STR,LEVEL,PTR) {NOTHING;}
|
||
|
|
||
|
#define Exception(STR) (EXCEPTION_EXECUTE_HANDLER)
|
||
|
|
||
|
#define DebugTrace(I,L,X,Y) {NOTHING;}
|
||
|
|
||
|
#endif // MUPDBG
|
||
|
|
||
|
#endif // _MUPDBG_
|
||
|
|