📄 txc_envoy_fifo_api.h
字号:
/*--------------------------------------------------------------------------
******* ****
* ***** ** * * * * * * ***** **** * *
* * * * * ** * * * * * * * * * *
* * * * * * * * **** * * * * * ******
* ***** ****** * * * * * ** * * * * * *
* * * * * * ** * * ** ** * * * * * *
* * * * * * * **** * * * * **** * *
Proprietary and Confidential
This program is made available only to customers and prospective customers
of TranSwitch Corporation under license and may be used only with TranSwitch
semi-conductor products.
Copyright(c) 2004 TranSwitch Inc.
--------------------------------------------------------------------------
******* ** ** ** ** ******** ** **
******* *** ** ** ** ********** ** **
** ** * ** ** ** ** ** ** **
***** ** * ** ** ** ** ** * *
***** ** * ** ** ** ** ** **
** ** * ** ** ** ** ** **
******* ** *** **** ********** **
******* ** ** ** ******** **
--------------------------------------------------------------------------
TranSwitch Envoy-CE2/CE4
Device Driver
--------------------------------------------------------------------------
Workfile: txc_envoy_pkt_ctrl_api.h
Description: This header file contains the defines and prototypes
for the FIFO interfaces.
--------------------------------------------------------------------------
Revision History
--------------------------------------------------------------------------
Rev # Date Author Description
----- ------- ----------- -----------
0.5.0 6/03/04 F. Giannella Initial release (beta)
*--------------------------------------------------------------------------*/
#ifndef TXC_ENVOY_FIFO_API_H
#define TXC_ENVOY_FIFO_API_H
/****************************************************************************
** Defines **
****************************************************************************/
/****************************************************************************
** Data Structures **
****************************************************************************/
/* enumerated data types & structures */
typedef struct
{
TXC_U16BIT ingressFlowControlHiWmark;
TXC_U16BIT ingressFlowControlLoWmark;
TXC_U16BIT ingressPauseFrameRegenerationTimer;
} ENVOY_IFIFO_FLOW_CTRL_WMARK_STRUCT;
typedef enum
{
ENVOY_IFIFO_STORE_AND_FWRD_MODE = 0,
ENVOY_IFIFO_STREAMING_MODE,
ENVOY_IFIFO_END_OF_TRANSFER_MODE_ENUM,
ENVOY_IFIFO_TRANSFER_MODE_ENUM_ERR = 0xFFFE
} ENVOY_IFIFO_TRANSFER_MODE_ENUM;
typedef struct
{
ENVOY_IFIFO_TRANSFER_MODE_ENUM ingressFifoTransferMode;
} ENVOY_IFIFO_TRANSFER_MODE_STRUCT;
typedef enum
{
ENVOY_EFIFO_STORE_AND_FWRD_MODE = 0,
ENVOY_EFIFO_STREAMING_MODE,
ENVOY_EFIFO_END_OF_TRANSFER_MODE_ENUM,
ENVOY_EFIFO_TRANSFER_MODE_ENUM_ERR = 0xFFFE
} ENVOY_EFIFO_TRANSFER_MODE_ENUM;
typedef struct
{
ENVOY_EFIFO_TRANSFER_MODE_ENUM egressFifoTransferMode;
} ENVOY_EFIFO_TRANSFER_MODE_STRUCT;
typedef enum
{
ENVOY_EFIFO_STREAMING_64 = 0,
ENVOY_EFIFO_STREAMING_128,
ENVOY_EFIFO_STREAMING_256,
ENVOY_EFIFO_STREAMING_512,
ENVOY_EFIFO_STREAMING_768,
ENVOY_EFIFO_STREAMING_1544,
ENVOY_EFIFO_END_OF_STREAMING_VALUE_ENUM,
ENVOY_EFIFO_STREAMING_VALUE_ENUM_ERR = 0xFFFE
} ENVOY_EFIFO_STREAMING_VALUE_ENUM;
typedef struct
{
ENVOY_EFIFO_STREAMING_VALUE_ENUM egressFifoStreamingThreshold;
} ENVOY_EFIFO_STREAMING_CFG_STRUCT;
typedef enum
{
ENVOY_FIFO_NO_DIR_ENABLED = 0,
ENVOY_FIFO_INGRESS_ENABLED_ONLY,
ENVOY_FIFO_EGRESS_ENABLED_ONLY,
ENVOY_FIFO_BOTH_DIR_ENABLED,
ENVOY_FIFO_END_OF_PORT_ENABLE_MODE_ENUM,
ENVOY_FIFO_PORT_ENABLE_MODE_ENUM_ERR = 0xFFFE
} ENVOY_FIFO_PORT_ENABLE_MODE_ENUM;
typedef struct
{
ENVOY_FIFO_PORT_ENABLE_MODE_ENUM fifoPortEnableMode;
} ENVOY_FIFO_PORT_CTRL_STRUCT;
typedef struct
{
TXC_U32BIT ingressFifoDroppedPktCounter[FIFO_NUM_PORTS];
TXC_U32BIT egressFifoDroppedPktCounter[FIFO_NUM_PORTS];
} ENVOY_FIFO_PORT_STATISTICS_STRUCT;
typedef struct
{
TXC_U32BIT ingressFifoFullStatus[FIFO_NUM_PORTS];
TXC_U32BIT ingressFifoNearFullStatus[FIFO_NUM_PORTS];
TXC_U32BIT egressFifoFullStatus[FIFO_NUM_PORTS];
TXC_U32BIT egressFifoDisabledErrorStatus[FIFO_NUM_PORTS];
TXC_U32BIT egressFifoSopErrorStatus[FIFO_NUM_PORTS];
} ENVOY_FIFO_STATUS_STRUCT;
/****************************************************************************
** Function Prototypes **
****************************************************************************/
TXC_U16BIT TXC_ENVOY_IngressFlowCtrlWmarkSet (TXC_U16BIT handle,
TXC_U16BIT portBlockID,
ENVOY_IFIFO_FLOW_CTRL_WMARK_STRUCT *ingressFlowCtrlWmarkDataPtr);
TXC_U16BIT TXC_ENVOY_IngressFlowCtrlWmarkGet (TXC_U16BIT handle,
TXC_U16BIT portBlockID,
ENVOY_IFIFO_FLOW_CTRL_WMARK_STRUCT *ingressFlowCtrlWmarkDataPtr);
TXC_U16BIT TXC_ENVOY_IfifoTransferModeSet (TXC_U16BIT handle,
ENVOY_IFIFO_TRANSFER_MODE_STRUCT *ingressFifoTransferModeDataPtr);
TXC_U16BIT TXC_ENVOY_IfifoTransferModeGet (TXC_U16BIT handle,
ENVOY_IFIFO_TRANSFER_MODE_STRUCT *iFifoTransferModeDataPtr);
TXC_U16BIT TXC_ENVOY_EfifoTransferModeSet (TXC_U16BIT handle,
ENVOY_EFIFO_TRANSFER_MODE_STRUCT *eFifoTransferModeDataPtr);
TXC_U16BIT TXC_ENVOY_EfifoTransferModeGet (TXC_U16BIT handle,
ENVOY_EFIFO_TRANSFER_MODE_STRUCT *eFifoTransferModeDataPtr);
TXC_U16BIT TXC_ENVOY_EfifoStreamingCfgSet (TXC_U16BIT handle, TXC_U16BIT port,
ENVOY_EFIFO_STREAMING_CFG_STRUCT *eFifoStreamDataPtr);
TXC_U16BIT TXC_ENVOY_EfifoStreamingCfgGet (TXC_U16BIT handle, TXC_U16BIT port,
ENVOY_EFIFO_STREAMING_CFG_STRUCT *eFifoStreamDataPtr);
TXC_U16BIT TXC_ENVOY_FifoPortCtrlSet (TXC_U16BIT handle, TXC_U16BIT port,
ENVOY_FIFO_PORT_CTRL_STRUCT *fifoPortCtrlPtr);
TXC_U16BIT TXC_ENVOY_FifoPortCtrlGet (TXC_U16BIT handle, TXC_U16BIT port,
ENVOY_FIFO_PORT_CTRL_STRUCT *fifoPortCtrlPtr);
TXC_U16BIT TXC_ENVOY_FifoPortStatisticsRtrv (TXC_U16BIT handle, TXC_U16BIT port,
ENVOY_FIFO_PORT_STATISTICS_STRUCT *fifoPortStatisticsDataPtr);
TXC_U16BIT TXC_ENVOY_FifoStatusRtrv (TXC_U16BIT handle, TXC_U16BIT port,
ENVOY_FIFO_STATUS_STRUCT *fifoStatusDataPtr);
/****************************************************************************
** Callback Function Typedef **
****************************************************************************/
/* none */
/****************************************************************************
** End of Module **
****************************************************************************/
#endif /* TXC_ENVOY_FIFO_API_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -