Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

100 lines
2.3 KiB

/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
DfsAssert.h
Abstract:
This module declares the prototypes and global data used by the special RDBSS assert facilties.
Author:
Rohan Phillips [Rohanp] 18-Jan-2001
Revision History:
Notes:
--*/
#ifndef _DFSASSERT_INCLUDED_
#define _DFSASSERT_INCLUDED_
VOID DfsDbgBreakPoint(PCHAR FileName, ULONG LineNumber);
//only do this is my routine is the one of interest.......
#ifdef DFS_ASSERTS
#if !DBG
//here, ntifs will have already defined the asserts away..........
// so, we just put them back.....this code is duplicated from ntifs.h
#undef ASSERT
#define ASSERT( exp ) \
if (!(exp)) \
DfsDbgBreakPoint(__FILE__,__LINE__)
#undef ASSERTMSG
#define ASSERTMSG( msg, exp ) \
if (!(exp)) \
DfsDbgBreakPoint(__FILE__,__LINE__)
#endif //!DBG
//this will make asserts go to our routine
#define RtlAssert DfsAssert
VOID
DfsAssert(
IN PVOID FailedAssertion,
IN PVOID FileName,
IN ULONG LineNumber,
IN PCHAR Message OPTIONAL
);
#endif //ifdef DFS_ASSERTS
#if DBG
ULONG DfsDebugVector = 0;
#define DFS_TRACE_ERROR 0x00000001
#define DFS_TRACE_DEBUG 0x00000002
#define DFS_TRACE_CONTEXT 0x00000004
#define DFS_TRACE_DETAIL 0x00000008
#define DFS_TRACE_ENTRYEXIT 0x00000010
#define DFS_TRACE_WARNING 0x00000020
#define DFS_TRACE_ALL 0xffffffff
#define DfsDbgTrace(_x_, _y_) { \
if (_x_ & DfsDebugVector) { \
DbgPrint _y_; \
} \
}
#else
#define DfsDbgTrace(_x_, _y_)
#endif
#define DfsTraceEnter(func) \
PCHAR __pszFunction = func; \
DfsDbgTrace(DFS_TRACE_ENTRYEXIT,("Entering %s\n",__pszFunction));
#define DfsTraceLeave(status) \
DfsDbgTrace(DFS_TRACE_ENTRYEXIT,("Leaving %s Status -> %08lx\n",__pszFunction,status))
#define RxDbgTrace(x, y, z)
#define CHECK_STATUS( status ) if( (status) == g_CheckStatus) \
{ DbgBreakPoint() ; }
#endif // _DFSASSERT_INCLUDED_