1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- /*
- * @file hv_vos_Printf.h
- * @brief Header file of I2C driver.
- *
- * @verbatim
- * ==============================================================================
- * ##### How to use #####
- * ==============================================================================
- * (+) Use ()
- *
- * @endverbatim
- * @author HiView SoC Software Team
- * @version 1.0.0
- * @date 2023-03-01
- */
- #ifndef _VOS_PRINTF_H
- #define _VOS_PRINTF_H
- #include "hv_vos_Types.h"
- VOS_EXTERN_C_BEGIN
- #ifdef __GNUC__
- #define _VOS_SPECIFY_PRINTF_FMT(fmt_idx,arg1_idx) __attribute__((format (printf, fmt_idx, arg1_idx)))
- #else
- #define _VOS_SPECIFY_PRINTF_FMT(fmt_idx,arg1_idx)
- #endif
- int Hv_Vos_vsnprintf(char *str, size_t size, const char *fmt, va_list ap);
- int Hv_Vos_snprintf(char *str, size_t size, const char *fmt, ...) _VOS_SPECIFY_PRINTF_FMT(3, 4);
- int Hv_Vos_vsprintf(char *str, const char *fmt, va_list ap);
- int Hv_Vos_sprintf(char *str, const char *fmt, ...) _VOS_SPECIFY_PRINTF_FMT(2, 3);
- void Hv_Vos_printf(const char *fmt, ...) _VOS_SPECIFY_PRINTF_FMT(1, 2);
- #ifdef HV_CONFIG_NO_PRINTF
- #define HV_VSNPRINTF(...)
- #define HV_SNPRINTF(...)
- INLINE int HV_VSPRINTF(char *str, const char *format, va_list ap)
- {
- return 0;
- }
- #define HV_SPRINTF(str, format, ...) (1)
- #define HV_PRINTF(...)
- #else
- #define HV_VSNPRINTF Hv_Vos_vsnprintf
- #define HV_SNPRINTF Hv_Vos_snprintf
- #define HV_VSPRINTF Hv_Vos_vsprintf
- #define HV_SPRINTF Hv_Vos_sprintf
- #define HV_PRINTF Hv_Vos_printf
- #define HV_PUTCHAR Hv_Vos_STDIO_PutChar
- #define HV_FFLUSH Hv_Vos_STDIO_FFlush
- #endif
- VOS_EXTERN_C_END
- #endif
|