openbcm

Git mirror of https://github.com/Broadcom-Network-Switching-Software/OpenBCM
git clone git://git.finwo.net/mirror/broadcom/openbcm
Log | Files | Refs | README

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