41 #ifndef _CL_DEBUG_API_H_
42 #define _CL_DEBUG_API_H_
63 int backtrace(
void **buffer,
int count);
64 char **backtrace_symbols(
void *
const *array,
int size);
65 void backtrace_symbols_fd(
void *
const *array,
int size,
int fd);
80 #define CL_DEBUG_CRITICAL 3
85 #define CL_DEBUG_ERROR 4
90 #define CL_DEBUG_WARN 5
95 #define CL_DEBUG_INFO 7
100 #define CL_DEBUG_TRACE 0xc
107 #if !defined(CL_DEBUG_LEVEL_THRESHOLD)
108 #define CL_DEBUG_LEVEL_THRESHOLD CL_DEBUG_ERROR
126 #define CL_DEBUG_SP(...) __VA_ARGS__
131 clDebugTimeStrMaxLen = 128
134 #define CL_DEBUG_PRINT(x,y) \
138 if(x <= CL_DEBUG_LEVEL_THRESHOLD) \
140 snprintf(__str,256,CL_DEBUG_SP y); \
141 clLog((ClLogSeverityT)x, CL_LOG_AREA_UNSPECIFIED, CL_LOG_CONTEXT_UNSPECIFIED,\
146 snprintf(__str,256,CL_DEBUG_SP y); \
147 clDbgMsg((int)getpid(),__FILE__, __LINE__, __FUNCTION__,x,__str); \
151 #define CL_DEBUG_PRINT_CONSOLE(x,y) \
155 if(x <= CL_DEBUG_LEVEL_THRESHOLD) \
157 snprintf(__str,256,CL_DEBUG_SP y); \
158 clLogConsole((ClLogSeverityT)x, CL_LOG_AREA_UNSPECIFIED, CL_LOG_CONTEXT_UNSPECIFIED, \
163 snprintf(__str,256,CL_DEBUG_SP y); \
164 clDbgMsg((int)getpid(),__FILE__, __LINE__, __FUNCTION__,x,__str); \
170 #define CL_DEBUG_PRINT(x,y) \
173 if(x <= CL_DEBUG_LEVEL_THRESHOLD) \
175 printk("file:%s,func:%s,line:%d: ", __FILE__, __FUNCTION__, __LINE__);\
180 #define CL_DEBUG_PRINT_CONSOLE CL_DEBUG_PRINT
185 #define CL_DEBUG_PRINT(x,y)
186 #define CL_DEBUG_PRINT_CONSOLE(x, y)
192 #define CL_FUNC_ENTER()
198 #define CL_FUNC_EXIT()
206 #define CL_ASSERT(expr) do { if (clDbgPauseOnCodeError&&(!(expr))) clDbgCodeError(0,("Assertion failed")); else assert((expr)); } while(0)
209 struct clEoExecutionObj;
214 #define CL_DEBUG_COMP_PROMPT_LEN 15
220 #define CL_DEBUG_COMP_NAME_LEN 128
226 #define CL_DEBUG_FUNC_NAME_LEN 41
231 #define CL_DEBUG_FUNC_HELP_LEN 201
329 CL_IN ClCharT *nprompt );
435 CL_IN ClUint32T funcArrayLen,
436 CL_OUT ClHandleT *phDebugReg);
518 CL_IN const char* fmtStr,
519 ...) CL_PRINTF_FORMAT(2, 3);
599 ClRcT clDebugResponseSend(ClRmdResponseContextHandleT responseHandle,
603 ClRcT clDebugResponseDefer(ClRmdResponseContextHandleT *pResponseHandle,
ClBufferHandleT *pOutMsgHandle);