summaryrefslogtreecommitdiff
path: root/include/asterisk/cli.h
diff options
context:
space:
mode:
authorLuigi Rizzo <rizzo@icir.org>2006-03-28 22:25:08 +0000
committerLuigi Rizzo <rizzo@icir.org>2006-03-28 22:25:08 +0000
commite5c455e15ade8146d91acd13d3b852ce6804eae9 (patch)
tree4f6b1dc0fd0d79a6b00c9c0872e6983a8bee15a2 /include/asterisk/cli.h
parente255a172f09418e8a4c18a110c1a754b88e15b10 (diff)
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
Diffstat (limited to 'include/asterisk/cli.h')
-rw-r--r--include/asterisk/cli.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/include/asterisk/cli.h b/include/asterisk/cli.h
index d230efe97..d9c9b7ab3 100644
--- a/include/asterisk/cli.h
+++ b/include/asterisk/cli.h
@@ -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