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

ldh.h (8127B)


      1 /*
      2  * DO NOT EDIT THIS FILE!
      3  * This file is auto-generated.
      4  * Edits to this file will be lost when it is regenerated.
      5  *
      6  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      7  * 
      8  * Copyright 2007-2020 Broadcom Inc. All rights reserved.
      9  */
     10 
     11 #ifndef BCMINT_LTSW_MBCM_LDH_H
     12 #define BCMINT_LTSW_MBCM_LDH_H
     13 
     14 #include <sal/sal_types.h>
     15 
     16 /*!
     17  * \brief Initialize LDH module.
     18  *
     19  * \param [in] unit Unit Number.
     20  *
     21  * \retval SHR_E_NONE No errors.
     22  * \retval !SHR_E_NONE Failure.
     23  */
     24 typedef int (*ldh_init_f)(int unit);
     25 
     26 /*!
     27  * \brief Detach LDH module.
     28  *
     29  * \param [in] unit Unit Number.
     30  *
     31  * \retval SHR_E_NONE No errors.
     32  * \retval !SHR_E_NONE Failure.
     33  */
     34 typedef int (*ldh_detach_f)(int unit);
     35 
     36 /*!
     37  * \brief Enable/disable monitor.
     38  *
     39  * \param [in] unit Unit Number.
     40  * \param [in] monitor_id Monitor ID.
     41  * \param [in] enable Enable/disable monitor.
     42  *
     43  * \retval SHR_E_NONE No errors.
     44  * \retval !SHR_E_NONE Failure.
     45  */
     46 typedef int (*ldh_monitor_enable_f)(
     47     int unit,
     48     uint8_t monitor_id,
     49     uint8_t enable);
     50 
     51 /*!
     52  * \brief Set configuration for a given latency monitor.
     53  *
     54  * \param [in] unit Unit Number.
     55  * \param [in] monitor_id Monitor ID.
     56  * \param [in] config Monitor configuration.
     57  *
     58  * \retval SHR_E_NONE No errors.
     59  * \retval !SHR_E_NONE Failure.
     60  */
     61 typedef int (*ldh_monitor_config_set_f)(
     62     int unit,
     63     uint8_t monitor_id,
     64     bcm_latency_monitor_config_t *config);
     65 
     66 /*!
     67  * \brief Get configuration for a given latency monitor.
     68  *
     69  * \param [in] unit Unit Number.
     70  * \param [in] monitor_id Monitor ID.
     71  * \param [out] config Monitor configuration.
     72  *
     73  * \retval SHR_E_NONE No errors.
     74  * \retval !SHR_E_NONE Failure.
     75  */
     76 typedef int (*ldh_monitor_config_get_f)(
     77     int unit,
     78     uint8_t monitor_id,
     79     bcm_latency_monitor_config_t *config);
     80 
     81 /*!
     82  * \brief Attach counters entries to the given monitor ID.
     83  *
     84  * \param [in] unit Unit Number.
     85  * \param [in] monitor_id Monitor ID.
     86  * \param [in] stat_counter_id Counter ID.
     87  *
     88  * \retval SHR_E_NONE No errors.
     89  * \retval !SHR_E_NONE Failure.
     90  */
     91 typedef int (*ldh_monitor_stat_attach_f)(
     92     int unit,
     93     uint8_t monitor_id,
     94     uint32_t stat_counter_id);
     95 
     96 /*!
     97  * \brief Get state counter ID which is associated with a given latency monitor ID.
     98  *
     99  * \param [in] unit Unit Number.
    100  * \param [in] monitor_id Monitor ID.
    101  * \param [in] stat_counter_id Counter ID.
    102  *
    103  * \retval SHR_E_NONE No errors.
    104  * \retval !SHR_E_NONE Failure.
    105  */
    106 typedef int (*ldh_monitor_stat_id_get_f)(
    107     int unit,
    108     uint8_t monitor_id,
    109     uint32_t *stat_counter_id);
    110 
    111 /*!
    112  * \brief Detach counters entries to the given monitor.
    113  *
    114  * \param [in] unit Unit Number.
    115  * \param [in] monitor_id Monitor ID.
    116  *
    117  * \retval SHR_E_NONE No errors.
    118  * \retval !SHR_E_NONE Failure.
    119  */
    120 typedef int (*ldh_monitor_stat_detach_f)(
    121     int unit,
    122     uint8_t monitor_id);
    123 
    124 /*!
    125  * \brief Parameter check on monitor ID.
    126  *
    127  * \param [in] unit Unit Number.
    128  * \param [in] monitor_id Monitor ID.
    129  *
    130  * \retval SHR_E_NONE No errors.
    131  * \retval !SHR_E_NONE Failure.
    132  */
    133 typedef int (*ldh_monitor_id_check_f)(
    134     int unit,
    135     uint8_t monitor_id);
    136 
    137 /*!
    138  * \brief Parameter check on monitor config structure.
    139  *
    140  * \param [in] unit Unit Number.
    141  * \param [in] monitor_id Monitor ID.
    142  * \param [in] config Monitor configuration.
    143  *
    144  * \retval SHR_E_NONE No errors.
    145  * \retval !SHR_E_NONE Failure.
    146  */
    147 typedef int (*ldh_monitor_config_check_f)(
    148     int unit,
    149     uint8_t monitor_id,
    150     bcm_latency_monitor_config_t *config);
    151 
    152 /*!
    153  * \brief Ldh driver structure.
    154  */
    155 typedef struct mbcm_ltsw_ldh_drv_s {
    156 
    157     /*! Initialize LDH module. */
    158     ldh_init_f ldh_init;
    159 
    160     /*! Detach LDH module. */
    161     ldh_detach_f ldh_detach;
    162 
    163     /*! Enable/disable monitor. */
    164     ldh_monitor_enable_f ldh_monitor_enable;
    165 
    166     /*! Set configuration for a given latency monitor. */
    167     ldh_monitor_config_set_f ldh_monitor_config_set;
    168 
    169     /*! Get configuration for a given latency monitor. */
    170     ldh_monitor_config_get_f ldh_monitor_config_get;
    171 
    172     /*! Attach counters entries to the given monitor ID. */
    173     ldh_monitor_stat_attach_f ldh_monitor_stat_attach;
    174 
    175     /*! Get state counter ID which is associated with a given latency monitor ID. */
    176     ldh_monitor_stat_id_get_f ldh_monitor_stat_id_get;
    177 
    178     /*! Detach counters entries to the given monitor. */
    179     ldh_monitor_stat_detach_f ldh_monitor_stat_detach;
    180 
    181     /*! Parameter check on monitor ID. */
    182     ldh_monitor_id_check_f ldh_monitor_id_check;
    183 
    184     /*! Parameter check on monitor config structure. */
    185     ldh_monitor_config_check_f ldh_monitor_config_check;
    186 
    187 } mbcm_ltsw_ldh_drv_t;
    188 
    189 /*!
    190  * \brief Set the LDH driver of the device.
    191  *
    192  * \param [in] unit Unit Number.
    193  * \param [in] drv Ldh driver to set.
    194  *
    195  * \retval SHR_E_NONE No errors.
    196  * \retval !SHR_E_NONE Failure.
    197  */
    198 extern int
    199 mbcm_ltsw_ldh_drv_set(
    200     int unit,
    201     mbcm_ltsw_ldh_drv_t *drv);
    202 
    203 /*!
    204  * \brief Initialize LDH module.
    205  *
    206  * \param [in] unit Unit Number.
    207  *
    208  * \retval SHR_E_NONE No errors.
    209  * \retval !SHR_E_NONE Failure.
    210  */
    211 extern int
    212 mbcm_ltsw_ldh_init(int unit);
    213 
    214 /*!
    215  * \brief Detach LDH module.
    216  *
    217  * \param [in] unit Unit Number.
    218  *
    219  * \retval SHR_E_NONE No errors.
    220  * \retval !SHR_E_NONE Failure.
    221  */
    222 extern int
    223 mbcm_ltsw_ldh_detach(int unit);
    224 
    225 /*!
    226  * \brief Enable/disable monitor.
    227  *
    228  * \param [in] unit Unit Number.
    229  * \param [in] monitor_id Monitor ID.
    230  * \param [in] enable Enable/disable monitor.
    231  *
    232  * \retval SHR_E_NONE No errors.
    233  * \retval !SHR_E_NONE Failure.
    234  */
    235 extern int
    236 mbcm_ltsw_ldh_monitor_enable(
    237     int unit,
    238     uint8_t monitor_id,
    239     uint8_t enable);
    240 
    241 /*!
    242  * \brief Set configuration for a given latency monitor.
    243  *
    244  * \param [in] unit Unit Number.
    245  * \param [in] monitor_id Monitor ID.
    246  * \param [in] config Monitor configuration.
    247  *
    248  * \retval SHR_E_NONE No errors.
    249  * \retval !SHR_E_NONE Failure.
    250  */
    251 extern int
    252 mbcm_ltsw_ldh_monitor_config_set(
    253     int unit,
    254     uint8_t monitor_id,
    255     bcm_latency_monitor_config_t *config);
    256 
    257 /*!
    258  * \brief Get configuration for a given latency monitor.
    259  *
    260  * \param [in] unit Unit Number.
    261  * \param [in] monitor_id Monitor ID.
    262  * \param [out] config Monitor configuration.
    263  *
    264  * \retval SHR_E_NONE No errors.
    265  * \retval !SHR_E_NONE Failure.
    266  */
    267 extern int
    268 mbcm_ltsw_ldh_monitor_config_get(
    269     int unit,
    270     uint8_t monitor_id,
    271     bcm_latency_monitor_config_t *config);
    272 
    273 /*!
    274  * \brief Attach counters entries to the given monitor ID.
    275  *
    276  * \param [in] unit Unit Number.
    277  * \param [in] monitor_id Monitor ID.
    278  * \param [in] stat_counter_id Counter ID.
    279  *
    280  * \retval SHR_E_NONE No errors.
    281  * \retval !SHR_E_NONE Failure.
    282  */
    283 extern int
    284 mbcm_ltsw_ldh_monitor_stat_attach(
    285     int unit,
    286     uint8_t monitor_id,
    287     uint32_t stat_counter_id);
    288 
    289 /*!
    290  * \brief Get state counter ID which is associated with a given latency monitor ID.
    291  *
    292  * \param [in] unit Unit Number.
    293  * \param [in] monitor_id Monitor ID.
    294  * \param [in] stat_counter_id Counter ID.
    295  *
    296  * \retval SHR_E_NONE No errors.
    297  * \retval !SHR_E_NONE Failure.
    298  */
    299 extern int
    300 mbcm_ltsw_ldh_monitor_stat_id_get(
    301     int unit,
    302     uint8_t monitor_id,
    303     uint32_t *stat_counter_id);
    304 
    305 /*!
    306  * \brief Detach counters entries to the given monitor.
    307  *
    308  * \param [in] unit Unit Number.
    309  * \param [in] monitor_id Monitor ID.
    310  *
    311  * \retval SHR_E_NONE No errors.
    312  * \retval !SHR_E_NONE Failure.
    313  */
    314 extern int
    315 mbcm_ltsw_ldh_monitor_stat_detach(
    316     int unit,
    317     uint8_t monitor_id);
    318 
    319 /*!
    320  * \brief Parameter check on monitor ID.
    321  *
    322  * \param [in] unit Unit Number.
    323  * \param [in] monitor_id Monitor ID.
    324  *
    325  * \retval SHR_E_NONE No errors.
    326  * \retval !SHR_E_NONE Failure.
    327  */
    328 extern int
    329 mbcm_ltsw_ldh_monitor_id_check(
    330     int unit,
    331     uint8_t monitor_id);
    332 
    333 /*!
    334  * \brief Parameter check on monitor config structure.
    335  *
    336  * \param [in] unit Unit Number.
    337  * \param [in] monitor_id Monitor ID.
    338  * \param [in] config Monitor configuration.
    339  *
    340  * \retval SHR_E_NONE No errors.
    341  * \retval !SHR_E_NONE Failure.
    342  */
    343 extern int
    344 mbcm_ltsw_ldh_monitor_config_check(
    345     int unit,
    346     uint8_t monitor_id,
    347     bcm_latency_monitor_config_t *config);
    348 
    349 #endif /* BCMINT_LTSW_MBCM_LDH_H */