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

int_int.h (2408B)


      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_INT_INT_H
     12 #define BCMINT_LTSW_INT_INT_H
     13 
     14 #if defined(INCLUDE_INT)
     15 
     16 #include <bcm_int/ltsw/int_int.h>
     17 
     18 #include <sal/sal_types.h>
     19 
     20 /*! HA subcomponent id for INT vector match bitmap. */
     21 #define BCMINT_INT_VECTOR_MATCH_BMP_SUB_COMP_ID (1)
     22 
     23 /*! HA subcomponent id for INT vector match priority. */
     24 #define BCMINT_INT_VECTOR_MATCH_PRI_SUB_COMP_ID (2)
     25 
     26 /*! HA subcomponent id for INT action profile type. */
     27 #define BCMINT_INT_ACTION_TYPE_SUB_COMP_ID (3)
     28 
     29 /*! HA subcomponent id for INT metadata field bitmap. */
     30 #define BCMINT_INT_METADATA_FIELD_BMP_SUB_COMP_ID (30)
     31 
     32 /*!
     33  * \brief INT metadata select type.
     34  */
     35 typedef enum bcmint_int_md_field_entry_type_s {
     36 
     37     /*! Narrow entry. */
     38     bcmintIntMdFieldEntryNarrow = 0,
     39 
     40     /*! Wide entry. */
     41     bcmintIntMdFieldEntryWide = 1,
     42 
     43     /*! The count of INT metadata field entry type, must be the last. */
     44     bcmintIntMdFieldEntryCount = 2
     45 
     46 } bcmint_int_md_field_entry_type_t;
     47 
     48 #define BCMINT_INT_MD_FIELD_ENTRY_TYPE_STR \
     49 { \
     50     "Narrow", \
     51     "Wide" \
     52 }
     53 
     54 /*!
     55  * \brief Metadata field select info.
     56  */
     57 typedef struct bcmint_int_md_field_select_info_s {
     58 
     59     /*! Chunk index. */
     60     uint8 chunk_index;
     61 
     62     /*! Start bit. */
     63     uint8 start;
     64 
     65 } bcmint_int_md_field_select_info_t;
     66 
     67 /*!
     68  * \brief Metadata field info.
     69  */
     70 typedef struct bcmint_int_md_field_info_s {
     71 
     72     /*! Valid value. */
     73     bool valid;
     74 
     75     /*! Metadata field entry type. */
     76     bcmint_int_md_field_entry_type_t default_type;
     77 
     78     /*! Metadata field size. */
     79     uint8 size;
     80 
     81     /*! Metadata field select info. */
     82     bcmint_int_md_field_select_info_t select_info[bcmintIntMdFieldEntryCount];
     83 
     84     /*! Metadata field info ID. */
     85     const char *info_id;
     86 
     87 } bcmint_int_md_field_info_t;
     88 
     89 /*!
     90  * \brief Get metadata field info.
     91  *
     92  * \param [in] unit Unit Number.
     93  * \param [out] field_info Metadata field info.
     94  *
     95  * \retval SHR_E_NONE No errors.
     96  * \retval !SHR_E_NONE Failure.
     97  */
     98 extern int
     99 bcmint_int_md_field_info_get(
    100     int unit,
    101     bcmint_int_md_field_info_t **field_info);
    102 
    103 #endif /* INCLUDE_INT */
    104 
    105 #endif /* BCMINT_LTSW_INT_INT_H */