summaryrefslogtreecommitdiff
path: root/file.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2004-06-30 03:22:29 +0000
committerMark Spencer <markster@digium.com>2004-06-30 03:22:29 +0000
commit7be9c6e46987706494725d4f8e22404e1f1f0e95 (patch)
treeaf67c00311caca66ebfabe899b0b4227fd3a6fe5 /file.c
parent60ad539878332bb26933544badcf6546a01e1a94 (diff)
Add "show file formats" (courtesy bkw_) and Update IAXY firmware to 17 (altserver support)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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;
+}