|
|
#ifndef _DEBUG_H_
#define _DEBUG_H_
#if DBG
#define DBG_NONE 0x00000000
#define DBG_INIT 0x00000001
#define DBG_READWRITE 0x00000002
#define DBG_POOL 0x00000004
#define DBG_IOCTL 0x00000008
#define DBG_PNP 0x00000010
#define DBG_POWER 0x00000020
#define DBG_SRB 0x00000040
#define DBG_THREAD 0x00000080
#define DBG_WINDOW 0x00000100
#define DBG_ALL 0x7FFFFFFF
#define DBG_BREAK_ON_UNRECOGNIZED_IOCTL 0x80000000
#define DBG_ERROR 0x00000001
#define DBG_NOTIFY 0x00000002
#define DBG_WARN 0x00000003
#define DBG_INFO 0x00000004
#define DBG_VERBOSE 0x00000005
#define DBG_PAINFUL 0x00000006
extern ULONG BreakOnEntry; extern ULONG DebugComponents; extern ULONG DebugLevel;
#define DEFAULT_BREAK_ON_ENTRY FALSE
#define DEFAULT_DEBUG_LEVEL DBG_ERROR
#define DEFAULT_DEBUG_COMPONENTS DBG_ALL
#ifndef DBG_HEADER
#define DBG_HEADER "RAMDISK: "
#endif
#define DBGPRINT( _component, _level, _fmt ) { \
if ( ((DebugComponents & (_component)) != 0) && ((_level) <= DebugLevel) ) { \ KdPrint(( "%s", DBG_HEADER )); \ KdPrint( _fmt ); \ } \ }
#define UNRECOGNIZED_IOCTL_BREAK { \
if ( (DebugComponents & DBG_BREAK_ON_UNRECOGNIZED_IOCTL) != 0 ) { \ ASSERT( FALSE ); \ } \ }
#else
#define DBGPRINT( _component, _level, _fmt )
#define UNRECOGNIZED_IOCTL_BREAK
#endif // DBG
#if DBG
#define POOL_DBG 1
#endif
#if !defined(POOL_DBG)
#define ALLOCATE_POOL( _type, _size, _private ) ExAllocatePoolWithTag( (_type), (_size), RAMDISK_TAG_GENERAL )
#define FREE_POOL( _addr, _private ) ExFreePool( (_addr) )
#else
VOID RamdiskInitializePoolDebug ( VOID );
PVOID RamdiskAllocatePoolWithTag ( POOL_TYPE PoolType, SIZE_T Size, ULONG Tag, LOGICAL Private, PCHAR File, ULONG Line );
VOID RamdiskFreePool ( PVOID Address, LOGICAL Private, PCHAR File, ULONG Line );
#define ALLOCATE_POOL( _type, _size, _private ) \
RamdiskAllocatePoolWithTag( \ (_type), \ (_size), \ RAMDISK_TAG_GENERAL, \ (_private), \ __FILE__, \ __LINE__ )
#define FREE_POOL( _addr, _private ) RamdiskFreePool( (_addr), (_private), __FILE__, __LINE__ )
#endif
#endif // _DEBUG_H_
|