--- libaitcli/inc/aitcli.h 2010/06/07 13:47:42 1.2.2.9 +++ libaitcli/inc/aitcli.h 2010/12/07 15:09:02 1.2.2.13 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.h,v 1.2.2.9 2010/06/07 13:47:42 misho Exp $ +* $Id: aitcli.h,v 1.2.2.13 2010/12/07 15:09:02 misho Exp $ * *************************************************************************/ #ifndef __AITCLI_H @@ -178,8 +178,6 @@ struct tagCommand { cmd_func_t cmd_func; - char **cmd_comp; - SLIST_ENTRY(tagCommand) cmd_next; }; typedef SLIST_HEAD(slCommandHead, tagCommand) commands_t; @@ -249,12 +247,11 @@ int cli_BindKey(bindkey_t * __restrict key, linebuffer * @funcCmd = Callback function when user call command * @csInfo = Inline information for command * @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 */ int 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 * @buffer = CLI buffer @@ -272,13 +269,11 @@ cli_delCommand(linebuffer_t * __restrict buffer, const * @funcCmd = Callback function when user call command * @csInfo = Inline information for command * @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 */ int 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); /* @@ -331,6 +326,12 @@ inline void cli_setPrompt(linebuffer_t * __restrict bu * return: none */ 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 @@ -348,18 +349,17 @@ void cliEnd(linebuffer_t * __restrict buffer); linebuffer_t *cliInit(int fin, int fout, const char *prompt); /* - * cliReadLine() Read line from opened CLI session + * cliInitLine() Init CLI input line terminal * @buffer = CLI buffer - * return: NULL if error or !=NULL readed line, must be free after use! + * return: none */ -char *cliReadLine(linebuffer_t * __restrict buffer); +int cliInitLine(linebuffer_t * __restrict buffer); /* - * cliLoop() CLI main loop + * cliReadLine() Read line from opened CLI session * @buffer = CLI buffer - * @csHistFile = History file name - * return: RETCODE_ERR error, RETCODE_OK ok + * return: NULL if error or !=NULL readed line, must be free after use! */ -int cliLoop(linebuffer_t * __restrict buffer, const char *csHistFile); +char *cliReadLine(linebuffer_t * __restrict buffer); /* * cliLoop() CLI main loop @@ -377,37 +377,7 @@ int cliLoop(linebuffer_t * __restrict buffer, const ch * @win = window size of tty * return: RETCODE_ERR error, RETCODE_OK ok */ -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; \ - } +int cliNetLoop(linebuffer_t * __restrict buffer, const char *csHistFile, int sock); #endif