diff fuhtark_test/include/ddk/ksdebug.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/fuhtark_test/include/ddk/ksdebug.h	Wed Nov 26 21:36:48 2025 +0700
@@ -0,0 +1,116 @@
+
+#if !defined(_KSDEBUG_)
+#define _KSDEBUG_
+
+#if !defined(REMIND)
+#define QUOTE(x) #x
+#define QQUOTE(y) QUOTE(y)
+#define REMIND(str) __FILE__ "(" QQUOTE(__LINE__) ") : " str
+#endif
+
+#if defined(__cplusplus)
+extern "C" {
+#endif
+#if defined(_NTDDK_)
+
+#define DEBUGLVL_ERROR   0
+#define DEBUGLVL_TERSE   1
+#define DEBUGLVL_VERBOSE 2
+#define DEBUGLVL_BLAB    3
+
+
+
+#if (DBG)
+
+#if defined(IRPMJFUNCDESC)
+static const PCHAR IrpMjFuncDesc[] =
+{
+ "IRP_MJ_CREATE",
+ "IRP_MJ_CREATE_NAMED_PIPE",
+ "IRP_MJ_CLOSE",
+ "IRP_MJ_READ",
+ "IRP_MJ_WRITE",
+ "IRP_MJ_QUERY_INFORMATION",
+ "IRP_MJ_SET_INFORMATION",
+ "IRP_MJ_QUERY_EA",
+ "IRP_MJ_SET_EA",
+ "IRP_MJ_FLUSH_BUFFERS",
+ "IRP_MJ_QUERY_VOLUME_INFORMATION",
+ "IRP_MJ_SET_VOLUME_INFORMATION",
+ "IRP_MJ_DIRECTORY_CONTROL",
+ "IRP_MJ_FILE_SYSTEM_CONTROL",
+ "IRP_MJ_DEVICE_CONTROL",
+ "IRP_MJ_INTERNAL_DEVICE_CONTROL",
+ "IRP_MJ_SHUTDOWN",
+ "IRP_MJ_LOCK_CONTROL",
+ "IRP_MJ_CLEANUP",
+ "IRP_MJ_CREATE_MAILSLOT",
+ "IRP_MJ_QUERY_SECURITY",
+ "IRP_MJ_SET_SECURITY",
+ "IRP_MJ_SET_POWER",
+ "IRP_MJ_QUERY_POWER"
+};
+#endif
+#endif
+
+#if (DBG)
+  #if !defined( DEBUG_LEVEL )
+      #if defined( DEBUG_VARIABLE )
+          #if defined( KSDEBUG_INIT )
+              ULONG DEBUG_VARIABLE = DEBUGLVL_TERSE;
+          #else
+              extern ULONG DEBUG_VARIABLE;
+          #endif
+      #else
+          #define DEBUG_VARIABLE DEBUGLVL_TERSE
+      #endif
+  #else
+      #if defined( DEBUG_VARIABLE )
+          #if defined( KSDEBUG_INIT )
+              ULONG DEBUG_VARIABLE = DEBUG_LEVEL;
+          #else
+              extern ULONG DEBUG_VARIABLE;
+          #endif
+      #else
+          #define DEBUG_VARIABLE DEBUG_LEVEL
+      #endif
+  #endif
+
+   #define _DbgPrintFEx(component, lvl, strings) \
+   { \
+    if ((lvl) <= DEBUG_VARIABLE)\
+    {\
+        DbgPrintEx(component, lvl, STR_MODULENAME);\
+        DbgPrintEx(component, lvl, strings);\
+        DbgPrintEx(component, lvl, "\n");\
+        if ((lvl) == DEBUGLVL_ERROR)\
+        {\
+            DbgBreakPoint();\
+        } \
+    } \
+   }
+
+   #define _DbgPrintF(lvl, strings)\
+   { \
+    if (((lvl)==DEBUG_VARIABLE) || (lvl < DEBUG_VARIABLE))\
+    {\
+      DbgPrint(STR_MODULENAME);\
+      DbgPrint##strings;\
+      DbgPrint("\n");\
+      if ((lvl) == DEBUGLVL_ERROR)\
+      {\
+         DbgBreakPoint();\
+      } \
+    } \
+   }
+#else
+  #define  _DbgPrintF(lvl, strings)
+  #define  _DbgPrintFEx(component, lvl, strings)
+#endif
+#endif
+
+
+#if defined(__cplusplus)
+}
+#endif
+#endif