/* * Copyright (c) Hisilicon Technologies Co., Ltd. 2019-2021. All rights reserved. * Description: adp head. * Author: Hisilicon * Create: 2019-11-01 */ #ifndef __ADP_COMMON_EXT_H__ #define __ADP_COMMON_EXT_H__ #include #include #include #include #include #include "td_type.h" #if defined(ANDROID) extern void log_print(const char *format, ...); #endif #ifdef CONFIG_SUPPORT_CA_RELEASE #define SAMPLE_COMMON_PRINTF #else #if defined(ANDROID) #define SAMPLE_COMMON_PRINTF log_print #else #define SAMPLE_COMMON_PRINTF printf #endif #endif #define adp_api_run(api, ret) do { \ td_s32 _err_code; \ _err_code = api; \ if (_err_code != 0) { \ (ret) |= _err_code; \ SAMPLE_COMMON_PRINTF("\033[0;31m" "[Function: %s line: %d] %s failed ret = 0x%x \n" "\033[0m", \ __FUNCTION__, __LINE__, # api, _err_code); \ } \ } while (0) #define adp_api_run_return(api) do { \ td_s32 _err_code; \ _err_code = api; \ if (_err_code != 0) { \ SAMPLE_COMMON_PRINTF("\033[0;31m" "[Function: %s line: %d] %s failed ret = 0x%x \n" "\033[0m", \ __FUNCTION__, __LINE__, # api, _err_code); \ return TD_FAILURE; \ } \ } while (0) #define adp_api_err_print(ret) do { \ SAMPLE_COMMON_PRINTF("\033[0;31m" " [Function: %s line: %d] ret = 0x%x \n" "\033[0m", \ __FUNCTION__, __LINE__, (ret)); \ } while (0) \ #define print_smp(fmt...) SAMPLE_COMMON_PRINTF(fmt) #define sample_run(api, ret) do { \ td_s32 l_ret = api; \ if (l_ret != TD_SUCCESS) { \ print_smp("run %s failed, ERRNO:%#x.\n", # api, l_ret); \ } \ (ret) = l_ret; \ } while (0) #endif