[SRP] fix/improve log issues
[mirror/winof/.git] / ulp / srp / kernel / srp_debug.h
index 2c8b159..383d303 100644 (file)
@@ -29,9 +29,6 @@
  * $Id$\r
  */\r
 \r
-/*\r
-       $Revision$\r
-*/\r
 \r
 \r
 #ifndef _SRP_DEBUG_H_\r
 #include <complib/cl_debug.h>\r
 \r
 \r
-extern uint32_t     g_srp_dbg_lvl;\r
-extern char         g_srb_function_name[][32];\r
-extern char         g_srb_status_name[][32];\r
+extern uint32_t                g_srp_dbg_level;\r
+extern uint32_t                g_srp_dbg_flags;\r
+\r
+#if defined(EVENT_TRACING)\r
+//\r
+// Software Tracing Definitions \r
+//\r
+\r
+\r
+#define WPP_CONTROL_GUIDS \\r
+       WPP_DEFINE_CONTROL_GUID(SRPCtlGuid,(5AF07B3C,D119,4233,9C81,C07EF481CBE6),  \\r
+       WPP_DEFINE_BIT( SRP_DBG_ERROR) \\r
+       WPP_DEFINE_BIT( SRP_DBG_PNP) \\r
+       WPP_DEFINE_BIT( SRP_DBG_DATA) \\r
+       WPP_DEFINE_BIT( SRP_DBG_SESSION) \\r
+       WPP_DEFINE_BIT( SRP_DBG_DEBUG))\r
+\r
+\r
+\r
+#define WPP_LEVEL_FLAGS_ENABLED(lvl, flags) (WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level  >= lvl)\r
+#define WPP_LEVEL_FLAGS_LOGGER(lvl,flags) WPP_LEVEL_LOGGER(flags)\r
+#define WPP_FLAG_ENABLED(flags)(WPP_LEVEL_ENABLED(flags) && WPP_CONTROL(WPP_BIT_ ## flags).Level  >= TRACE_LEVEL_VERBOSE)\r
+#define WPP_FLAG_LOGGER(flags) WPP_LEVEL_LOGGER(flags)\r
+\r
+\r
+// begin_wpp config\r
+// SRP_ENTER(FLAG);\r
+// SRP_EXIT(FLAG);\r
+// USEPREFIX(SRP_PRINT, "%!STDPREFIX! [SRP] :%!FUNC!() :");\r
+// USEPREFIX(SRP_PRINT_EXIT, "%!STDPREFIX! [SRP] :%!FUNC!() :");\r
+// USESUFFIX(SRP_ENTER, " [SRP] :%!FUNC!():[");\r
+// USESUFFIX(SRP_EXIT, " [SRP] :%!FUNC!():]");\r
+// end_wpp\r
+\r
+\r
+#else\r
+\r
+\r
+#include <evntrace.h>\r
+\r
+/*\r
+ * Debug macros\r
+ */\r
+\r
 \r
-/* Debug message category */\r
-#define SRP_DBG_PNP         (1 << 1)\r
-#define SRP_DBG_DEBUG       (1 << 2)\r
-\r
-/* Debug message types. */\r
-#define SRP_DBG_FUNC        (1 << 28)\r
-#define SRP_DBG_VERBOSE     (1 << 29)\r
-#define SRP_DBG_WARN        (1 << 30)\r
-#define SRP_DBG_ERROR       CL_DBG_ERROR\r
-#define SRP_DBG_ALL         CL_DBG_ALL\r
-\r
-#define SRP_ENTER( lvl )            \\r
-       CL_ENTER( (lvl), g_srp_dbg_lvl )\r
-//     CL_ENTER( (lvl | SRP_DBG_FUNC), g_srp_dbg_lvl )\r
-#define SRP_EXIT( lvl )             \\r
-       CL_EXIT( (lvl), g_srp_dbg_lvl )\r
-//     CL_EXIT( (lvl | SRP_DBG_FUNC), g_srp_dbg_lvl )\r
-#define SRP_TRACE( lvl, msg )       \\r
-       CL_TRACE( (lvl), g_srp_dbg_lvl, msg )\r
-#define SRP_TRACE_EXIT( lvl, msg )  \\r
-       CL_TRACE_EXIT( (lvl), g_srp_dbg_lvl, msg )\r
-#define SRP_PRINT( lvl, msg )       \\r
-       CL_PRINT( (lvl), g_srp_dbg_lvl, msg )\r
+#define SRP_DBG_ERR                    (1 << 0)\r
+#define SRP_DBG_PNP                    (1 << 1)\r
+#define SRP_DBG_DATA           (1 << 2)\r
+#define SRP_DBG_SESSION        (1 << 3)\r
+#define SRP_DBG_DEBUG          (1 << 4)\r
 \r
+#define SRP_DBG_ERROR  (CL_DBG_ERROR | SRP_DBG_ERR)\r
+#define SRP_DBG_ALL    CL_DBG_ALL\r
+\r
+#if DBG\r
+\r
+// assignment of _level_ is need to to overcome warning C4127\r
+#define SRP_PRINT(_level_,_flag_,_msg_) \\r
+       { \\r
+               if( g_srp_dbg_level >= (_level_) ) \\r
+                       CL_TRACE( _flag_, g_srp_dbg_flags, _msg_ ); \\r
+       }\r
+\r
+#define SRP_PRINT_EXIT(_level_,_flag_,_msg_) \\r
+       { \\r
+               if( g_srp_dbg_level >= (_level_) ) \\r
+                       CL_TRACE( _flag_, g_srp_dbg_flags, _msg_ );\\r
+               SRP_EXIT(_flag_);\\r
+       }\r
+\r
+#define SRP_ENTER(_flag_) \\r
+       { \\r
+               if( g_srp_dbg_level >= TRACE_LEVEL_VERBOSE ) \\r
+                       CL_ENTER( _flag_, g_srp_dbg_flags ); \\r
+       }\r
+\r
+#define SRP_EXIT(_flag_)\\r
+       { \\r
+               if( g_srp_dbg_level >= TRACE_LEVEL_VERBOSE ) \\r
+                       CL_EXIT( _flag_, g_srp_dbg_flags ); \\r
+       }\r
+\r
+\r
+#else\r
+\r
+#define SRP_PRINT(lvl, flags, msg)\r
+\r
+#define SRP_PRINT_EXIT(_level_,_flag_,_msg_)\r
+\r
+#define SRP_ENTER(_flag_)\r
+\r
+#define SRP_EXIT(_flag_)\r
+\r
+\r
+#endif\r
+\r
+\r
+#endif //EVENT_TRACING\r
+\r
+extern char         g_srb_function_name[][32];\r
+extern char         g_srb_status_name[][32];\r
+extern char         g_srb_scsi_status_name[][32];\r
 \r
 #endif  /* _SRP_DEBUG_H_ */\r