|
version 1.2.2.4, 2010/06/04 16:16:17
|
version 1.2.2.7, 2010/06/07 11:54:00
|
|
Line 10
|
Line 10
|
| #define __AITCLI_H |
#define __AITCLI_H |
| |
|
| |
|
| |
#include <termios.h> |
| |
#include <sys/queue.h> |
| |
|
| |
|
| #define STRSIZ 256 |
#define STRSIZ 256 |
| |
|
| /* Key definitions */ |
/* Key definitions */ |
|
Line 162 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 argv); |
| struct tagCommand { |
struct tagCommand { |
| int cmd_level; |
int cmd_level; |
| |
|
| int cmd_min; |
|
| int cmd_len; |
int cmd_len; |
| char cmd_name[STRSIZ]; |
char cmd_name[STRSIZ]; |
| |
|
|
Line 222 inline const char *cli_GetError();
|
Line 225 inline const char *cli_GetError();
|
| */ |
*/ |
| int cli_BindKey(bindkey_t * __restrict key, linebuffer_t * __restrict buffer); |
int cli_BindKey(bindkey_t * __restrict key, linebuffer_t * __restrict buffer); |
| |
|
| |
|
| /* |
/* |
| |
* cli_addCommand() Add command to CLI session |
| |
* @buffer = CLI buffer |
| |
* @csCmd = Command name |
| |
* @cliLevel = Level in CLI, -1 unprivi(view from all), 0 main config, 1 sub config ... |
| |
* @funcCmd = Callback function when user call command |
| |
* @csInfo = Inline information for command |
| |
* @csHelp = Help line when call help |
| |
* 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); |
| |
/* |
| |
* cli_delCommand() Delete command from CLI session |
| |
* @buffer = CLI buffer |
| |
* @csCmd = Command name |
| |
* @cliLevel = Level in CLI, -1 unprivi(view from all), 0 main config, 1 sub config ... |
| |
* return: RETCODE_ERR error, RETCODE_OK ok |
| |
*/ |
| |
int |
| |
cli_delCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel); |
| |
/* |
| |
* cli_updCommand() Update command in CLI session |
| |
* @buffer = CLI buffer |
| |
* @csCmd = Command name |
| |
* @cliLevel = Level in CLI, -1 unprivi(view from all), 0 main config, 1 sub config ... |
| |
* @funcCmd = Callback function when user call command |
| |
* @csInfo = Inline information for command |
| |
* @csHelp = Help line when call help |
| |
* 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); |
| |
|
| |
|
| |
/* |
| * cli_addHistory() Add line to history |
* cli_addHistory() Add line to history |
| * @buffer = CLI buffer |
* @buffer = CLI buffer |
| * @str = Add custom text or if NULL use readed line from CLI buffer |
* @str = Add custom text or if NULL use readed line from CLI buffer |
|
Line 322 int cliNetLoop(linebuffer_t * __restrict buffer, const
|
Line 363 int cliNetLoop(linebuffer_t * __restrict buffer, const
|
| struct termios *term, struct winsize *win); |
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 |
* cli_Make_Comp_Commands - Declare helper function for Commands completion arguments |
| */ |
*/ |