diff --git a/acl.c b/acl.c index bb735dfbf4..b66eeab0f9 100755 --- a/acl.c +++ b/acl.c @@ -36,6 +36,10 @@ #include #endif +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/acl.h" #include "asterisk/logger.h" #include "asterisk/channel.h" diff --git a/alaw.c b/alaw.c index 548230e8b1..6fd99713d2 100755 --- a/alaw.c +++ b/alaw.c @@ -11,6 +11,10 @@ * the GNU General Public License */ +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/alaw.h" #define AMI_MASK 0x55 diff --git a/app.c b/app.c index a21e3b2b15..4b99456fbf 100755 --- a/app.c +++ b/app.c @@ -23,6 +23,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/channel.h" #include "asterisk/pbx.h" #include "asterisk/file.h" @@ -33,7 +37,6 @@ #include "asterisk/utils.h" #include "asterisk/lock.h" #include "asterisk/indications.h" -#include "asterisk.h" #define MAX_OTHER_FORMATS 10 diff --git a/asterisk.c b/asterisk.c index 1c0ba53d03..91db7d9a5b 100755 --- a/asterisk.c +++ b/asterisk.c @@ -28,12 +28,16 @@ #include #include #include +#include #if defined(__FreeBSD__) || defined( __NetBSD__ ) || defined(SOLARIS) #include #endif #include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/logger.h" #include "asterisk/options.h" #include "asterisk/cli.h" @@ -60,6 +64,7 @@ #include "asterisk/config.h" #include "asterisk/version.h" #include "asterisk/build.h" +#include "asterisk/linkedlists.h" #include "defaults.h" @@ -147,6 +152,85 @@ static int shuttingdown = 0; static int restartnow = 0; static pthread_t consolethread = AST_PTHREADT_NULL; +struct file_version { + const char *file; + const char *version; + AST_LIST_ENTRY(file_version) list; +}; + +static AST_LIST_HEAD_STATIC(file_versions, file_version); + +void ast_register_file_version(const char *file, const char *version) +{ + struct file_version *new; + + new = calloc(1, sizeof(*new)); + if (!new) + return; + + new->file = file; + new->version = version; + AST_LIST_LOCK(&file_versions); + AST_LIST_INSERT_HEAD(&file_versions, new, list); + AST_LIST_UNLOCK(&file_versions); +} + +void ast_unregister_file_version(const char *file) +{ + struct file_version *find; + + AST_LIST_LOCK(&file_versions); + AST_LIST_TRAVERSE_SAFE_BEGIN(&file_versions, find, list) { + if (!strcasecmp(find->file, file)) { + AST_LIST_REMOVE_CURRENT(&file_versions, list); + break; + } + } + AST_LIST_TRAVERSE_SAFE_END; + AST_LIST_UNLOCK(&file_versions); +} + +static char show_version_files_help[] = +"Usage: show version files [like ]\n" +" Shows the revision numbers of the files used to build this copy of Asterisk.\n" +" Optional regular expression pattern is used to filter the file list.\n"; + +static int handle_show_version_files(int fd, int argc, char *argv[]) +{ + struct file_version *iterator; + + AST_LIST_LOCK(&file_versions); + AST_LIST_TRAVERSE(&file_versions, iterator, list) { + ast_cli(fd, "%-25.25s %-20.20s\n", iterator->file, iterator->version); + } + AST_LIST_UNLOCK(&file_versions); + return RESULT_SUCCESS; +} + +static char *complete_show_version_files(char *line, char *word, int pos, int state) +{ + struct file_version *find; + int which = 0; + char *ret = NULL; + int matchlen = strlen(word); + + if (pos != 3) + return NULL; + + AST_LIST_LOCK(&file_versions); + AST_LIST_TRAVERSE(&file_versions, find, list) { + if (!strncasecmp(word, find->file, matchlen)) { + if (++which > state) { + ret = strdup(find->file); + break; + } + } + } + AST_LIST_UNLOCK(&file_versions); + + return ret; +} + int ast_register_atexit(void (*func)(void)) { int res = -1; @@ -936,6 +1020,8 @@ static struct ast_cli_entry core_cli[] = { "Restart Asterisk at empty call volume", restart_when_convenient_help }, { { "!", NULL }, handle_bang, "Execute a shell command", bang_help }, + { { "show", "version", "files", NULL }, handle_show_version_files, + "Show versions of files used to build Asterisk", show_version_files_help, complete_show_version_files }, }; static int ast_el_read_char(EditLine *el, char *cp) diff --git a/astmm.c b/astmm.c index be165ebf7a..fe8f7fdbc3 100755 --- a/astmm.c +++ b/astmm.c @@ -20,6 +20,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/cli.h" #include "asterisk/logger.h" #include "asterisk/options.h" diff --git a/autoservice.c b/autoservice.c index 25c9ae8871..1a655a7908 100755 --- a/autoservice.c +++ b/autoservice.c @@ -20,6 +20,10 @@ #include #include /* For PI */ +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/pbx.h" #include "asterisk/frame.h" #include "asterisk/sched.h" diff --git a/callerid.c b/callerid.c index 430f3cedcc..d51721d489 100755 --- a/callerid.c +++ b/callerid.c @@ -22,6 +22,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/ulaw.h" #include "asterisk/alaw.h" #include "asterisk/frame.h" diff --git a/cdr.c b/cdr.c index 6ceb4aad17..919b6e4022 100755 --- a/cdr.c +++ b/cdr.c @@ -20,6 +20,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/lock.h" #include "asterisk/channel.h" #include "asterisk/cdr.h" diff --git a/channel.c b/channel.c index 9797f0ab15..b8e042dd48 100755 --- a/channel.c +++ b/channel.c @@ -32,6 +32,10 @@ #endif #endif +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/pbx.h" #include "asterisk/frame.h" #include "asterisk/sched.h" @@ -53,7 +57,6 @@ #include "asterisk/lock.h" #include "asterisk/app.h" #include "asterisk/transcap.h" -#include "asterisk.h" /* uncomment if you have problems with 'monitoring' synchronized files */ #if 0 diff --git a/chanvars.c b/chanvars.c index 3d768b213f..fe4cc15644 100755 --- a/chanvars.c +++ b/chanvars.c @@ -14,6 +14,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/chanvars.h" #include "asterisk/logger.h" diff --git a/cli.c b/cli.c index 4f1ce103a6..c844da82a7 100755 --- a/cli.c +++ b/cli.c @@ -19,6 +19,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/logger.h" #include "asterisk/options.h" #include "asterisk/cli.h" @@ -31,7 +35,6 @@ /* For rl_filename_completion */ #include "editline/readline/readline.h" /* For module directory */ -#include "asterisk.h" #include "asterisk/version.h" #include "asterisk/build.h" @@ -227,17 +230,17 @@ static int handle_unload(int fd, int argc, char *argv[]) return RESULT_SUCCESS; } -#define MODLIST_FORMAT "%-30s %-40.40s %-20.20s %-10d\n" -#define MODLIST_FORMAT2 "%-30s %-40.40s %-20.20s %-10s\n" +#define MODLIST_FORMAT "%-30s %-40.40s %-10d\n" +#define MODLIST_FORMAT2 "%-30s %-40.40s %-10s\n" AST_MUTEX_DEFINE_STATIC(climodentrylock); static int climodentryfd = -1; -static int modlist_modentry(const char *module, const char *description, int usecnt, const char *version, const char *like) +static int modlist_modentry(const char *module, const char *description, int usecnt, const char *like) { /* Comparing the like with the module */ if (strstr(module, like) != NULL) { - ast_cli(climodentryfd, MODLIST_FORMAT, module, description, version, usecnt); + ast_cli(climodentryfd, MODLIST_FORMAT, module, description, usecnt); return 1; } return 0; @@ -384,7 +387,7 @@ static int handle_modlist(int fd, int argc, char *argv[]) ast_mutex_lock(&climodentrylock); climodentryfd = fd; - ast_cli(fd, MODLIST_FORMAT2, "Module", "Description", "Version", "Use Count"); + ast_cli(fd, MODLIST_FORMAT2, "Module", "Description", "Use Count"); ast_cli(fd,"%d modules loaded\n", ast_update_module_list(modlist_modentry, like)); climodentryfd = -1; ast_mutex_unlock(&climodentrylock); @@ -822,6 +825,22 @@ static struct ast_cli_entry *find_cli(char *cmds[], int exact) int y; int match; struct ast_cli_entry *e=NULL; + + for (e=helpers;e;e=e->next) { + match = 1; + for (y=0;match && cmds[y]; y++) { + if (!e->cmda[y] && !exact) + break; + if (!e->cmda[y] || strcasecmp(e->cmda[y], cmds[y])) + match = 0; + } + if ((exact > -1) && e->cmda[y]) + match = 0; + if (match) + break; + } + if (e) + return e; for (x=0;builtins[x].cmda[0];x++) { /* start optimistic */ match = 1; @@ -843,20 +862,7 @@ static struct ast_cli_entry *find_cli(char *cmds[], int exact) if (match) return &builtins[x]; } - for (e=helpers;e;e=e->next) { - match = 1; - for (y=0;match && cmds[y]; y++) { - if (!e->cmda[y] && !exact) - break; - if (!e->cmda[y] || strcasecmp(e->cmda[y], cmds[y])) - match = 0; - } - if ((exact > -1) && e->cmda[y]) - match = 0; - if (match) - break; - } - return e; + return NULL; } static void join(char *dest, size_t destsize, char *w[]) diff --git a/config.c b/config.c index 916dc0c835..f99577f9c6 100755 --- a/config.c +++ b/config.c @@ -25,6 +25,10 @@ # include #endif +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/config.h" #include "asterisk/cli.h" #include "asterisk/lock.h" @@ -33,7 +37,6 @@ #include "asterisk/utils.h" #include "asterisk/channel.h" #include "asterisk/app.h" -#include "asterisk.h" #define MAX_NESTED_COMMENTS 128 #define COMMENT_START ";--" diff --git a/config_old.c b/config_old.c index 1c8a912907..770d8e50d6 100755 --- a/config_old.c +++ b/config_old.c @@ -17,6 +17,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/config.h" #include "asterisk/logger.h" diff --git a/db.c b/db.c index 29603d1db9..7baabdb396 100755 --- a/db.c +++ b/db.c @@ -24,6 +24,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/channel.h" #include "asterisk/file.h" #include "asterisk/app.h" @@ -36,7 +40,6 @@ #include "asterisk/lock.h" #include "asterisk/manager.h" #include "db1-ast/include/db.h" -#include "asterisk.h" static DB *astdb; AST_MUTEX_DEFINE_STATIC(dblock); diff --git a/dns.c b/dns.c index 7fe8a2513c..5f44bbb873 100755 --- a/dns.c +++ b/dns.c @@ -16,6 +16,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/logger.h" #include "asterisk/channel.h" #include "asterisk/dns.h" diff --git a/dnsmgr.c b/dnsmgr.c index c954b41883..2b05ad5f78 100755 --- a/dnsmgr.c +++ b/dnsmgr.c @@ -23,6 +23,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/dnsmgr.h" #include "asterisk/linkedlists.h" #include "asterisk/utils.h" @@ -31,7 +35,6 @@ #include "asterisk/sched.h" #include "asterisk/options.h" #include "asterisk/cli.h" -#include "asterisk.h" static struct sched_context *sched; static int refresh_sched = -1; diff --git a/dsp.c b/dsp.c index 7712b077be..fb945a6bfb 100755 --- a/dsp.c +++ b/dsp.c @@ -36,6 +36,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/frame.h" #include "asterisk/channel.h" #include "asterisk/logger.h" diff --git a/enum.c b/enum.c index a17281c16e..44a8dfaab8 100755 --- a/enum.c +++ b/enum.c @@ -26,6 +26,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/logger.h" #include "asterisk/options.h" #include "asterisk/enum.h" diff --git a/file.c b/file.c index 52e81716d2..4eaff4626d 100755 --- a/file.c +++ b/file.c @@ -22,6 +22,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/frame.h" #include "asterisk/file.h" #include "asterisk/cli.h" @@ -33,7 +37,6 @@ #include "asterisk/utils.h" #include "asterisk/lock.h" #include "asterisk/app.h" -#include "asterisk.h" struct ast_format { /* Name of format */ diff --git a/frame.c b/frame.c index 23a6e59506..502b3f1f5f 100755 --- a/frame.c +++ b/frame.c @@ -17,6 +17,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/lock.h" #include "asterisk/frame.h" #include "asterisk/logger.h" @@ -25,7 +29,6 @@ #include "asterisk/cli.h" #include "asterisk/term.h" #include "asterisk/utils.h" -#include "asterisk.h" #ifdef TRACE_FRAMES static int headers = 0; diff --git a/fskmodem.c b/fskmodem.c index df30581ae2..20716717f5 100755 --- a/fskmodem.c +++ b/fskmodem.c @@ -16,6 +16,10 @@ #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/fskmodem.h" #define NBW 2 diff --git a/funcs/pbx_functions.c b/funcs/pbx_functions.c index 5171c6271b..c998b61ed8 100755 --- a/funcs/pbx_functions.c +++ b/funcs/pbx_functions.c @@ -14,6 +14,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/module.h" #include "asterisk/pbx.h" #include "pbx_functions.h" @@ -56,8 +60,3 @@ char *key() { return ASTERISK_GPL_KEY; } - -const char *version() -{ - return "$Revision$"; -} diff --git a/image.c b/image.c index 804c2d87c2..067376326b 100755 --- a/image.c +++ b/image.c @@ -20,6 +20,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/sched.h" #include "asterisk/options.h" #include "asterisk/channel.h" @@ -29,7 +33,6 @@ #include "asterisk/translate.h" #include "asterisk/cli.h" #include "asterisk/lock.h" -#include "asterisk.h" static struct ast_imager *list; AST_MUTEX_DEFINE_STATIC(listlock); diff --git a/include/asterisk.h b/include/asterisk.h index b4b26a7757..0e9d2e3654 100755 --- a/include/asterisk.h +++ b/include/asterisk.h @@ -3,9 +3,9 @@ * * General Definitions for Asterisk top level program * - * Copyright (C) 1999, Mark Spencer + * Copyright (C) 1999-2005, Mark Spencer * - * Mark Spencer + * Mark Spencer * * This program is free software, distributed under the terms of * the GNU General Public License @@ -54,4 +54,21 @@ extern void ast_channels_init(void); extern int dnsmgr_init(void); extern void dnsmgr_reload(void); -#endif +void ast_register_file_version(const char *file, const char *version); +void ast_unregister_file_version(const char *file); + +#ifdef __GNUC__ +#define ASTERISK_FILE_VERSION(x) \ + static void __attribute__((constructor)) __register_file_version(void) \ + { \ + ast_register_file_version(__FILE__, x); \ + } \ + static void __attribute__((destructor)) __unregister_file_version(void) \ + { \ + ast_unregister_file_version(__FILE__); \ + } +#else /* ! __GNUC__ */ +#define ASTERISK_FILE_VERSION(x) static const char __file_version[] = x; +#endif /* __GNUC__ */ + +#endif /* _ASTERISK_H */ diff --git a/include/asterisk/linkedlists.h b/include/asterisk/linkedlists.h index d903659206..9f5f216fd2 100755 --- a/include/asterisk/linkedlists.h +++ b/include/asterisk/linkedlists.h @@ -66,14 +66,14 @@ struct name { \ Example usage: \code - static AST_LIST_HEAD_STATIC(entry_list, entry) entries; + static AST_LIST_HEAD_STATIC(entry_list, entry); \endcode - This would define \c struct \c entry_list, and declare an instance of it named - \a entries, all intended to hold a list of type \c struct \c entry. + This would define \c struct \c entry_list, intended to hold a list of + type \c struct \c entry. */ #define AST_LIST_HEAD_STATIC(name, type) \ -struct name { \ +struct name { \ struct type *first; \ ast_mutex_t lock; \ } name = { \ diff --git a/include/asterisk/module.h b/include/asterisk/module.h index c674d16ae6..4889550a11 100755 --- a/include/asterisk/module.h +++ b/include/asterisk/module.h @@ -66,8 +66,6 @@ char *key(void); /*! Return the below mentioned key, unmodified */ */ int reload(void); /*! reload configs */ -const char *version(void); - #define ASTERISK_GPL_KEY \ "This paragraph is Copyright (C) 2000, Linux Support Services, Inc. \ In order for your module to load, it must return this key via a function \ @@ -116,7 +114,7 @@ void ast_update_use_count(void); * For each of the modules loaded, modentry will be executed with the resource, description, * version, and usecount values of each particular module. */ -int ast_update_module_list(int (*modentry)(const char *module, const char *description, int usecnt, const char *version, const char *like), +int ast_update_module_list(int (*modentry)(const char *module, const char *description, int usecnt, const char *like), const char *like); /*! Ask this procedure to be run with modules have been updated */ diff --git a/indications.c b/indications.c index 4867fd4bdf..59641e0aba 100755 --- a/indications.c +++ b/indications.c @@ -21,6 +21,10 @@ #include #include /* For PI */ +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/indications.h" #include "asterisk/frame.h" #include "asterisk/options.h" diff --git a/io.c b/io.c index f04277c39b..09d99d5f37 100755 --- a/io.c +++ b/io.c @@ -18,6 +18,10 @@ #include /* for memset */ #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/io.h" #include "asterisk/logger.h" diff --git a/jitterbuf.c b/jitterbuf.c index 2ffa143f72..3b69e5151a 100755 --- a/jitterbuf.c +++ b/jitterbuf.c @@ -17,6 +17,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "jitterbuf.h" /* define these here, just for ancient compiler systems */ diff --git a/loader.c b/loader.c index b404fa0fa4..bc7e2bdfc4 100755 --- a/loader.c +++ b/loader.c @@ -17,6 +17,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/module.h" #include "asterisk/options.h" #include "asterisk/config.h" @@ -34,7 +38,6 @@ #include #endif #include "asterisk/md5.h" -#include "asterisk.h" #ifndef RTLD_NOW #define RTLD_NOW 0 @@ -51,7 +54,6 @@ struct module { char *(*description)(void); char *(*key)(void); int (*reload)(void); - const char *(*version)(void); void *lib; char resource[256]; struct module *next; @@ -253,11 +255,6 @@ int ast_module_reload(const char *name) return reloaded; } -static const char *unknown_version(void) -{ - return "--unknown--"; -} - static int __load_resource(const char *resource_name, const struct ast_config *cfg) { static char fn[256]; @@ -358,12 +355,6 @@ static int __load_resource(const char *resource_name, const struct ast_config *c if (m->reload == NULL) m->reload = dlsym(m->lib, "_reload"); - m->version = dlsym(m->lib, "version"); - if (m->version == NULL) - m->version = dlsym(m->lib, "_version"); - if (m->version == NULL) - m->version = unknown_version; - if (!m->key || !(key = m->key())) { ast_log(LOG_WARNING, "Key routine returned NULL in module %s\n", fn); key = NULL; @@ -563,7 +554,7 @@ void ast_update_use_count(void) } -int ast_update_module_list(int (*modentry)(const char *module, const char *description, int usecnt, const char *version, const char *like), +int ast_update_module_list(int (*modentry)(const char *module, const char *description, int usecnt, const char *like), const char *like) { struct module *m; @@ -574,10 +565,7 @@ int ast_update_module_list(int (*modentry)(const char *module, const char *descr unlock = 0; m = module_list; while (m) { - char ver_string[80]; - - ast_copy_string(ver_string, m->version(), sizeof(ver_string)); - total_mod_loaded += modentry(m->resource, m->description(), m->usecount(), ast_strip(ast_strip_quoted(ver_string, "$", "$")), like); + total_mod_loaded += modentry(m->resource, m->description(), m->usecount(), like); m = m->next; } if (unlock) diff --git a/logger.c b/logger.c index 9e31cd5856..6e938ac044 100755 --- a/logger.c +++ b/logger.c @@ -25,6 +25,10 @@ from which is included by logger.h */ #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/lock.h" #include "asterisk/options.h" #include "asterisk/channel.h" @@ -33,7 +37,6 @@ #include "asterisk/cli.h" #include "asterisk/utils.h" #include "asterisk/manager.h" -#include "asterisk.h" static int syslog_level_map[] = { LOG_DEBUG, diff --git a/manager.c b/manager.c index 5a6af77cff..df6b93ff04 100755 --- a/manager.c +++ b/manager.c @@ -27,6 +27,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/channel.h" #include "asterisk/file.h" #include "asterisk/manager.h" diff --git a/md5.c b/md5.c index b0b5d39d18..ea162c35ab 100755 --- a/md5.c +++ b/md5.c @@ -19,6 +19,10 @@ */ #include /* for memcpy() */ +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/endian.h" #include "asterisk/md5.h" diff --git a/pbx.c b/pbx.c index 1307f6768a..717ba9d68b 100755 --- a/pbx.c +++ b/pbx.c @@ -22,6 +22,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/lock.h" #include "asterisk/cli.h" #include "asterisk/pbx.h" @@ -41,7 +45,6 @@ #include "asterisk/causes.h" #include "asterisk/musiconhold.h" #include "asterisk/app.h" -#include "asterisk.h" /* * I M P O R T A N T : diff --git a/plc.c b/plc.c index 08f67c21bc..261fca8ec3 100755 --- a/plc.c +++ b/plc.c @@ -35,6 +35,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/plc.h" #if !defined(FALSE) diff --git a/privacy.c b/privacy.c index 0fbcc73d49..2f9feab6e7 100755 --- a/privacy.c +++ b/privacy.c @@ -20,6 +20,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/channel.h" #include "asterisk/file.h" #include "asterisk/app.h" @@ -31,7 +35,6 @@ #include "asterisk/privacy.h" #include "asterisk/utils.h" #include "asterisk/lock.h" -#include "asterisk.h" int ast_privacy_check(char *dest, char *cid) { diff --git a/rtp.c b/rtp.c index 12cb496114..016cb89f10 100755 --- a/rtp.c +++ b/rtp.c @@ -26,6 +26,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/rtp.h" #include "asterisk/frame.h" #include "asterisk/logger.h" diff --git a/say.c b/say.c index 65f8fe7c60..908c44018f 100755 --- a/say.c +++ b/say.c @@ -21,11 +21,16 @@ #include #include #include +#include #ifdef SOLARIS #include #endif +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/file.h" #include "asterisk/channel.h" #include "asterisk/logger.h" @@ -33,8 +38,6 @@ #include "asterisk/lock.h" #include "asterisk/localtime.h" #include "asterisk/utils.h" -#include "asterisk.h" -#include /* Forward declaration */ static int wait_file(struct ast_channel *chan, const char *ints, const char *file, const char *lang); diff --git a/sched.c b/sched.c index 723c44a32b..98529ea926 100755 --- a/sched.c +++ b/sched.c @@ -23,6 +23,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/sched.h" #include "asterisk/logger.h" #include "asterisk/channel.h" diff --git a/srv.c b/srv.c index b7b097d9e1..b74d761588 100755 --- a/srv.c +++ b/srv.c @@ -22,6 +22,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/channel.h" #include "asterisk/logger.h" #include "asterisk/srv.h" diff --git a/tdd.c b/tdd.c index fb2da9e320..9d36e35340 100755 --- a/tdd.c +++ b/tdd.c @@ -22,6 +22,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/ulaw.h" #include "asterisk/tdd.h" #include "asterisk/logger.h" diff --git a/term.c b/term.c index 5bdfe28392..f210e2a995 100755 --- a/term.c +++ b/term.c @@ -22,6 +22,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/term.h" #include "asterisk/options.h" #include "asterisk/lock.h" diff --git a/translate.c b/translate.c index 890e042220..4c79fbcb59 100755 --- a/translate.c +++ b/translate.c @@ -19,6 +19,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/lock.h" #include "asterisk/channel.h" #include "asterisk/logger.h" diff --git a/ulaw.c b/ulaw.c index 37ab254889..3a867e11e3 100755 --- a/ulaw.c +++ b/ulaw.c @@ -11,6 +11,10 @@ * the GNU General Public License */ +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/ulaw.h" #define ZEROTRAP /* turn on the trap as per the MIL-STD */ diff --git a/utils.c b/utils.c index e2ce549eb1..6841cb7fe9 100755 --- a/utils.c +++ b/utils.c @@ -24,6 +24,10 @@ #include #include +#include "asterisk.h" + +ASTERISK_FILE_VERSION("$Revision$") + #include "asterisk/lock.h" #include "asterisk/utils.h" #include "asterisk/io.h"