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 */