Reactos
at listview 100 lines 2.4 kB view raw
1/* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS TCP/IP protocol driver 4 * FILE: include/debug.h 5 * PURPOSE: Debugging support macros 6 * DEFINES: DBG - Enable debug output 7 * NASSERT - Disable assertions 8 */ 9 10#pragma once 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_CHECK 0x00000100 19#define DEBUG_MEMORY 0x00000200 20#define DEBUG_PBUFFER 0x00000400 21#define DEBUG_IRP 0x00000800 22#define DEBUG_REFCOUNT 0x00001000 23#define DEBUG_ADDRFILE 0x00002000 24#define DEBUG_DATALINK 0x00004000 25#define DEBUG_ARP 0x00008000 26#define DEBUG_IP 0x00010000 27#define DEBUG_UDP 0x00020000 28#define DEBUG_TCP 0x00040000 29#define DEBUG_ICMP 0x00080000 30#define DEBUG_ROUTER 0x00100000 31#define DEBUG_RCACHE 0x00200000 32#define DEBUG_NCACHE 0x00400000 33#define DEBUG_CPOINT 0x00800000 34#define DEBUG_ULTRA 0xFFFFFFFF 35 36#if DBG 37 38extern DWORD DebugTraceLevel; 39 40#ifdef _MSC_VER 41 42#define LA_DbgPrint(_t_, _x_) \ 43 if ((_t_ > NORMAL_MASK) \ 44 ? (DebugTraceLevel & _t_) > NORMAL_MASK \ 45 : (DebugTraceLevel & NORMAL_MASK) >= _t_) { \ 46 DbgPrint("(%s:%d) ", __FILE__, __LINE__); \ 47 DbgPrint _x_ ; \ 48 } 49 50#else /* _MSC_VER */ 51 52#define LA_DbgPrint(_t_, _x_) \ 53 if ((_t_ > NORMAL_MASK) \ 54 ? (DebugTraceLevel & _t_) > NORMAL_MASK \ 55 : (DebugTraceLevel & NORMAL_MASK) >= _t_) { \ 56 DbgPrint("(%s:%d)(%s) ", __FILE__, __LINE__, __FUNCTION__); \ 57 DbgPrint _x_ ; \ 58 } 59 60#endif /* _MSC_VER */ 61 62#define ASSERT_IRQL(x) ASSERT(KeGetCurrentIrql() <= (x)) 63 64#else /* DBG */ 65 66#define LA_DbgPrint(_t_, _x_) 67 68#if 0 69#define ASSERT_IRQL(x) 70#define ASSERT(x) 71#endif 72 73#endif /* DBG */ 74 75 76#define assert(x) ASSERT(x) 77#define assert_irql(x) ASSERT_IRQL(x) 78 79 80#ifdef _MSC_VER 81 82#define UNIMPLEMENTED \ 83 LA_DbgPrint(MIN_TRACE, ("The function at %s:%d is unimplemented, \ 84 but come back another day.\n", __FILE__, __LINE__)); 85 86#else /* _MSC_VER */ 87 88#define UNIMPLEMENTED \ 89 LA_DbgPrint(MIN_TRACE, ("(%s:%d)(%s) is unimplemented, \ 90 but come back another day.\n", __FILE__, __LINE__, __FUNCTION__)); 91 92#endif /* _MSC_VER */ 93 94 95#define CHECKPOINT \ 96 do { LA_DbgPrint(DEBUG_CHECK, ("(%s:%d)\n", __FILE__, __LINE__)); } while(0); 97 98#define CP CHECKPOINT 99 100#include <memtrack.h>