Diff for /libaitcli/inc/aitcli.h between versions 1.9 and 1.13

version 1.9, 2013/11/20 16:26:51 version 1.13, 2022/10/17 22:04:24
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013Copyright 2004 - 2022
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 205  typedef struct { Line 205  typedef struct {
   
 /* Commands structure for CLI */  /* Commands structure for CLI */
   
   #define CLI_CMD_DEFINE(x)       int (x)(void *, int, char **)
 typedef int (*cmd_func_t)(/*linebuffer_t **/ void * __restrict cli_buffer, int idx,   typedef int (*cmd_func_t)(/*linebuffer_t **/ void * __restrict cli_buffer, int idx, 
                 char ** __restrict args);                  char ** __restrict args);
 struct tagCommand {  struct tagCommand {
Line 226  typedef SLIST_HEAD(slCommandHead, tagCommand) commands Line 227  typedef SLIST_HEAD(slCommandHead, tagCommand) commands
 /* Main structure, Buffer for CLI work with thread models ;-) special designed by M.Punov */  /* Main structure, Buffer for CLI work with thread models ;-) special designed by M.Punov */
   
 typedef struct {  typedef struct {
           int                     line_kill;
         char                    line_mode;          char                    line_mode;
   
           char                    line_porigin[STRSIZ];
         char                    *line_prompt;          char                    *line_prompt;
   
         int                     line_bol;          int                     line_bol;
Line 342  unsigned int cli_telnet_GetCmd(struct telnetAttrs *att Line 345  unsigned int cli_telnet_GetCmd(struct telnetAttrs *att
  *   *
  * @attr = input attribute   * @attr = input attribute
  * @cmd = command   * @cmd = command
 * @opt = option, if 0xff not specified * @optz = option, if 0xff not specified
  * @arg1 = sub-option code, if 0xff not specified   * @arg1 = sub-option code, if 0xff not specified
  * @arg2 = sub-option data, if NULL not specified   * @arg2 = sub-option data, if NULL not specified
  * @arg3 = sub-option data size, if 0 not specified data   * @arg3 = sub-option data size, if 0 not specified data
  * return: -1 can`t set command; !=-1 ok   * return: -1 can`t set command; !=-1 ok
 */  */
int cli_telnet_SetCmd(struct telnetAttrs *attr, unsigned char cmd, unsigned char opt, ...);int cli_telnet_SetCmd(struct telnetAttrs *attr, unsigned char cmd, int optz, ...);
   
 /*  /*
  * cli_telnet_Answer() - Automatic generate commands answer to send from telnet   * cli_telnet_Answer() - Automatic generate commands answer to send from telnet
Line 523  void cliEnd(linebuffer_t * __restrict cli_buffer); Line 526  void cliEnd(linebuffer_t * __restrict cli_buffer);
 linebuffer_t *cliInit(int fin, int fout, const char *prompt);  linebuffer_t *cliInit(int fin, int fout, const char *prompt);
   
 /*  /*
 * cliInitLine() - Init CLI input line terminal * cliSetLine() - Set CLI input line terminal
  *   *
  * @cli_buffer = CLI buffer   * @cli_buffer = CLI buffer
 * return: none * @old = Old terminal settings
  * return: -1 error or 0 ok
 */  */
int cliInitLine(linebuffer_t * __restrict cli_buffer);int cliSetLine(linebuffer_t * __restrict cli_buffer, struct termios * __restrict old);
 /*  /*
    * cliResetLine() - Reset CLI input line terminal
    *
    * @cli_buffer = CLI buffer
    * @old = Original terminal settings
    * return: -1 error or 0 ok
   */
   int cliResetLine(linebuffer_t * __restrict cli_buffer, struct termios * __restrict orig);
   /*
  * cliReadLine() - Read line from opened CLI session   * cliReadLine() - Read line from opened CLI session
  *   *
  * @cli_buffer = CLI buffer   * @cli_buffer = CLI buffer
  * @timeout = Session timeout (-1 infinit)   * @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!   * 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);
   
 /*  /*
    * cliRun() - CLI run command line
    *
    * @cli_buffer = CLI buffer
    * @psInput = Input command line
    * @prompt = Display prompt after command
    * return: RETCODE_ERR error, RETCODE_OK ok
   */
   int cliRun(linebuffer_t * __restrict cli_buffer, char *psInput, int prompt);
   
   /*
  * cliLoop() - CLI main loop   * cliLoop() - CLI main loop
  *   *
  * @cli_buffer = CLI buffer   * @cli_buffer = CLI buffer
  * @csHistFile = History file name   * @csHistFile = History file name
  * @timeout = Session timeout (-1 infinit)   * @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   * return: RETCODE_ERR error, RETCODE_OK ok
 */  */
int cliLoop(linebuffer_t * __restrict cli_buffer, const char *csHistFile, int cliLoop(linebuffer_t * __restrict cli_buffer, const char *csHistFile, int timeout);
                int timeout, const char *cmd_name); 
 /*  /*
  * cliNetLoop() - CLI network main loop binded to socket   * cliNetLoop() - CLI network main loop binded to socket
  *   *
Line 557  int cliLoop(linebuffer_t * __restrict cli_buffer, cons Line 576  int cliLoop(linebuffer_t * __restrict cli_buffer, cons
  * @csHistFile = History file name   * @csHistFile = History file name
  * @sock = client socket   * @sock = client socket
  * @timeout = Session timeout (-1 infinit)   * @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   * return: RETCODE_ERR error, RETCODE_OK ok
 */  */
 int cliNetLoop(linebuffer_t * __restrict cli_buffer, const char *csHistFile,   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  #endif

Removed from v.1.9  
changed lines
  Added in v.1.13


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>