ei_debug.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. /*
  2. *------------------------------------------------------------------------------
  3. * @File : ei_debug.h
  4. * @Date : 2021-3-16
  5. * @Author : lomboswer <lomboswer@lombotech.com>
  6. * @Brief : Common file for MDP(Media Development Platform).
  7. *
  8. * Copyright (C) 2020-2021, LomboTech Co.Ltd. All rights reserved.
  9. *------------------------------------------------------------------------------
  10. */
  11. #ifndef __EI_DEBUG_H__
  12. #define __EI_DEBUG_H__
  13. #ifndef __KERNEL__
  14. #include <stdio.h>
  15. #include <stdarg.h>
  16. #endif
  17. #include "ei_type.h"
  18. #include "ei_common.h"
  19. #ifdef __cplusplus
  20. #if __cplusplus
  21. extern "C" {
  22. #endif
  23. #endif /* __cplusplus */
  24. #define EI_DBG_EMERG 0
  25. #define EI_DBG_ALERT 1
  26. #define EI_DBG_CRIT 2
  27. #define EI_DBG_ERR 3
  28. #define EI_DBG_WARN 4
  29. #define EI_DBG_NOTICE 5
  30. #define EI_DBG_INFO 6
  31. #define EI_DBG_DEBUG 7
  32. #ifdef __EOS__
  33. #include <debug.h>
  34. #define EI_PRINT printf
  35. #define EI_MONITOR EI_PRINT("Monitor Func: %s, Line: %d\n", __FUNCTION__, __LINE__);
  36. #define EI_ASSERT(expr) \
  37. do{ \
  38. if (!(expr)) { \
  39. printf("\nASSERT at:\n" \
  40. "----->Func[%s], Line[%d], Condition: %s\n", \
  41. __FUNCTION__, __LINE__, #expr); \
  42. exit(-1);\
  43. } \
  44. }while(0)
  45. int EI_MBASE_LOG(int mod_id, int level, const char *fmt, ...);
  46. #define EI_TRACE(enModId, level, fmt, args...)\
  47. do{\
  48. EI_MBASE_LOG(enModId, level, "[k] %-32s L[%04d] "fmt, __func__, __LINE__, ##args); \
  49. } while(0)
  50. #else /* __EOS__ */
  51. #ifndef __KERNEL__
  52. #define EI_PRINT printf
  53. #define EI_MONITOR EI_PRINT("Monitor Func: %s, Line: %d\n", __FUNCTION__, __LINE__);
  54. #define EI_ASSERT(expr) \
  55. do{ \
  56. if (!(expr)) { \
  57. printf("\nASSERT at:\n" \
  58. "----->Func[%s], Line[%d], Condition: %s\n", \
  59. __FUNCTION__, __LINE__, #expr); \
  60. exit(-1);\
  61. } \
  62. }while(0)
  63. #ifndef LOG_TAG
  64. #define LOG_TAG NULL
  65. #endif
  66. EI_VOID EI_MI_MBASE_LOG(int level, int mod_id, const char *fmt, ...);
  67. #define EI_TRACE(enModId, level, fmt, args...)\
  68. do{\
  69. EI_MI_MBASE_LOG(level, enModId, "[u][Func]:%s [Line]:%d [Info]:" fmt, __FUNCTION__, __LINE__, ##args); \
  70. } while(0)
  71. #else /* __KERNEL__ */
  72. #include "ei_os.h"
  73. int EI_MBASE_LOG(int mod_id, int level, const char *fmt, ...);
  74. #define EI_PRINT os_printk
  75. #define EI_MONITOR EI_PRINT("Monitor Func[%s], Line[%d]\n", __FUNCTION__, __LINE__);
  76. #define EI_ASSERT(expr) \
  77. do{ \
  78. if (!(expr)) { \
  79. os_panic("\nASSERT at:\n" \
  80. "----->Func[%s], Line[%d], Condition: %s\n", \
  81. __FUNCTION__, __LINE__, #expr);\
  82. } \
  83. } while(0)
  84. #define EI_TRACE(mod_id, level, fmt, args...) \
  85. do { \
  86. EI_MBASE_LOG(mod_id, level, "[k] %-32s L[%04d] "fmt, __func__, __LINE__, ##args); \
  87. } while (0)
  88. #endif /* __KERNEL__ */
  89. #endif /* __EOS__ */
  90. #define EI_DBG(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_DEBUG, fmt, ##args)
  91. #define EI_INF(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_INFO, fmt, ##args)
  92. #define EI_NOTICE(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_NOTICE, fmt, ##args)
  93. #define EI_WRN(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_WARN, fmt, ##args)
  94. #define EI_ERR(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_ERR, fmt, ##args)
  95. #define EI_CRIT(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_CRIT, fmt, ##args)
  96. #define EI_ALERT(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_ALERT, fmt, ##args)
  97. #define EI_EMERG(mod_id, fmt, args...) EI_TRACE(mod_id, EI_DBG_EMERG, fmt, ##args)
  98. #ifdef __cplusplus
  99. #if __cplusplus
  100. }
  101. #endif
  102. #endif /* __cplusplus */
  103. #endif /* __EI_DEBUG_H__ */