version 1.9, 2013/11/20 16:26:51
|
version 1.11, 2019/02/04 21:22:31
|
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, 2013 | Copyright 2004 - 2019 |
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 534 int cliInitLine(linebuffer_t * __restrict cli_buffer);
|
Line 537 int cliInitLine(linebuffer_t * __restrict cli_buffer);
|
* |
* |
* @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); |
|
|
/* |
/* |
* cliLoop() - CLI main loop |
* cliLoop() - CLI main loop |
Line 545 char *cliReadLine(linebuffer_t * __restrict cli_buffer
|
Line 547 char *cliReadLine(linebuffer_t * __restrict cli_buffer
|
* @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 557 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 |