Diff for /libaitcli/inc/aitcli.h between versions 1.2.2.6 and 1.2.2.13

version 1.2.2.6, 2010/06/07 11:32:50 version 1.2.2.13, 2010/12/07 15:09:02
Line 166  typedef struct { Line 166  typedef struct {
   
 /* Commands structure for CLI */  /* Commands structure for CLI */
   
typedef int (*cmd_func_t)(/*linebuffer_t **/ void * __restrict buffer, int argc, char ** __restrict argv);typedef int (*cmd_func_t)(/*linebuffer_t **/ void * __restrict buffer, int idx, char ** __restrict args);
 struct tagCommand {  struct tagCommand {
         int                     cmd_level;          int                     cmd_level;
   
Line 200  typedef struct { Line 200  typedef struct {
   
         bindkey_t               *line_keys;          bindkey_t               *line_keys;
   
           int                     line_level;
         commands_t              line_cmds;          commands_t              line_cmds;
   
         int                     line_in;          int                     line_in;
Line 215  inline int cli_GetErrno(); Line 216  inline int cli_GetErrno();
 inline const char *cli_GetError();  inline const char *cli_GetError();
   
   
   /* CLI Helper functions */
   
   /*
    * cli_Cmd_Unsupported() Builtin helper function for unsupported commands
    * @buffer = CLI buffer
    * @idx = Selected command ID
    * @args = Parsed arguments array
    * return: RETCODE_OK ok
   */
   int cli_Cmd_Unsupported(void * __restrict buffer, int idx, char ** __restrict args);
   
   
 /* CLI Functions */  /* CLI Functions */
   
 /*  /*
Line 313  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 330  void cliEnd(linebuffer_t * __restrict buffer); Line 349  void cliEnd(linebuffer_t * __restrict buffer);
 linebuffer_t *cliInit(int fin, int fout, const char *prompt);  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   * @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   * @buffer = CLI buffer
 * @csHistFile = History file name * return: NULL if error or !=NULL readed line, must be free after use!
 * return: RETCODE_ERR error, RETCODE_OK ok 
 */  */
int cliLoop(linebuffer_t * __restrict buffer, const char *csHistFile);char *cliReadLine(linebuffer_t * __restrict buffer);
   
 /*  /*
  * cliLoop() CLI main loop   * cliLoop() CLI main loop
Line 359  int cliLoop(linebuffer_t * __restrict buffer, const ch Line 377  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 sockint cliNetLoop(linebuffer_t * __restrict buffer, const char *csHistFile, int sock);
                struct termios *term, struct winsize *win); 
 
 
/* CLI Helper functions */ 
 
/* 
 * cli_Cmd_Unsupported() Builtin helper function for unsupported commands 
 * @cmds = Commands list 
 * @idx = Selected command ID 
 * @out = Output handle 
 * @args = Parsed arguments array 
 * return: -1 error, 0 = ok, 1 exit from Cli! 
*/ 
int cli_Cmd_Unsupported(void *cmds, int idx, FILE *out, char ** __restrict args); 
/* 
 * cli_Cmd_Help() Builtin helper function for Help screen 
 * @cmds = Commands list 
 * @idx = Selected command ID 
 * @out = Output handle 
 * @args = Parsed arguments array 
 * return: -1 error, 0 = ok 
*/ 
int cli_Cmd_Help(void *cmds, int idx, FILE *out, char ** __restrict args); 
/* 
 * cli_Cmd_Exit() Builtin helper function for Exit from Cli 
 * @cmds = Commands list 
 * @idx = Selected command ID 
 * @out = Output handle 
 * @args = Parsed arguments array 
 * return: 1 exit from Cli! 
*/ 
int cli_Cmd_Exit(void *cmds, int idx, FILE *out, char ** __restrict args); 
 
 
/* 
 * cli_Register_Commands - Declare helper function for register and export Commands variable 
*/ 
#define CLI_REGISTER_COMMANDS(CMDS)     \ 
        extern commands_t CMDS[]; 
/* 
 * 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

Removed from v.1.2.2.6  
changed lines
  Added in v.1.2.2.13


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