mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-11-03 20:38:59 +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