--- libaitcli/inc/aitcli.h 2025/12/17 23:30:11 1.14 +++ libaitcli/inc/aitcli.h 2025/12/23 23:11:13 1.14.4.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitcli.h,v 1.14 2025/12/17 23:30:11 misho Exp $ +* $Id: aitcli.h,v 1.14.4.3 2025/12/23 23:11:13 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004 - 2024 +Copyright 2004 - 2025 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -238,10 +238,15 @@ typedef struct { int line_len; char *line_buf; + int line_posin; + int line_lenin; + char *line_input; + const struct tagHistory *line_h; history_t line_history; bindkey_t *line_keys; + bindkey_t *line_inkeys; int line_level; commands_t line_cmds; @@ -480,6 +485,13 @@ int cli_loadHistory(linebuffer_t * __restrict cli_buff void cli_resetHistory(linebuffer_t * __restrict cli_buffer); /* + * cli_freeInput() - Clear entire input + * + * @cli_buffer = CLI buffer + * return: RETCODE_ERR error, RETCODE_OK ok +*/ +int cli_freeInput(linebuffer_t * __restrict cli_buffer); +/* * cli_freeLine() - Clear entire line * * @cli_buffer = CLI buffer @@ -545,6 +557,14 @@ int cliSetLine(linebuffer_t * __restrict cli_buffer, s */ int cliResetLine(linebuffer_t * __restrict cli_buffer, struct termios * __restrict orig); /* + * cliEcho() - Switch echo on or off + * + * @cli_buffer = CLI buffer + * @on = On or off for echo on input handler + * return: -1 error or 0 ok +*/ +int cliEcho(linebuffer_t * __restrict cli_buffer, int on); +/* * cliReadLine() - Read line from opened CLI session * * @cli_buffer = CLI buffer @@ -552,6 +572,14 @@ int cliResetLine(linebuffer_t * __restrict cli_buffer, * return: NULL if error or !=NULL readed line, must be e_free after use! */ char *cliReadLine(linebuffer_t * __restrict cli_buffer, int timeout); +/* + * cliInputLine() - Input line from opened CLI session + * + * @cli_buffer = CLI buffer + * @timeout = Session timeout (-1 infinit) + * return: NULL if error or !=NULL readed line, must be e_free after use! +*/ +char *cliInputLine(linebuffer_t * __restrict cli_buffer, int timeout); /* * cliRun() - CLI run command line