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

📄 ixhssaccpcm_p.h

📁 intel IXP400系列cpu(2.3版)的库文件
💻 H
📖 第 1 页 / 共 2 页
字号:
/** * @file IxHssAccPCM_p.h * * @author Intel Corporation * @date 13 Dec 2001 * * @brief This file contains the private API of the HSS Packetised *  Connection Manager module * *  * @par * IXP400 SW Release version 2.3 *  * -- Copyright Notice -- *  * @par * Copyright (c) 2001-2005, Intel Corporation. * All rights reserved. *  * @par * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. Neither the name of the Intel Corporation nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. *  *  * @par * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *  *  * @par * -- End of Copyright Notice --*//** * @defgroup IxHssAccPCM_p IxHssAccPCM_p * * @brief The private API for the HssAccess Packetised Connection Manager  *        module *  * @{ */#ifndef IXHSSACCPCM_P_H#define IXHSSACCPCM_P_H/* * inline definition */#ifdef IXHSSACCPCM_C/* Non-inline functions will be defined in this translation unit.  * Reason is that in GNU Compiler, if the optimization flag is turned off,  * all extern inline functions will not be compiled. */#   ifndef __wince#       ifndef IXHSSACCPCM_INLINE#           define IXHSSACCPCM_INLINE#	endif#   else#	ifndef IXHSSACCPCM_INLINE#       define IXHSSACCPCM_INLINE IX_OSAL_INLINE_EXTERN#	endif#   endif /* __wince*/#else#   ifndef IXHSSACCPCM_INLINE#       ifdef _DIAB_TOOL            /* DIAB does not allow both the funtion prototype and             * defintion to use extern             */#           define IXHSSACCPCM_INLINE IX_OSAL_INLINE#       else#           define IXHSSACCPCM_INLINE IX_OSAL_INLINE_EXTERN#       endif#   endif#endif /* IXHSSACCPCM_C *//* * User include header files */#include "IxHssAcc.h"#include "IxOsal.h"#include "IxQMgr.h"#include "IxHssAccCommon_p.h"#include "IxNpeMh.h"/** * Variable declarations.  Externs are followed by static variables. */extern IxQMgrQId ixHssAccPCMRxFreeQId[IX_HSSACC_HSS_PORT_MAX][IX_HSSACC_HDLC_PORT_MAX];extern IxQMgrQId ixHssAccPCMTxQId[IX_HSSACC_HSS_PORT_MAX][IX_HSSACC_HDLC_PORT_MAX];/* * defines *//** * @def IX_HSSACC_PKT_CBID_HSS_OFFSET * * @brief The offset used to bit shift the hssPortId into QMgr callback Id */#define IX_HSSACC_PKT_CBID_HSS_OFFSET              16/** * @def IX_HSSACC_PKT_CBID_HDLC_MASK * *  * @brief The mask used to insert hdlcPortId into the QMgr callback Id */#define IX_HSSACC_PKT_CBID_HDLC_MASK               0x0000FFFF/** * @fn IX_STATUS ixHssAccPCMConnect (IxHssAccHssPort hssPortId, 		    IxHssAccHdlcPort hdlcPortId, 		    BOOL hdlcFraming,		    IxHssAccHdlcMode hdlcMode,		    BOOL hdlcBitInvert,    		    unsigned blockSizeInWords,		    UINT32 rawIdleBlockPattern,		    IxHssAccPktHdlcFraming hdlcTxFraming, 		    IxHssAccPktHdlcFraming hdlcRxFraming, 		    unsigned frmFlagStart,		    IxHssAccPktRxCallback rxCallback,		    IxHssAccPktUserId rxServiceUserId,		    IxHssAccPktRxFreeLowCallback rxFreeLowCallback, 		    IxHssAccPktUserId rxFreeLowUserId,		    IxHssAccPktTxDoneCallback txDoneCallback,		    IxHssAccPktUserId txDoneUserId) * * @brief This function configures the NPE to use the packet pipes the way  * a client wishes. The PCM will then configure the NPE to the way the  * client requested. * * @param IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical  * ports (0-1). * @param IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port and  * it corresponds to the physical E1/T1 channel i.e. 0, 1, 2, 3  * @param BOOLEAN hdlcFraming (in) - This value determines whether the service  * will use HDLC data processing or the RAW data type i.e. no HDLC processing,  * which can also be for debug. * @param IxHssAccHdlcMode hdlcMode (in) - This structure contains 56Kbps, HDLC-mode * configuration parameters * @param BOOLEAN hdlcBitInvert (in) - This value determines whether bit inversion * will occur between HDLC and HSS co-processors i.e. post-HDLC processing for * transmit and pre-HDLC processing for receive, for the specified HDLC Termination * Point * @param unsigned blockSizeInWords (in) -  The max tx/rx block size  * @param UINT32 rawIdleBlockPattern (in) -  Tx idle pattern in raw mode  * @param IxHssAccPktHdlcFraming hdlcTxFraming (in) - This structure contains  * the following information required by the NPE to configure the HDLC  * co-processor for TX: Idle Tx type, CRC type, and bit Endianness * @param IxHssAccPktHdlcFraming hdlcRxFraming (in) - This structure contains  * the following information required by the NPE to configure the HDLC  * co-processor for RX: Idle Tx type, CRC type, and bit Endianness * @param unsigned frmFlagStart (in) - This parameter is the number of flags  * that is placed before a frame when it is transmitted (0, 1, 2) * @param IxHssAccPktRxCallback rxCallback (in) - Pointer to  * the clients packet receive function. * @param IxHssAccPktUserId rxUserId (in) - The client supplied rx value * to be passed back as an argument to the supplied rxCallback * @param IxHssAccPktRxFreeLowCallback rxFreeLowCallback (in) - Pointer to  * the clients Rx free buffer request function.  If NULL, assume client will  * trigger independently. * @param IxHssAccPktUserId rxFreeLowUserId (in) - The client supplied RxFreeLow value * to be passed back as an argument to the supplied rxFreeLowCallback * @param IxHssAccPktTxDoneCallback txDoneCallback (in) - Pointer to the  * clients Tx done callback function * @param IxHssAccPktUserId txDoneUserId (in) - The client supplied txDone value * to be passed back as an argument to the supplied txDoneCallback * * @return  *         - IX_SUCCESS The function executed successfully *         - IX_FAIL The function did not execute successfully *         - IX_HSSACC_PARAM_ERR The function did not execute successfully due to a *                          parameter error *         - IX_RESOURCE_ERR The function did not execute successfully due *                          to a resource error *  */IX_STATUSixHssAccPCMConnect (IxHssAccHssPort hssPortId, 		    IxHssAccHdlcPort hdlcPortId, 		    BOOL hdlcFraming,		    IxHssAccHdlcMode hdlcMode,		    BOOL hdlcBitInvert,		    unsigned blockSizeInWords,		    UINT32 rawIdleBlockPattern,		    IxHssAccPktHdlcFraming hdlcTxFraming, 		    IxHssAccPktHdlcFraming hdlcRxFraming, 		    unsigned frmFlagStart,		    IxHssAccPktRxCallback rxCallback,		    IxHssAccPktUserId rxServiceUserId,		    IxHssAccPktRxFreeLowCallback rxFreeLowCallback, 		    IxHssAccPktUserId rxFreeLowUserId,		    IxHssAccPktTxDoneCallback txDoneCallback,		    IxHssAccPktUserId txDoneUserId);/** * @fn IX_STATUS ixHssAccPCMPortEnable (IxHssAccHssPort hssPortId,                     IxHssAccHdlcPort hdlcPortId) * @brief This function is called to enable packet flow on a particular HDLC port,  * which is on a particular HSS port * * @param unsigned hssPortId (in) - This is the HSS port number of the client we  * want to enable * * @param unsigned hdlcPortId (in) - This is the number of the HDLC port that is  * to be enabled and it corresponds to the physical E1/T1 channel i.e. 0, 1, 2, 3  * * @return  *         - IX_SUCCESS The function executed successfully *         - IX_FAIL The function did not execute successfully *         - IX_HSSACC_PARAM_ERR The function did not execute successfully due to a *                          parameter error *  */IX_STATUS ixHssAccPCMPortEnable (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId);/** * @fn IX_STATUS ixHssAccPCMPortDisable  (IxHssAccHssPort hssPortId,                                           IxHssAccHdlcPort hdlcPortId); * * @brief  This function is called to disable packet flow on a particular * HDLC port, which is on a particular HSS port * * @param IxHssAccHssPort hssPortId - This is the HSS port number of the client  * we want to disable is on * @param IxHssAccHdlcPort hdlcPortId - This is the number of the HDLC port that is  * to be disabled and it corresponds to the physical E1/T1 channel  * i.e. 0, 1, 2, 3  * * @return  *         - IX_SUCCESS The function executed successfully *         - IX_FAIL The function did not execute successfully *         - IX_HSSACC_PARAM_ERR The function did not execute successfully due to a *                          parameter error */IX_STATUS ixHssAccPCMPortDisable (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId);/** * @fn IX_STATUS ixHssAccPCMDisconnect (IxHssAccHssPort hssPortId,                                         IxHssAccHdlcPort hdlcPortId); * * @brief This function is used to disconnect a client from a particular  * HDLC port on a particular HSS port. * * @param IxHssAccHssPort hssPortId (in) - This is the HSS port number on which the  * client that is to be disconnected is on * @param IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port  * that is to be disconnected and it corresponds to the physical E1/T1  * channel i.e. 0, 1, 2, 3  * * @return  *         - IX_SUCCESS The function executed successfully *         - IX_FAIL The function did not execute successfully *         - IX_DISCONNECTING The function has iniated the disconnecting *                             procedure but it has not completed yet. *  */

⌨️ 快捷键说明

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