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