sweep_err_defs.h (3636B)
1 /* 2 * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file. 3 * 4 * Copyright 2007-2020 Broadcom Inc. All rights reserved. 5 */ 6 7 8 #ifndef __SWEEP_ERR_DEFS_H_INCLUDED__ 9 /* { */ 10 #define __SWEEP_ERR_DEFS_H_INCLUDED__ 11 12 #ifdef __cplusplus 13 extern "C" { 14 #endif 15 16 #define SWP_PRINT_MSG(e_silent_flag, e_msg) \ 17 { \ 18 if (!e_silent_flag) \ 19 { \ 20 soc_sand_os_printf( \ 21 "\r--> %s\n\r", e_msg); \ 22 } \ 23 } 24 25 26 27 #define SWP_INIT_ERR_DEFS(e_proc_name) \ 28 unsigned int m_ret = 0; \ 29 unsigned int m_silent_flag; \ 30 char* m_proc_name = e_proc_name; \ 31 m_silent_flag = 1; 32 33 #define SWP_SET_ERR_AND_EXIT(e_err_code) \ 34 { \ 35 m_ret = e_err_code; \ 36 goto exit ; \ 37 } 38 39 #define SWP_PRINT_ERR_MSG(e_silent_flag, e_err_msg) \ 40 { \ 41 m_silent_flag = e_silent_flag; \ 42 if (!m_silent_flag) \ 43 { \ 44 soc_sand_os_printf( \ 45 "\n\r--> ERROR: %s\n\r", e_err_msg); \ 46 } \ 47 } 48 49 #define SWP_SET_ERR_AND_EXIT_WITH_MSG(e_err_code, e_err_msg) \ 50 { \ 51 m_ret = e_err_code; \ 52 SWP_PRINT_MSG(FALSE, e_err_msg); \ 53 goto exit ; \ 54 } 55 56 57 #define SWP_EXIT_IF_ERR(e_sand_err,e_err_code) \ 58 { \ 59 if(soc_sand_get_error_code_from_error_word(e_sand_err)) \ 60 { \ 61 m_ret = e_err_code ; \ 62 goto exit ; \ 63 } \ 64 } 65 66 #define SWP_IS_ERR_RES(e_sand_err) (soc_sand_get_error_code_from_error_word(e_sand_err) == 0?FALSE:TRUE) 67 68 /* 69 * Macro to handle procedure call which returns standard soc_sand 70 * error code and, in case of error, sets error code, performs an exit function and quits. 71 * Assumes local variables: ret, error_id, soc_sand_err 72 * Assumes label: exit 73 */ 74 #define SWP_EXIT_AND_PRINT_IF_ERR(e_result, e_silent_flag, e_err_code, e_err_msg) \ 75 m_silent_flag = e_silent_flag; \ 76 m_ret = soc_sand_get_error_code_from_error_word(e_result);\ 77 if (SOC_SAND_OK != m_ret) \ 78 { \ 79 /* \ 80 * Error detected. Quit with error. \ 81 */ \ 82 SWP_PRINT_ERR_MSG(m_silent_flag, e_err_msg) \ 83 \ 84 goto exit ; \ 85 } 86 87 88 #define SWP_EXIT_AND_PRINT_ERR \ 89 { \ 90 if (m_ret) \ 91 { \ 92 soc_sand_os_printf(\ 93 "\n\r + %-60s -- ERROR %u.\n\r",m_proc_name, m_ret);\ 94 } \ 95 return m_ret; \ 96 } 97 98 #ifdef __cplusplus 99 } 100 #endif 101 102 103 /* } __SWEEP_ERR_DEFS_H_INCLUDED__*/ 104 #endif 105 106