[asterisk-commits] mvanbaak: branch group/cli_cleanup r145010 - /team/group/cli_cleanup/channels/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Sat Sep 27 17:18:25 CDT 2008
Author: mvanbaak
Date: Sat Sep 27 17:18:25 2008
New Revision: 145010
URL: http://svn.digium.com/view/asterisk?view=rev&rev=145010
Log:
cleanup the CLI commands as discussed on astridevcon
Modified:
team/group/cli_cleanup/channels/chan_dahdi.c
Modified: team/group/cli_cleanup/channels/chan_dahdi.c
URL: http://svn.digium.com/view/asterisk/team/group/cli_cleanup/channels/chan_dahdi.c?view=diff&rev=145010&r1=145009&r2=145010
==============================================================================
--- team/group/cli_cleanup/channels/chan_dahdi.c (original)
+++ team/group/cli_cleanup/channels/chan_dahdi.c Sat Sep 27 17:18:25 2008
@@ -11600,32 +11600,6 @@
return complete_span_helper(line,word,pos,state,3);
}
-static char *complete_span_5(const char *line, const char *word, int pos, int state)
-{
- return complete_span_helper(line,word,pos,state,4);
-}
-
-static char *handle_pri_unset_debug_file(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- switch (cmd) {
- case CLI_INIT:
- e->command = "pri unset debug file";
- e->usage = "Usage: pri unset debug file\n"
- " Stop sending debug output to the previously \n"
- " specified file\n";
- return NULL;
- case CLI_GENERATE:
- return NULL;
- }
- /* Assume it is unset */
- ast_mutex_lock(&pridebugfdlock);
- close(pridebugfd);
- pridebugfd = -1;
- ast_cli(a->fd, "PRI debug output to file disabled\n");
- ast_mutex_unlock(&pridebugfdlock);
- return CLI_SUCCESS;
-}
-
static char *handle_pri_set_debug_file(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
{
int myfd;
@@ -11666,22 +11640,31 @@
{
int span;
int x;
+ int level = 0;
switch (cmd) {
case CLI_INIT:
- e->command = "pri debug span";
+ e->command = "pri set debug {<level>|on|off} span";
e->usage =
- "Usage: pri debug span <span>\n"
+ "Usage: pri set debug <level|on|off> span <span>\n"
" Enables debugging on a given PRI span\n";
return NULL;
case CLI_GENERATE:
return complete_span_4(a->line, a->word, a->pos, a->n);
}
- if (a->argc < 4) {
+ if (a->argc < 6) {
return CLI_SHOWUSAGE;
}
- span = atoi(a->argv[3]);
+
+ if (!strcasecmp(a->argv[4], "on")) {
+ level = 1;
+ } else if (!strcasecmp(a->argv[4], "off")) {
+ level = 0;
+ } else {
+ level = atoi(a->argv[4]);
+ }
+ span = atoi(a->argv[5]);
if ((span < 1) || (span > NUM_SPANS)) {
- ast_cli(a->fd, "Invalid span %s. Should be a number %d to %d\n", a->argv[3], 1, NUM_SPANS);
+ ast_cli(a->fd, "Invalid span %s. Should be a number %d to %d\n", a->argv[4], 1, NUM_SPANS);
return CLI_SUCCESS;
}
if (!pris[span-1].pri) {
@@ -11689,84 +11672,28 @@
return CLI_SUCCESS;
}
for (x = 0; x < NUM_DCHANS; x++) {
- if (pris[span-1].dchans[x])
- pri_set_debug(pris[span-1].dchans[x], PRI_DEBUG_APDU |
- PRI_DEBUG_Q931_DUMP | PRI_DEBUG_Q931_STATE |
- PRI_DEBUG_Q921_STATE);
- }
- ast_cli(a->fd, "Enabled debugging on span %d\n", span);
- return CLI_SUCCESS;
-}
-
-
-
-static char *handle_pri_no_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- int span;
- int x;
- switch (cmd) {
- case CLI_INIT:
- e->command = "pri no debug span";
- e->usage =
- "Usage: pri no debug span <span>\n"
- " Disables debugging on a given PRI span\n";
- return NULL;
- case CLI_GENERATE:
- return complete_span_5(a->line, a->word, a->pos, a->n);
- }
- if (a->argc < 5)
- return CLI_SHOWUSAGE;
-
- span = atoi(a->argv[4]);
- if ((span < 1) || (span > NUM_SPANS)) {
- ast_cli(a->fd, "Invalid span %s. Should be a number %d to %d\n", a->argv[4], 1, NUM_SPANS);
- return CLI_SUCCESS;
- }
- if (!pris[span-1].pri) {
- ast_cli(a->fd, "No PRI running on span %d\n", span);
- return CLI_SUCCESS;
- }
- for (x = 0; x < NUM_DCHANS; x++) {
- if (pris[span-1].dchans[x])
- pri_set_debug(pris[span-1].dchans[x], 0);
- }
- ast_cli(a->fd, "Disabled debugging on span %d\n", span);
- return CLI_SUCCESS;
-}
-
-static char *handle_pri_really_debug(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
-{
- int span;
- int x;
- switch (cmd) {
- case CLI_INIT:
- e->command = "pri intensive debug span";
- e->usage =
- "Usage: pri intensive debug span <span>\n"
- " Enables debugging down to the Q.921 level\n";
- return NULL;
- case CLI_GENERATE:
- return complete_span_5(a->line, a->word, a->pos, a->n);
- }
-
- if (a->argc < 5)
- return CLI_SHOWUSAGE;
- span = atoi(a->argv[4]);
- if ((span < 1) || (span > NUM_SPANS)) {
- ast_cli(a->fd, "Invalid span %s. Should be a number %d to %d\n", a->argv[4], 1, NUM_SPANS);
- return CLI_SUCCESS;
- }
- if (!pris[span-1].pri) {
- ast_cli(a->fd, "No PRI running on span %d\n", span);
- return CLI_SUCCESS;
- }
- for (x = 0; x < NUM_DCHANS; x++) {
- if (pris[span-1].dchans[x])
- pri_set_debug(pris[span-1].dchans[x], PRI_DEBUG_APDU |
- PRI_DEBUG_Q931_DUMP | PRI_DEBUG_Q931_STATE |
- PRI_DEBUG_Q921_RAW | PRI_DEBUG_Q921_DUMP | PRI_DEBUG_Q921_STATE);
- }
- ast_cli(a->fd, "Enabled EXTENSIVE debugging on span %d\n", span);
+ if (pris[span-1].dchans[x]) {
+ if (level == 1) {
+ pri_set_debug(pris[span-1].dchans[x], PRI_DEBUG_APDU |
+ PRI_DEBUG_Q931_DUMP | PRI_DEBUG_Q931_STATE |
+ PRI_DEBUG_Q921_STATE);
+ ast_cli(a->fd, "Enabled debugging on span %d\n", span);
+ } else if (level == 0) {
+ pri_set_debug(pris[span-1].dchans[x], 0);
+ //close the file if it's set
+ ast_mutex_lock(&pridebugfdlock);
+ close(pridebugfd);
+ pridebugfd = -1;
+ ast_cli(a->fd, "PRI debug output to file disabled\n");
+ ast_mutex_unlock(&pridebugfdlock);
+ } else {
+ pri_set_debug(pris[span-1].dchans[x], PRI_DEBUG_APDU |
+ PRI_DEBUG_Q931_DUMP | PRI_DEBUG_Q931_STATE |
+ PRI_DEBUG_Q921_RAW | PRI_DEBUG_Q921_DUMP | PRI_DEBUG_Q921_STATE);
+ ast_cli(a->fd, "Enabled debugging on span %d\n", span);
+ }
+ }
+ }
return CLI_SUCCESS;
}
@@ -11931,13 +11858,10 @@
static struct ast_cli_entry dahdi_pri_cli[] = {
AST_CLI_DEFINE(handle_pri_debug, "Enables PRI debugging on a span"),
- AST_CLI_DEFINE(handle_pri_no_debug, "Disables PRI debugging on a span"),
- AST_CLI_DEFINE(handle_pri_really_debug, "Enables REALLY INTENSE PRI debugging"),
AST_CLI_DEFINE(handle_pri_show_spans, "Displays PRI Information"),
AST_CLI_DEFINE(handle_pri_show_span, "Displays PRI Information"),
AST_CLI_DEFINE(handle_pri_show_debug, "Displays current PRI debug settings"),
AST_CLI_DEFINE(handle_pri_set_debug_file, "Sends PRI debug output to the specified file"),
- AST_CLI_DEFINE(handle_pri_unset_debug_file, "Ends PRI debug output to file"),
AST_CLI_DEFINE(handle_pri_version, "Displays libpri version"),
};
More information about the asterisk-commits
mailing list