version 1.2.2.6, 2010/06/07 11:32:50
|
version 1.2.2.9, 2010/06/07 13:47:42
|
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 178 struct tagCommand {
|
Line 178 struct tagCommand {
|
|
|
cmd_func_t cmd_func; |
cmd_func_t cmd_func; |
|
|
|
char **cmd_comp; |
|
|
SLIST_ENTRY(tagCommand) cmd_next; |
SLIST_ENTRY(tagCommand) cmd_next; |
}; |
}; |
typedef SLIST_HEAD(slCommandHead, tagCommand) commands_t; |
typedef SLIST_HEAD(slCommandHead, tagCommand) commands_t; |
Line 200 typedef struct {
|
Line 202 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 218 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 234 int cli_BindKey(bindkey_t * __restrict key, linebuffer
|
Line 249 int cli_BindKey(bindkey_t * __restrict key, linebuffer
|
* @funcCmd = Callback function when user call command |
* @funcCmd = Callback function when user call command |
* @csInfo = Inline information for command |
* @csInfo = Inline information for command |
* @csHelp = Help line when call help |
* @csHelp = Help line when call help |
|
* @anComp = Completion array terminated with NULL element, -1 complete commands, NULL nothing |
* return: RETCODE_ERR error, RETCODE_OK ok |
* return: RETCODE_ERR error, RETCODE_OK ok |
*/ |
*/ |
int |
int |
cli_addCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, |
cli_addCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, |
const char *csInfo, const char *csHelp); | const char *csInfo, const char *csHelp, const char **anComp); |
/* |
/* |
* cli_delCommand() Delete command from CLI session |
* cli_delCommand() Delete command from CLI session |
* @buffer = CLI buffer |
* @buffer = CLI buffer |
Line 256 cli_delCommand(linebuffer_t * __restrict buffer, const
|
Line 272 cli_delCommand(linebuffer_t * __restrict buffer, const
|
* @funcCmd = Callback function when user call command |
* @funcCmd = Callback function when user call command |
* @csInfo = Inline information for command |
* @csInfo = Inline information for command |
* @csHelp = Help line when call help |
* @csHelp = Help line when call help |
|
* @anComp = Completion array terminated with NULL element, -1 complete commands, NULL nothing, |
|
* update only if funcCmd is not NULL |
* return: RETCODE_ERR error, RETCODE_OK ok |
* return: RETCODE_ERR error, RETCODE_OK ok |
*/ |
*/ |
int |
int |
cli_updCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, |
cli_updCommand(linebuffer_t * __restrict buffer, const char *csCmd, int cliLevel, cmd_func_t funcCmd, |
const char *csInfo, const char *csHelp); | const char *csInfo, const char *csHelp, const char **anComp); |
|
|
|
|
/* |
/* |
Line 363 int cliNetLoop(linebuffer_t * __restrict buffer, const
|
Line 381 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 |
*/ |
*/ |