diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-06-30 03:22:29 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-06-30 03:22:29 +0000 |
commit | 90e5ff3d2db28777441a0a880e858ea669199475 (patch) | |
tree | af67c00311caca66ebfabe899b0b4227fd3a6fe5 /file.c | |
parent | 3e4c4b4b7aa9945869f00c680ad50745c9605f97 (diff) |
Add "show file formats" (courtesy bkw_) and Update IAXY firmware to 17 (altserver support)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3360 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'file.c')
-rwxr-xr-x | file.c | 39 |
1 files changed, 39 insertions, 0 deletions
@@ -14,6 +14,7 @@ #include <sys/types.h> #include <asterisk/frame.h> #include <asterisk/file.h> +#include <asterisk/cli.h> #include <asterisk/logger.h> #include <asterisk/channel.h> #include <asterisk/sched.h> @@ -1044,3 +1045,41 @@ char ast_waitstream_full(struct ast_channel *c, char *breakon, int audiofd, int } return (c->_softhangup ? -1 : 0); } + +static int show_file_formats(int fd, int argc, char *argv[]) +{ +#define FORMAT "%-10s %-10s %-20s\n" +#define FORMAT2 "%-10s %-10s %-20s\n" + struct ast_format *f; + if (argc != 3) + return RESULT_SHOWUSAGE; + ast_cli(fd, FORMAT, "Format", "Name", "Extensions"); + + if (ast_mutex_lock(&formatlock)) { + ast_log(LOG_WARNING, "Unable to lock format list\n"); + return -1; + } + + f = formats; + while(f) { + ast_cli(fd, FORMAT2, ast_getformatname(f->format), f->name, f->exts); + f = f->next; + }; + ast_mutex_unlock(&formatlock); + return RESULT_SUCCESS; +} + +struct ast_cli_entry show_file = +{ + { "show", "file", "formats" }, + show_file_formats, + "Displays file formats", + "Usage: show file formats\n" + " displays currently registered file formats (if any)\n" +}; + +int ast_file_init(void) +{ + ast_cli_register(&show_file); + return 0; +} |