00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _ASTERISK_OPTIONS_H
00024 #define _ASTERISK_OPTIONS_H
00025
00026 #include "asterisk/autoconfig.h"
00027
00028 #if defined(__cplusplus) || defined(c_plusplus)
00029 extern "C" {
00030 #endif
00031
00032 #define AST_CACHE_DIR_LEN 512
00033 #define AST_FILENAME_MAX 80
00034 #define AST_CHANNEL_NAME 80
00035
00036
00037
00038 enum ast_option_flags {
00039
00040 AST_OPT_FLAG_EXEC_INCLUDES = (1 << 0),
00041
00042 AST_OPT_FLAG_NO_FORK = (1 << 1),
00043
00044 AST_OPT_FLAG_QUIET = (1 << 2),
00045
00046 AST_OPT_FLAG_CONSOLE = (1 << 3),
00047
00048 AST_OPT_FLAG_HIGH_PRIORITY = (1 << 4),
00049
00050 AST_OPT_FLAG_INIT_KEYS = (1 << 5),
00051
00052 AST_OPT_FLAG_REMOTE = (1 << 6),
00053
00054 AST_OPT_FLAG_EXEC = (1 << 7),
00055
00056 AST_OPT_FLAG_NO_COLOR = (1 << 8),
00057
00058 AST_OPT_FLAG_FULLY_BOOTED = (1 << 9),
00059
00060 AST_OPT_FLAG_TRANSCODE_VIA_SLIN = (1 << 10),
00061
00062 AST_OPT_FLAG_DUMP_CORE = (1 << 12),
00063
00064 AST_OPT_FLAG_CACHE_RECORD_FILES = (1 << 13),
00065
00066 AST_OPT_FLAG_TIMESTAMP = (1 << 14),
00067
00068 AST_OPT_FLAG_OVERRIDE_CONFIG = (1 << 15),
00069
00070 AST_OPT_FLAG_RECONNECT = (1 << 16),
00071
00072 AST_OPT_FLAG_TRANSMIT_SILENCE = (1 << 17),
00073
00074 AST_OPT_FLAG_DONT_WARN = (1 << 18),
00075
00076 AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN = (1 << 19),
00077
00078 AST_OPT_FLAG_INTERNAL_TIMING = (1 << 20),
00079
00080 AST_OPT_FLAG_ALWAYS_FORK = (1 << 21),
00081
00082 AST_OPT_FLAG_MUTE = (1 << 22),
00083
00084 AST_OPT_FLAG_DEBUG_MODULE = (1 << 23),
00085
00086 AST_OPT_FLAG_VERBOSE_MODULE = (1 << 24),
00087
00088 AST_OPT_FLAG_LIGHT_BACKGROUND = (1 << 25),
00089
00090 AST_OPT_FLAG_INITIATED_SECONDS = (1 << 26),
00091
00092 AST_OPT_FLAG_FORCE_BLACK_BACKGROUND = (1 << 27),
00093
00094 AST_OPT_FLAG_HIDE_CONSOLE_CONNECT = (1 << 28),
00095
00096 AST_OPT_FLAG_LOCK_CONFIG_DIR = (1 << 29),
00097
00098 AST_OPT_FLAG_GENERIC_PLC = (1 << 30),
00099 };
00100
00101
00102 #define AST_DEFAULT_OPTIONS AST_OPT_FLAG_TRANSCODE_VIA_SLIN
00103
00104 #define ast_opt_exec_includes ast_test_flag(&ast_options, AST_OPT_FLAG_EXEC_INCLUDES)
00105 #define ast_opt_no_fork ast_test_flag(&ast_options, AST_OPT_FLAG_NO_FORK)
00106 #define ast_opt_quiet ast_test_flag(&ast_options, AST_OPT_FLAG_QUIET)
00107 #define ast_opt_console ast_test_flag(&ast_options, AST_OPT_FLAG_CONSOLE)
00108 #define ast_opt_high_priority ast_test_flag(&ast_options, AST_OPT_FLAG_HIGH_PRIORITY)
00109 #define ast_opt_init_keys ast_test_flag(&ast_options, AST_OPT_FLAG_INIT_KEYS)
00110 #define ast_opt_remote ast_test_flag(&ast_options, AST_OPT_FLAG_REMOTE)
00111 #define ast_opt_exec ast_test_flag(&ast_options, AST_OPT_FLAG_EXEC)
00112 #define ast_opt_no_color ast_test_flag(&ast_options, AST_OPT_FLAG_NO_COLOR)
00113 #define ast_fully_booted ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)
00114 #define ast_opt_transcode_via_slin ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSCODE_VIA_SLIN)
00115 #define ast_opt_dump_core ast_test_flag(&ast_options, AST_OPT_FLAG_DUMP_CORE)
00116 #define ast_opt_cache_record_files ast_test_flag(&ast_options, AST_OPT_FLAG_CACHE_RECORD_FILES)
00117 #define ast_opt_timestamp ast_test_flag(&ast_options, AST_OPT_FLAG_TIMESTAMP)
00118 #define ast_opt_override_config ast_test_flag(&ast_options, AST_OPT_FLAG_OVERRIDE_CONFIG)
00119 #define ast_opt_reconnect ast_test_flag(&ast_options, AST_OPT_FLAG_RECONNECT)
00120 #define ast_opt_transmit_silence ast_test_flag(&ast_options, AST_OPT_FLAG_TRANSMIT_SILENCE)
00121 #define ast_opt_dont_warn ast_test_flag(&ast_options, AST_OPT_FLAG_DONT_WARN)
00122 #define ast_opt_end_cdr_before_h_exten ast_test_flag(&ast_options, AST_OPT_FLAG_END_CDR_BEFORE_H_EXTEN)
00123 #define ast_opt_internal_timing ast_test_flag(&ast_options, AST_OPT_FLAG_INTERNAL_TIMING)
00124 #define ast_opt_always_fork ast_test_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK)
00125 #define ast_opt_mute ast_test_flag(&ast_options, AST_OPT_FLAG_MUTE)
00126 #define ast_opt_dbg_module ast_test_flag(&ast_options, AST_OPT_FLAG_DEBUG_MODULE)
00127 #define ast_opt_verb_module ast_test_flag(&ast_options, AST_OPT_FLAG_VERBOSE_MODULE)
00128 #define ast_opt_light_background ast_test_flag(&ast_options, AST_OPT_FLAG_LIGHT_BACKGROUND)
00129 #define ast_opt_force_black_background ast_test_flag(&ast_options, AST_OPT_FLAG_FORCE_BLACK_BACKGROUND)
00130 #define ast_opt_hide_connect ast_test_flag(&ast_options, AST_OPT_FLAG_HIDE_CONSOLE_CONNECT)
00131 #define ast_opt_lock_confdir ast_test_flag(&ast_options, AST_OPT_FLAG_LOCK_CONFIG_DIR)
00132 #define ast_opt_generic_plc ast_test_flag(&ast_options, AST_OPT_FLAG_GENERIC_PLC)
00133
00134 extern struct ast_flags ast_options;
00135
00136 enum ast_compat_flags {
00137 AST_COMPAT_DELIM_PBX_REALTIME = (1 << 0),
00138 AST_COMPAT_DELIM_RES_AGI = (1 << 1),
00139 AST_COMPAT_APP_SET = (1 << 2),
00140 };
00141
00142 #define ast_compat_pbx_realtime ast_test_flag(&ast_compat, AST_COMPAT_DELIM_PBX_REALTIME)
00143 #define ast_compat_res_agi ast_test_flag(&ast_compat, AST_COMPAT_DELIM_RES_AGI)
00144 #define ast_compat_app_set ast_test_flag(&ast_compat, AST_COMPAT_APP_SET)
00145
00146 extern struct ast_flags ast_compat;
00147
00148 extern int option_verbose;
00149 extern int option_maxfiles;
00150 extern int option_debug;
00151 extern int option_maxcalls;
00152 extern double option_maxload;
00153 #if defined(HAVE_SYSINFO)
00154 extern long option_minmemfree;
00155 #endif
00156 extern char defaultlanguage[];
00157
00158 extern struct timeval ast_startuptime;
00159 extern struct timeval ast_lastreloadtime;
00160 extern pid_t ast_mainpid;
00161
00162 extern char record_cache_dir[AST_CACHE_DIR_LEN];
00163 extern char dahdi_chan_name[AST_CHANNEL_NAME];
00164 extern int dahdi_chan_name_len;
00165
00166 extern int ast_language_is_prefix;
00167
00168 #if defined(__cplusplus) || defined(c_plusplus)
00169 }
00170 #endif
00171
00172 #endif