128 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			128 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| /****************************************************************************
 | |
| 
 | |
| Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
 | |
| 
 | |
| This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
 | |
| be copied by any method or incorporated into another program without
 | |
| the express written consent of Aerospace C.Power. This Information or any portion
 | |
| thereof remains the property of Aerospace C.Power. The Information contained herein
 | |
| is believed to be accurate and Aerospace C.Power assumes no responsibility or
 | |
| liability for its use in any way and conveys no license or title under
 | |
| any patent or copyright and makes no representation or warranty that this
 | |
| Information is free from patent or copyright infringement.
 | |
| 
 | |
| ****************************************************************************/
 | |
| #ifndef IOT_IO_API_H
 | |
| #define IOT_IO_API_H
 | |
| 
 | |
| /* os shim includes */
 | |
| #include "os_types_api.h"
 | |
| 
 | |
| /* common includes */
 | |
| #include "iot_config_api.h"
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| extern "C" {
 | |
| #endif
 | |
| 
 | |
| /** \defgroup STRINGIO_APIs STRING IO APIs
 | |
|   * @brief WQ30x1 STRING IO APIs
 | |
|   *
 | |
|   * string helper handle functions for cusotmer applications
 | |
|   *
 | |
|   */
 | |
| 
 | |
| /** @addtogroup STRINGIO_APIs
 | |
|   * @{
 | |
|   */
 | |
| 
 | |
| /**
 | |
|  * @brief iot_printf() - print content per format.
 | |
|  * @param fmt:           the module that creates the event.
 | |
|  *
 | |
|  * @return               0 -- always return 0
 | |
|  */
 | |
| #if IOT_PRINTF_DEBUG
 | |
| 
 | |
| int32_t iot_printf(const char *fmt, ...);
 | |
| 
 | |
| #else /* IOT_PRINTF_DEBUG */
 | |
| 
 | |
| #define iot_printf(fmt, ...) \
 | |
|     do { \
 | |
|         (void)fmt; \
 | |
|         extern int32_t __iot_printf(uint8_t dummy, ...); \
 | |
|         __iot_printf(0, ##__VA_ARGS__); \
 | |
|     } while (0)
 | |
| 
 | |
| #endif /* IOT_PRINTF_DEBUG */
 | |
| 
 | |
| 
 | |
| /**
 | |
|  * @brief iot_cus_printf() -  app used print content per format.
 | |
|  * @param fmt:           the module that creates the event.
 | |
|  *
 | |
|  * @return               0 -- always return 0
 | |
|  */
 | |
| 
 | |
| int32_t iot_cus_printf(const char *fmt, ...);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_cus_printf_config - enable or disable iot_printf
 | |
|  *             this function for app to contorl iot_printf
 | |
|  * @param enable:                1 - enable uart print. 0 disable
 | |
|  *
 | |
|  * @return                       none
 | |
|  */
 | |
| void iot_cus_print_config(bool_t enable);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_print_config - enable or disable iot_printf
 | |
|  *             this function for app to contorl plc iot_printf
 | |
|  * @param enable:                1 - enable uart print. 0 disable
 | |
|  *
 | |
|  * @return                       none
 | |
|  */
 | |
| void iot_print_config(bool_t enable);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_sprintf() - print content to target str buffer per format and size.
 | |
|  * @param str:                   target str buffer
 | |
|  * @param size                   buffer size
 | |
|  * @param fmt:                   string format
 | |
|  *
 | |
|  * @return                       written content length
 | |
|  */
 | |
| int32_t iot_snprintf(char *str, size_t size, const char *format, ...);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_sprintf() - print content to target str buffer per format and size.
 | |
|  * @param str:                   target str buffer
 | |
|  * @param size                   buffer size
 | |
|  * @param fmt:                   string format
 | |
|  * @param ap:                    var list used for fmt
 | |
|  *
 | |
|  * @return                       written content length
 | |
|  */
 | |
| int32_t iot_vsnprintf(char *str, size_t size, const char *format, va_list ap);
 | |
| 
 | |
| /**
 | |
|  * @brief iot_sprintf() - print content to target str per format.
 | |
|  * @param str:                   target str buffer
 | |
|  * @param fmt:                   string format
 | |
|  *
 | |
|  * @return                       written content length
 | |
|  */
 | |
| int32_t iot_sprintf(char *str, const char *format, ...);
 | |
| 
 | |
| /**
 | |
|   * @}
 | |
|   */
 | |
| 
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| }
 | |
| #endif
 | |
| 
 | |
| #endif /* IOT_IO_API_H */
 |