sys: add NtStatusSym()

This commit is contained in:
Bill Zissimopoulos 2015-11-17 16:07:46 -08:00
parent ca86b7d6c5
commit ffe75d5242
5 changed files with 2333 additions and 1 deletions

View File

@ -121,6 +121,7 @@
<ClCompile Include="..\..\src\sys\cleanup.c" />
<ClCompile Include="..\..\src\sys\close.c" />
<ClCompile Include="..\..\src\sys\create.c" />
<ClCompile Include="..\..\src\sys\debug.c" />
<ClCompile Include="..\..\src\sys\devctrl.c" />
<ClCompile Include="..\..\src\sys\dirctrl.c" />
<ClCompile Include="..\..\src\sys\driver.c" />

View File

@ -24,6 +24,9 @@
<ClCompile Include="..\..\src\sys\create.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sys\debug.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\sys\devctrl.c">
<Filter>Source Files</Filter>
</ClCompile>

22
src/sys/debug.c Normal file
View File

@ -0,0 +1,22 @@
/**
* @file sys/debug.c
*
* @copyright 2015 Bill Zissimopoulos
*/
#include <sys/driver.h>
#if DBG
const char *NtStatusSym(NTSTATUS Status)
{
switch (Status)
{
#define SYM(x) case x: return #x;
/* cygwin: sed -n '/_WAIT_0/!s/^#define[ \t]*\(STATUS_[^ \t]*\).*NTSTATUS.*$/SYM(\1)/p' ntstatus.h >ntstatus.i */
#include "ntstatus.i"
#undef SYM
default:
return "UNKNOWN";
}
}
#endif

View File

@ -30,6 +30,7 @@
#define FSP_DEBUGLOG(rfmt, r, fmt, ...) ((void)0)
#endif
#if DBG
const char *NtStatusSym(NTSTATUS Status);
#define FSP_ENTER_(...) \
__VA_ARGS__; \
try \
@ -54,7 +55,7 @@
#define FSP_ENTER(...) \
NTSTATUS Result = STATUS_SUCCESS; FSP_ENTER_(__VA_ARGS__)
#define FSP_LEAVE(fmt, ...) \
FSP_LEAVE_(" = %#lx", (long)Result, fmt, __VA_ARGS__); return Result
FSP_LEAVE_(" = %s", NtStatusSym(Result), fmt, __VA_ARGS__); return Result
#define FSP_ENTER_BOOL(...) \
BOOLEAN Result = TRUE; FSP_ENTER_(__VA_ARGS__)
#define FSP_LEAVE_BOOL(fmt, ...) \

2305
src/sys/ntstatus.i Normal file

File diff suppressed because it is too large Load Diff