mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
Merge OEJ's channel type listing (bug #3187) with slight modifications
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1832,6 +1832,7 @@ int main(int argc, char *argv[])
|
||||
printf(term_quit());
|
||||
exit(1);
|
||||
}
|
||||
ast_channels_init();
|
||||
if (init_manager()) {
|
||||
printf(term_quit());
|
||||
exit(1);
|
||||
|
@@ -50,5 +50,7 @@ extern int reload_logger(int);
|
||||
extern int term_init(void);
|
||||
/* Provided by db.c */
|
||||
extern int astdb_init(void);
|
||||
/* Provided by channel.c */
|
||||
extern void ast_channels_init(void);
|
||||
|
||||
#endif
|
||||
|
32
channel.c
32
channel.c
@@ -29,6 +29,7 @@
|
||||
#include <asterisk/logger.h>
|
||||
#include <asterisk/say.h>
|
||||
#include <asterisk/file.h>
|
||||
#include <asterisk/cli.h>
|
||||
#include <asterisk/translate.h>
|
||||
#include <asterisk/manager.h>
|
||||
#include <asterisk/chanvars.h>
|
||||
@@ -49,6 +50,7 @@
|
||||
#error "You need newer zaptel! Please cvs update zaptel"
|
||||
#endif
|
||||
#endif
|
||||
#include "asterisk.h"
|
||||
|
||||
/* uncomment if you have problems with 'monitoring' synchronized files */
|
||||
#if 0
|
||||
@@ -78,6 +80,32 @@ struct ast_channel *channels = NULL;
|
||||
|
||||
AST_MUTEX_DEFINE_STATIC(chlock);
|
||||
|
||||
static int show_channeltypes(int fd, int argc, char *argv[])
|
||||
{
|
||||
#define FORMAT "%-7.7s %-50.50s\n"
|
||||
struct chanlist *cl = backends;
|
||||
ast_cli(fd, FORMAT, "Type", "Description");
|
||||
ast_cli(fd, FORMAT, "------", "-----------");
|
||||
if (ast_mutex_lock(&chlock)) {
|
||||
ast_log(LOG_WARNING, "Unable to lock channel list\n");
|
||||
return -1;
|
||||
}
|
||||
while (cl) {
|
||||
ast_cli(fd, FORMAT, cl->type, cl->description);
|
||||
cl = cl->next;
|
||||
}
|
||||
ast_mutex_unlock(&chlock);
|
||||
return RESULT_SUCCESS;
|
||||
|
||||
}
|
||||
|
||||
static char show_channeltypes_usage[] =
|
||||
"Usage: show channeltypes\n"
|
||||
" Shows available channel types registred in your Asterisk server.";
|
||||
|
||||
static struct ast_cli_entry cli_show_channeltypes =
|
||||
{ { "show", "channeltypes", NULL }, show_channeltypes, "Show available channel types", show_channeltypes_usage };
|
||||
|
||||
int ast_check_hangup(struct ast_channel *chan)
|
||||
{
|
||||
time_t myt;
|
||||
@@ -3011,3 +3039,7 @@ void ast_moh_cleanup(struct ast_channel *chan)
|
||||
ast_moh_cleanup_ptr(chan);
|
||||
}
|
||||
|
||||
void ast_channels_init(void)
|
||||
{
|
||||
ast_cli_register(&cli_show_channeltypes);
|
||||
}
|
||||
|
Reference in New Issue
Block a user