⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 txc_envoy_fifo_api.h

📁 TranSwitch Envoy CE2 & Envoy CE4 设备驱动及编程指南
💻 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 + -