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

📄 txc_envoy_mac_api.h

📁 TranSwitch Envoy CE2 & Envoy CE4 设备驱动及编程指南
💻 H
📖 第 1 页 / 共 2 页
字号:
/****************************************************************************/

/* this enumeration and structure are used by TXC_IfMAC_IngressFlowCtrlSet
   & TXC_IfMAC_IngressFlowCtrlGet */


typedef enum
{   
    TXC_IfMAC_NO_FLOW_CTRL = 0,
    TXC_IfMAC_INTERMITTENT_RAISE_CARRIER_FLOW_CTRL,
    TXC_IfMAC_CONTINUOUS_RAISE_CARRIER_FLOW_CTRL,
    TXC_IfMAC_AUTO_PAUSE_FRAME_FLOW_CTRL,
    TXC_IfMAC_HOST_INITIATED_PAUSE_FRAME_FLOW_CTRL,
    TXC_IfMAC_END_OF_MAC_INGRESS_FLOW_CTRL_ENUM,
    TXC_IfMAC_INGRESS_FLOW_CTRL_ENUM_ERR = 0xFFFE

} TXC_IfMAC_INGRESS_FLOW_CTRL_MODE_ENUM;

typedef struct
{   
    TXC_IfMAC_INGRESS_FLOW_CTRL_MODE_ENUM   ingressFlowCtrlMode;
    TXC_U16BIT  ingressFlowCtrlFramePauseTime;
    TXC_U16BIT  ingressFlowCtrlFrameExtendedParameter;

} TXC_IfMAC_INGRESS_FLOW_CTRL_MODE_STRUCT;



/****************************************************************************/

/* this enumeration and structure are used by TXC_IfMAC_EgressFlowCtrlSet
   & TXC_IfMAC_EgressFlowCtrlGet */

typedef struct
{   
    TXC_BOOL    egressFlowCtrlEnable;

} TXC_IfMAC_EGRESS_FLOW_CTRL_MODE_STRUCT;



/****************************************************************************/



/*          Note: BELOW ARE ENVOY-CE2/CE4 SPECIFIC DATA TYPES */



/****************************************************************************/

/* this enumeration and structure are TXC_ENVOY_MacRmonCtrlSet and
   TXC_ENVOY_MacRmonCtrlGet.  */

typedef enum
{  
    ENVOY_CNT_GOOD_AND_BAD_PKTS = 0,
    ENVOY_CNT_GOOD_PKTS_ONLY,
    ENVOY_END_OF_RX_CNT_MODE,
    ENVOY_CNT_MODE_ENUM_ERR 

} ENVOY_MAC_RX_BYTE_CNT_MODE_ENUM;


typedef struct
{   
    TXC_BOOL    rmonSaturateEnable;
    ENVOY_MAC_RX_BYTE_CNT_MODE_ENUM rbytCntMode;

} ENVOY_MAC_RMON_CTRL_STRUCT;


/****************************************************************************/

/* this structures is used by TXC_ENVOY_RtrvMacRxStatistics */ 
typedef struct
{   
    TXC_U32BIT  rbytCnt;
    TXC_U32BIT  rbythiCnt;
    TXC_U32BIT  rpktCnt;
    TXC_U32BIT  rundCnt;
    TXC_U32BIT  rx64Cnt;
    TXC_U32BIT  r127Cnt;
    TXC_U32BIT  r255Cnt;
    TXC_U32BIT  r511Cnt;
    TXC_U32BIT  r1023Cnt;
    TXC_U32BIT  r1518Cnt;
    TXC_U32BIT  rflrCnt;
    TXC_U32BIT  rovrCnt;
    TXC_U32BIT  rbcaCnt;
    TXC_U32BIT  rmcaCnt;
    TXC_U32BIT  rpfCnt;
    TXC_U32BIT  ruoCnt;
    TXC_U32BIT  rvlnCnt;
    TXC_U32BIT  rfrgCnt;
    TXC_U32BIT  rfcsCnt;
    TXC_U32BIT  rjbrCnt;
    TXC_U32BIT  rcdeCnt;
    TXC_U32BIT  rdfffCnt;
    TXC_U32BIT  rdfucCnt;

} ENVOY_MAC_RX_STATISTICS_STRUCT;

/****************************************************************************/

/* this structures is used by TXC_ENVOY_MacTxStatisticsRtrv*/ 
typedef struct
{   
    TXC_U32BIT  tbytCnt;
    TXC_U32BIT  tbythiCnt;
    TXC_U32BIT  tpktCnt;
    TXC_U32BIT  tundCnt;
    TXC_U32BIT  t64Cnt;
    TXC_U32BIT  t127Cnt;
    TXC_U32BIT  t255Cnt;
    TXC_U32BIT  t511Cnt;
    TXC_U32BIT  t1023Cnt;
    TXC_U32BIT  t1518Cnt;
    TXC_U32BIT  tpfdCnt;
    TXC_U32BIT  tovrCnt;
    TXC_U32BIT  tbcaCnt;
    TXC_U32BIT  tmcaCnt;
    TXC_U32BIT  tpfCnt;
    TXC_U32BIT  tvlnCnt;
    TXC_U32BIT  tdfrCnt;
    TXC_U32BIT  tedfCnt;
    TXC_U32BIT  tsclCnt;
    TXC_U32BIT  tmclCnt;
    TXC_U32BIT  tlclCnt;
    TXC_U32BIT  texclCnt;
    TXC_U32BIT  tfrgCnt;
    TXC_U32BIT  tfcsCnt;
    TXC_U32BIT  tjbrCnt;
    TXC_U32BIT  tdrpCnt;
    TXC_U32BIT  tabtCnt;

} ENVOY_MAC_TX_STATISTICS_STRUCT;




/****************************************************************************
 **                          Function Prototypes                           **
 ****************************************************************************/

TXC_U16BIT TXC_ENVOY_MacReset
   (TXC_U16BIT handle, TXC_U16BIT port,
   TXC_IfMAC_RESET_STRUCT *macResetPtr);

TXC_U16BIT TXC_ENVOY_MacIfaceSet
   (TXC_U16BIT handle, TXC_U16BIT port,
   TXC_IfMAC_CONFIG_STRUCT *macIfaceDataPtr);

TXC_U16BIT TXC_ENVOY_MacIfaceGet
    (TXC_U16BIT handle, TXC_U16BIT port,
     TXC_IfMAC_CONFIG_STRUCT *macIfaceDataPtr);

TXC_U16BIT TXC_IfMAC_OperationalStateSet
    (TXC_U16BIT handle, TXC_U16BIT port,
     TXC_IfMAC_OPERATIONAL_STATE_STRUCT *macOperationalStateDataPtr);

TXC_U16BIT TXC_IfMAC_OperationalStateGet
    (TXC_U16BIT handle, TXC_U16BIT port,
     TXC_IfMAC_OPERATIONAL_STATE_STRUCT *macOperationalStateDataPtr);

TXC_U16BIT TXC_ENVOY_MacIngressFlowCtrlSet
    (TXC_U16BIT handle, TXC_U16BIT port, 
     TXC_IfMAC_INGRESS_FLOW_CTRL_MODE_STRUCT *macIngressFlowCtrlModeDataPtr);

TXC_U16BIT TXC_ENVOY_MacIngressFlowCtrlGet
    (TXC_U16BIT handle, TXC_U16BIT port, 
     TXC_IfMAC_INGRESS_FLOW_CTRL_MODE_STRUCT *macIngressFlowCtrlModeDataPtr);

TXC_U16BIT TXC_ENVOY_MacEgressFlowCtrlSet
    (TXC_U16BIT handle, TXC_U16BIT port, 
     TXC_IfMAC_EGRESS_FLOW_CTRL_MODE_STRUCT *macEgressFlowCtrlModeDataPtr);

TXC_U16BIT TXC_ENVOY_MacEgressFlowCtrlGet
    (TXC_U16BIT handle, TXC_U16BIT port,
    TXC_IfMAC_EGRESS_FLOW_CTRL_MODE_STRUCT *macEgressFlowCtrlModeDataPtr);

TXC_U16BIT
TXC_IfMAC_StatusRtrv (
TXC_U16BIT handle,
TXC_U16BIT port,
TXC_U32BIT *macStatusDataPtr);

TXC_U16BIT TXC_IfMAC_MacLoopbackSet
    (TXC_U16BIT handle, TXC_U16BIT port, 
    TXC_IfMAC_LOOPBACK_STRUCT *macLoopbackDataPtr);

TXC_U16BIT TXC_IfMAC_MacLoopbackGet
    (TXC_U16BIT handle, TXC_U16BIT port,
    TXC_IfMAC_LOOPBACK_STRUCT *macLoopbackDataPtr);

TXC_U16BIT TXC_ENVOY_MacHalfDuplexSet
    (TXC_U16BIT handle, TXC_U16BIT port,
    TXC_IfMAC_HALF_DUPLEX_STRUCT * macHalfDuplexDataPtr);

TXC_U16BIT TXC_ENVOY_MacHalfDuplexGet
    (TXC_U16BIT handle, TXC_U16BIT port, 
    TXC_IfMAC_HALF_DUPLEX_STRUCT * macHalfDuplexDataPtr);

TXC_U16BIT TXC_ENVOY_MacRxStatisticsRtrv
    (TXC_U16BIT handle, TXC_U16BIT port,
    ENVOY_MAC_RX_STATISTICS_STRUCT *macRxStatisticsDataPtr);


TXC_U16BIT TXC_ENVOY_MacRmonCtrlSet
    (TXC_U16BIT handle, ENVOY_MAC_RMON_CTRL_STRUCT *macRmonCtrlDataPtr);

TXC_U16BIT TXC_ENVOY_MacRmonCtrlGet
    (TXC_U16BIT handle, ENVOY_MAC_RMON_CTRL_STRUCT *macRmonCtrlDataPtr);


TXC_U16BIT TXC_ENVOY_MacTxStatisticsRtrv
    (TXC_U16BIT handle, TXC_U16BIT port,ENVOY_MAC_TX_STATISTICS_STRUCT *macTxStatisticsDataPtr);

TXC_U16BIT TXC_ENVOY_RegPoke(TXC_U16BIT handle, TXC_U32BIT offset, TXC_U32BIT regData);

TXC_U16BIT TXC_ENVOY_RegPeek(TXC_U16BIT handle, TXC_U32BIT offset, TXC_U32BIT *regDataPtr);


/****************************************************************************
 **                       Callback Function Typedef                        **
 ****************************************************************************/

/* none */

/****************************************************************************
 **                              End of Module                             **
 ****************************************************************************/

#endif /* TXC_ENVOY_MAC_API_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -