69 lines
1.2 KiB
C
69 lines
1.2 KiB
C
/****************************************************************************/
|
|
// trace.h
|
|
//
|
|
// Tracing definitions. See trace.c for other information.
|
|
//
|
|
// Copyright (C) 1999-2000 Microsoft Corporation
|
|
/****************************************************************************/
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
#if DBG || defined(_DEBUG)
|
|
|
|
#include <stdio.h>
|
|
|
|
|
|
// Zones. Up to 32 zones can be defined, these are predefined for general use.
|
|
#define Z_ASSERT 0x01
|
|
#define Z_ERR 0x02
|
|
#define Z_WRN 0x04
|
|
#define Z_TRC1 0x08
|
|
#define Z_TRC2 0x10
|
|
|
|
// Defined in msmcs.c.
|
|
extern char TB[1024];
|
|
extern UINT32 g_TraceMask;
|
|
void TracePrintZ(UINT32, char *);
|
|
|
|
// Error, warning, trace level 1, and trace level 2 definitions.
|
|
#define ERR(X) TRCZ(Z_ERR, X)
|
|
#define WRN(X) TRCZ(Z_WRN, X)
|
|
#define TRC1(X) TRCZ(Z_TRC1, X)
|
|
#define TRC2(X) TRCZ(Z_TRC2, X)
|
|
#define ASSERT(COND, X) \
|
|
{ \
|
|
if (!(COND)) { \
|
|
TRCZ(Z_ASSERT, X); \
|
|
DebugBreak(); \
|
|
} \
|
|
}
|
|
|
|
#define TRCZ(Z, X) \
|
|
{ \
|
|
if (g_TraceMask & (Z)) { \
|
|
sprintf X; \
|
|
TracePrintZ((Z), TB); \
|
|
} \
|
|
}
|
|
|
|
|
|
#else // DBG
|
|
|
|
#define ERR(X)
|
|
#define WRN(X)
|
|
#define TRC1(X)
|
|
#define TRC2(X)
|
|
#define ASSERT(COND, X)
|
|
|
|
#endif // DBG
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|