Add "show file formats" (courtesy bkw_) and Update IAXY firmware to 17 (altserver...
authorMark Spencer <markster@digium.com>
Wed, 30 Jun 2004 03:22:29 +0000 (03:22 +0000)
committerMark Spencer <markster@digium.com>
Wed, 30 Jun 2004 03:22:29 +0000 (03:22 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3360 65c4cc65-6c06-0410-ace0-fbb531ad65f3

asterisk.c
contrib/firmware/iax/iaxy.bin
file.c
include/asterisk/file.h

index ff85004..a128d03 100755 (executable)
@@ -1703,6 +1703,10 @@ int main(int argc, char *argv[])
                printf(term_quit());
                exit(1);
        }
+       if (ast_file_init()) {
+               printf(term_quit());
+               exit(1);
+       }
        if (load_pbx()) {
                printf(term_quit());
                exit(1);
index 60aec23..e21624a 100755 (executable)
Binary files a/contrib/firmware/iax/iaxy.bin and b/contrib/firmware/iax/iaxy.bin differ
diff --git a/file.c b/file.c
index d23879e..fa3885a 100755 (executable)
--- 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;
+}
index 55c0eaa..eb2c78e 100755 (executable)
@@ -284,6 +284,14 @@ long ast_tellstream(struct ast_filestream *fs);
  */ 
 struct ast_frame *ast_readframe(struct ast_filestream *s);
 
+//! Initialize file stuff
+/*!
+ * Initializes all the various file stuff.  Basically just registers the cli stuff
+ * Returns 0 all the time
+ */
+extern int ast_file_init(void);
+
+
 #define AST_RESERVED_POINTERS 20
 
 #if defined(__cplusplus) || defined(c_plusplus)