//----------------------------------------------------------------------------- // public functions //----------------------------------------------------------------------------- // void CLI_ModuleCmd_Install() { UINT32 u4Idx; UINT32 u4CmdIdx; CLI_EXEC_T* prModCmdTbl; // initialize module command table for (u4Idx = 0; u4Idx < (UINT32)(CLI_MOD_NS + 1); u4Idx++) { _arUserCmdTbl[u4Idx] = _rNullTbl; } // install module command table u4CmdIdx = 0; for (u4Idx = 0; u4Idx < (UINT32)CLI_MOD_NS; u4Idx++) { // ASSERT(_pfCliGetTbl[u4Idx] != NULL); assert(_pfCliGetTbl[u4Idx] != NULL); prModCmdTbl = _pfCliGetTbl[u4Idx](); if ((prModCmdTbl != NULL) && (prModCmdTbl->pszCmdStr != NULL) && ((prModCmdTbl->pfExecFun != NULL) || (prModCmdTbl->prCmdNextLevel != NULL))) { _arUserCmdTbl[u4CmdIdx] = *prModCmdTbl; u4CmdIdx++; } } CLI_CmdTblAttach(_arUserCmdTbl); }
/****************************************************************************** * Function : CLI_CmdTblClear * Description : cli command table clear ******************************************************************************/ void CLI_CmdTblClear(void) { UINT32 u4TblIdx; for (u4TblIdx = 0; u4TblIdx < CLI_INPUT_MAX_CMD_TBL_NUM; u4TblIdx++) { _aprCmdTblBuf[u4TblIdx] = NULL; } _u4CmdTblNum = 0; //VERIFY( CLI_CmdTblAttach((CLI_EXEC_T *)_arMandatoryCmdTbl) != -1); CLI_CmdTblAttach((CLI_EXEC_T *)_arMandatoryCmdTbl); _aprCmdTblLinkBuf[0] = NULL; _u4CmdTblLinkIdx = 0; _prCurrentCmdTbl = NULL; }