104 lines
3.4 KiB
C
104 lines
3.4 KiB
C
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1989 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
msdebug.c
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
This module declares the debug functions used by the mailslot
|
|||
|
file system.
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Manny Weiser (mannyw) 7-Jan-1991
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
#ifndef _MSDEBUG_
|
|||
|
#define _MSDEBUG_
|
|||
|
|
|||
|
//
|
|||
|
// The mailslot debug levels:
|
|||
|
//
|
|||
|
// 0x00000000 Always gets printed (used when about to bug check)
|
|||
|
|
|||
|
#ifdef MSDBG
|
|||
|
|
|||
|
#define DEBUG_TRACE_ERROR (0x00000001)
|
|||
|
#define DEBUG_TRACE_DEBUG_HOOKS (0x00000002)
|
|||
|
#define DEBUG_TRACE_CATCH_EXCEPTIONS (0x00000004)
|
|||
|
#define DEBUG_TRACE_CREATE (0x00000008)
|
|||
|
#define DEBUG_TRACE_CLOSE (0x00000010)
|
|||
|
#define DEBUG_TRACE_READ (0x00000020)
|
|||
|
#define DEBUG_TRACE_WRITE (0x00000040)
|
|||
|
#define DEBUG_TRACE_FILEINFO (0x00000080)
|
|||
|
#define DEBUG_TRACE_CLEANUP (0x00000100)
|
|||
|
#define DEBUG_TRACE_DIR (0x00000200)
|
|||
|
#define DEBUG_TRACE_FSCONTROL (0x00000400)
|
|||
|
#define DEBUG_TRACE_CREATE_MAILSLOT (0x00000800)
|
|||
|
#define DEBUG_TRACE_SEINFO (0x00001000)
|
|||
|
#define DEBUG_TRACE_0x00002000 (0x00002000)
|
|||
|
#define DEBUG_TRACE_0x00004000 (0x00004000)
|
|||
|
#define DEBUG_TRACE_0x00008000 (0x00008000)
|
|||
|
#define DEBUG_TRACE_0x00010000 (0x00010000)
|
|||
|
#define DEBUG_TRACE_DEVIOSUP (0x00020000)
|
|||
|
#define DEBUG_TRACE_VERIFY (0x00040000)
|
|||
|
#define DEBUG_TRACE_WORK_QUEUE (0x00080000)
|
|||
|
#define DEBUG_TRACE_READSUP (0x00100000)
|
|||
|
#define DEBUG_TRACE_WRITESUP (0x00200000)
|
|||
|
#define DEBUG_TRACE_STATESUP (0x00400000)
|
|||
|
#define DEBUG_TRACE_FILOBSUP (0x00800000)
|
|||
|
#define DEBUG_TRACE_PREFXSUP (0x01000000)
|
|||
|
#define DEBUG_TRACE_CNTXTSUP (0x02000000)
|
|||
|
#define DEBUG_TRACE_DATASUP (0x04000000)
|
|||
|
#define DEBUG_TRACE_DPC (0x08000000)
|
|||
|
#define DEBUG_TRACE_REFCOUNT (0x10000000)
|
|||
|
#define DEBUG_TRACE_STRUCSUP (0x20000000)
|
|||
|
#define DEBUG_TRACE_FSP_DISPATCHER (0x40000000)
|
|||
|
#define DEBUG_TRACE_FSP_DUMP (0x80000000)
|
|||
|
|
|||
|
extern LONG MsDebugTraceLevel;
|
|||
|
extern LONG MsDebugTraceIndent;
|
|||
|
|
|||
|
#define DebugDump(STR,LEVEL,PTR) { \
|
|||
|
ULONG _i; \
|
|||
|
VOID MsDump(IN PVOID Ptr); \
|
|||
|
if (((LEVEL) == 0) || (MsDebugTraceLevel & (LEVEL))) { \
|
|||
|
_i = (ULONG)PsGetCurrentThread(); \
|
|||
|
DbgPrint("%08lx:",_i); \
|
|||
|
DbgPrint(STR); \
|
|||
|
if (PTR != NULL) {MsDump(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 MsExceptionCatcher (IN PSZ String);
|
|||
|
|
|||
|
#define Exception(STR) (MsExceptionCatcher(STR))
|
|||
|
|
|||
|
#else
|
|||
|
|
|||
|
#define DebugDump(STR,LEVEL,PTR) {NOTHING;}
|
|||
|
|
|||
|
#define Exception(STR) (EXCEPTION_EXECUTE_HANDLER)
|
|||
|
|
|||
|
#define DebugTrace(I,L,X,Y) {NOTHING;}
|
|||
|
|
|||
|
#endif // MSDBG
|
|||
|
|
|||
|
#endif // _MSDEBUG_
|
|||
|
|