/contrib/bind9/bin/named/include/named/globals.h

https://bitbucket.org/freebsd/freebsd-head/ · C Header · 160 lines · 98 code · 27 blank · 35 comment · 0 complexity · c8083d62f69b35984a14345db474ee58 MD5 · raw file

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