1*53ee8cc1Swenshuai.xi 2*53ee8cc1Swenshuai.xi #ifndef H_NSK_DBG 3*53ee8cc1Swenshuai.xi #define H_NSK_DBG 4*53ee8cc1Swenshuai.xi 5*53ee8cc1Swenshuai.xi #define NSK_DEBUG_LEVEL 0 6*53ee8cc1Swenshuai.xi #define NSK_DEBUG_RAW(x) { printf x ; } 7*53ee8cc1Swenshuai.xi 8*53ee8cc1Swenshuai.xi #define PRINT_ERROR 3 9*53ee8cc1Swenshuai.xi #define PRINT_INFO 4 10*53ee8cc1Swenshuai.xi #define PRINT_TRACE 7 11*53ee8cc1Swenshuai.xi 12*53ee8cc1Swenshuai.xi MS_U32 debug_level; 13*53ee8cc1Swenshuai.xi 14*53ee8cc1Swenshuai.xi #define NSK_PRINT(A) do { if(debug_level >= PRINT_TRACE) \ 15*53ee8cc1Swenshuai.xi { \ 16*53ee8cc1Swenshuai.xi NSK_DEBUG_RAW(A); \ 17*53ee8cc1Swenshuai.xi } } while (0) 18*53ee8cc1Swenshuai.xi 19*53ee8cc1Swenshuai.xi #define NSK_ERROR(A) do { if(debug_level >= PRINT_ERROR) \ 20*53ee8cc1Swenshuai.xi { \ 21*53ee8cc1Swenshuai.xi NSK_DEBUG_RAW(("ERROR: ")); NSK_DEBUG_RAW(A); NSK_DEBUG_RAW((" at line %d file %s\n", __LINE__, __FILE__)); \ 22*53ee8cc1Swenshuai.xi } } while (0) 23*53ee8cc1Swenshuai.xi 24*53ee8cc1Swenshuai.xi #define NSK_INFO(A) do { if(debug_level >= PRINT_INFO) \ 25*53ee8cc1Swenshuai.xi { \ 26*53ee8cc1Swenshuai.xi NSK_DEBUG_RAW(("------ %s(): ", __FUNCTION__)); NSK_DEBUG_RAW(A); \ 27*53ee8cc1Swenshuai.xi } } while (0) 28*53ee8cc1Swenshuai.xi 29*53ee8cc1Swenshuai.xi 30*53ee8cc1Swenshuai.xi #define NSK_TRACE(A) do { if(debug_level >= PRINT_TRACE) \ 31*53ee8cc1Swenshuai.xi { \ 32*53ee8cc1Swenshuai.xi NSK_DEBUG_RAW(("------ %s(): ", __FUNCTION__)); NSK_DEBUG_RAW(A); \ 33*53ee8cc1Swenshuai.xi } } while (0) 34*53ee8cc1Swenshuai.xi 35*53ee8cc1Swenshuai.xi #if 0 36*53ee8cc1Swenshuai.xi #if NSK_DEBUG_LEVEL == 0 37*53ee8cc1Swenshuai.xi #define NSK_PRINT(A) 38*53ee8cc1Swenshuai.xi #define NSK_ERROR(A) 39*53ee8cc1Swenshuai.xi #define NSK_TRACE(A) 40*53ee8cc1Swenshuai.xi #elif NSK_DEBUG_LEVEL == 1 41*53ee8cc1Swenshuai.xi #define NSK_PRINT(A) NSK_DEBUG_RAW(A) 42*53ee8cc1Swenshuai.xi #define NSK_ERROR(A) { NSK_DEBUG_RAW(("ERROR: ")); NSK_DEBUG_RAW(A); NSK_DEBUG_RAW((" at line %d file %s\n", __LINE__, __FILE__)); } 43*53ee8cc1Swenshuai.xi #define NSK_TRACE(A) 44*53ee8cc1Swenshuai.xi #else 45*53ee8cc1Swenshuai.xi #define NSK_PRINT(A) NSK_DEBUG_RAW(A) 46*53ee8cc1Swenshuai.xi #define NSK_ERROR(A) { NSK_DEBUG_RAW(("ERROR: ")); NSK_DEBUG_RAW(A); NSK_DEBUG_RAW((" at line %d file %s\n", __LINE__, __FILE__)); } 47*53ee8cc1Swenshuai.xi #define NSK_TRACE(A) { NSK_DEBUG_RAW(("------ %s(): ", __FUNCTION__)); NSK_DEBUG_RAW(A); } 48*53ee8cc1Swenshuai.xi #endif 49*53ee8cc1Swenshuai.xi 50*53ee8cc1Swenshuai.xi #define DEBUG_LEVEL 0 51*53ee8cc1Swenshuai.xi 52*53ee8cc1Swenshuai.xi #define debug(lvl, x...) do { if (lvl <= DEBUG_LEVEL) { printf(x); } } while (0) 53*53ee8cc1Swenshuai.xi #endif 54*53ee8cc1Swenshuai.xi 55*53ee8cc1Swenshuai.xi 56*53ee8cc1Swenshuai.xi 57*53ee8cc1Swenshuai.xi #endif // H_NSK_DBG 58*53ee8cc1Swenshuai.xi 59