#ifndef __LIBOSFP_LOG_H__ #define __LIBOSFP_LOG_H__ typedef enum libosfp_log_level { LIBOSFP_LOG_LEVEL_DEBUG, LIBOSFP_LOG_LEVEL_INFO, LIBOSFP_LOG_LEVEL_WARNING, LIBOSFP_LOG_LEVEL_ERROR } libosfp_log_level_t; #ifndef DEBUG #define libosfp_log_debug(...) do { } while (0) #else #define libosfp_log_debug(...) libosfp_log(LIBOSFP_LOG_LEVEL_DEBUG, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__) #endif #define libosfp_log_info(...) libosfp_log(LIBOSFP_LOG_LEVEL_INFO, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__) #define libosfp_log_warning(...) libosfp_log(LIBOSFP_LOG_LEVEL_WARNING, __FILE__, __LINE__, __FUNCTION__, __VA_ARGS__) #define libosfp_log_error(...) libosfp_log(LIBOSFP_LOG_LEVEL_ERROR, __FILE__, __LINE__, __FUNCTION__,__VA_ARGS__) void libosfp_log_level_set(libosfp_log_level_t level); void libosfp_log(unsigned int x, const char *file, const int line, const char *func, const char *fmt, ...); #endif