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

stat.h (1469B)


      1 /* 
      2  * 
      3  * This license is set out in https://raw.githubusercontent.com/Broadcom-Network-Switching-Software/OpenBCM/master/Legal/LICENSE file.
      4  * 
      5  * Copyright 2007-2019 Broadcom Inc. All rights reserved.
      6  *
      7  * File:        stat.h
      8  * Purpose:     Defines common stat parameters.
      9  */
     10 
     11 #ifndef   _SHR_STAT_H_
     12 #define   _SHR_STAT_H_
     13 
     14 #define _SHR_STAT_COUNTER_STAT_MACRO_INDICATION_POSITION (31)
     15 #define _SHR_STAT_COUNTER_STAT_IS_BYTE_POSITION (16)
     16 #define _SHR_STAT_COUNTER_STAT_OFFSET_POSITION (0)
     17 #define _SHR_STAT_COUNTER_STAT_MACRO_INDICATION_MASK (0x1)
     18 #define _SHR_STAT_COUNTER_STAT_IS_BYTE_MASK (0x1)
     19 #define _SHR_STAT_COUNTER_STAT_OFFSET_MASK (0xFF)
     20 
     21 
     22 #define _SHR_STAT_COUNTER_STAT_SET(is_bytes, offset) \
     23     ((1 << _SHR_STAT_COUNTER_STAT_MACRO_INDICATION_POSITION) | \
     24      ((is_bytes & _SHR_STAT_COUNTER_STAT_IS_BYTE_MASK) << _SHR_STAT_COUNTER_STAT_IS_BYTE_POSITION) | \
     25      ((offset & _SHR_STAT_COUNTER_STAT_OFFSET_MASK) << _SHR_STAT_COUNTER_STAT_OFFSET_POSITION))
     26 
     27 #define _SHR_STAT_COUNTER_STAT_OFFSET_GET(stat) \
     28     ((stat >> _SHR_STAT_COUNTER_STAT_OFFSET_POSITION) & _SHR_STAT_COUNTER_STAT_OFFSET_MASK)
     29 #define _SHR_STAT_COUNTER_STAT_IS_BYTES_GET(stat) \
     30     ((stat >> _SHR_STAT_COUNTER_STAT_IS_BYTE_POSITION) & _SHR_STAT_COUNTER_STAT_IS_BYTE_MASK)
     31 
     32 #define _SHR_STAT_COUNTER_STAT_IS_VALID(stat) \
     33     ((stat >> _SHR_STAT_COUNTER_STAT_MACRO_INDICATION_POSITION) & _SHR_STAT_COUNTER_STAT_MACRO_INDICATION_MASK) ? TRUE : FALSE
     34 
     35 #endif /* _SHR_STAT_H_ */