mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-14 13:58:38 +00:00
bring in the code that was discussed on Mantis #6068,
which is the basis for several simplifications and fixes to the CLI interfaces. The core is in cli.c, some documentation on a new function to help command completion is in cli.h, and one line of glue code in the other two files. Next step is to bring in the patches described in #6066 and other simplifications. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@15817 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -71,10 +71,29 @@ struct ast_cli_entry {
|
||||
char *(*generator)(const char *line, const char *word, int pos, int n);
|
||||
/*! For keeping track of usage */
|
||||
int inuse;
|
||||
struct module *module; /*! module this belongs to */
|
||||
char *_full_cmd; /* built at load time from cmda[] */
|
||||
/*! For linking */
|
||||
AST_LIST_ENTRY(ast_cli_entry) list;
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief Helper function to generate cli entries from a NULL-terminated array.
|
||||
* Returns the n-th matching entry from the array, or NULL if not found.
|
||||
* Can be used to implement generate() for static entries as below
|
||||
* (in this example we complete the word in position 2):
|
||||
\code
|
||||
char *my_generate(const char *line, const char *word, int pos, int n)
|
||||
{
|
||||
static char *choices = { "one", "two", "three", NULL };
|
||||
if (pos == 2)
|
||||
return ast_cli_complete(word, choices, n);
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
\endcode
|
||||
*/
|
||||
char *ast_cli_complete(const char *word, char *const choices[], int pos);
|
||||
|
||||
/*! \brief Interprets a command
|
||||
* Interpret a command s, sending output to fd
|
||||
|
||||
Reference in New Issue
Block a user