version 1.2.2.7, 2010/06/07 11:54:00
|
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 idx, 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 sock, | int cliNetLoop(linebuffer_t * __restrict buffer, const char *csHistFile, int sock); |
struct termios *term, struct winsize *win); | |
| |
| |
| |
/* | |
* 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 |