ReactOS
0.4.15-dev-1638-gc0caa5c
debug.h
Go to the documentation of this file.
1
/*
2
* COPYRIGHT: See COPYING in the top level directory
3
* PROJECT: ReactOS WinSock 2 Helper DLL for TCP/IP
4
* FILE: include/debug.h
5
* PURPOSE: Debugging support macros
6
* DEFINES: DBG - Enable debug output
7
* NASSERT - Disable assertions
8
*/
9
#ifndef __DEBUG_H
10
#define __DEBUG_H
11
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
17
18
#define DEBUG_ULTRA 0xFFFFFFFF
19
20
#if DBG
21
22
extern
DWORD
DebugTraceLevel
;
23
24
#define WSH_DbgPrint(_t_, _x_) \
25
if ((_t_ > NORMAL_MASK) \
26
? (DebugTraceLevel & _t_) > NORMAL_MASK \
27
: (DebugTraceLevel & NORMAL_MASK) >= _t_) { \
28
DbgPrint("(%hS:%d)(%hS) ", __FILE__, __LINE__, __FUNCTION__); \
29
DbgPrint _x_; \
30
}
31
32
#ifdef ASSERT
33
#undef ASSERT
34
#endif
35
36
#ifdef NASSERT
37
#define ASSERT(x)
38
#else
/* NASSERT */
39
#define ASSERT(x) if (!(x)) { WSH_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); ExitProcess(0); }
40
#endif
/* NASSERT */
41
42
#else
/* DBG */
43
44
#define WSH_DbgPrint(_t_, _x_)
45
46
#undef ASSERT
47
#define ASSERT(x)
48
49
#endif
/* DBG */
50
51
52
#undef assert
53
#define assert(x) ASSERT(x)
54
#define assert_irql(x) ASSERT_IRQL(x)
55
56
57
#define UNIMPLEMENTED \
58
WSH_DbgPrint(MIN_TRACE, ("(%s:%d)(%s) is unimplemented, \
59
please try again later.\n", __FILE__, __LINE__, __FUNCTION__));
60
61
#define CHECKPOINT \
62
WSH_DbgPrint(MIN_TRACE, ("\n"));
63
64
#define CP CHECKPOINT
65
66
#endif
/* __DEBUG_H */
67
68
/* EOF */
DebugTraceLevel
ULONG DebugTraceLevel
Definition:
ndis.c:13
DWORD
unsigned long DWORD
Definition:
ntddk_ex.h:95
dll
win32
wshirda
debug.h
Generated on Tue Jan 26 2021 06:03:03 for ReactOS by
1.8.15