123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- /*
- * ksdebug.h
- *
- * This file is part of the ReactOS PSDK package.
- *
- * Contributors:
- * Created by Magnus Olsen.
- *
- * THIS SOFTWARE IS NOT COPYRIGHTED
- *
- * This source code is offered for use in the public domain. You may
- * use, modify or distribute it freely.
- *
- * This code is distributed in the hope that it will be useful but
- * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
- * DISCLAIMED. This includes but is not limited to warranties of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- *
- */
- #include <evntrace.h>
- #if !defined(_KSDEBUG_)
- #define _KSDEBUG_
- #if !defined(REMIND)
- #define QUOTE(x) #x
- #define QQUOTE(y) QUOTE(y)
- #define REMIND(str) __FILE__ "(" QQUOTE(__LINE__) ") : " str
- #endif
- #if defined(__cplusplus)
- extern "C" {
- #endif
- #if (DBG)
- #if defined(IRPMJFUNCDESC)
- static const PCHAR IrpMjFuncDesc[] = {
- "IRP_MJ_CREATE",
- "IRP_MJ_CREATE_NAMED_PIPE",
- "IRP_MJ_CLOSE",
- "IRP_MJ_READ",
- "IRP_MJ_WRITE",
- "IRP_MJ_QUERY_INFORMATION",
- "IRP_MJ_SET_INFORMATION",
- "IRP_MJ_QUERY_EA",
- "IRP_MJ_SET_EA",
- "IRP_MJ_FLUSH_BUFFERS",
- "IRP_MJ_QUERY_VOLUME_INFORMATION",
- "IRP_MJ_SET_VOLUME_INFORMATION",
- "IRP_MJ_DIRECTORY_CONTROL",
- "IRP_MJ_FILE_SYSTEM_CONTROL",
- "IRP_MJ_DEVICE_CONTROL",
- "IRP_MJ_INTERNAL_DEVICE_CONTROL",
- "IRP_MJ_SHUTDOWN",
- "IRP_MJ_LOCK_CONTROL",
- "IRP_MJ_CLEANUP",
- "IRP_MJ_CREATE_MAILSLOT",
- "IRP_MJ_QUERY_SECURITY",
- "IRP_MJ_SET_SECURITY",
- "IRP_MJ_SET_POWER",
- "IRP_MJ_QUERY_POWER"
- };
- #endif /* defined(IRPMJFUNCDESC) */
- #endif /* DBG */
- #if defined(_NTDDK_)
- #define DEBUGLVL_BLAB TRACE_LEVEL_VERBOSE
- #define DEBUGLVL_VERBOSE TRACE_LEVEL_VERBOSE
- #define DEBUGLVL_TERSE TRACE_LEVEL_INFORMATION
- #define DEBUGLVL_ERROR TRACE_LEVEL_ERROR
- #define DEBUGLVL_WARNING TRACE_LEVEL_WARNING
- #define DEBUGLVL_INFO TRACE_LEVEL_INFORMATION
- #if (DBG)
- # if !defined( DEBUG_LEVEL )
- # if defined( DEBUG_VARIABLE )
- # if defined( KSDEBUG_INIT )
- ULONG DEBUG_VARIABLE = DEBUGLVL_TERSE;
- # else
- extern ULONG DEBUG_VARIABLE;
- # endif
- # else
- # define DEBUG_VARIABLE DEBUGLVL_TERSE
- # endif
- # else
- # if defined( DEBUG_VARIABLE )
- # if defined( KSDEBUG_INIT )
- ULONG DEBUG_VARIABLE = DEBUG_LEVEL;
- # else
- extern ULONG DEBUG_VARIABLE;
- # endif
- # else
- # define DEBUG_VARIABLE DEBUG_LEVEL
- # endif
- # endif
- #if (NTDDI_VERSION >= NTDDI_WINXP)
- # define _DbgPrintFEx(component, lvl, strings) { \
- if ((lvl) <= DEBUG_VARIABLE) { \
- DbgPrintEx(component, lvl, STR_MODULENAME); \
- DbgPrintEx(component, lvl, strings); \
- DbgPrintEx(component, lvl, "\n"); \
- if ((lvl) == DEBUGLVL_ERROR) { \
- DbgBreakPoint(); \
- } \
- } \
- }
- #endif /* (NTDDI_VERSION >= NTDDI_WINXP) */
- # define _DbgPrintF(lvl, strings) { \
- if (((lvl)==DEBUG_VARIABLE) || (lvl < DEBUG_VARIABLE)) { \
- DbgPrint(STR_MODULENAME); \
- DbgPrint##strings; \
- DbgPrint("\n"); \
- if ((lvl) == DEBUGLVL_ERROR) { \
- DbgBreakPoint(); \
- } \
- } \
- }
- #else /* ! DBG */
- #define _DbgPrintF(lvl, strings)
- #if (NTDDI_VERSION >= NTDDI_WINXP)
- #define _DbgPrintFEx(component, lvl, strings)
- #endif
- #endif /* DBG */
- #endif /* defined(_NTDDK_) */
- #if defined(__cplusplus)
- }
- #endif
- #endif /* _KSDEBUG_ */
|