00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef globals_h
00034 #define globals_h
00035
00036 #include "types.h"
00037 #include "ip_addr.h"
00038 #include "str.h"
00039 #include "poll_types.h"
00040
00041 #define NO_DNS 0
00042 #define DO_DNS 1
00043 #define DO_REV_DNS 2
00044
00045
00046 extern char* mods_dir;
00047 extern char* cfg_file;
00048 extern int config_check;
00049 extern char* stat_file;
00050 extern unsigned short port_no;
00051
00052 extern time_t up_since;
00053 extern pid_t creator_pid;
00054 extern int uid;
00055 extern int gid;
00056 extern char* pid_file;
00057 extern char* pgid_file;
00058 extern int own_pgid;
00059
00060 extern int server_id;
00061
00062 extern struct socket_info* bind_address;
00063
00064 extern struct socket_info* sendipv4;
00065
00066 extern struct socket_info* sendipv6;
00067 #ifdef USE_RAW_SOCKS
00068 extern int raw_udp4_send_sock;
00069 #endif
00070
00071 #ifdef USE_TCP
00072 extern struct socket_info* sendipv4_tcp;
00073
00074 extern struct socket_info* sendipv6_tcp;
00075 extern int unix_tcp_sock;
00076 #endif
00077 #ifdef USE_TLS
00078 extern struct socket_info* sendipv4_tls;
00079
00080 extern struct socket_info* sendipv6_tls;
00081 #endif
00082 #ifdef USE_SCTP
00083 extern struct socket_info* sendipv4_sctp;
00084
00085 extern struct socket_info* sendipv6_sctp;
00086 #endif
00087
00088 extern unsigned int maxbuffer;
00089 extern unsigned int sql_buffer_size;
00090 extern int children_no;
00091 extern int socket_workers;
00092 #ifdef USE_TCP
00093 extern int tcp_main_pid;
00094 extern int tcp_cfg_children_no;
00095 extern int tcp_children_no;
00096 extern int tcp_disable;
00097 extern enum poll_types tcp_poll_method;
00098 extern int tcp_max_connections;
00099 extern int tls_max_connections;
00100 #endif
00101 #ifdef USE_TLS
00102 extern int tls_disable;
00103 extern unsigned short tls_port_no;
00104 #endif
00105 #ifdef USE_SCTP
00106 extern int sctp_disable;
00107 extern int sctp_children_no;
00108 #endif
00109 extern int dont_fork;
00110 extern int dont_daemonize;
00111 extern int check_via;
00112 extern int phone2tel;
00113 extern int received_dns;
00114 extern int syn_branch;
00115
00116 extern int child_rank;
00117 extern int sip_warning;
00118 extern int server_signature;
00119 extern str server_hdr;
00120 extern str user_agent_hdr;
00121 extern char* user;
00122 extern char* group;
00123 extern char* sock_user;
00124 extern char* sock_group;
00125 extern int sock_uid;
00126 extern int sock_gid;
00127 extern int sock_mode;
00128 extern char* chroot_dir;
00129 extern char* working_dir;
00130 extern int sr_auto_aliases;
00131 extern int sr_msg_time;
00132
00133 #ifdef USE_MCAST
00134 extern int mcast_loopback;
00135 extern int mcast_ttl;
00136 #endif
00137
00138 #ifdef USE_STUN
00139 extern unsigned int stun_refresh_interval;
00140 extern int stun_allow_stun;
00141 extern int stun_allow_fp;
00142 #endif
00143
00144 #ifdef USE_IPV6
00145 extern int auto_bind_ipv6;
00146 #endif
00147
00148 extern int tos;
00149 extern int pmtu_discovery;
00150
00151
00152
00153
00154
00155
00156
00157 extern int cfg_errors;
00158 extern int cfg_warnings;
00159 extern unsigned int msg_no;
00160
00161 extern unsigned long shm_mem_size;
00162 extern unsigned long pkg_mem_size;
00163
00164
00165 extern char *avp_db_url;
00166
00167
00168
00169
00170
00171
00172 extern int reply_to_via;
00173
00174 extern int is_main;
00175 extern int fixup_complete;
00176
00177
00178 extern int memlog;
00179
00180 extern int memdbg;
00181
00182
00183 extern int timerlog;
00184
00185
00186 extern int mhomed;
00187
00188
00189 extern int my_argc;
00190 extern char **my_argv;
00191
00192
00193 extern str default_global_address;
00194
00195 extern str default_global_port;
00196
00197
00198 extern int ser_kill_timeout;
00199
00200
00201 extern int disable_core_dump;
00202 extern int open_files_limit;
00203
00204
00205 extern int shm_force_alloc;
00206 extern int mlock_pages;
00207
00208
00209 extern int real_time;
00210 extern int rt_prio;
00211 extern int rt_policy;
00212 extern int rt_timer1_prio;
00213 extern int rt_timer2_prio;
00214 extern int rt_timer1_policy;
00215 extern int rt_timer2_policy;
00216
00217 extern int http_reply_hack;
00218
00219 #ifdef USE_DNS_CACHE
00220 extern int dns_cache_init;
00221 extern unsigned int dns_timer_interval;
00222 extern int dns_flags;
00223
00224
00225 #ifdef USE_DNS_CACHE_STATS
00226 struct t_dns_cache_stats{
00227 unsigned long dns_req_cnt;
00228 unsigned long dc_hits_cnt;
00229 unsigned long dc_neg_hits_cnt;
00230 unsigned long dc_lru_cnt;
00231 };
00232 extern struct t_dns_cache_stats* dns_cache_stats;
00233 #endif
00234 #endif
00235 #ifdef USE_DST_BLACKLIST
00236 extern int dst_blacklist_init;
00237 extern unsigned int blst_timer_interval;
00238
00239 #ifdef USE_DST_BLACKLIST_STATS
00240 struct t_dst_blacklist_stats{
00241 unsigned long bkl_hit_cnt;
00242 unsigned long bkl_lru_cnt;
00243 };
00244 extern struct t_dst_blacklist_stats* dst_blacklist_stats;
00245 #endif
00246 #endif
00247
00248 #endif