VOS_UINT32 LUP_DeQue(LUP_QUEUE_STRU *pstQue, VOS_VOID **ppNode) { OSA_ASSERT_RTN (VOS_NULL_PTR != pstQue, PS_PTR_NULL); OSA_ASSERT_RTN(VOS_NULL_PTR != ppNode, PS_PTR_NULL); if (pstQue->ulHead == pstQue->ulTail) { return PS_QUE_EMPTY; } pstQue->ulHead = TTF_MOD_ADD(pstQue->ulHead, 1, pstQue->ulMaxNum); *ppNode = pstQue->pBuff[pstQue->ulHead]; return PS_SUCC; }
VOS_UINT32 LUP_PeekQueHead(const LUP_QUEUE_STRU *pstQue, VOS_VOID **ppNode) { VOS_UINT32 ulHead = 0; OSA_ASSERT_RTN (VOS_NULL_PTR != pstQue, PS_PTR_NULL); OSA_ASSERT_RTN (VOS_NULL_PTR != ppNode, PS_PARA_ERR); if (PS_TRUE == LUP_IsQueEmpty(pstQue)) { return PS_QUE_EMPTY; } ulHead = TTF_MOD_ADD(pstQue->ulHead, 1, pstQue->ulMaxNum); *ppNode = pstQue->pBuff[ulHead]; return PS_SUCC; }
VOS_UINT32 LUP_EnQue(LUP_QUEUE_STRU *pstQue, VOS_VOID *pNode) { VOS_UINT32 ulTail; OSA_ASSERT_RTN (VOS_NULL_PTR != pstQue, PS_PTR_NULL); OSA_ASSERT_RTN (VOS_NULL_PTR != pNode, PS_PTR_NULL); ulTail = TTF_MOD_ADD(pstQue->ulTail, 1, pstQue->ulMaxNum); if (pstQue->ulHead == ulTail) { return PS_QUE_FULL; } pstQue->pBuff[ulTail] = pNode; pstQue->ulTail = ulTail; return PS_SUCC; }
VOS_VOID CDS_ImsSaveFragmentPktInfo(const CDS_IP_DATA_INFO_STRU *pstIpPktInfo) { CDS_IMS_DL_FRAGMENT_BUFF_STRU *pstImsFragBuff; if (VOS_NULL_PTR == pstIpPktInfo) { return; } pstImsFragBuff = CDS_IMS_GET_DL_FRAGMENT_BUFF(); PS_MEM_CPY(&(pstImsFragBuff->astIpPktInfo[pstImsFragBuff->ulIndex]), pstIpPktInfo, sizeof(CDS_IP_DATA_INFO_STRU)); pstImsFragBuff->ulIndex = TTF_MOD_ADD(pstImsFragBuff->ulIndex,1,CDS_IMS_DL_FRAGMENT_BUFF_SIZE); return ; }