freeotfedebug.h
来自「文件驱动加密,功能强大,可产生加密分区,支持AES,MD2,MD4,MD5MD2」· C头文件 代码 · 共 224 行
H
224 行
// Description:
// By Sarah Dean
// Email: sdean12@sdean12.org
// WWW: http://www.FreeOTFE.org/
//
// -----------------------------------------------------------------------------
//
#ifndef _FreeOTFEDebug_H
#define _FreeOTFEDebug_H 1
//#define DBG 0
// =========================================================================
// Debug related
#if DBG
// For checked kernels, define a macro to print out informational
// messages.
//
// Used for errors
#define DEBUGLEV_ERROR ((ULONG)0x00000001)
// Used for warnings
#define DEBUGLEV_WARN ((ULONG)0x00000002)
// Used for information
#define DEBUGLEV_INFO ((ULONG)0x00000004)
// Used when entering a function
#define DEBUGLEV_ENTER ((ULONG)0x00000008)
// Used when exiting a function
#define DEBUGLEV_EXIT ((ULONG)0x00000010)
// Used for errors
#define DEBUGLEV_VERBOSE_ERROR ((ULONG)0x00001000)
// Used for warnings
#define DEBUGLEV_VERBOSE_WARN ((ULONG)0x00002000)
// Used for information
#define DEBUGLEV_VERBOSE_INFO ((ULONG)0x00004000)
// Used when entering a function
#define DEBUGLEV_VERBOSE_ENTER ((ULONG)0x00008000)
// Used when exiting a function
#define DEBUGLEV_VERBOSE_EXIT ((ULONG)0x00010000)
#ifdef WINCE
#include <windef.h>
// File from which the debug level will be read from
#define DEBUGLEVEL_FILE TEXT("FreeOTFE4PDADebugLevel.txt")
void SendComm(WCHAR* AZ, ...);
#endif
extern int FreeOTFEDebugLevel;
extern int FreeOTFEDebugIndent;
extern int FreeOTFEDebugLoopTmp;
#if WINCE
// WinCE (Win32) debug
// From dbgapi.h:
//#define DEBUGMSG(cond,printf_exp) \
// ((void)((cond)?(NKDbgPrintfW printf_exp),1:0))
#define DEBUG_SEND NKDbgPrintfW
//#define DEBUG_SEND SendComm
//#define DEBUG_FILE TEXT("\\Storage card\\__OUTPUT.txt")
#define DEBUG_FILE TEXT("\\My Documents\\__OUTPUT_PDA_driver.txt")
//#define DEBUG_FILE TEXT("\\My Documents\\__OUTPUT_PDA_gui.txt")
#else
// Kernel debug
#define DEBUG_SEND DbgPrint
#endif
#define DEBUGOUT(DRIVER,LEVEL,STRING) \
if (FreeOTFEDebugLevel & (LEVEL)) \
{ \
DEBUG_SEND(DRIVER); \
DEBUG_SEND((TEXT(": "))); \
if ( \
(LEVEL & DEBUGLEV_VERBOSE_ERROR) || \
(LEVEL & DEBUGLEV_VERBOSE_WARN) || \
(LEVEL & DEBUGLEV_VERBOSE_INFO) || \
(LEVEL & DEBUGLEV_VERBOSE_ENTER) || \
(LEVEL & DEBUGLEV_VERBOSE_EXIT) \
) \
{ \
DEBUG_SEND((TEXT("(v)"))); \
} \
if ( \
(LEVEL & DEBUGLEV_EXIT) || \
(LEVEL & DEBUGLEV_VERBOSE_EXIT) \
) \
{ \
FreeOTFEDebugIndent--; \
if (FreeOTFEDebugIndent < 0) \
{ \
FreeOTFEDebugIndent = 0; \
} \
} \
for (FreeOTFEDebugLoopTmp = 0; \
FreeOTFEDebugLoopTmp<=FreeOTFEDebugIndent; \
FreeOTFEDebugLoopTmp++) \
{ \
DEBUG_SEND((TEXT(" "))); \
} \
if ( \
(LEVEL & DEBUGLEV_ERROR) || \
(LEVEL & DEBUGLEV_VERBOSE_ERROR) \
) \
{ \
DEBUG_SEND((TEXT("ERROR: "))); \
} \
else if ( \
(LEVEL & DEBUGLEV_WARN) || \
(LEVEL & DEBUGLEV_VERBOSE_WARN) \
) \
{ \
DEBUG_SEND((TEXT("WARNING: "))); \
} \
else if ( \
(LEVEL & DEBUGLEV_ENTER) || \
(LEVEL & DEBUGLEV_VERBOSE_ENTER) \
) \
{ \
DEBUG_SEND((TEXT(">>> "))); \
FreeOTFEDebugIndent++; \
} \
else if ( \
(LEVEL & DEBUGLEV_EXIT) || \
(LEVEL & DEBUGLEV_VERBOSE_EXIT) \
) \
{ \
DEBUG_SEND((TEXT("<<< "))); \
} \
\
DEBUG_SEND STRING; \
}
// Notice that the last "DEBUG_SEND" doesn't have brackets
#define DEBUGOUTGUI(LEVEL,STRING) \
DEBUGOUT((TEXT("FreeOTFEGUI")), LEVEL, STRING)
// SendComm STRING
#ifdef WINCE
#define DEBUGOUTMAINDRV(LEVEL,STRING) \
SendComm STRING
#else
#define DEBUGOUTMAINDRV(LEVEL,STRING) \
DEBUGOUT((TEXT("FreeOTFE")), LEVEL, STRING)
#endif
// MAC debug disabled as only needed when debugging this functionality
//#define DEBUGOUTMACDRV(LEVEL,STRING) \
// DEBUGOUT(("FreeOTFEMAC"), LEVEL, STRING)
#define DEBUGOUTMACDRV(LEVEL,STRING) ((void)0)
// KDF debug disabled as only needed when debugging this functionality
//#define DEBUGOUTKDFDRV(LEVEL,STRING) \
// DEBUGOUT(("FreeOTFEKDF"), LEVEL, STRING)
#define DEBUGOUTKDFDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTLIB(LEVEL,STRING) \
DEBUGOUT((TEXT("FreeOTFElib")), LEVEL, STRING)
// SendComm STRING
#define DEBUGOUTCYPHERDRV(LEVEL,STRING) \
((void)0)
// DEBUGOUT((TEXT("FreeOTFECypherDrv")), LEVEL, STRING)
#define DEBUGOUTCYPHERIMPL(LEVEL,STRING) \
((void)0)
// DEBUGOUT((TEXT("FreeOTFECypherImpl")), LEVEL, STRING)
#define DEBUGOUTHASHDRV(LEVEL,STRING) \
((void)0)
// DEBUGOUT((TEXT("FreeOTFEHashDrv")), LEVEL, STRING)
#define DEBUGOUTHASHIMPL(LEVEL,STRING) \
((void)0)
// DEBUGOUT((TEXT("FreeOTFEHashImpl")), LEVEL, STRING)
#define DEBUGOUTIVDRV(LEVEL,STRING) \
((void)0)
// DEBUGOUT((TEXT("FreeOTFEIVDrv")), LEVEL, STRING)
#define DEBUGOUTIVIMPL(LEVEL,STRING) \
((void)0)
// DEBUGOUT((TEXT("FreeOTFEIVImpl")), LEVEL, STRING)
#define DEBUGOUTDRV(LEVEL,STRING) \
DEBUGOUT((TEXT("FreeOTFEdrv")), LEVEL, STRING)
// SendComm STRING
#else
// Debug disabled; stub out all debug output...
#define DEBUGOUT(DRIVER,LEVEL,STRING) ((void)0)
#define DEBUGOUTGUI(LEVEL,STRING) ((void)0)
#define DEBUGOUTMAINDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTMACDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTKDFDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTLIB(LEVEL,STRING) ((void)0)
#define DEBUGOUTCYPHERDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTCYPHERIMPL(LEVEL,STRING) ((void)0)
#define DEBUGOUTHASHDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTHASHIMPL(LEVEL,STRING) ((void)0)
#define DEBUGOUTIVDRV(LEVEL,STRING) ((void)0)
#define DEBUGOUTIVIMPL(LEVEL,STRING) ((void)0)
#define DEBUGOUTDRV(LEVEL,STRING) ((void)0)
#endif
// =========================================================================
// =========================================================================
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?