2 * Copyright (C) 2004, 2006 Internet Systems Consortium, Inc. ("ISC")
3 * Copyright (C) 1999-2003 Internet Software Consortium.
5 * Permission to use, copy, modify, and 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.59.68.7 2006/03/02 00:37:20 marka Exp $ */
20 #ifndef NAMED_GLOBALS_H
21 #define NAMED_GLOBALS_H 1
23 #include <isc/rwlock.h>
27 #include <isccfg/cfg.h>
31 #include <named/types.h>
43 EXTERN isc_mem_t
* ns_g_mctx
INIT(NULL
);
44 EXTERN
unsigned int ns_g_cpus
INIT(0);
45 EXTERN isc_taskmgr_t
* ns_g_taskmgr
INIT(NULL
);
46 EXTERN dns_dispatchmgr_t
* ns_g_dispatchmgr
INIT(NULL
);
47 EXTERN isc_entropy_t
* ns_g_entropy
INIT(NULL
);
48 EXTERN isc_entropy_t
* ns_g_fallbackentropy
INIT(NULL
);
51 * XXXRTH We're going to want multiple timer managers eventually. One
52 * for really short timers, another for client timers, and one
55 EXTERN isc_timermgr_t
* ns_g_timermgr
INIT(NULL
);
56 EXTERN isc_socketmgr_t
* ns_g_socketmgr
INIT(NULL
);
57 EXTERN cfg_parser_t
* ns_g_parser
INIT(NULL
);
58 EXTERN
const char * ns_g_version
INIT(VERSION
);
59 EXTERN in_port_t ns_g_port
INIT(0);
60 EXTERN in_port_t lwresd_g_listenport
INIT(0);
62 EXTERN ns_server_t
* ns_g_server
INIT(NULL
);
64 EXTERN isc_boolean_t ns_g_lwresdonly
INIT(ISC_FALSE
);
69 EXTERN isc_log_t
* ns_g_lctx
INIT(NULL
);
70 EXTERN isc_logcategory_t
* ns_g_categories
INIT(NULL
);
71 EXTERN isc_logmodule_t
* ns_g_modules
INIT(NULL
);
72 EXTERN
unsigned int ns_g_debuglevel
INIT(0);
75 * Current configuration information.
77 EXTERN cfg_obj_t
* ns_g_config
INIT(NULL
);
78 EXTERN
const cfg_obj_t
* ns_g_defaults
INIT(NULL
);
79 EXTERN
const char * ns_g_conffile
INIT(NS_SYSCONFDIR
81 EXTERN
const char * ns_g_keyfile
INIT(NS_SYSCONFDIR
83 EXTERN
const char * lwresd_g_conffile
INIT(NS_SYSCONFDIR
85 EXTERN
const char * lwresd_g_resolvconffile
INIT("/etc"
87 EXTERN isc_boolean_t ns_g_conffileset
INIT(ISC_FALSE
);
88 EXTERN isc_boolean_t lwresd_g_useresolvconf
INIT(ISC_FALSE
);
89 EXTERN isc_uint16_t ns_g_udpsize
INIT(4096);
92 * Initial resource limits.
94 EXTERN isc_resourcevalue_t ns_g_initstacksize
INIT(0);
95 EXTERN isc_resourcevalue_t ns_g_initdatasize
INIT(0);
96 EXTERN isc_resourcevalue_t ns_g_initcoresize
INIT(0);
97 EXTERN isc_resourcevalue_t ns_g_initopenfiles
INIT(0);
102 EXTERN isc_boolean_t ns_g_coreok
INIT(ISC_TRUE
);
103 EXTERN
const char * ns_g_chrootdir
INIT(NULL
);
104 EXTERN isc_boolean_t ns_g_foreground
INIT(ISC_FALSE
);
105 EXTERN isc_boolean_t ns_g_logstderr
INIT(ISC_FALSE
);
107 EXTERN
const char * ns_g_defaultpidfile
INIT(NS_LOCALSTATEDIR
109 EXTERN
const char * lwresd_g_defaultpidfile
INIT(NS_LOCALSTATEDIR
111 EXTERN
const char * ns_g_username
INIT(NULL
);
113 EXTERN
int ns_g_listen
INIT(3);
118 #endif /* NAMED_GLOBALS_H */