24#define DPRINT_WARNING 1
25#define DPRINT_MEMORY 2
26#define DPRINT_FILESYSTEM 3
27#define DPRINT_INIFILE 4
31#define DPRINT_REGISTRY 8
32#define DPRINT_REACTOS 9
33#define DPRINT_LINUX 10
34#define DPRINT_HWDETECT 11
35#define DPRINT_WINDOWS 12
36#define DPRINT_PELOADER 13
37#define DPRINT_SCSIPORT 14
39#define DBG_CHANNELS_COUNT 16
41#if DBG && !defined(_M_ARM)
51 #define FIXME_LEVEL 0x2
52 #define WARN_LEVEL 0x4
53 #define TRACE_LEVEL 0x8
55 #define MAX_LEVEL ERR_LEVEL | FIXME_LEVEL | WARN_LEVEL | TRACE_LEVEL
57 #define DBG_DEFAULT_CHANNEL(ch) static int DbgDefaultChannel = DPRINT_##ch
59 #define ERR_CH(ch, fmt, ...) DbgPrint2(DPRINT_##ch, ERR_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
60 #define FIXME_CH(ch, fmt, ...) DbgPrint2(DPRINT_##ch, FIXME_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
61 #define WARN_CH(ch, fmt, ...) DbgPrint2(DPRINT_##ch, WARN_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
62 #define TRACE_CH(ch, fmt, ...) DbgPrint2(DPRINT_##ch, TRACE_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
64 #define ERR(fmt, ...) DbgPrint2(DbgDefaultChannel, ERR_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
65 #define FIXME(fmt, ...) DbgPrint2(DbgDefaultChannel, FIXME_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
66 #define WARN(fmt, ...) DbgPrint2(DbgDefaultChannel, WARN_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
67 #define TRACE(fmt, ...) DbgPrint2(DbgDefaultChannel, TRACE_LEVEL, __FILE__, __LINE__, fmt, ##__VA_ARGS__)
69 #define UNIMPLEMENTED DbgPrint("(%s:%d) WARNING: %s is UNIMPLEMENTED!\n", __FILE__, __LINE__, __FUNCTION__);
71 #define BugCheck(fmt, ...) do { DbgPrint("(%s:%d) Fatal Error in %s: " fmt, __FILE__, __LINE__, __FUNCTION__, ##__VA_ARGS__); for (;;); } while (0)
72 #define DbgDumpBuffer(mask, buf, len) DebugDumpBuffer(mask, buf, len)
85#define BREAKPOINT() __asm__ ("int $3");
86void INSTRUCTION_BREAKPOINT1(
unsigned long addr);
87void MEMORY_READWRITE_BREAKPOINT1(
unsigned long addr);
88void MEMORY_WRITE_BREAKPOINT1(
unsigned long addr);
89void INSTRUCTION_BREAKPOINT2(
unsigned long addr);
90void MEMORY_READWRITE_BREAKPOINT2(
unsigned long addr);
91void MEMORY_WRITE_BREAKPOINT2(
unsigned long addr);
92void INSTRUCTION_BREAKPOINT3(
unsigned long addr);
93void MEMORY_READWRITE_BREAKPOINT3(
unsigned long addr);
94void MEMORY_WRITE_BREAKPOINT3(
unsigned long addr);
95void INSTRUCTION_BREAKPOINT4(
unsigned long addr);
96void MEMORY_READWRITE_BREAKPOINT4(
unsigned long addr);
97void MEMORY_WRITE_BREAKPOINT4(
unsigned long addr);
103 #define DBG_DEFAULT_CHANNEL(ch)
105 #define ERR_CH(ch, fmt, ...)
106 #define FIXME_CH(ch, fmt, ...)
107 #define WARN_CH(ch, fmt, ...)
108 #define TRACE_CH(ch, fmt, ...)
110 #define ERR(fmt, ...)
111 #define FIXME(fmt, ...)
112 #define WARN(fmt, ...)
113 #define TRACE(fmt, ...)
115 #define UNIMPLEMENTED
117 #define DebugInit(FrLdrSectionId)
118 #define BugCheck(fmt, ...)
119 #define DbgDumpBuffer(mask, buf, len)
120 #define DebugDisableScreenPort()
121 #define DbgParseDebugChannels(val)
@ FREELDR_IMAGE_CORRUPTION
@ MISSING_HARDWARE_REQUIREMENTS
ULONG_PTR BugCheckInfo[5]
void NTAPI FrLdrBugCheck(ULONG BugCode)
#define DebugInit(FrLdrSectionId)
#define DbgParseDebugChannels(val)
VOID FrLdrBugCheckWithMessage(ULONG BugCode, PCHAR File, ULONG Line, PSTR Format,...)
#define DebugDisableScreenPort()
GLenum const GLvoid * addr
_In_ ULONG _In_ ULONG _In_ ULONG Length
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level