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 ; }