|
|
| version 1.2.2.9, 2010/06/07 13:47:42 | version 1.2.2.12, 2010/06/09 09:32:30 |
|---|---|
| Line 178 struct tagCommand { | Line 178 struct tagCommand { |
| cmd_func_t cmd_func; | cmd_func_t cmd_func; |
| char **cmd_comp; | |
| SLIST_ENTRY(tagCommand) cmd_next; | SLIST_ENTRY(tagCommand) cmd_next; |
| }; | }; |
| typedef SLIST_HEAD(slCommandHead, tagCommand) commands_t; | typedef SLIST_HEAD(slCommandHead, tagCommand) commands_t; |
| Line 249 int cli_BindKey(bindkey_t * __restrict key, linebuffer | Line 247 int cli_BindKey(bindkey_t * __restrict key, linebuffer |
| * @funcCmd = Callback function when user call command | * @funcCmd = Callback function when user call command |
| * @csInfo = Inline information for command | * @csInfo = Inline information for command |
| * @csHelp = Help line when call help | * @csHelp = Help line when call help |
| * @anComp = Completion array terminated with NULL element, -1 complete commands, NULL nothing | |
| * return: RETCODE_ERR error, RETCODE_OK ok | * return: RETCODE_ERR error, RETCODE_OK ok |
| */ | */ |
| int | int |
| cli_addCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, | cli_addCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, |
| const char *csInfo, const char *csHelp, const char **anComp); | const char *csInfo, const char *csHelp); |
| /* | /* |
| * cli_delCommand() Delete command from CLI session | * cli_delCommand() Delete command from CLI session |
| * @buffer = CLI buffer | * @buffer = CLI buffer |
| Line 272 cli_delCommand(linebuffer_t * __restrict buffer, const | Line 269 cli_delCommand(linebuffer_t * __restrict buffer, const |
| * @funcCmd = Callback function when user call command | * @funcCmd = Callback function when user call command |
| * @csInfo = Inline information for command | * @csInfo = Inline information for command |
| * @csHelp = Help line when call help | * @csHelp = Help line when call help |
| * @anComp = Completion array terminated with NULL element, -1 complete commands, NULL nothing, | |
| * update only if funcCmd is not NULL | |
| * return: RETCODE_ERR error, RETCODE_OK ok | * return: RETCODE_ERR error, RETCODE_OK ok |
| */ | */ |
| int | int |
| cli_updCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, | cli_updCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, |
| const char *csInfo, const char *csHelp, const char **anComp); | const char *csInfo, const char *csHelp); |
| /* | /* |
| Line 331 inline void cli_setPrompt(linebuffer_t * __restrict bu | Line 326 inline void cli_setPrompt(linebuffer_t * __restrict bu |
| * return: none | * return: none |
| */ | */ |
| inline void cli_Printf(linebuffer_t * __restrict buffer, char *fmt, ...); | inline void cli_Printf(linebuffer_t * __restrict buffer, char *fmt, ...); |
| /* | |
| * cli_PrintHelp() Print help screen | |
| * @buffer = CLI buffer | |
| * return: none | |
| */ | |
| inline void cli_PrintHelp(linebuffer_t * __restrict buffer); | |
| /* | /* |
| * cliEnd() Clear data, Free resources and close CLI session | * cliEnd() Clear data, Free resources and close CLI session |
| Line 377 int cliLoop(linebuffer_t * __restrict buffer, const ch | Line 378 int cliLoop(linebuffer_t * __restrict buffer, const ch |
| * @win = window size of tty | * @win = window size of tty |
| * return: RETCODE_ERR error, RETCODE_OK ok | * return: RETCODE_ERR error, RETCODE_OK ok |
| */ | */ |
| int cliNetLoop(linebuffer_t * __restrict buffer, const char *csHistFile, int sock, | int cliNetLoop(linebuffer_t * __restrict buffer, const char *csHistFile, int sock); |
| struct termios *term, struct winsize *win); | |
| /* | |
| * cli_Make_Comp_Commands - Declare helper function for Commands completion arguments | |
| */ | |
| #define CLI_MAKE_COMP_COMMANDS(FUNC, CMDS) \ | |
| char *FUNC(const char *text, int state) \ | |
| { \ | |
| register int i; \ | |
| int len = strlen(text); \ | |
| for (i = state; CMDS[i].cmd_name; i++) { \ | |
| if (strncmp(CMDS[i].cmd_name, "---", 3) && \ | |
| !strncmp(CMDS[i].cmd_name, text, len)) \ | |
| return strdup(CMDS[i].cmd_name); \ | |
| } \ | |
| return NULL; \ | |
| } | |
| /* | |
| * cli_Make_Comp_Args - Declare helper function for Arguments completion | |
| */ | |
| #define CLI_MAKE_COMP_ARGS(FUNC, ARGS) \ | |
| char *FUNC(const char *text __attribute__((unused)), int state) \ | |
| { \ | |
| while (ARGS[state]) \ | |
| return strdup(ARGS[state]); \ | |
| return NULL; \ | |
| } | |
| #endif | #endif |