#ifndef _ULOG_API_H #define _ULOG_API_H #include #include "common_types.h" #define MAX_MODULE_NAME_SZ 16 typedef struct _ulog { char module_name[MAX_MODULE_NAME_SZ]; } ulog_t; ulog_t *ulog_init(const char *module_name, u8 is_print); void ulog_close(ulog_t *log); void ulog_record(const ulog_t *log, int level, const char *fmt, ...); #define ULOG_DEBUG(log, fmt, ...) ulog_record(log, LOG_DEBUG, fmt, ##__VA_ARGS__) #define ULOG_INFO(log, fmt, ...) ulog_record(log, LOG_INFO, fmt, ##__VA_ARGS__) #define ULOG_NOTICE(log, fmt, ...) ulog_record(log, LOG_NOTICE, fmt, ##__VA_ARGS__) #define ULOG_WARNING(log, fmt, ...) ulog_record(log, LOG_WARNING, fmt, ##__VA_ARGS__) #define ULOG_ERR(log, fmt, ...) ulog_record(log, LOG_ERR, fmt, ##__VA_ARGS__) #define ULOG_CRIT(log, fmt, ...) ulog_record(log, LOG_CRIT, fmt, ##__VA_ARGS__) #define ULOG_ALERT(log, fmt, ...) ulog_record(log, LOG_ALERT, fmt, ##__VA_ARGS__) #define ULOG_EMERG(log, fmt, ...) ulog_record(log, LOG_EMERG, fmt, ##__VA_ARGS__) #endif