Index: main/frame.c =================================================================== --- main/frame.c (revision 82490) +++ main/frame.c (working copy) @@ -611,13 +611,29 @@ return ret; } -static int show_codecs(int fd, int argc, char *argv[]) +static char *show_codecs(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { + int argc, fd; + char **argv; int i, found=0; char hex[25]; + + switch ( cmd ) { + case CLI_INIT: + e->command = "core show codecs [audio|video|image]"; + e->usage = + "Usage: core show codecs [audio|video|image]\n" + " Displays codec mapping\n"; + return NULL; + case CLI_GENERATE: + return NULL; + } + fd = a->fd; + argc = a->argc; + argv = a->argv; if ((argc < 3) || (argc > 4)) - return RESULT_SHOWUSAGE; + return CLI_SHOWUSAGE; if (!ast_opt_dont_warn) ast_cli(fd, "Disclaimer: this command is for informational purposes only.\n" @@ -649,25 +665,36 @@ } } - if (! found) - return RESULT_SHOWUSAGE; + if ( !found ) + return CLI_SHOWUSAGE; else - return RESULT_SUCCESS; + return CLI_SUCCESS; } -static const char frame_show_codecs_usage[] = -"Usage: core show codecs [audio|video|image]\n" -" Displays codec mapping\n"; - -static int show_codec_n(int fd, int argc, char *argv[]) +static char *show_codec_n(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { - int codec, i, found=0; + int codec, i, fd, argc, found=0; + char **argv; + switch ( cmd ) { + case CLI_INIT: + e->command = "core show codec"; + e->usage = + "Usage: core show codec \n" + " Displays codec mapping\n"; + return NULL; + case CLI_GENERATE: + return NULL; + } + fd = a->fd; + argc = a->argc; + argv = a->argv; + if (argc != 4) - return RESULT_SHOWUSAGE; + return CLI_SHOWUSAGE; if (sscanf(argv[3],"%d",&codec) != 1) - return RESULT_SHOWUSAGE; + return CLI_SHOWUSAGE; for (i = 0; i < 32; i++) if (codec & (1 << i)) { @@ -678,13 +705,9 @@ if (!found) ast_cli(fd, "Codec %d not found\n", codec); - return RESULT_SUCCESS; + return CLI_SUCCESS; } -static char frame_show_codec_n_usage[] = -"Usage: core show codec \n" -" Displays codec mapping\n"; - /*! Dump a frame for debugging purposes */ void ast_frame_dump(const char *name, struct ast_frame *f, char *prefix) { @@ -867,12 +890,25 @@ #ifdef TRACE_FRAMES -static int show_frame_stats(int fd, int argc, char *argv[]) +static char *show_frame_stats(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) { struct ast_frame *f; - int x=1; - if (argc != 4) - return RESULT_SHOWUSAGE; + int fd, x=1; + + switch ( cmd ) { + case CLI_INIT: + e->command = "core show frame stats"; + e->usage = + "Usage: core show frame stats\n" + " Displays debugging statistics from framer\n"; + return NULL; + case CLI_GENERATE: + return NULL; + } + fd = a->fd; + + if (a->argc != 4) + return CLI_SHOWUSAGE; AST_LIST_LOCK(&headerlist); ast_cli(fd, " Framer Statistics \n"); ast_cli(fd, "---------------------------\n"); @@ -881,40 +917,16 @@ AST_LIST_TRAVERSE(&headerlist, f, frame_list) ast_cli(fd, "%d. Type %d, subclass %d from %s\n", x++, f->frametype, f->subclass, f->src ? f->src : ""); AST_LIST_UNLOCK(&headerlist); - return RESULT_SUCCESS; + return CLI_SUCCESS; } - -static const char frame_stats_usage[] = -"Usage: core show frame stats\n" -" Displays debugging statistics from framer\n"; #endif /* Builtin Asterisk CLI-commands for debugging */ static struct ast_cli_entry my_clis[] = { - { { "core", "show", "codecs", NULL }, - show_codecs, "Displays a list of codecs", - frame_show_codecs_usage }, - - { { "core", "show", "codecs", "audio", NULL }, - show_codecs, "Displays a list of audio codecs", - frame_show_codecs_usage }, - - { { "core", "show", "codecs", "video", NULL }, - show_codecs, "Displays a list of video codecs", - frame_show_codecs_usage }, - - { { "core", "show", "codecs", "image", NULL }, - show_codecs, "Displays a list of image codecs", - frame_show_codecs_usage }, - - { { "core", "show", "codec", NULL }, - show_codec_n, "Shows a specific codec", - frame_show_codec_n_usage }, - + NEW_CLI(show_codecs, "Displays a list of codecs"), + NEW_CLI(show_codec_n, "Shows a specific codec"), #ifdef TRACE_FRAMES - { { "core", "show", "frame", "stats", NULL }, - show_frame_stats, "Shows frame statistics", - frame_stats_usage }, + NEW_CLI(show_frame_stats, "Shows frame statistics"), #endif };