]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/bind9/bin/named/include/named/globals.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / bind9 / bin / named / include / named / globals.h
1 /*
2  * Copyright (C) 2004-2011  Internet Systems Consortium, Inc. ("ISC")
3  * Copyright (C) 1999-2003  Internet Software Consortium.
4  *
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.
8  *
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.
16  */
17
18 /* $Id: globals.h,v 1.89.54.2 2011/06/17 23:47:10 tbox Exp $ */
19
20 #ifndef NAMED_GLOBALS_H
21 #define NAMED_GLOBALS_H 1
22
23 /*! \file */
24
25 #include <isc/rwlock.h>
26 #include <isc/log.h>
27 #include <isc/net.h>
28
29 #include <isccfg/aclconf.h>
30 #include <isccfg/cfg.h>
31
32 #include <dns/zone.h>
33
34 #include <dst/dst.h>
35
36 #include <named/types.h>
37
38 #undef EXTERN
39 #undef INIT
40 #ifdef NS_MAIN
41 #define EXTERN
42 #define INIT(v) = (v)
43 #else
44 #define EXTERN extern
45 #define INIT(v)
46 #endif
47
48 #ifndef NS_RUN_PID_DIR
49 #define NS_RUN_PID_DIR 1
50 #endif
51
52 EXTERN isc_mem_t *              ns_g_mctx               INIT(NULL);
53 EXTERN unsigned int             ns_g_cpus               INIT(0);
54 EXTERN isc_taskmgr_t *          ns_g_taskmgr            INIT(NULL);
55 EXTERN dns_dispatchmgr_t *      ns_g_dispatchmgr        INIT(NULL);
56 EXTERN isc_entropy_t *          ns_g_entropy            INIT(NULL);
57 EXTERN isc_entropy_t *          ns_g_fallbackentropy    INIT(NULL);
58 EXTERN unsigned int             ns_g_cpus_detected      INIT(1);
59
60 /*
61  * XXXRTH  We're going to want multiple timer managers eventually.  One
62  *         for really short timers, another for client timers, and one
63  *         for zone timers.
64  */
65 EXTERN isc_timermgr_t *         ns_g_timermgr           INIT(NULL);
66 EXTERN isc_socketmgr_t *        ns_g_socketmgr          INIT(NULL);
67 EXTERN cfg_parser_t *           ns_g_parser             INIT(NULL);
68 EXTERN const char *             ns_g_version            INIT(VERSION);
69 EXTERN const char *             ns_g_configargs         INIT(CONFIGARGS);
70 EXTERN in_port_t                ns_g_port               INIT(0);
71 EXTERN in_port_t                lwresd_g_listenport     INIT(0);
72
73 EXTERN ns_server_t *            ns_g_server             INIT(NULL);
74
75 EXTERN isc_boolean_t            ns_g_lwresdonly         INIT(ISC_FALSE);
76
77 /*
78  * Logging.
79  */
80 EXTERN isc_log_t *              ns_g_lctx               INIT(NULL);
81 EXTERN isc_logcategory_t *      ns_g_categories         INIT(NULL);
82 EXTERN isc_logmodule_t *        ns_g_modules            INIT(NULL);
83 EXTERN unsigned int             ns_g_debuglevel         INIT(0);
84
85 /*
86  * Current configuration information.
87  */
88 EXTERN cfg_obj_t *              ns_g_config             INIT(NULL);
89 EXTERN const cfg_obj_t *        ns_g_defaults           INIT(NULL);
90 EXTERN const char *             ns_g_conffile           INIT(NS_SYSCONFDIR
91                                                              "/named.conf");
92 EXTERN cfg_obj_t *              ns_g_bindkeys           INIT(NULL);
93 EXTERN const char *             ns_g_keyfile            INIT(NS_SYSCONFDIR
94                                                              "/rndc.key");
95
96 EXTERN dns_tsigkey_t *          ns_g_sessionkey         INIT(NULL);
97 EXTERN dns_name_t               ns_g_sessionkeyname;
98
99 EXTERN const char *             lwresd_g_conffile       INIT(NS_SYSCONFDIR
100                                                              "/lwresd.conf");
101 EXTERN const char *             lwresd_g_resolvconffile INIT("/etc"
102                                                              "/resolv.conf");
103 EXTERN isc_boolean_t            ns_g_conffileset        INIT(ISC_FALSE);
104 EXTERN isc_boolean_t            lwresd_g_useresolvconf  INIT(ISC_FALSE);
105 EXTERN isc_uint16_t             ns_g_udpsize            INIT(4096);
106 EXTERN cfg_aclconfctx_t *       ns_g_aclconfctx         INIT(NULL);
107
108 /*
109  * Initial resource limits.
110  */
111 EXTERN isc_resourcevalue_t      ns_g_initstacksize      INIT(0);
112 EXTERN isc_resourcevalue_t      ns_g_initdatasize       INIT(0);
113 EXTERN isc_resourcevalue_t      ns_g_initcoresize       INIT(0);
114 EXTERN isc_resourcevalue_t      ns_g_initopenfiles      INIT(0);
115
116 /*
117  * Misc.
118  */
119 EXTERN isc_boolean_t            ns_g_coreok             INIT(ISC_TRUE);
120 EXTERN const char *             ns_g_chrootdir          INIT(NULL);
121 EXTERN isc_boolean_t            ns_g_foreground         INIT(ISC_FALSE);
122 EXTERN isc_boolean_t            ns_g_logstderr          INIT(ISC_FALSE);
123
124 EXTERN const char *             ns_g_defaultsessionkeyfile
125                                         INIT(NS_LOCALSTATEDIR "/run/named/"
126                                                               "session.key");
127
128 #if NS_RUN_PID_DIR
129 EXTERN const char *             ns_g_defaultpidfile     INIT(NS_LOCALSTATEDIR
130                                                              "/run/named/"
131                                                              "named.pid");
132 EXTERN const char *             lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
133                                                              "/run/lwresd/"
134                                                              "lwresd.pid");
135 #else
136 EXTERN const char *             ns_g_defaultpidfile     INIT(NS_LOCALSTATEDIR
137                                                              "/run/named.pid");
138 EXTERN const char *             lwresd_g_defaultpidfile INIT(NS_LOCALSTATEDIR
139                                                              "/run/lwresd.pid");
140 #endif
141
142 EXTERN const char *             ns_g_username           INIT(NULL);
143
144 #ifdef USE_PKCS11
145 EXTERN const char *             ns_g_engine             INIT("pkcs11");
146 #else
147 EXTERN const char *             ns_g_engine             INIT(NULL);
148 #endif
149
150 EXTERN int                      ns_g_listen             INIT(3);
151 EXTERN isc_time_t               ns_g_boottime;
152 EXTERN isc_boolean_t            ns_g_memstatistics      INIT(ISC_FALSE);
153 EXTERN isc_boolean_t            ns_g_clienttest         INIT(ISC_FALSE);
154 EXTERN isc_boolean_t            ns_g_nosoa              INIT(ISC_FALSE);
155 EXTERN isc_boolean_t            ns_g_noaa               INIT(ISC_FALSE);
156
157 #undef EXTERN
158 #undef INIT
159
160 #endif /* NAMED_GLOBALS_H */