Fri Sep 11 13:44:59 2009

Asterisk developer's documentation


options.h

Go to the documentation of this file.
00001 /*
00002  * Asterisk -- An open source telephony toolkit.
00003  *
00004  * Copyright (C) 1999 - 2005, Digium, Inc.
00005  *
00006  * Mark Spencer <markster@digium.com>
00007  *
00008  * See http://www.asterisk.org for more information about
00009  * the Asterisk project. Please do not directly contact
00010  * any of the maintainers of this project for assistance;
00011  * the project provides a web site, mailing lists and IRC
00012  * channels for your use.
00013  *
00014  * This program is free software, distributed under the terms of
00015  * the GNU General Public License Version 2. See the LICENSE file
00016  * at the top of the source tree.
00017  */
00018 
00019 /*! \file
00020  * \brief Options provided by main asterisk program
00021  */
00022 
00023 #ifndef _ASTERISK_OPTIONS_H
00024 #define _ASTERISK_OPTIONS_H
00025 
00026 #if defined(__cplusplus) || defined(c_plusplus)
00027 extern "C" {
00028 #endif
00029 
00030 #define AST_CACHE_DIR_LEN  512
00031 #define AST_FILENAME_MAX   80
00032 #define AST_CHANNEL_NAME   80
00033 
00034 /*! \ingroup main_options */
00035 enum ast_option_flags {
00036    /*! Allow \#exec in config files */
00037    AST_OPT_FLAG_EXEC_INCLUDES = (1 << 0),
00038    /*! Do not fork() */
00039    AST_OPT_FLAG_NO_FORK = (1 << 1),
00040    /*! Keep quiet */
00041    AST_OPT_FLAG_QUIET = (1 << 2),
00042    /*! Console mode */
00043    AST_OPT_FLAG_CONSOLE = (1 << 3),
00044    /*! Run in realtime Linux priority */
00045    AST_OPT_FLAG_HIGH_PRIORITY = (1 << 4),
00046    /*! Initialize keys for RSA authentication */
00047    AST_OPT_FLAG_INIT_KEYS = (1 << 5),
00048    /*! Remote console */
00049    AST_OPT_FLAG_REMOTE = (1 << 6),
00050    /*! Execute an asterisk CLI command upon startup */
00051    AST_OPT_FLAG_EXEC = (1 << 7),
00052    /*! Don't use termcap colors */
00053    AST_OPT_FLAG_NO_COLOR = (1 << 8),
00054    /*! Are we fully started yet? */
00055    AST_OPT_FLAG_FULLY_BOOTED = (1 << 9),
00056    /*! Trascode via signed linear */
00057    AST_OPT_FLAG_TRANSCODE_VIA_SLIN = (1 << 10),
00058    /*! Enable priority jumping in applications */
00059    AST_OPT_FLAG_PRIORITY_JUMPING = (1 << 11),
00060    /*! Dump core on a seg fault */
00061    AST_OPT_FLAG_DUMP_CORE = (1 << 12),
00062    /*! Cache sound files */
00063    AST_OPT_FLAG_CACHE_RECORD_FILES = (1 << 13),
00064    /*! Display timestamp in CLI verbose output */
00065    AST_OPT_FLAG_TIMESTAMP = (1 << 14),
00066    /*! Override config */
00067    AST_OPT_FLAG_OVERRIDE_CONFIG = (1 << 15),
00068    /*! Reconnect */
00069    AST_OPT_FLAG_RECONNECT = (1 << 16),
00070    /*! Transmit Silence during Record() and DTMF Generation */
00071    AST_OPT_FLAG_TRANSMIT_SILENCE = (1 << 17),
00072    /*! Suppress some warnings */
00073    AST_OPT_FLAG_DONT_WARN = (1 << 18),
00074    /*! End CDRs before the 'h' extension */
00075    AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN = (1 << 19),
00076    /*! Use Zaptel Timing for generators if available */
00077    AST_OPT_FLAG_INTERNAL_TIMING = (1 << 20),
00078    /*! Always fork, even if verbose or debug settings are non-zero */
00079    AST_OPT_FLAG_ALWAYS_FORK = (1 << 21),
00080    /*! Disable log/verbose output to remote consoles */
00081    AST_OPT_FLAG_MUTE = (1 << 22)
00082 };
00083 
00084 /*! These are the options that set by default when Asterisk starts */
00085 #define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN
00086 
00087 #define ast_opt_exec_includes    ast_test_flag(&ast_options, AST_OPT_FLAG_EXEC_INCLUDES)
00088 #define ast_opt_no_fork       ast_test_flag(&ast_options, AST_OPT_FLAG_NO_FORK)
00089 #define ast_opt_quiet         ast_test_flag(&ast_options, AST_OPT_FLAG_QUIET)
00090 #define ast_opt_console       ast_test_flag(&ast_options, AST_OPT_FLAG_CONSOLE)
00091 #define ast_opt_high_priority    ast_test_flag(&ast_options, AST_OPT_FLAG_HIGH_PRIORITY)
00092 #define ast_opt_init_keys     ast_test_flag(&ast_options, AST_OPT_FLAG_INIT_KEYS)
00093 #define ast_opt_remote        ast_test_flag(&ast_options, AST_OPT_FLAG_REMOTE)
00094 #define ast_opt_exec       ast_test_flag(&ast_options, AST_OPT_FLAG_EXEC)
00095 #define ast_opt_no_color      ast_test_flag(&ast_options, AST_OPT_FLAG_NO_COLOR)
00096 #define ast_fully_booted      ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)
00097 #define ast_opt_transcode_via_slin  ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSCODE_VIA_SLIN)
00098 #define ast_opt_priority_jumping ast_test_flag(&ast_options, AST_OPT_FLAG_PRIORITY_JUMPING)
00099 #define ast_opt_dump_core     ast_test_flag(&ast_options, AST_OPT_FLAG_DUMP_CORE)
00100 #define ast_opt_cache_record_files  ast_test_flag(&ast_options, AST_OPT_FLAG_CACHE_RECORD_FILES)
00101 #define ast_opt_timestamp     ast_test_flag(&ast_options, AST_OPT_FLAG_TIMESTAMP)
00102 #define ast_opt_override_config     ast_test_flag(&ast_options, AST_OPT_FLAG_OVERRIDE_CONFIG)
00103 #define ast_opt_reconnect     ast_test_flag(&ast_options, AST_OPT_FLAG_RECONNECT)
00104 #define ast_opt_transmit_silence ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSMIT_SILENCE)
00105 #define ast_opt_dont_warn     ast_test_flag(&ast_options, AST_OPT_FLAG_DONT_WARN)
00106 #define ast_opt_end_cdr_before_h_exten ast_test_flag(&ast_options, AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN)
00107 #define ast_opt_internal_timing     ast_test_flag(&ast_options, AST_OPT_FLAG_INTERNAL_TIMING)
00108 #define ast_opt_always_fork      ast_test_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK)
00109 #define ast_opt_mute       ast_test_flag(&ast_options, AST_OPT_FLAG_MUTE)
00110 
00111 extern struct ast_flags ast_options;
00112 
00113 extern int option_verbose;
00114 extern int option_maxfiles;      /*!< Max number of open file handles (files, sockets) */
00115 extern int option_debug;        /*!< Debugging */
00116 extern int option_maxcalls;      /*!< Maximum number of simultaneous channels */
00117 extern double option_maxload; /*!< Max load avg on system */
00118 #if defined(HAVE_SYSINFO)
00119 extern long option_minmemfree;      /*!< Minimum amount of free system memory - stop accepting calls if free memory falls below this watermark */
00120 #endif
00121 extern char defaultlanguage[];
00122 
00123 extern time_t ast_startuptime;
00124 extern time_t ast_lastreloadtime;
00125 extern pid_t ast_mainpid;
00126 
00127 extern char record_cache_dir[AST_CACHE_DIR_LEN];
00128 extern char debug_filename[AST_FILENAME_MAX];
00129 extern const char *dahdi_chan_name;
00130 extern const size_t *dahdi_chan_name_len;
00131 extern const enum dahdi_chan_modes {
00132    CHAN_ZAP_MODE,
00133    CHAN_DAHDI_PLUS_ZAP_MODE,
00134 } *dahdi_chan_mode;
00135    
00136 extern int ast_language_is_prefix;
00137 
00138 #if defined(__cplusplus) || defined(c_plusplus)
00139 }
00140 #endif
00141 
00142 #endif /* _ASTERISK_OPTIONS_H */

Generated on Fri Sep 11 13:44:59 2009 for Asterisk - the Open Source PBX by  doxygen 1.4.7