12#ifndef __XF_UTILS_LOG_H__ 
   13#define __XF_UTILS_LOG_H__ 
   18#include "../xf_common/xf_common.h" 
   35#define XF_LOG_NONE             (0) 
   36#define XF_LOG_USER             (1) 
   37#define XF_LOG_ERROR            (2) 
   38#define XF_LOG_WARN             (3) 
   39#define XF_LOG_INFO             (4) 
   40#define XF_LOG_DEBUG            (5) 
   41#define XF_LOG_VERBOSE          (6) 
   43#if XF_LOG_DUMP_IS_ENABLE 
   45#define XF_DUMP_HEAD_BIT        (0)  
   46#define XF_DUMP_ASCII_BIT       (1)  
   47#define XF_DUMP_ESCAPE_BIT      (2)  
   48#define XF_DUMP_TAIL_BIT        (3)  
   50#define XF_DUMP_BIT(nr)         BIT(nr) 
   52#define XF_DUMP_TABLE           (XF_DUMP_BIT(XF_DUMP_HEAD_BIT) | XF_DUMP_BIT(XF_DUMP_TAIL_BIT)) 
   55#define XF_DUMP_FLAG_HEX_ONLY           (XF_DUMP_TABLE) 
   57#define XF_DUMP_FLAG_HEX_ASCII          (XF_DUMP_BIT(XF_DUMP_ASCII_BIT) | XF_DUMP_TABLE) 
   59#define XF_DUMP_FLAG_HEX_ASCII_ESCAPE   (XF_DUMP_FLAG_HEX_ASCII | XF_DUMP_BIT(XF_DUMP_ESCAPE_BIT)) 
   67#if XF_LOG_DUMP_IS_ENABLE 
   83#if XF_LOG_LEVEL >= XF_LOG_USER 
   92#   define XF_LOGU(tag, format, ...)  xf_log_level(XF_LOG_USER,     tag, format, ##__VA_ARGS__) 
   94#   define XF_LOGU(tag, format, ...)  (void)(tag) 
   97#if XF_LOG_LEVEL >= XF_LOG_ERROR 
  106#   define XF_LOGE(tag, format, ...)  xf_log_level(XF_LOG_ERROR,    tag, format, ##__VA_ARGS__) 
  108#   define XF_LOGE(tag, format, ...)  (void)(tag) 
  111#if XF_LOG_LEVEL >= XF_LOG_WARN 
  120#   define XF_LOGW(tag, format, ...)  xf_log_level(XF_LOG_WARN,     tag, format, ##__VA_ARGS__) 
  122#   define XF_LOGW(tag, format, ...)  (void)(tag) 
  125#if XF_LOG_LEVEL >= XF_LOG_INFO 
  134#   define XF_LOGI(tag, format, ...)  xf_log_level(XF_LOG_INFO,     tag, format, ##__VA_ARGS__) 
  136#   define XF_LOGI(tag, format, ...)  (void)(tag) 
  139#if XF_LOG_LEVEL >= XF_LOG_DEBUG 
  148#   define XF_LOGD(tag, format, ...)  xf_log_level(XF_LOG_DEBUG,    tag, format, ##__VA_ARGS__) 
  150#   define XF_LOGD(tag, format, ...)  (void)(tag) 
  153#if XF_LOG_LEVEL >= XF_LOG_VERBOSE 
  162#   define XF_LOGV(tag, format, ...)  xf_log_level(XF_LOG_VERBOSE,  tag, format, ##__VA_ARGS__) 
  164#   define XF_LOGV(tag, format, ...)  (void)(tag) 
  167#if XF_LOG_DUMP_IS_ENABLE 
  175#define XF_LOG_BUFFER_HEX(buffer, buffer_len) \ 
  176    xf_dump_mem(buffer, buffer_len, XF_DUMP_FLAG_HEX_ONLY) 
 
  185#define XF_LOG_BUFFER_HEXDUMP(buffer, buffer_len) \ 
  186    xf_dump_mem(buffer, buffer_len, XF_DUMP_FLAG_HEX_ASCII) 
 
  195#define XF_LOG_BUFFER_HEXDUMP_ESCAPE(buffer, buffer_len) \ 
  196    xf_dump_mem(buffer, buffer_len, XF_DUMP_FLAG_HEX_ASCII_ESCAPE) 
 
  200#define XF_LOG_BUFFER_HEX(buffer, buffer_len) 
  201#define XF_LOG_BUFFER_HEXDUMP(buffer, buffer_len) 
  202#define XF_LOG_BUFFER_HEXDUMP_ESCAPE(buffer, buffer_len) 
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
 
xf_err_t xf_dump_mem(void *addr, size_t size, uint8_t flags_mask)
输出内存信息。