aboutsummaryrefslogtreecommitdiffstats
path: root/file.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-30 03:22:29 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-06-30 03:22:29 +0000
commit90e5ff3d2db28777441a0a880e858ea669199475 (patch)
treeaf67c00311caca66ebfabe899b0b4227fd3a6fe5 /file.c
parent3e4c4b4b7aa9945869f00c680ad50745c9605f97 (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-xfile.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/file.c b/file.c
index d23879edf..fa3885a98 100755
--- a/file.c
+++ b/file.c
@@ -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;
+}