#ifndef __DEBUG_H #define __DEBUG_H extern const char red_color[]; extern const char green_color[]; extern const char normal_color[]; extern int trace_level; enum { TRACE_ERR, TRACE_WARN, TRACE_INFO, TRACE_DEBUG, TRACE_MAX, }; void __attribute__ ((__format__ (__printf__, 5, 6))) print_trace(const char *file, int line, int color, int l, const char *fmt, ...); #define pr_err(arg...) print_trace(__FILE__, __LINE__, 1, TRACE_ERR, arg) #define pr_warn(arg...) print_trace(__FILE__, __LINE__, 2, TRACE_WARN, arg) #define pr_info(arg...) print_trace(__FILE__, __LINE__, 2, TRACE_INFO, arg) #define pr_debug(arg...) print_trace(__FILE__, __LINE__, 2, TRACE_DEBUG, arg) int open_log_file(const char *logfile); #endif