--- libaitcli/inc/aitcli.h 2013/11/20 16:26:51 1.9 +++ libaitcli/inc/aitcli.h 2013/11/22 15:17:22 1.10 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.h,v 1.9 2013/11/20 16:26:51 misho Exp $ +* $Id: aitcli.h,v 1.10 2013/11/22 15:17:22 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -226,6 +226,7 @@ typedef SLIST_HEAD(slCommandHead, tagCommand) commands /* Main structure, Buffer for CLI work with thread models ;-) special designed by M.Punov */ typedef struct { + int line_kill; char line_mode; char *line_prompt; @@ -534,10 +535,9 @@ int cliInitLine(linebuffer_t * __restrict cli_buffer); * * @cli_buffer = CLI buffer * @timeout = Session timeout (-1 infinit) - * @cmd_name = If timeout reached, we should call with this cmd_name (default name is "exit") * return: NULL if error or !=NULL readed line, must be e_free after use! */ -char *cliReadLine(linebuffer_t * __restrict cli_buffer, int timeout, const char *cmd_name); +char *cliReadLine(linebuffer_t * __restrict cli_buffer, int timeout); /* * cliLoop() - CLI main loop @@ -545,11 +545,9 @@ char *cliReadLine(linebuffer_t * __restrict cli_buffer * @cli_buffer = CLI buffer * @csHistFile = History file name * @timeout = Session timeout (-1 infinit) - * @cmd_name = If timeout reached, we should call with this cmd_name (default name is "exit") * return: RETCODE_ERR error, RETCODE_OK ok */ -int cliLoop(linebuffer_t * __restrict cli_buffer, const char *csHistFile, - int timeout, const char *cmd_name); +int cliLoop(linebuffer_t * __restrict cli_buffer, const char *csHistFile, int timeout); /* * cliNetLoop() - CLI network main loop binded to socket * @@ -557,11 +555,11 @@ int cliLoop(linebuffer_t * __restrict cli_buffer, cons * @csHistFile = History file name * @sock = client socket * @timeout = Session timeout (-1 infinit) - * @cmd_name = If timeout reached, we should call with this cmd_name (default name is "exit") * return: RETCODE_ERR error, RETCODE_OK ok */ int cliNetLoop(linebuffer_t * __restrict cli_buffer, const char *csHistFile, - int sock, int timeout, const char *cmd_name); + int sock, int timeout); +#define cliKillLoop(_x) (assert((_x)), (_x)->line_kill = 1) #endif