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

📄 ixhssaccservice.c

📁 有关ARM开发板上的IXP400网络驱动程序的源码以。
💻 C
📖 第 1 页 / 共 2 页
字号:
	status = IX_HSSACC_PARAM_ERR;    }    else     {	status = ixHssAccPCMPortEnable (hssPortId, hdlcPortId);    }        IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting ixHssAccPktPortEnable \n");    return status;}/** * Function definition: ixHssAccPktPortDisable */IX_STATUS ixHssAccPktPortDisable (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccPktPortDisable \n");    if ((IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax)) ||	(IX_HSSACC_ENUM_INVALID (hdlcPortId, IX_HSSACC_HDLC_PORT_MAX)))    {	IX_HSSACC_REPORT_ERROR ("ixHssAccPktPortDisable: Invalid parameter\n");	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccPCMPortDisable (hssPortId, hdlcPortId);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting ixHssAccPktPortDisable \n");    return status;}/** * Function definition: ixHssAccPktPortDisconnect */IX_STATUS ixHssAccPktPortDisconnect (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering IxHssAccPktPortDisconnect \n");            if ((IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax)) ||	(IX_HSSACC_ENUM_INVALID (hdlcPortId, IX_HSSACC_HDLC_PORT_MAX)))    {	IX_HSSACC_REPORT_ERROR ("ixHssAccPktPortDisconnect: Invalid Parameter\n");	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccPCMDisconnect (hssPortId, hdlcPortId);     }        IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting IxHssAccPktPortDisconnect \n");    return status;}/** * Function definition: ixHssAccPktPortIsDisconnectComplete */BOOLixHssAccPktPortIsDisconnectComplete (IxHssAccHssPort hssPortId, 				     IxHssAccHdlcPort hdlcPortId){    BOOL status;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccPktPortIsDisconnectComplete\n");            if ((IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax)) ||	(IX_HSSACC_ENUM_INVALID (hdlcPortId, IX_HSSACC_HDLC_PORT_MAX)))    {	IX_HSSACC_REPORT_ERROR ("ixHssAccPktPortIsDisconnectComplete:"				" Invalid Parameter\n");	status = FALSE;    }    else    {	status = ixHssAccPCMIsDisconnectComplete (hssPortId, hdlcPortId);     }        IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting ixHssAccPktPortIsDisconnectComplete\n");    return status;}/** * Function definition: ixHssAccPktPortRxFreeReplenish */IX_STATUS ixHssAccPktPortRxFreeReplenish (IxHssAccHssPort hssPortId, 				IxHssAccHdlcPort hdlcPortId, IX_OSAL_MBUF *buffer){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering IxHssAccPktPortRxFreeReplenish \n");        if (IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax) ||	IX_HSSACC_ENUM_INVALID (hdlcPortId, IX_HSSACC_HDLC_PORT_MAX) ||	(buffer == NULL) ||	(IX_OSAL_MBUF_MLEN(buffer) < IX_HSSACC_PKT_MIN_RX_MBUF_SIZE))    {	IX_HSSACC_REPORT_ERROR ("IxHssAccPktPortRxFreeReplenish:"				"Parameter Error\n");	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccPktRxFreeReplenish (hssPortId, 					     hdlcPortId, 					     buffer);    }        IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting IxHssAccPktPortRxFreeReplenish \n");    return status;}/** * Function definition: ixHssAccPktTx */IX_STATUS ixHssAccPktPortTx (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId,		   IX_OSAL_MBUF *buffer){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering IxHssAccPktPortTx \n");            if ((IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax)) ||	(IX_HSSACC_ENUM_INVALID (hdlcPortId, IX_HSSACC_HDLC_PORT_MAX)) ||	(buffer == NULL))    {	IX_HSSACC_REPORT_ERROR ("ixHssAccPktPortTx:"				"Parameter Error\n");	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccPktTxInternal (hssPortId, hdlcPortId, buffer);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting IxHssAccPktPortTx \n");    return status;}/** * Function definition: ixHssAccChanConnect */IX_STATUS ixHssAccChanConnect (IxHssAccHssPort hssPortId, 		     unsigned bytesPerTSTrigger, 		     UINT8 *rxCircular, 		     unsigned numRxBytesPerTS, 		     UINT32 *txPtrList, 		     unsigned numTxPtrLists, 		     unsigned numTxBytesPerBlk, 		     IxHssAccChanRxCallback rxCallback){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccChanConnect\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax)          ||	((bytesPerTSTrigger % IX_HSSACC_CHAN_RXBYTES_PER_TS_TRIG_DIV) != 0) ||	(bytesPerTSTrigger < IX_HSSACC_CHAN_RXBYTES_PER_TS_TRIG_MIN)        ||	(rxCircular == NULL)                                                ||	((numRxBytesPerTS % IX_HSSACC_CHAN_RXBYTES_PER_TS_TRIG_DIV) != 0)   ||	(numRxBytesPerTS < IX_HSSACC_CHAN_RXBYTES_PER_TS_MIN)               ||	(txPtrList == NULL)                                                 ||	(numTxPtrLists == 0)                                                ||	((numTxBytesPerBlk % IX_HSSACC_CHAN_TXBYTES_PER_BLK_DIV) != 0)      ||	(numTxBytesPerBlk < IX_HSSACC_CHAN_TXBYTES_PER_BLK_MIN)             ||	(numTxBytesPerBlk > IX_HSSACC_CHAN_TXBYTES_PER_BLK_MAX))    {	/* report the error */	IX_HSSACC_REPORT_ERROR ("ixHssAccChanConnect - invalid parameter\n");	/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else if (ixHssAccHssInitialised[hssPortId] == FALSE)    {	/* report the error */	IX_HSSACC_REPORT_ERROR ("ixHssAccChanConnect - hss port not initialised\n");	/* return error */	status = IX_FAIL;    }    else    {	status = ixHssAccCCMConnect (hssPortId, bytesPerTSTrigger, rxCircular, 				     numRxBytesPerTS, txPtrList, numTxPtrLists, 				     numTxBytesPerBlk, rxCallback);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanConnect\n");    return status;}/** * Function definition: ixHssAccChanPortEnable */IX_STATUS ixHssAccChanPortEnable (IxHssAccHssPort hssPortId){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Entering ixHssAccChanPortEnable\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax))    {	/* report the error */	IX_HSSACC_REPORT_ERROR ("ixHssAccChanPortEnable - invalid parameter\n");	/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccCCMPortEnable (hssPortId);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanPortEnable\n");    return status;}/** * Function definition: ixHssAccChanPortDisable */IX_STATUS ixHssAccChanPortDisable (IxHssAccHssPort hssPortId){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Entering ixHssAccChanPortDisable\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax))    {	/* report the error */	IX_HSSACC_REPORT_ERROR ("ixHssAccChanPortDisable - invalid parameter\n");	/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccCCMPortDisable (hssPortId);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanPortDisable\n");    return status;}/** * Function definition: ixHssAccChanDisconnect */IX_STATUS ixHssAccChanDisconnect (IxHssAccHssPort hssPortId){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccChanDisconnect\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax))    {	/* report the error */	IX_HSSACC_REPORT_ERROR ("ixHssAccChanDisconnect - invalid parameter\n");	/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccCCMDisconnect (hssPortId);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Exiting ixHssAccChanDisconnect\n");    return status;}/** * Function definition: ixHssAccChanStatusQuery */IX_STATUS ixHssAccChanStatusQuery (IxHssAccHssPort hssPortId, 			 BOOL *dataRecvd, 			 unsigned *rxOffset, 			 unsigned *txOffset, 			 unsigned *numHssErrs){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Entering ixHssAccChanStatusQuery\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, hssPortMax) ||	dataRecvd == NULL ||	rxOffset == NULL  ||	txOffset == NULL  ||	numHssErrs == NULL)    {	/* report the error */	IX_HSSACC_REPORT_ERROR ("ixHssAccChanStatusQuery - invalid parameter\n");	/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccChanRxQCheck (hssPortId, dataRecvd, rxOffset,				       txOffset, numHssErrs);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanStatusQuery\n");    return status;}/** * Function definition: ixHssAccChanTslotSwitchEnable */IX_STATUS ixHssAccChanTslotSwitchEnable (IxHssAccHssPort hssPortId, 			 UINT32 srcTimeslot, 			 UINT32 destTimeslot,			 UINT32 *tsSwitchHandle){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccChanTslotSwitchEnable\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, IX_HSSACC_CHAN_TSLOTSWITCH_NUM_HSS_PORT_MAX) ||	IX_HSSACC_ENUM_INVALID (srcTimeslot, IX_HSSACC_TSLOTS_PER_HSS_PORT)             ||	IX_HSSACC_ENUM_INVALID (destTimeslot, IX_HSSACC_TSLOTS_PER_HSS_PORT)            ||	(tsSwitchHandle == NULL))    {    	/* report the error */	IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 				"ixHssAccChanTslotSwitchEnable - invalid parameter\n");		/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else if (ixHssAccHssInitialised[hssPortId] == FALSE)    {	/* report the error */	IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 			"ixHssAccChanTslotSwitchEnable - hss port not initialised\n");	/* return error */	status = IX_FAIL;    }    else if (!ixHssAccComIsChanTimeslot(hssPortId, srcTimeslot))    {	/* report the error */      IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 			"ixHssAccChanTslotSwitchEnable - srcTimeslot is not a"	    		" channelised timeslot\n");	/* return error */	status = IX_FAIL;    }    else if (!ixHssAccComIsChanTimeslot(hssPortId, destTimeslot))    {	/* report the error */      IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 			"ixHssAccChanTslotSwitchEnable - destTimeslot is not a"	    		" channelised timeslot\n");	/* return error */	status = IX_FAIL;    }    else if (ixHssAccComNumChanTimeslotGet(hssPortId) < IX_HSSACC_CHAN_TSLOTSWITCH_NUM_CHAN_MIN)    {	/* report the error */      IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 			"ixHssAccChanTslotSwitchEnable - this service requires"	    		" at least 8 channelised timeslots to exist per HSS port\n");		/* return error */	status = IX_FAIL;    }    else    {	status = ixHssAccCCMTslotSwitchEnable (hssPortId, srcTimeslot, 			 		       destTimeslot, tsSwitchHandle);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanTslotSwitchEnable\n");    return status;}/** * Function definition: ixHssAccChanTslotSwitchDisable */IX_STATUS ixHssAccChanTslotSwitchDisable (IxHssAccHssPort hssPortId, 			 UINT32 tsSwitchHandle){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccChanTslotSwitchDisable\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, IX_HSSACC_CHAN_TSLOTSWITCH_NUM_HSS_PORT_MAX) ||	IX_HSSACC_ENUM_INVALID (tsSwitchHandle, IX_HSSACC_CHAN_TSLOTSWITCH_NUM_BYPASS_MAX))    {    	/* report the error */	IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 			"ixHssAccChanTslotSwitchDisable - invalid parameter\n");	/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccCCMTslotSwitchDisable (hssPortId, tsSwitchHandle);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanTslotSwitchDisable\n");    return status;}/** * Function definition: ixHssAccChanTslotSwitchGctDownload */IX_STATUS ixHssAccChanTslotSwitchGctDownload (IxHssAccHssPort hssPortId, 			 UINT8 *gainCtrlTable,			 UINT32 tsSwitchHandle){    IX_STATUS status = IX_SUCCESS;    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, 		      "Entering ixHssAccChanTslotSwitchGctDownload\n");    /* Error check the parameters */    if (IX_HSSACC_ENUM_INVALID (hssPortId, IX_HSSACC_CHAN_TSLOTSWITCH_NUM_HSS_PORT_MAX)    ||	IX_HSSACC_ENUM_INVALID (tsSwitchHandle, IX_HSSACC_CHAN_TSLOTSWITCH_NUM_BYPASS_MAX) ||	(gainCtrlTable == NULL))    {    	/* report the error */      IX_HSSACC_TRACE0 (IX_HSSACC_DEBUG, 			"ixHssAccChanTslotSwitchGctDownload - invalid parameter\n");		/* return error */	status = IX_HSSACC_PARAM_ERR;    }    else    {	status = ixHssAccCCMTslotSwitchGctDownload (hssPortId, gainCtrlTable, 						    tsSwitchHandle);    }    IX_HSSACC_TRACE0 (IX_HSSACC_FN_ENTRY_EXIT, "Exiting ixHssAccChanTslotSwitchGctDownload\n");    return status;}/** * Function definition: ixHssAccShow */void ixHssAccShow (void){    ixHssAccComShow ();    ixHssAccChanRxShow ();    ixHssAccCCMShow ();    ixHssAccPDMShow ();    ixHssAccPCMShow ();    ixHssAccPktTxShow ();    ixHssAccPktRxShow ();    printf ("\n");}/** * Function definition: ixHssAccStatsInit */void ixHssAccStatsInit (void){    IxHssAccHdlcPort hdlcPortIndex;    IxHssAccHssPort hssPortIndex;    ixHssAccComStatsInit ();    ixHssAccChanRxStatsInit ();    ixHssAccCCMStatsInit ();    ixHssAccPCMStatsInit ();    ixHssAccPktTxStatsInit ();    ixHssAccPktRxStatsInit ();        for (hssPortIndex = IX_HSSACC_HSS_PORT_0; 	 hssPortIndex < hssPortMax; 	 hssPortIndex++)    {  	for (hdlcPortIndex = 0; hdlcPortIndex < IX_HSSACC_HDLC_PORT_MAX;	     hdlcPortIndex++)	{	    ixHssAccPDMStatsInit (hssPortIndex, hdlcPortIndex);	}    }}

⌨️ 快捷键说明

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