2 * Copyright (C) 2004-2013 Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (C) 1999-2003 Internet Software Consortium.
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
9 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
10 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
11 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
12 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
13 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
14 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
15 * PERFORMANCE OF THIS SOFTWARE.
18 /* $Id: globals.h,v 1.92 2011/11/09 18:44:04 each Exp $ */
20 #ifndef NAMED_GLOBALS_H
21 #define NAMED_GLOBALS_H 1
25 #include <isc/rwlock.h>
29 #include <isccfg/aclconf.h>
30 #include <isccfg/cfg.h>
36 #include <named/types.h>
48 #ifndef NS_RUN_PID_DIR
49 #define NS_RUN_PID_DIR 1
52 EXTERN isc_mem_t * ns_g_mctx INIT(NULL);
53 EXTERN unsigned int ns_g_cpus INIT(0);
54 EXTERN unsigned int ns_g_udpdisp INIT(0);
55 EXTERN isc_taskmgr_t * ns_g_taskmgr INIT(NULL);
56 EXTERN dns_dispatchmgr_t * ns_g_dispatchmgr INIT(NULL);
57 EXTERN isc_entropy_t * ns_g_entropy INIT(NULL);
58 EXTERN isc_entropy_t * ns_g_fallbackentropy INIT(NULL);
59 EXTERN unsigned int ns_g_cpus_detected INIT(1);
62 * XXXRTH We're going to want multiple timer managers eventually. One
63 * for really short timers, another for client timers, and one
66 EXTERN isc_timermgr_t * ns_g_timermgr INIT(NULL);
67 EXTERN isc_socketmgr_t * ns_g_socketmgr INIT(NULL);
68 EXTERN cfg_parser_t * ns_g_parser INIT(NULL);
69 EXTERN const char * ns_g_version INIT(VERSION);
70 EXTERN const char * ns_g_product INIT(PRODUCT);
71 EXTERN const char * ns_g_description INIT(DESCRIPTION);
72 EXTERN const char * ns_g_srcid INIT(SRCID);
73 EXTERN const char * ns_g_configargs INIT(CONFIGARGS);
74 EXTERN const char * ns_g_builder INIT(BUILDER);
75 EXTERN in_port_t ns_g_port INIT(0);
76 EXTERN in_port_t lwresd_g_listenport INIT(0);
78 EXTERN ns_server_t * ns_g_server INIT(NULL);
80 EXTERN isc_boolean_t ns_g_lwresdonly INIT(ISC_FALSE);
85 EXTERN isc_log_t * ns_g_lctx INIT(NULL);
86 EXTERN isc_logcategory_t * ns_g_categories INIT(NULL);
87 EXTERN isc_logmodule_t * ns_g_modules INIT(NULL);
88 EXTERN unsigned int ns_g_debuglevel INIT(0);
91 * Current configuration information.
93 EXTERN cfg_obj_t * ns_g_config INIT(NULL);
94 EXTERN const cfg_obj_t * ns_g_defaults INIT(NULL);
95 EXTERN const char * ns_g_conffile INIT(NS_SYSCONFDIR
97 EXTERN cfg_obj_t * ns_g_bindkeys INIT(NULL);
98 EXTERN const char * ns_g_keyfile INIT(NS_SYSCONFDIR
101 EXTERN dns_tsigkey_t * ns_g_sessionkey INIT(NULL);
102 EXTERN dns_name_t ns_g_sessionkeyname;
104 EXTERN const char * lwresd_g_conffile INIT(NS_SYSCONFDIR
106 EXTERN const char * lwresd_g_resolvconffile INIT("/etc"
108 EXTERN isc_boolean_t ns_g_conffileset INIT(ISC_FALSE);
109 EXTERN isc_boolean_t lwresd_g_useresolvconf INIT(ISC_FALSE);
110 EXTERN isc_uint16_t ns_g_udpsize INIT(4096);
111 EXTERN cfg_aclconfctx_t * ns_g_aclconfctx INIT(NULL);
114 * Initial resource limits.
116 EXTERN isc_resourcevalue_t ns_g_initstacksize INIT(0);
117 EXTERN isc_resourcevalue_t ns_g_initdatasize INIT(0);
118 EXTERN isc_resourcevalue_t ns_g_initcoresize INIT(0);
119 EXTERN isc_resourcevalue_t ns_g_initopenfiles INIT(0);
124 EXTERN isc_boolean_t ns_g_coreok INIT(ISC_TRUE);
125 EXTERN const char * ns_g_chrootdir INIT(NULL);
126 EXTERN isc_boolean_t ns_g_foreground INIT(ISC_FALSE);
127 EXTERN isc_boolean_t ns_g_logstderr INIT(ISC_FALSE);
128 EXTERN isc_boolean_t ns_g_nosyslog INIT(ISC_FALSE);
130 EXTERN const char * ns_g_defaultsessionkeyfile
131 INIT(NS_LOCALSTATEDIR "/run/named/"
135 EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
138 EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
142 EXTERN const char * ns_g_defaultpidfile INIT(NS_LOCALSTATEDIR
144 EXTERN const char * lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
148 EXTERN const char * ns_g_username INIT(NULL);
151 EXTERN const char * ns_g_engine INIT("pkcs11");
153 EXTERN const char * ns_g_engine INIT(NULL);
156 EXTERN int ns_g_listen INIT(3);
157 EXTERN isc_time_t ns_g_boottime;
158 EXTERN isc_boolean_t ns_g_memstatistics INIT(ISC_FALSE);
159 EXTERN isc_boolean_t ns_g_clienttest INIT(ISC_FALSE);
160 EXTERN isc_boolean_t ns_g_nosoa INIT(ISC_FALSE);
161 EXTERN isc_boolean_t ns_g_noaa INIT(ISC_FALSE);
162 EXTERN isc_boolean_t ns_g_nonearest INIT(ISC_FALSE);
167 #endif /* NAMED_GLOBALS_H */