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

📄 txc_envoy_mac_support.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_mac_support.h                                        
                                                                           
  Description:  This header file contains support function for the MAC core                                
                                                                           
 --------------------------------------------------------------------------
                              Revision History                             
 --------------------------------------------------------------------------
   Rev #     Date           Author                Description               
   -----    -------      -----------              -----------               
   0.5.0    6/03/04      F. Giannella         Initial release (beta)

 *--------------------------------------------------------------------------*/


#ifndef TXC_ENVOY_MAC_SUPPORT_H
#define TXC_ENVOY_MAC_SUPPORT_H


/****************************************************************************
 **                                Defines                                 **
 ****************************************************************************/



/****************************************************************************
 **                            Data Structures                             **
 ****************************************************************************/



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


/* MAC validation functions */
TXC_U16BIT ENVOY_MacResetValid
    (TXC_U16BIT handle, TXC_U16BIT port,
    TXC_IfMAC_RESET_STRUCT *macResetPtr);

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

TXC_U16BIT ENVOY_GetMacIfaceValid
    (TXC_U16BIT handle, TXC_U16BIT port);

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

TXC_U16BIT ENVOY_GetMacOperationalStateValid
    (TXC_U16BIT handle, TXC_U16BIT port);

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

TXC_U16BIT ENVOY_GetMacHalfDuplexValid
    (TXC_U16BIT handle, TXC_U16BIT port);

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

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

TXC_U16BIT ENVOY_PokeMacPhyRegValid
    (TXC_U16BIT handle, TXC_U16BIT port, 
    TXC_U16BIT phyAddr, TXC_U16BIT phyReg, TXC_U16BIT phyData);

TXC_U16BIT ENVOY_PeekMacPhyRegValid
    (TXC_U16BIT handle, TXC_U16BIT port, 
    TXC_U16BIT phyAddr, TXC_U16BIT phyReg);

TXC_U16BIT ENVOY_RtrvMacTxStatisticsValid
    (TXC_U16BIT handle, TXC_U16BIT port);

TXC_U16BIT ENVOY_RtrvMacRxStatisticsValid
    (TXC_U16BIT handle, TXC_U16BIT port);

TXC_U16BIT ENVOY_RtrvMacHwCfgValid
    (TXC_U16BIT handle, TXC_U16BIT port);

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


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

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

TXC_U16BIT
ENVOY_SetMacRmonCtrlValid(
TXC_U16BIT handle,
ENVOY_MAC_RMON_CTRL_STRUCT *macRmonCtrlDataPtr);

TXC_U16BIT
ENVOY_GetMacRmonCtrlValid(
TXC_U16BIT handle,
ENVOY_MAC_RMON_CTRL_STRUCT *macRmonCtrlDataPtr);


TXC_U16BIT
ENVOY_RtrvMacStatusValid(
TXC_U16BIT handle,
TXC_U16BIT port);


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

/* virtual functions */
#ifdef TXC_ENVOY_VIRTUAL_DEVICE_MODE

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

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

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

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

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

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

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

#endif /* TXC_ENVOY_VIRTUAL_DEVICE_MODE */

/* Live functions */
#ifndef TXC_ENVOY_VIRTUAL_DEVICE_MODE

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


TXC_U16BIT ENVOY_SetMacRmonCtrlReal(TXC_U16BIT handle,
    ENVOY_MAC_RMON_CTRL_STRUCT *macRmonCtrlDataPtr);

TXC_U16BIT ENVOY_GetMacRmonCtrlReal(TXC_U16BIT handle,
    ENVOY_MAC_RMON_CTRL_STRUCT *macRmonCtrlDataPtr);



#endif /* NOT TXC_ENVOY_VIRTUAL_DEVICE_MODE */


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

#endif /* TXC_ENVOY_MAC_SUPPORT_H */

⌨️ 快捷键说明

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