diff options
Diffstat (limited to 'utils/extconf.c')
-rw-r--r-- | utils/extconf.c | 73 |
1 files changed, 70 insertions, 3 deletions
diff --git a/utils/extconf.c b/utils/extconf.c index 96be73fe8..d388586e0 100644 --- a/utils/extconf.c +++ b/utils/extconf.c @@ -23,8 +23,6 @@ * for operations outside of asterisk. A huge, awful hack. * */ -#include "asterisk.h" - #undef DEBUG_THREADS #include "asterisk/compat.h" @@ -83,6 +81,12 @@ struct ast_channel #define VERBOSE_PREFIX_3 " -- " #define VERBOSE_PREFIX_4 " > " +/* IN CONFLICT: void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...) + __attribute__ ((format (printf, 5, 6))); */ + +static void ast_log(int level, const char *file, int line, const char *function, const char *fmt, ...) __attribute__ ((format (printf,5,6))); + + void ast_backtrace(void); void ast_queue_log(const char *queuename, const char *callid, const char *agent, const char *event, const char *fmt, ...) @@ -96,6 +100,9 @@ int ast_unregister_verbose(void (*verboser)(const char *string)); void ast_console_puts(const char *string); +void ast_console_puts_mutable(const char *string); +void ast_console_toggle_mute(int fd); + #define _A_ __FILE__, __LINE__, __PRETTY_FUNCTION__ #ifdef LOG_DEBUG @@ -1760,6 +1767,56 @@ static void ast_config_destroy(struct ast_config *cfg) #define AST_CACHE_DIR_LEN 512 #define AST_FILENAME_MAX 80 +/*! \ingroup main_options */ +enum ast_option_flags { + /*! Allow \#exec in config files */ + AST_OPT_FLAG_EXEC_INCLUDES = (1 << 0), + /*! Do not fork() */ + AST_OPT_FLAG_NO_FORK = (1 << 1), + /*! Keep quiet */ + AST_OPT_FLAG_QUIET = (1 << 2), + /*! Console mode */ + AST_OPT_FLAG_CONSOLE = (1 << 3), + /*! Run in realtime Linux priority */ + AST_OPT_FLAG_HIGH_PRIORITY = (1 << 4), + /*! Initialize keys for RSA authentication */ + AST_OPT_FLAG_INIT_KEYS = (1 << 5), + /*! Remote console */ + AST_OPT_FLAG_REMOTE = (1 << 6), + /*! Execute an asterisk CLI command upon startup */ + AST_OPT_FLAG_EXEC = (1 << 7), + /*! Don't use termcap colors */ + AST_OPT_FLAG_NO_COLOR = (1 << 8), + /*! Are we fully started yet? */ + AST_OPT_FLAG_FULLY_BOOTED = (1 << 9), + /*! Trascode via signed linear */ + AST_OPT_FLAG_TRANSCODE_VIA_SLIN = (1 << 10), + /*! Enable priority jumping in applications */ + AST_OPT_FLAG_PRIORITY_JUMPING = (1 << 11), + /*! Dump core on a seg fault */ + AST_OPT_FLAG_DUMP_CORE = (1 << 12), + /*! Cache sound files */ + AST_OPT_FLAG_CACHE_RECORD_FILES = (1 << 13), + /*! Display timestamp in CLI verbose output */ + AST_OPT_FLAG_TIMESTAMP = (1 << 14), + /*! Override config */ + AST_OPT_FLAG_OVERRIDE_CONFIG = (1 << 15), + /*! Reconnect */ + AST_OPT_FLAG_RECONNECT = (1 << 16), + /*! Transmit Silence during Record() */ + AST_OPT_FLAG_TRANSMIT_SILENCE = (1 << 17), + /*! Suppress some warnings */ + AST_OPT_FLAG_DONT_WARN = (1 << 18), + /*! End CDRs before the 'h' extension */ + AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN = (1 << 19), + /*! Use DAHDI Timing for generators if available */ + AST_OPT_FLAG_INTERNAL_TIMING = (1 << 20), + /*! Always fork, even if verbose or debug settings are non-zero */ + AST_OPT_FLAG_ALWAYS_FORK = (1 << 21), + /*! Disable log/verbose output to remote consoles */ + AST_OPT_FLAG_MUTE = (1 << 22) +}; + /*! These are the options that set by default when Asterisk starts */ #define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN @@ -1793,6 +1850,8 @@ extern int option_maxcalls; /*!< Maximum number of simultaneous channels */ extern double option_maxload; extern char defaultlanguage[]; +extern time_t ast_startuptime; +extern time_t ast_lastreloadtime; extern pid_t ast_mainpid; extern char record_cache_dir[AST_CACHE_DIR_LEN]; @@ -2647,6 +2706,14 @@ static const char *ast_var_name(const struct ast_var_t *var) return name; } + +/* stolen from asterisk.c */ + +static struct ast_flags ast_options = { AST_DEFAULT_OPTIONS }; +static int option_verbose = 0; /*!< Verbosity level */ +static int option_debug = 0; /*!< Debug level */ + + /* experiment 1: see if it's easier just to use existing config code * to read in the extensions.conf file. In this scenario, I have to rip/copy code from other modules, because they @@ -2668,7 +2735,7 @@ static void ast_log(int level, const char *file, int line, const char *function, va_end(vars); } -void __attribute__((format (printf, 1, 2))) ast_verbose(const char *fmt, ...) +static void __attribute__((format (printf, 1, 2))) ast_verbose(const char *fmt, ...) { va_list vars; va_start(vars,fmt); |