-
Grzegorz Sluja authored
Signed-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
Grzegorz Sluja authoredSigned-off-by:
Grzegorz Sluja <grzegorz.sluja@iopsys.eu>
debug.h 674 B
#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
#endif /* DEBUG_H */