12#define NORMAL_MASK 0x000000FF
13#define SPECIAL_MASK 0xFFFFFF00
14#define MIN_TRACE 0x00000001
15#define MID_TRACE 0x00000002
16#define MAX_TRACE 0x00000003
18#define DEBUG_ULTRA 0xFFFFFFFF
30#define TDI_DbgPrint(_t_, _x_) \
31 if ((_t_ > NORMAL_MASK) \
32 ? (DebugTraceLevel & _t_) > NORMAL_MASK \
33 : (DebugTraceLevel & NORMAL_MASK) >= _t_) { \
34 DbgPrint("(%s:%d) ", __FILE__, __LINE__); \
40#define TDI_DbgPrint(_t_, _x_) \
41 if ((_t_ > NORMAL_MASK) \
42 ? (DebugTraceLevel & _t_) > NORMAL_MASK \
43 : (DebugTraceLevel & NORMAL_MASK) >= _t_) { \
44 DbgPrint("(%s:%d)(%s) ", __FILE__, __LINE__, __FUNCTION__); \
53#define ASSERT(x) if (!(x)) { TDI_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); KeBugCheck(0); }
55#define ASSERT_IRQL(x) ASSERT(KeGetCurrentIrql() <= (x))
59#define TDI_DbgPrint(_t_, _x_)
67#define assert(x) ASSERT(x)
68#define assert_irql(x) ASSERT_IRQL(x)
73#define UNIMPLEMENTED \
74 TDI_DbgPrint(MIN_TRACE, ("The function at %s:%d is unimplemented, \
75 but come back another day.\n", __FILE__, __LINE__));
79#define UNIMPLEMENTED \
80 TDI_DbgPrint(MIN_TRACE, ("%s at %s:%d is unimplemented, \
81 but come back another day.\n", __FUNCTION__, __FILE__, __LINE__));
87do { TDI_DbgPrint(MIN_TRACE, ("%s:%d\n", __FILE__, __LINE__)); } while(0);