|
version 1.8.2.2, 2013/11/20 16:18:33
|
version 1.10.10.3, 2019/02/04 20:43:17
|
|
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 |