VOS_VOID IMM_RbMemFreeFromQue(VOS_VOID)
{
    IMM_MEM_STRU *pstMem = VOS_NULL_PTR;
    VOS_UINT32    ulResult;


    if (g_pstAcpuIMMMemFreeQue == VOS_NULL_PTR)
    {
        vos_printf("g_pstAcpuIMMMemFreeQue is null\n");
        return;
    }

    if (g_pstAcpuIMMMemFreeQue->ulMaxNum != (IMM_MEM_FREE_QUE_LEN+1))
    {
        vos_printf("g_pstAcpuIMMMemFreeQue ulMaxNum err: %u \n", g_pstAcpuIMMMemFreeQue->ulMaxNum);
        return;
    }

    while(PS_TRUE != (LUP_IsQueEmpty(g_pstAcpuIMMMemFreeQue)))
    {
        ulResult = LUP_DeSharedQueAcpu(g_pstAcpuIMMMemFreeQue, (VOS_VOID **)&pstMem);
        g_stImmMemRbMntnEntity.ulImmMemRbDeQTotalCnt++;

        if (PS_SUCC != ulResult)
        {
            g_stImmMemRbMntnEntity.ulImmMemRbDeQFailCnt++;
            vos_printf("ADS_IMMMemFree: LUP_DeSharedQueAcpu fail\n");
            return;
        }

        IMM_MemFree(pstMem);
    }

    return;
}/* IMM_RbMemFreeFromQue */
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_VOID TTF_MemFreeFromQue(VOS_VOID)
{
    TTF_MEM_ST *pstTtfMem = VOS_NULL_PTR;
    VOS_UINT32  ulResult;

    if (g_pstCcpuTTFMemFreeQue == VOS_NULL_PTR)
    {
        vos_printf("CDS_TTFMemFree: g_pstCcpuTTFMemFreeQue is null\n");
        return;
    }

    if (g_pstCcpuTTFMemFreeQue->ulMaxNum != (TTF_MEM_FREE_QUE_LEN+1))
    {
        vos_printf("CDS_TTFMemFree: g_pstCcpuTTFMemFreeQue ulMaxNum err\n");
        return;
    }


    while(PS_TRUE != (LUP_IsQueEmpty(g_pstCcpuTTFMemFreeQue)))
    {
        ulResult = LUP_DeQue(g_pstCcpuTTFMemFreeQue, (VOS_VOID **)&pstTtfMem);

        g_stTtfMemRbMntnEntity.ulTtfMemRbDeQTotalCnt++;

        if (PS_SUCC != ulResult)
        {
            g_stTtfMemRbMntnEntity.ulTtfMemRbDeQFailCnt++;
            vos_printf("TTF_MemFreeFromQue: LUP_DeQue fail!\n");
            return;
        }

        TTF_MemFree(UEPS_PID_TTF_MEM_RB_FREE, pstTtfMem);
    }

    return;
}/* TTF_MemFreeFromQue */