Lines Matching refs:handle
22 char *BShellEnvErrString(BShellHandle handle, int32_t err)
39 BSH_CHECK(handle != NULL, return "System unknown err", "Invalid shell env");
40 BShellEnv *shell = (BShellEnv *)handle;
48 static void BShellCmdOutputCmdHelp(BShellHandle handle, BShellCommand *cmd)
50 BShellEnvOutputString(handle, " ");
51 int32_t spaceLength = BShellEnvOutputString(handle, cmd->help);
55 BShellEnvOutputString(handle, " ");
57 BShellEnvOutputString(handle, "--");
58 BShellEnvOutputString(handle, cmd->desc);
59 BShellEnvOutputString(handle, "\r\n");
62 int32_t BShellCmdHelp(BShellHandle handle, int32_t argc, char *argv[])
64 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
65 BShellEnv *shell = (BShellEnv *)handle;
66 BShellEnvOutputString(handle, BShellEnvErrString(handle, BSH_SHOW_CMD_LIST));
74 BShellCmdOutputCmdHelp(handle, cmd);
84 BShellCmdOutputCmdHelp(handle, cmd);
90 static int32_t BShellCmdExit(BShellHandle handle, int32_t argc, char *argv[])
98 int32_t BShellEnvOutput(BShellHandle handle, char *fmt, ...)
100 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
109 int32_t BShellEnvOutputString(BShellHandle handle, const char *string)
111 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
117 int32_t BShellEnvOutputPrompt(BShellHandle handle, const char *prompt)
119 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
121 BShellEnv *shell = (BShellEnv *)handle;
140 void BShellEnvOutputByte(BShellHandle handle, char data)
142 BSH_CHECK(handle != NULL, return, "Invalid shell env");
147 void BShellEnvOutputResult(BShellHandle handle, int32_t result)
156 static void BShellEnvOutputParam(BShellHandle handle, char *var)
158 BShellEnvOutput(handle, (var[0] == '$') ? var + 1 : var);
159 BShellEnvOutputString(handle, " = ");
160 BShellEnvOutputString(handle, BShellEnvGetStringParam(handle, var));
163 void BShellEnvBackspace(BShellHandle handle, uint32_t length)
166 BShellEnvOutputString(handle, "\b \b");
201 static int32_t BShellEnvHandleEnter(BShellHandle handle, uint8_t data)
203 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
204 BShellEnv *shell = (BShellEnv *)handle;
207 BShellEnvOutputString(handle, shell->prompt);
222 BShellCmdHelp(handle, shell->argc, shell->args);
232 BShellCommand *cmd = BShellEnvGetCmd(handle, (uint32_t)shell->argc, shell->args);
237 BShellEnvOutputString(shell, BShellEnvErrString(handle, BSH_CMD_NOT_EXIST));
243 static int32_t BShellEnvHandleBackspace(BShellHandle handle, uint8_t code)
245 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
246 BShellEnv *shell = (BShellEnv *)handle;
254 BShellEnvBackspace(handle, 1);
274 static int32_t BShellEnvHandleTab(BShellHandle handle, uint8_t code)
276 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
280 static void BShellEnvHandleNormal(BShellHandle handle, uint8_t data)
282 BSH_CHECK(handle != NULL, return, "Invalid shell env");
283 BShellEnv *shell = (BShellEnv *)handle;
306 BShellEnvOutputString(shell, BShellEnvErrString(handle, BSH_CMD_TOO_LONG));
313 static int32_t BShellEnvHandleCtrC(BShellHandle handle, uint8_t code)
315 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
323 static int32_t BShellEnvHandleEsc(BShellHandle handle, uint8_t code)
325 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
326 BShellEnv *shell = (BShellEnv *)handle;
350 SHELLSTATIC void BShellEnvProcessInput(BShellHandle handle, char data)
352 BSH_CHECK(handle != NULL, return, "Invalid shell env");
353 BShellEnv *shell = (BShellEnv *)handle;
355 BShellKey *key = BShellEnvGetKey(handle, data);
374 BShellEnvOutputByte(handle, shell->buffer[shell->cursor]);
397 void BShellEnvLoop(BShellHandle handle)
399 BSH_CHECK(handle != NULL, return, "Invalid shell env");
400 BShellEnv *shell = (BShellEnv *)handle;
410 int32_t BShellEnvInit(BShellHandle *handle, const BShellInfo *info)
412 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
427 *handle = (BShellHandle)shell;
431 int BShellEnvStart(BShellHandle handle)
433 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
434 BShellEnv *shell = (BShellEnv *)handle;
436 BShellEnvOutputString(handle, BShellEnvErrString(handle, BSH_SHELL_INFO));
437 BShellEnvOutputString(handle, shell->prompt);
444 BShellEnvRegisterCmd(handle, &infos[i]);
477 void BShellEnvDestory(BShellHandle handle)
479 BSH_CHECK(handle != NULL, return, "Invalid shell env");
480 BShellEnv *shell = (BShellEnv *)handle;
508 int32_t BShellEnvRegisterCmd(BShellHandle handle, const CmdInfo *cmdInfo)
510 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
513 BShellEnv *shell = (BShellEnv *)handle;
573 BShellCommand *BShellEnvGetCmd(BShellHandle handle, int32_t argc, char *argv[])
575 BSH_CHECK(handle != NULL, return NULL, "Invalid shell env");
579 BShellEnv *shell = (BShellEnv *)handle;
615 int32_t BShellEnvRegisterKeyHandle(BShellHandle handle, uint8_t code, BShellkeyHandle keyHandle)
617 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
619 BShellEnv *shell = (BShellEnv *)handle;
630 BShellKey *BShellEnvGetKey(BShellHandle handle, uint8_t code)
632 BSH_CHECK(handle != NULL, return NULL, "Invalid shell env");
633 BShellEnv *shell = (BShellEnv *)handle;
662 int32_t BShellEnvSetParam(BShellHandle handle, const char *name, const char *desc, BShellParamType type, void *value)
664 BSH_CHECK(handle != NULL, return BSH_INVALID_PARAM, "Invalid shell env");
668 BShellEnv *shell = (BShellEnv *)handle;
669 const BShellParam *tmp = BShellEnvGetParam(handle, name);
699 const BShellParam *BShellEnvGetParam(BShellHandle handle, const char *name)
701 BSH_CHECK(handle != NULL, return NULL, "Invalid shell env");
702 BShellEnv *shell = (BShellEnv *)handle;
713 const char *BShellEnvGetStringParam(BShellHandle handle, const char *name)
715 BSH_CHECK(handle != NULL, return "", "Invalid shell env");
716 const BShellParam *param = BShellEnvGetParam(handle, name);
729 const ParamInfo *BShellEnvGetReservedParam(BShellHandle handle, const char *name)
731 BSH_CHECK(handle != NULL, return NULL, "Invalid shell env");
743 int32_t BShellEnvDirectExecute(BShellHandle handle, int argc, char *args[])
745 BSH_CHECK(handle != NULL, return -1, "Invalid shell env");
746 BShellCommand *cmd = BShellEnvGetCmd(handle, argc, args);
748 int32_t ret = cmd->executer(handle, argc - cmd->argStart, &args[cmd->argStart]);
749 BShellEnvOutputResult(handle, ret);
752 BShellEnvOutputString(handle, BShellEnvErrString(handle, BSH_CMD_NOT_EXIST));
754 BShellCmdHelp(handle, argc, args);