Newer
Older
#ifndef DEBUG_H
#define DEBUG_H
#define ERR_LEVEL (3)
#define WARN_LEVEL (4)
#define INFO_LEVEL (6)
#define DBG_LEVEL (7)
#ifdef __cplusplus
extern "C" {
#endif
__attribute__((visibility("default"))) void log_stderr(int level, const char *fmt, ...);
#define err(...) log_stderr(ERR_LEVEL, __VA_ARGS__)
#define warn(...) log_stderr(WARN_LEVEL, __VA_ARGS__)
#define inf(...) log_stderr(INFO_LEVEL, __VA_ARGS__)
#define dbg(...) log_stderr(DBG_LEVEL, __VA_ARGS__)
#define WARN_ON(cond) \
({ \
typeof(cond) __c = (cond); \
if (__c) warn("%sL%d@%s: [%s] failed\n", __FILE__, __LINE__, __func__, #cond); \
__c; \
})
#ifdef __cplusplus
}
#endif