VOS_VOID ADS_FILTER_ResetLists(VOS_VOID)
{
    VOS_UINT32                          ulLoop;
    HI_LIST_S                          *pstMe       = VOS_NULL_PTR;
    HI_LIST_S                          *pstTmp      = VOS_NULL_PTR;
    HI_LIST_S                          *pstListHead = VOS_NULL_PTR;
    ADS_FILTER_NODE_STRU               *pstNode     = VOS_NULL_PTR;

    /* 循环遍历所有过滤表,并释放过滤表的所有节点 */
    for (ulLoop = 0; ulLoop < ADS_FILTER_MAX_LIST_NUM; ulLoop++)
    {
        pstListHead = ADS_FILTER_GET_LIST(ulLoop);
        msp_list_for_each_safe(pstMe, pstTmp, pstListHead)
        {
            pstNode = msp_list_entry(pstMe, ADS_FILTER_NODE_STRU, stList);

            /* 从过滤表中删除节点 */
            msp_list_del(&pstNode->stList);

            /* 释放节点内存 */
            ADS_FILTER_FREE(pstNode);
        }
    }
/* 打印解析出的组合命令信息,调试用 */
VOS_VOID At_PrintCombinCmd(VOS_VOID)
{
    VOS_UINT32 i = 0, j = 0;
    HI_LIST_S* me = NULL;
    HI_LIST_S* pstCombList = NULL;
    AT_PARSE_CONTEXT_STRU* pClientContext = NULL;
    AT_FW_COMBINE_CMD_STRU* pstCombCmd = NULL;
    AT_FW_COMBINE_CMD_NODE_STRU* pstCombCmdNode = NULL;

    for(j = 0; j < AT_MAX_CLIENT_NUM; j++)
    {
        pClientContext = &(g_stParseContext[j]);

        pstCombList = &pClientContext->stCombineCmdInfo.stCombineCmdList;

        /* 在client链表中查找指定的ClientId */
        msp_list_for_each(me, pstCombList)
        {
            pstCombCmdNode = msp_list_entry(me, AT_FW_COMBINE_CMD_NODE_STRU, stCombCmdList);
            pstCombCmd = pstCombCmdNode->pstCombCmd;

            if(NULL == pstCombCmd)
            {
                continue;
            }

            (VOS_VOID)vos_printf("-%d-:", pstCombCmd->ulLen);

            for(i = 0; i < pstCombCmd->ulLen; i++)
            {
                (VOS_VOID)vos_printf("%c", pstCombCmd->ucData[i]);
            }

            (VOS_VOID)vos_printf("\n");
        }
    }
VOS_VOID At_ResetCombinCmdInfo(HI_LIST_S* pstCombList)
{
    VOS_UINT8 i = 0;
    VOS_UINT8 ucCmdNum = 0;
    HI_LIST_S* me = NULL;
    AT_FW_COMBINE_CMD_INFO_STRU* pstCombineCmdInfo = NULL;
    AT_FW_COMBINE_CMD_NODE_STRU* apNode[AT_MAX_NUM_COMBINE_CMD] = {0};


    if ((NULL == pstCombList)
    || (NULL == pstCombList->next))
    {
        return ;
    }

    /* 在链表中查找每个子命令结点 */
    msp_list_for_each(me, pstCombList)
    {
        if(me == NULL)
        {
            pstCombineCmdInfo = msp_list_entry(pstCombList, AT_FW_COMBINE_CMD_INFO_STRU, stCombineCmdList);
            pstCombineCmdInfo->usTotalNum = 0;
            pstCombineCmdInfo->usProcNum  = 0;
            /*lint -e717*/
            HI_INIT_LIST_HEAD(pstCombList);
            /*lint -e717*/

            return;
        }

        apNode[ucCmdNum] = msp_list_entry(me, AT_FW_COMBINE_CMD_NODE_STRU, stCombCmdList);
        if(NULL == apNode[ucCmdNum])
        {
            pstCombineCmdInfo = msp_list_entry(pstCombList, AT_FW_COMBINE_CMD_INFO_STRU, stCombineCmdList);
            pstCombineCmdInfo->usTotalNum = 0;
            pstCombineCmdInfo->usProcNum  = 0;

            /*lint -e717*/
            HI_INIT_LIST_HEAD(pstCombList);
            /*lint -e717*/

            return;
        }

        ucCmdNum++;

        if(ucCmdNum >= AT_MAX_NUM_COMBINE_CMD)
        {
            pstCombineCmdInfo = msp_list_entry(pstCombList, AT_FW_COMBINE_CMD_INFO_STRU, stCombineCmdList);
            pstCombineCmdInfo->usTotalNum = 0;
            pstCombineCmdInfo->usProcNum  = 0;

            /*lint -e717*/
            HI_INIT_LIST_HEAD(pstCombList);
            /*lint -e717*/
            return;
        }
    }

    for(i = 0; i < ucCmdNum; i++)
    {
        msp_list_del(&(apNode[i]->stCombCmdList));
        AT_FREE(apNode[i]->pstCombCmd);
        AT_FREE(apNode[i]);
    }

    pstCombineCmdInfo = msp_list_entry(pstCombList, AT_FW_COMBINE_CMD_INFO_STRU, stCombineCmdList);
    pstCombineCmdInfo->usTotalNum = 0;
    pstCombineCmdInfo->usProcNum  = 0;

    return ;
}