cfg_core.h
7ac069af
 /*
  * Copyright (C) 2007 iptelorg GmbH
  *
02ca141b
  * This file is part of Kamailio, a free SIP server.
7ac069af
  *
02ca141b
  * Kamailio is free software; you can redistribute it and/or modify
7ac069af
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  *
02ca141b
  * Kamailio is distributed in the hope that it will be useful,
7ac069af
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
9e1ff448
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
7ac069af
  *
02ca141b
  *
  */
 
 /** Kamailio core :: runtime configuration variables
  * @file cfg_core.h
  * @ingroup core
  *
  * Module: @ref core
  *
7ac069af
  * HOWTO:
  *	If you need a new configuration variable within the core, put it into
  *	struct cfg_goup_core, and define it in cfg_core.c:core_cfg_def array.
  *	The default value of the variable must be inserted into
  *	cfg_core.c:default_core_cfg
  *	Include this header file in your source code, and retrieve the
  *	value with cfg_get(core, core_cfg, variable_name).
5a03489e
  */
 
7ac069af
 
 #ifndef _CFG_CORE_H
 #define _CFG_CORE_H
 
 #include "cfg/cfg.h"
 
 extern void	*core_cfg;
 
5a03489e
 /*! \brief configuration default values */
7ac069af
 struct cfg_group_core {
 	int	debug;
0d09b88d
 	int	log_facility;
5a03489e
 	int memdbg; /*!< log level for memory debugging messages */
a4d17f82
 #ifdef USE_DST_BLACKLIST
2cfcc6bb
 	/* blacklist */
5a03489e
 	int	use_dst_blacklist; /*!< 1 if blacklist is enabled */
 	unsigned int	blst_timeout; /*!< blacklist entry ttl */
 	unsigned int	blst_max_mem; /*!< maximum memory used for the
a4d17f82
 					blacklist entries */
0f9e9908
 	unsigned int	blst_udp_imask;  /* ignore mask for udp */
 	unsigned int	blst_tcp_imask;  /* ignore mask for tcp */
 	unsigned int	blst_tls_imask;  /* ignore mask for tls */
 	unsigned int	blst_sctp_imask; /* ignore mask for sctp */
a4d17f82
 #endif
2cfcc6bb
 	/* resolver */
 	int dns_try_ipv6;
 	int dns_try_naptr;
 	int dns_udp_pref;
 	int dns_tcp_pref;
 	int dns_tls_pref;
7d11cc0c
 	int dns_sctp_pref;
2cfcc6bb
 	int dns_retr_time;
 	int dns_retr_no;
 	int dns_servers_no;
 	int dns_search_list;
 	int dns_search_fmatch;
 	int dns_reinit;
a9fc979c
 	int dns_naptr_ignore_rfc;
2cfcc6bb
 	/* DNS cache */
 #ifdef USE_DNS_CACHE
7905e2d6
 	int use_dns_cache;
2cfcc6bb
 	int dns_cache_flags;
 	int use_dns_failover;
 	int dns_srv_lb;
 	unsigned int dns_neg_cache_ttl;
 	unsigned int dns_cache_min_ttl;
 	unsigned int dns_cache_max_ttl;
 	unsigned int dns_cache_max_mem;
 	int dns_cache_del_nonexp;
1b30ae44
 	int dns_cache_rec_pref;
2cfcc6bb
 #endif
b4c9f986
 #ifdef PKG_MALLOC
 	int mem_dump_pkg;
 #endif
 #ifdef SHM_MEM
 	int mem_dump_shm;
 #endif
dfda974c
 	int max_while_loops;
5a03489e
 	int udp_mtu; /*!< maximum send size for udp, if > try another protocol*/
 	int udp_mtu_try_proto; /*!< if packet> udp_mtu, try proto (e.g. TCP) */
1db67b92
 	int udp4_raw; /* use raw sockets for sending on udp ipv 4 */
 	int udp4_raw_mtu; /* mtu used when using udp raw socket */
9eb54078
 	int udp4_raw_ttl; /* ttl used when using udp raw sockets */
5a03489e
 	int force_rport; /*!< if set rport will always be forced*/
 	int memlog; /*!< log level for memory status/summary info */
 	int mem_summary; /*!< display memory status/summary info on exit */
ffb8754f
 	int mem_safety; /*!< memory safety control option */
d89420df
 	int mem_join; /*!< memory free fragments join option */
7e2e4ff4
 	int corelog; /*!< log level for non-critcal core error messages */
e80c2473
 	int latency_cfg_log; /*!< log level for printing latency of routing blocks */
930aba29
 	int latency_log; /*!< log level for latency limits messages */
 	int latency_limit_db; /*!< alert limit of running db commands */
 	int latency_limit_action; /*!< alert limit of running cfg actions */
7ac069af
 };
 
 extern struct cfg_group_core default_core_cfg;
 extern cfg_def_t core_cfg_def[];
 
 #endif /* _CFG_CORE_H */