📄 msapiinternal.h
字号:
#include <Copyright.h>
/********************************************************************************
* msApiPrototype.h
*
* DESCRIPTION:
* API Prototypes for QuarterDeck Device
*
* DEPENDENCIES:
*
* FILE REVISION NUMBER:
*
*******************************************************************************/
#ifndef __msApiInternal_h
#define __msApiInternal_h
#ifdef __cplusplus
extern "C" {
#endif
#ifdef GT_USE_SIMPLE_PORT_MAPPING
#define GT_LPORT_2_PORT(_lport) (GT_U8)((_lport) & 0xff)
#define GT_PORT_2_LPORT(_port) (GT_32)((_port) & 0xff)
#define GT_LPORTVEC_2_PORTVEC(_lvec) (GT_U8)((_lvec) & 0xffff)
#define GT_PORTVEC_2_LPORTVEC(_pvec) (GT_32)((_pvec) & 0xffff)
#else#define GT_LPORT_2_PORT(_lport) lport2port(dev->validPortVec, _lport)
#define GT_PORT_2_LPORT(_port) port2lport(dev->validPortVec, _port)
#define GT_LPORTVEC_2_PORTVEC(_lvec) lportvec2portvec(dev->validPortVec, _lvec)#define GT_PORTVEC_2_LPORTVEC(_pvec) portvec2lportvec(dev->validPortVec, _pvec)
#endif#define GT_IS_PORT_SET(_portVec, _port) \ ((_portVec) & (0x1 << (_port)))#define GT_IS_IRLUNIT_VALID(_dev,_unit) \ (((_dev)->deviceId == GT_88E6065)?(_unit < 12): \ (((_dev)->deviceId == GT_88E6055)?(_unit < 12): \ (((_dev)->deviceId == GT_88E6061)?(_unit < 6): \ (((_dev)->deviceId == GT_88E6035)?(_unit < 6): \ (_unit < 3)))))
/* The following macro converts a binary */
/* value (of 1 bit) to a boolean one. */
/* 0 --> GT_FALSE */
/* 1 --> GT_TRUE */
#define BIT_2_BOOL(binVal,boolVal) \
(boolVal) = (((binVal) == 0) ? GT_FALSE : GT_TRUE)
/* The following macro converts a boolean */
/* value to a binary one (of 1 bit). */
/* GT_FALSE --> 0 */
/* GT_TRUE --> 1 */
#define BOOL_2_BIT(boolVal,binVal) \
(binVal) = (((boolVal) == GT_TRUE) ? 1 : 0)
/* device name - devName */
#define DEV_88E6051 0x0001 /* quarterdeck 6051 */
#define DEV_88E6052 0x0002 /* quarterdeck 6052 */
#define DEV_88E6021 0x0004 /* fullsail */
#define DEV_88E6060 0x0008 /* Gondola */
#define DEV_88E6063 0x0010 /* clippership 6063 */
#define DEV_FF_EG 0x0020 /* FireFox-EG */
#define DEV_FF_HG 0x0040 /* FireFox-HG */
#define DEV_FH_VPN 0x0080 /* FireHawk-VPN */
#define DEV_88E6083 0x0100 /* Octane 6083 */
#define DEV_88E6181 0x0200 /* Sapphire 88E6181 */
#define DEV_88E6183 0x0400 /* Sapphire 88E6153,88E6183 */
#define DEV_88E6093 0x0800 /* 88E6093 */
#define DEV_88E6092 0x1000 /* 88E6092 */#define DEV_88E6095 0x2000 /* 88E6095 */#define DEV_88E6182 0x4000 /* Jade 88E6152, 88E6182 */
#define DEV_88E6185 0x8000 /* Jade 88E6155, 88E6185 */
#define DEV_88E6108 0x10000 /* 88E6108 */
#define DEV_88E6061 0x20000 /* 88E6031, 88E6061 */
#define DEV_88E6065 0x40000 /* 88E6035, 88E6055, 88E6065 */
#define DEV_88E6096 0x80000 /* 88E6096, 88E6046 */
#define DEV_88E6097 0x100000 /* 88E6097, 88E6047 */
#define DEV_88E6097_FAMILY ( DEV_88E6096 | DEV_88E6097 )
#define DEV_88E6095_FAMILY ( DEV_88E6092 | DEV_88E6095 )
#define DEV_88E6185_FAMILY ( DEV_88E6182 | DEV_88E6185 | DEV_88E6108)
#define DEV_88E6065_FAMILY ( DEV_88E6061 | DEV_88E6065 )
#define DEV_NEW_FEATURE_IN_REV (DEV_88E6095_FAMILY | DEV_88E6182 | DEV_88E6185)#define DEV_BURST_RATE ( DEV_88E6108 )#define DEV_DROP_BCAST ( DEV_88E6108 )#define DEV_ARP_PRI ( DEV_88E6108 )#define DEV_SNOOP_PRI ( DEV_88E6108 )#define DEV_SERDES_CORE ( DEV_88E6108 )#define DEV_AGE_INTERRUPT ( DEV_88E6108 | DEV_88E6097_FAMILY )#define DEV_AGE_INT_GLOBAL2 ( DEV_88E6097_FAMILY )#define DEV_AGE_OUT_INT ( DEV_88E6097_FAMILY )#define DEV_AGE_HOLD ( DEV_88E6097_FAMILY )#define DEV_DEVICE_INTERRUPT ( DEV_88E6097_FAMILY )#define DEV_WATCHDOG_EVENT ( DEV_88E6097_FAMILY )#define DEV_PORT_BASED_AGE_INT ( DEV_88E6065_FAMILY )#define DEV_AUTO_REFRESH_LOCKED ( DEV_88E6097_FAMILY )#define DEV_PPU_PHY_ACCESS ( DEV_88E6097_FAMILY )#define DEV_PPU_PHY_ACCESS_RES ( DEV_88E6097_FAMILY )#define DEV_NO_EGRESS_POLICY ( DEV_88E6097_FAMILY )/* DEV_8PORT_SWITCH is used to access the given device's Register Map */#define DEV_8PORT_SWITCH ( DEV_88E6083 | DEV_88E6181 | DEV_88E6183 | \ DEV_88E6093 | DEV_88E6097_FAMILY | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )
#define DEV_PORT_SECURITY ( DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_BROADCAST_INVALID ( DEV_88E6051 | DEV_88E6052 | DEV_FF_EG | DEV_FF_HG)
/* Configurable ATU Size */
#define DEV_ATU_256_2048 ( DEV_88E6021 | DEV_88E6060 | DEV_88E6065_FAMILY )
#define DEV_ATU_562_2048 \
( DEV_88E6052 | DEV_88E6063 | DEV_FF_HG | \ DEV_FH_VPN | DEV_88E6083 )
#define DEV_ATU_SIZE_FIXED DEV_GIGABIT_SWITCH
#define DEV_ATU_1024 (DEV_88E6108) /* Not used */
#define DEV_ATU_8192 (DEV_88E6095_FAMILY | DEV_88E6182 | DEV_88E6185) /* Not used */
#define DEV_ATU_LIMIT ( DEV_88E6097_FAMILY )
#define DEV_DBNUM_FULL \
( DEV_88E6021 | DEV_88E6060 | DEV_88E6063 | \
DEV_FH_VPN | DEV_88E6083 | \ DEV_88E6183 | DEV_88E6093 | DEV_88E6061 )
#define DEV_DBNUM_64 ( DEV_88E6065 )#define DEV_DBNUM_256 ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_DBNUM_4096 ( DEV_88E6097_FAMILY )
#define DEV_STATIC_ADDR \
( DEV_88E6021 | DEV_FF_EG | DEV_FF_HG | \
DEV_88E6052 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \
DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )
#define DEV_TRAILER \
( DEV_88E6021 | DEV_FF_HG | DEV_88E6052 | \
DEV_88E6063 | DEV_FH_VPN | DEV_88E6083 )
#define DEV_TRAILER_P5 ( DEV_FF_EG )
#define DEV_TRAILER_P4P5 ( DEV_88E6060 )
#define DEV_HEADER \
( DEV_FF_HG | DEV_88E6063 | DEV_FH_VPN | \ DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )
#define DEV_HEADER_P5 ( DEV_FF_EG )
#define DEV_HEADER_P4P5 ( DEV_88E6060 )
/* DEV_QoS : Devices with multiple Queues for QoS Priority Support */#define DEV_QoS \
( DEV_88E6021 | DEV_FF_HG | DEV_88E6051 | \ DEV_88E6052 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6181 | DEV_88E6183 | \ DEV_88E6093 | DEV_88E6095_FAMILY | \ DEV_88E6185_FAMILY | DEV_88E6065_FAMILY | \ DEV_88E6097_FAMILY )#define DEV_QoS_FPRI_QPRI ( DEV_88E6065_FAMILY )#define DEV_QoS_WEIGHT ( DEV_88E6097 )
#define DEV_TAGGING DEV_QoS
#define DEV_EGRESS_DOUBLE_TAGGING \ ( DEV_QoS & ~(DEV_88E6051 | DEV_88E6092 | DEV_88E6182 | \ DEV_88E6061 ) )#define DEV_INGRESS_DOUBLE_TAGGING \ ( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095 | DEV_88E6185 | DEV_88E6108 )#define DEV_PRIORITY_REMAPPING \ ( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095 | DEV_88E6185 | DEV_88E6108 | \ DEV_88E6065 | DEV_88E6097_FAMILY )#define DEV_802_1Q ( DEV_88E6021 | DEV_88E6063 | DEV_FH_VPN | \ DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095 | DEV_88E6092 | DEV_88E6185_FAMILY | \
DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )
#define DEV_802_1S ( DEV_88E6095 | DEV_88E6185 | DEV_88E6108 | DEV_88E6065 )#define DEV_802_1S_STU ( DEV_88E6097_FAMILY )#define DEV_802_1W ( DEV_88E6183 | DEV_88E6093 | DEV_88E6095 | \ DEV_88E6185 | DEV_88E6108 | DEV_88E6065 | \ DEV_88E6097_FAMILY )
#define DEV_ATU_15SEC_AGING ( DEV_GIGABIT_SWITCH | DEV_88E6065_FAMILY )
#define DEV_ATU_RM_PORTS ( DEV_88E6093_FAMILY | DEV_88E6065 )
#define DEV_ATU_EXT_PRI ( DEV_88E6065_FAMILY )
#define DEV_VTU_EXT_INFO ( DEV_88E6065_FAMILY )
#define DEV_RMON ( DEV_88E6021 | DEV_88E6063 | DEV_FH_VPN | \ DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6092 | DEV_88E6095 | DEV_88E6185_FAMILY | \ DEV_88E6065 | DEV_88E6097_FAMILY )
#define DEV_RMON_TYPE_1 ( DEV_88E6021 | DEV_88E6063 | DEV_FH_VPN | DEV_88E6083 ) #define DEV_RMON_TYPE_2 ( DEV_88E6183 )#define DEV_RMON_TYPE_3 ( DEV_88E6093 | DEV_88E6095 | DEV_88E6092 | \ DEV_88E6185_FAMILY | DEV_88E6065 | \ DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_RMON_REALTIME_SUPPORT ( DEV_88E6065 | DEV_88E6065_FAMILY | \ DEV_88E6097_FAMILY )#define DEV_RMON_PORT_BITS ( DEV_88E6065 | DEV_88E6065_FAMILY )#define DEV_IGMP_SNOOPING \
( DEV_88E6021 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)
#define DEV_PORT_MONITORING \
( DEV_88E6060 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )
#define DEV_ENABLE_MONITORING \
( DEV_88E6060 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6065_FAMILY )
#define DEV_MC_RATE_PERCENT \
( DEV_88E6021 | DEV_88E6051 | DEV_88E6052 )
#define DEV_MC_RATE_KBPS \
( DEV_FF_HG | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 )
#define DEV_INGRESS_RATE_KBPS \
( DEV_FF_HG | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6181 | DEV_88E6183 | \ DEV_88E6093 | DEV_88E6095_FAMILY | DEV_88E6185_FAMILY)
#define DEV_EGRESS_RATE_KBPS \
( DEV_FF_HG | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6181 | DEV_88E6183 | \ DEV_88E6093 | DEV_88E6095 | DEV_88E6185 | \ DEV_88E6108 | DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_ELIMIT_FRAME_BASED \ ( DEV_88E6097_FAMILY )#define DEV_PIRL_RESOURCE \ ( DEV_88E6065_FAMILY )#define DEV_PIRL2_RESOURCE \ ( DEV_88E6097_FAMILY )#define DEV_RESTRICTED_PIRL_RESOURCE \ ( DEV_88E6061 )#define DEV_RESTRICTED_PIRL2_RESOURCE \ ( DEV_88E6096 )
#define DEV_NONE_RATE_LIMIT \ ( DEV_88E6065 )
#define DEV_MII_DUPLEX_CONFIG \
( DEV_88E6021 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 )
#define DEV_QD_PLUS \
( DEV_88E6021 | DEV_FF_EG | DEV_FF_HG | \
DEV_88E6060 | DEV_88E6063 | DEV_FH_VPN | \
DEV_88E6083 | DEV_88E6181 | DEV_88E6183 | \ DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY )
#define DEV_FASTETH_SWITCH \ ( DEV_88E6051 | DEV_88E6052 | DEV_88E6021 | \ DEV_FF_EG | DEV_FF_HG | DEV_88E6060 | \
DEV_88E6063 | DEV_FH_VPN | DEV_88E6083 | \ DEV_88E6065_FAMILY )
#define DEV_ENHANCED_FE_SWITCH ( DEV_88E6065_FAMILY )#define DEV_EXTERNAL_PHY \ ( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY )#define DEV_EXTERNAL_PHY_ONLY ( DEV_88E6181 | DEV_88E6183 | DEV_88E6182 | DEV_88E6185 )
#define DEV_INTERNAL_GPHY ( DEV_88E6108 )#define DEV_FC_WITH_VALUE \ ( DEV_88E6093 | DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_FC_STATUS \ ( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_FC_DIS_STATUS ( DEV_88E6065_FAMILY )#define DEV_CORE_TAG ( DEV_88E6093 | DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_PCS_LINK ( DEV_88E6093 | DEV_88E6095_FAMILY | \ DEV_88E6185_FAMILY | DEV_88E6097_FAMILY )#define DEV_MGMII_STATUS ( DEV_88E6093 | DEV_88E6095_FAMILY | \ DEV_88E6185_FAMILY | DEV_88E6097_FAMILY )#define DEV_88E6183_FAMILY ( DEV_88E6183 | DEV_88E6185_FAMILY )#define DEV_88E6093_FAMILY ( DEV_88E6093 | DEV_88E6095_FAMILY | \ DEV_88E6185_FAMILY | DEV_88E6097_FAMILY )#define DEV_UNMANAGED_SWITCH ( DEV_88E6181 )#define DEV_GIGABIT_SWITCH \ ( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | DEV_88E6097_FAMILY )#define DEV_GIGABIT_MANAGED_SWITCH \ ( DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | DEV_88E6097_FAMILY )#define DEV_CASCADE_PORT \ ( DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_CROSS_CHIP_VLAN \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_CROSS_CHIP_PORT_VLAN ( DEV_88E6097_FAMILY )#define DEV_TRUNK ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY )#define DEV_8_TRUNKING ( DEV_88E6092 | DEV_88E6182 )#define DEV_TRUNK_NEW_ID_LOCATION ( DEV_88E6097_FAMILY )#define DEV_REDUCED_TRUNK ( DEV_88E6065_FAMILY )#define DEV_STACKING \ ( DEV_88E6095 | DEV_88E6185 | DEV_88E6108 | \ DEV_88E6097_FAMILY )#define DEV_FRAME_SIZE_1632 \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY ) /* Not used */#define DEV_FLOW_CTRL_DELAY \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY )/* port based CPU Port */#define DEV_ENHANCED_CPU_PORT \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY )#define DEV_CPU_DEST_PER_PORT \ ( DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_CPU_PORT ( DEV_88E6065_FAMILY )#define DEV_MULTICAST ( DEV_88E6065_FAMILY )#define DEV_CPU_DEST ( DEV_88E6097_FAMILY )#define DEV_MIRROR_DEST ( DEV_88E6097_FAMILY )#define DEV_QVLAN_ONLY ( DEV_88E6097_FAMILY )#define DEV_5BIT_PORT ( DEV_88E6097_FAMILY )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -