#define BACKTRACE_MAXFRAME 128
#endif /* ifndef BACKTRACE_MAXFRAME */
-LIBISC_EXTERNAL_DATA extern int isc_dscp_check_value;
-LIBDNS_EXTERNAL_DATA extern unsigned int dns_zone_mkey_hour;
-LIBDNS_EXTERNAL_DATA extern unsigned int dns_zone_mkey_day;
-LIBDNS_EXTERNAL_DATA extern unsigned int dns_zone_mkey_month;
+extern int isc_dscp_check_value;
+extern unsigned int dns_zone_mkey_hour;
+extern unsigned int dns_zone_mkey_day;
+extern unsigned int dns_zone_mkey_month;
static bool want_stats = false;
static char program_name[NAME_MAX] = "named";
#include <dst/result.h>
-LIBDNS_EXTERNAL_DATA isc_stats_t *dns_dnssec_stats;
+isc_stats_t *dns_dnssec_stats;
#define is_response(msg) ((msg->flags & DNS_MESSAGEFLAG_QR) != 0)
ISC_LANG_BEGINDECLS
-LIBDNS_EXTERNAL_DATA extern isc_stats_t *dns_dnssec_stats;
+extern isc_stats_t *dns_dnssec_stats;
/*%< Maximum number of keys supported in a zone. */
#define DNS_MAXZONEKEYS 32
/*%
* Tuning: external query load in packets per seconds.
*/
-LIBDNS_EXTERNAL_DATA extern unsigned int dns_pps;
+extern unsigned int dns_pps;
isc_result_t
dns_lib_init(void);
#include <isc/lang.h>
#include <isc/log.h>
-LIBDNS_EXTERNAL_DATA extern isc_log_t * dns_lctx;
-LIBDNS_EXTERNAL_DATA extern isc_logcategory_t dns_categories[];
-LIBDNS_EXTERNAL_DATA extern isc_logmodule_t dns_modules[];
+extern isc_log_t * dns_lctx;
+extern isc_logcategory_t dns_categories[];
+extern isc_logmodule_t dns_modules[];
#define DNS_LOGCATEGORY_NOTIFY (&dns_categories[0])
#define DNS_LOGCATEGORY_DATABASE (&dns_categories[1])
* tab stop for the TTL. The class is only printed for the first
* rrset in the file and shares a tab stop with the RR type.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_default;
+extern const dns_master_style_t dns_master_style_default;
/*%
* A master file style that dumps zones to a very generic format easily
* imported/checked with external tools.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_full;
+extern const dns_master_style_t dns_master_style_full;
/*%
* A master file style that prints explicit TTL values on each
* record line, never using $TTL statements. The TTL has a tab
* stop of its own, but the class and type share one.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t
- dns_master_style_explicitttl;
+extern const dns_master_style_t dns_master_style_explicitttl;
/*%
* A master style format designed for cache files. It prints explicit TTL
* values on each record line and never uses $ORIGIN or relative names.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_cache;
+extern const dns_master_style_t dns_master_style_cache;
/*%
* A master style format designed for cache files. The same as above but
* this also prints expired entries.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t
- dns_master_style_cache_with_expired;
+extern const dns_master_style_t dns_master_style_cache_with_expired;
/*%
* A master style that prints name, ttl, class, type, and value on
* Intended for generating master files which can be easily parsed
* by perl scripts and similar applications.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_simple;
+extern const dns_master_style_t dns_master_style_simple;
/*%
* The style used for debugging, "dig" output, etc.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_debug;
+extern const dns_master_style_t dns_master_style_debug;
/*%
* Similar to dns_master_style_debug but data is prepended with ";"
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_comment;
+extern const dns_master_style_t dns_master_style_comment;
/*%
* Similar to dns_master_style_debug but data is indented with "\t" (tab)
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_indent;
+extern const dns_master_style_t dns_master_style_indent;
/*%
* The style used for dumping "key" zones.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_keyzone;
+extern const dns_master_style_t dns_master_style_keyzone;
/*%
* YAML-compatible output
*/
-LIBDNS_EXTERNAL_DATA extern const dns_master_style_t dns_master_style_yaml;
+extern const dns_master_style_t dns_master_style_yaml;
/***
*** Functions
#define DNS_NAME_CHECKMX 0x0010 /*%< Used by rdata. */
#define DNS_NAME_CHECKMXFAIL 0x0020 /*%< Used by rdata. */
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_rootname;
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_wildcardname;
+extern const dns_name_t *dns_rootname;
+extern const dns_name_t *dns_wildcardname;
/*%<
* DNS_NAME_INITNONABSOLUTE and DNS_NAME_INITABSOLUTE are macros for
/*%<
* (Obsoleted)
*/
-LIBDNS_EXTERNAL_DATA extern const char *dns_statscounter_names[];
+extern const char *dns_statscounter_names[];
/*%
* Attributes for statistics counters of RRset and Rdatatype types.
/*
* Algorithms.
*/
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacmd5_name;
+extern const dns_name_t *dns_tsig_hmacmd5_name;
#define DNS_TSIG_HMACMD5_NAME dns_tsig_hmacmd5_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_gssapi_name;
+extern const dns_name_t *dns_tsig_gssapi_name;
#define DNS_TSIG_GSSAPI_NAME dns_tsig_gssapi_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_gssapims_name;
+extern const dns_name_t *dns_tsig_gssapims_name;
#define DNS_TSIG_GSSAPIMS_NAME dns_tsig_gssapims_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha1_name;
+extern const dns_name_t *dns_tsig_hmacsha1_name;
#define DNS_TSIG_HMACSHA1_NAME dns_tsig_hmacsha1_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha224_name;
+extern const dns_name_t *dns_tsig_hmacsha224_name;
#define DNS_TSIG_HMACSHA224_NAME dns_tsig_hmacsha224_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha256_name;
+extern const dns_name_t *dns_tsig_hmacsha256_name;
#define DNS_TSIG_HMACSHA256_NAME dns_tsig_hmacsha256_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha384_name;
+extern const dns_name_t *dns_tsig_hmacsha384_name;
#define DNS_TSIG_HMACSHA384_NAME dns_tsig_hmacsha384_name
-LIBDNS_EXTERNAL_DATA extern const dns_name_t *dns_tsig_hmacsha512_name;
+extern const dns_name_t *dns_tsig_hmacsha512_name;
#define DNS_TSIG_HMACSHA512_NAME dns_tsig_hmacsha512_name
/*%
*** Globals
***/
-LIBDNS_EXTERNAL_DATA unsigned int dns_pps = 0U;
+unsigned int dns_pps = 0U;
/***
*** Functions
* When adding a new category, be sure to add the appropriate
* \#define to <dns/log.h>.
*/
-LIBDNS_EXTERNAL_DATA isc_logcategory_t dns_categories[] = {
+isc_logcategory_t dns_categories[] = {
{ "notify", 0 }, { "database", 0 }, { "security", 0 },
{ "_placeholder", 0 }, { "dnssec", 0 }, { "resolver", 0 },
{ "xfer-in", 0 }, { "xfer-out", 0 }, { "dispatch", 0 },
* When adding a new module, be sure to add the appropriate
* \#define to <dns/log.h>.
*/
-LIBDNS_EXTERNAL_DATA isc_logmodule_t dns_modules[] = {
+isc_logmodule_t dns_modules[] = {
{ "dns/db", 0 }, { "dns/rbtdb", 0 },
{ "dns/rbt", 0 }, { "dns/rdata", 0 },
{ "dns/master", 0 }, { "dns/message", 0 },
{ "dns/ssu", 0 }, { NULL, 0 }
};
-LIBDNS_EXTERNAL_DATA isc_log_t *dns_lctx = NULL;
+isc_log_t *dns_lctx = NULL;
void
dns_log_init(isc_log_t *lctx) {
dns_indent_t indent;
} dns_totext_ctx_t;
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_keyzone = {
+const dns_master_style_t dns_master_style_keyzone = {
DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS |
DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_REL_DATA |
DNS_STYLEFLAG_OMIT_TTL | DNS_STYLEFLAG_TTL |
UINT_MAX
};
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_default = {
+const dns_master_style_t dns_master_style_default = {
DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS |
DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_REL_DATA |
DNS_STYLEFLAG_OMIT_TTL | DNS_STYLEFLAG_TTL |
UINT_MAX
};
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_full = {
+const dns_master_style_t dns_master_style_full = {
DNS_STYLEFLAG_COMMENT | DNS_STYLEFLAG_RESIGN,
46,
46,
UINT_MAX
};
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_explicitttl = {
+const dns_master_style_t dns_master_style_explicitttl = {
DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS |
DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_REL_DATA |
DNS_STYLEFLAG_COMMENT | DNS_STYLEFLAG_RRCOMMENT |
UINT_MAX
};
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_cache = {
+const dns_master_style_t dns_master_style_cache = {
DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS |
DNS_STYLEFLAG_MULTILINE | DNS_STYLEFLAG_RRCOMMENT |
DNS_STYLEFLAG_TRUST | DNS_STYLEFLAG_NCACHE,
UINT_MAX
};
-LIBDNS_EXTERNAL_DATA const dns_master_style_t
- dns_master_style_cache_with_expired = {
- DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS |
- DNS_STYLEFLAG_MULTILINE | DNS_STYLEFLAG_RRCOMMENT |
- DNS_STYLEFLAG_TRUST | DNS_STYLEFLAG_NCACHE |
- DNS_STYLEFLAG_EXPIRED,
- 24,
- 32,
- 32,
- 40,
- 80,
- 8,
- UINT_MAX
- };
-
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_simple = {
- 0, 24, 32, 32, 40, 80, 8, UINT_MAX
+const dns_master_style_t dns_master_style_cache_with_expired = {
+ DNS_STYLEFLAG_OMIT_OWNER | DNS_STYLEFLAG_OMIT_CLASS |
+ DNS_STYLEFLAG_MULTILINE | DNS_STYLEFLAG_RRCOMMENT |
+ DNS_STYLEFLAG_TRUST | DNS_STYLEFLAG_NCACHE |
+ DNS_STYLEFLAG_EXPIRED,
+ 24,
+ 32,
+ 32,
+ 40,
+ 80,
+ 8,
+ UINT_MAX
};
+const dns_master_style_t dns_master_style_simple = { 0, 24, 32, 32,
+ 40, 80, 8, UINT_MAX };
+
/*%
* A style suitable for dns_rdataset_totext().
*/
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_debug = {
+const dns_master_style_t dns_master_style_debug = {
DNS_STYLEFLAG_REL_OWNER, 24, 32, 40, 48, 80, 8, UINT_MAX
};
/*%
* Similar, but indented (i.e., prepended with indentctx.string).
*/
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_indent = {
+const dns_master_style_t dns_master_style_indent = {
DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_INDENT,
24,
32,
/*%
* Similar, but with each line commented out.
*/
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_comment = {
+const dns_master_style_t dns_master_style_comment = {
DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_MULTILINE |
DNS_STYLEFLAG_RRCOMMENT | DNS_STYLEFLAG_COMMENTDATA,
24,
/*%
* YAML style
*/
-LIBDNS_EXTERNAL_DATA const dns_master_style_t dns_master_style_yaml = {
+const dns_master_style_t dns_master_style_yaml = {
DNS_STYLEFLAG_YAML | DNS_STYLEFLAG_REL_OWNER | DNS_STYLEFLAG_INDENT,
24,
32,
static unsigned char root_offsets[] = { 0 };
static dns_name_t root = DNS_NAME_INITABSOLUTE(root_ndata, root_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_rootname = &root;
+const dns_name_t *dns_rootname = &root;
static unsigned char wild_ndata[] = { "\001*" };
static unsigned char wild_offsets[] = { 0 };
static dns_name_t const wild = DNS_NAME_INITNONABSOLUTE(wild_ndata,
wild_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_wildcardname = &wild;
+const dns_name_t *dns_wildcardname = &wild;
/*
* dns_name_t to text post-conversion procedure.
/***
*** Obsolete variables and functions follow:
***/
-LIBDNS_EXTERNAL_DATA const char *dns_statscounter_names[DNS_STATS_NCOUNTERS] = {
+const char *dns_statscounter_names[DNS_STATS_NCOUNTERS] = {
"success", "referral", "nxrrset", "nxdomain",
"recursion", "failure", "duplicate", "dropped"
};
static dns_name_t const hmacmd5 = DNS_NAME_INITABSOLUTE(hmacmd5_ndata,
hmacmd5_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacmd5_name = &hmacmd5;
+const dns_name_t *dns_tsig_hmacmd5_name = &hmacmd5;
static unsigned char gsstsig_ndata[] = "\010gss-tsig";
static unsigned char gsstsig_offsets[] = { 0, 9 };
static dns_name_t const gsstsig = DNS_NAME_INITABSOLUTE(gsstsig_ndata,
gsstsig_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapi_name = &gsstsig;
+const dns_name_t *dns_tsig_gssapi_name = &gsstsig;
/*
* Since Microsoft doesn't follow its own standard, we will use this
static unsigned char gsstsigms_offsets[] = { 0, 4, 14, 18 };
static dns_name_t const gsstsigms = DNS_NAME_INITABSOLUTE(gsstsigms_ndata,
gsstsigms_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_gssapims_name = &gsstsigms;
+const dns_name_t *dns_tsig_gssapims_name = &gsstsigms;
static unsigned char hmacsha1_ndata[] = "\011hmac-sha1";
static unsigned char hmacsha1_offsets[] = { 0, 10 };
static dns_name_t const hmacsha1 = DNS_NAME_INITABSOLUTE(hmacsha1_ndata,
hmacsha1_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha1_name = &hmacsha1;
+const dns_name_t *dns_tsig_hmacsha1_name = &hmacsha1;
static unsigned char hmacsha224_ndata[] = "\013hmac-sha224";
static unsigned char hmacsha224_offsets[] = { 0, 12 };
static dns_name_t const hmacsha224 = DNS_NAME_INITABSOLUTE(hmacsha224_ndata,
hmacsha224_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha224_name = &hmacsha224;
+const dns_name_t *dns_tsig_hmacsha224_name = &hmacsha224;
static unsigned char hmacsha256_ndata[] = "\013hmac-sha256";
static unsigned char hmacsha256_offsets[] = { 0, 12 };
static dns_name_t const hmacsha256 = DNS_NAME_INITABSOLUTE(hmacsha256_ndata,
hmacsha256_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha256_name = &hmacsha256;
+const dns_name_t *dns_tsig_hmacsha256_name = &hmacsha256;
static unsigned char hmacsha384_ndata[] = "\013hmac-sha384";
static unsigned char hmacsha384_offsets[] = { 0, 12 };
static dns_name_t const hmacsha384 = DNS_NAME_INITABSOLUTE(hmacsha384_ndata,
hmacsha384_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha384_name = &hmacsha384;
+const dns_name_t *dns_tsig_hmacsha384_name = &hmacsha384;
static unsigned char hmacsha512_ndata[] = "\013hmac-sha512";
static unsigned char hmacsha512_offsets[] = { 0, 12 };
static dns_name_t const hmacsha512 = DNS_NAME_INITABSOLUTE(hmacsha512_ndata,
hmacsha512_offsets);
-LIBDNS_EXTERNAL_DATA const dns_name_t *dns_tsig_hmacsha512_name = &hmacsha512;
+const dns_name_t *dns_tsig_hmacsha512_name = &hmacsha512;
static const struct {
const dns_name_t *name;
#define HOUR 3600
#define DAY (24 * HOUR)
#define MONTH (30 * DAY)
-LIBDNS_EXTERNAL_DATA unsigned int dns_zone_mkey_hour = HOUR;
-LIBDNS_EXTERNAL_DATA unsigned int dns_zone_mkey_day = DAY;
-LIBDNS_EXTERNAL_DATA unsigned int dns_zone_mkey_month = MONTH;
+unsigned int dns_zone_mkey_hour = HOUR;
+unsigned int dns_zone_mkey_day = DAY;
+unsigned int dns_zone_mkey_month = MONTH;
#define SEND_BUFFER_SIZE 2048
* clients will run isc_lib_register(), which sets it to false,
* overriding certain BIND9 behaviors.
*/
-LIBISC_EXTERNAL_DATA bool isc_bind9 = true;
+bool isc_bind9 = true;
#include <isc/util.h>
/*% Index into parent argv vector. */
-LIBISC_EXTERNAL_DATA int isc_commandline_index = 1;
+int isc_commandline_index = 1;
/*% Character checked for validity. */
-LIBISC_EXTERNAL_DATA int isc_commandline_option;
+int isc_commandline_option;
/*% Argument associated with option. */
-LIBISC_EXTERNAL_DATA char *isc_commandline_argument;
+char *isc_commandline_argument;
/*% For printing error messages. */
-LIBISC_EXTERNAL_DATA char *isc_commandline_progname;
+char *isc_commandline_progname;
/*% Print error messages. */
-LIBISC_EXTERNAL_DATA bool isc_commandline_errprint = true;
+bool isc_commandline_errprint = true;
/*% Reset processing. */
-LIBISC_EXTERNAL_DATA bool isc_commandline_reset = true;
+bool isc_commandline_reset = true;
static char endopt = '\0';
* tools) it must be set to true at runtime. Export library clients
* will call isc_lib_register(), which will set it to false.
*/
-LIBISC_EXTERNAL_DATA extern bool isc_bind9;
+extern bool isc_bind9;
#endif /* ISC_BIND9_H */
#include <isc/result.h>
/*% Index into parent argv vector. */
-LIBISC_EXTERNAL_DATA extern int isc_commandline_index;
+extern int isc_commandline_index;
/*% Character checked for validity. */
-LIBISC_EXTERNAL_DATA extern int isc_commandline_option;
+extern int isc_commandline_option;
/*% Argument associated with option. */
-LIBISC_EXTERNAL_DATA extern char *isc_commandline_argument;
+extern char *isc_commandline_argument;
/*% For printing error messages. */
-LIBISC_EXTERNAL_DATA extern char *isc_commandline_progname;
+extern char *isc_commandline_progname;
/*% Print error message. */
-LIBISC_EXTERNAL_DATA extern bool isc_commandline_errprint;
+extern bool isc_commandline_errprint;
/*% Reset getopt. */
-LIBISC_EXTERNAL_DATA extern bool isc_commandline_reset;
+extern bool isc_commandline_reset;
ISC_LANG_BEGINDECLS
* definitions with indexes into its isc_logcategory structure corresponding to
* the order of the names.
*/
-LIBISC_EXTERNAL_DATA extern isc_logcategory_t isc_categories[];
-LIBISC_EXTERNAL_DATA extern isc_log_t * isc_lctx;
-LIBISC_EXTERNAL_DATA extern isc_logmodule_t isc_modules[];
+extern isc_logcategory_t isc_categories[];
+extern isc_log_t * isc_lctx;
+extern isc_logmodule_t isc_modules[];
/*@}*/
/*@{*/
#define ISC_MEM_TRACKLINES 0
#endif /* ifndef ISC_MEM_TRACKLINES */
-LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_debugging;
-LIBISC_EXTERNAL_DATA extern unsigned int isc_mem_defaultflags;
+extern unsigned int isc_mem_debugging;
+extern unsigned int isc_mem_defaultflags;
/*@{*/
#define ISC_MEM_DEBUGTRACE 0x00000001U
#define IOV_MAX 1024
#endif
-/***
- *** Miscellaneous.
- ***/
-
-/***
- *** Windows dll support.
- ***/
-
-#define LIBISC_EXTERNAL_DATA
-#define LIBDNS_EXTERNAL_DATA
-#define LIBISCCC_EXTERNAL_DATA
-#define LIBISCCFG_EXTERNAL_DATA
-#define LIBNS_EXTERNAL_DATA
-#define LIBBIND9_EXTERNAL_DATA
-#define LIBTESTS_EXTERNAL_DATA
-
/*
* Tell emacs to use C mode for this file.
*
/*%
* Global flag to make choose_slots() verbose
*/
-LIBISC_EXTERNAL_DATA extern bool pk11_verbose_init;
+extern bool pk11_verbose_init;
/*%
* Function prototypes
* be overridden. Since the default is always looked up as the first
* channellist in the log context, it must come first in isc_categories[].
*/
-LIBISC_EXTERNAL_DATA isc_logcategory_t isc_categories[] = { { "default",
- 0 }, /* "default
- must come
- first. */
- { "general", 0 },
- { NULL, 0 } };
+isc_logcategory_t isc_categories[] = { { "default", 0 }, /* "default
+ must come
+ first. */
+ { "general", 0 },
+ { NULL, 0 } };
/*!
- * See above comment for categories on LIBISC_EXTERNAL_DATA, and apply it to
- * modules.
+ * See above comment for categories, and apply it to modules.
*/
-LIBISC_EXTERNAL_DATA isc_logmodule_t isc_modules[] = {
- { "socket", 0 }, { "time", 0 }, { "interface", 0 }, { "timer", 0 },
- { "file", 0 }, { "netmgr", 0 }, { "other", 0 }, { NULL, 0 }
-};
+isc_logmodule_t isc_modules[] = { { "socket", 0 }, { "time", 0 },
+ { "interface", 0 }, { "timer", 0 },
+ { "file", 0 }, { "netmgr", 0 },
+ { "other", 0 }, { NULL, 0 } };
/*!
* This essentially constant structure must be filled in at run time,
/*!
* libisc logs to this context.
*/
-LIBISC_EXTERNAL_DATA isc_log_t *isc_lctx = NULL;
+isc_log_t *isc_lctx = NULL;
/*!
* Forward declarations.
#ifndef ISC_MEM_DEBUGGING
#define ISC_MEM_DEBUGGING 0
#endif /* ifndef ISC_MEM_DEBUGGING */
-LIBISC_EXTERNAL_DATA unsigned int isc_mem_debugging = ISC_MEM_DEBUGGING;
-LIBISC_EXTERNAL_DATA unsigned int isc_mem_defaultflags = ISC_MEMFLAG_DEFAULT;
+unsigned int isc_mem_debugging = ISC_MEM_DEBUGGING;
+unsigned int isc_mem_defaultflags = ISC_MEMFLAG_DEFAULT;
/*
* Constants.
#define PK11_NO_LOGERR 1
#endif /* ifndef PK11_NO_LOGERR */
-LIBISC_EXTERNAL_DATA bool pk11_verbose_init = false;
+bool pk11_verbose_init = false;
static isc_once_t once = ISC_ONCE_INIT;
static isc_mem_t *pk11_mctx = NULL;
static cfg_clausedef_t *dnsconf_clausesets[] = { dnsconf_clauses, NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_dnsconf = {
- "dnsconf", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, dnsconf_clausesets
-};
+cfg_type_t cfg_type_dnsconf = { "dnsconf", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, dnsconf_clausesets };
/*%
* Predefined data representation types.
*/
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_uint32;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_uint64;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_string;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_boolean;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_map;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_list;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_tuple;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_sockaddr;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_netprefix;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_void;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_fixedpoint;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_percentage;
-LIBISCCFG_EXTERNAL_DATA extern cfg_rep_t cfg_rep_duration;
+extern cfg_rep_t cfg_rep_uint32;
+extern cfg_rep_t cfg_rep_uint64;
+extern cfg_rep_t cfg_rep_string;
+extern cfg_rep_t cfg_rep_boolean;
+extern cfg_rep_t cfg_rep_map;
+extern cfg_rep_t cfg_rep_list;
+extern cfg_rep_t cfg_rep_tuple;
+extern cfg_rep_t cfg_rep_sockaddr;
+extern cfg_rep_t cfg_rep_netprefix;
+extern cfg_rep_t cfg_rep_void;
+extern cfg_rep_t cfg_rep_fixedpoint;
+extern cfg_rep_t cfg_rep_percentage;
+extern cfg_rep_t cfg_rep_duration;
/*@}*/
/*@{*/
/*%
* Predefined configuration object types.
*/
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_boolean;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_uint32;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_uint64;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_qstring;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_astring;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_ustring;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_sstring;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_bracketed_aml;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_bracketed_text;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_optional_bracketed_text;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_keyref;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_sockaddr;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_sockaddrdscp;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netaddr;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netaddr4;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netaddr4wild;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netaddr6;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netaddr6wild;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_netprefix;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_void;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_token;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_unsupported;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_fixedpoint;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_percentage;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_duration;
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_duration_or_unlimited;
+extern cfg_type_t cfg_type_boolean;
+extern cfg_type_t cfg_type_uint32;
+extern cfg_type_t cfg_type_uint64;
+extern cfg_type_t cfg_type_qstring;
+extern cfg_type_t cfg_type_astring;
+extern cfg_type_t cfg_type_ustring;
+extern cfg_type_t cfg_type_sstring;
+extern cfg_type_t cfg_type_bracketed_aml;
+extern cfg_type_t cfg_type_bracketed_text;
+extern cfg_type_t cfg_type_optional_bracketed_text;
+extern cfg_type_t cfg_type_keyref;
+extern cfg_type_t cfg_type_sockaddr;
+extern cfg_type_t cfg_type_sockaddrdscp;
+extern cfg_type_t cfg_type_netaddr;
+extern cfg_type_t cfg_type_netaddr4;
+extern cfg_type_t cfg_type_netaddr4wild;
+extern cfg_type_t cfg_type_netaddr6;
+extern cfg_type_t cfg_type_netaddr6wild;
+extern cfg_type_t cfg_type_netprefix;
+extern cfg_type_t cfg_type_void;
+extern cfg_type_t cfg_type_token;
+extern cfg_type_t cfg_type_unsupported;
+extern cfg_type_t cfg_type_fixedpoint;
+extern cfg_type_t cfg_type_percentage;
+extern cfg_type_t cfg_type_duration;
+extern cfg_type_t cfg_type_duration_or_unlimited;
/*@}*/
isc_result_t
#include <isc/lang.h>
#include <isc/log.h>
-LIBISCCFG_EXTERNAL_DATA extern isc_logcategory_t cfg_categories[];
-LIBISCCFG_EXTERNAL_DATA extern isc_logmodule_t cfg_modules[];
+extern isc_logcategory_t cfg_categories[];
+extern isc_logmodule_t cfg_modules[];
#define CFG_LOGCATEGORY_CONFIG (&cfg_categories[0])
/*
* Configuration object types.
*/
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_namedconf;
+extern cfg_type_t cfg_type_namedconf;
/*%< A complete named.conf file. */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_bindkeys;
+extern cfg_type_t cfg_type_bindkeys;
/*%< A bind.keys file. */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_newzones;
+extern cfg_type_t cfg_type_newzones;
/*%< A new-zones file (for zones added by 'rndc addzone'). */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_addzoneconf;
+extern cfg_type_t cfg_type_addzoneconf;
/*%< A single zone passed via the addzone rndc command. */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_rndcconf;
+extern cfg_type_t cfg_type_rndcconf;
/*%< A complete rndc.conf file. */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_rndckey;
+extern cfg_type_t cfg_type_rndckey;
/*%< A complete rndc.key file. */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_sessionkey;
+extern cfg_type_t cfg_type_sessionkey;
/*%< A complete session.key file. */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_keyref;
+extern cfg_type_t cfg_type_keyref;
/*%< A key reference, used as an ACL element */
/*%< Zone options */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_zoneopts;
+extern cfg_type_t cfg_type_zoneopts;
/*%< DNSSEC Key and Signing Policy options */
-LIBISCCFG_EXTERNAL_DATA extern cfg_type_t cfg_type_dnssecpolicyopts;
+extern cfg_type_t cfg_type_dnssecpolicyopts;
#endif /* ISCCFG_NAMEDCONF_H */
* When adding a new category, be sure to add the appropriate
* \#define to <isccfg/log.h>.
*/
-LIBISCCFG_EXTERNAL_DATA isc_logcategory_t cfg_categories[] = { { "config", 0 },
- { NULL, 0 } };
+isc_logcategory_t cfg_categories[] = { { "config", 0 }, { NULL, 0 } };
/*%
* When adding a new module, be sure to add the appropriate
* \#define to <isccfg/log.h>.
*/
-LIBISCCFG_EXTERNAL_DATA isc_logmodule_t cfg_modules[] = {
- { "isccfg/parser", 0 }, { NULL, 0 }
-};
+isc_logmodule_t cfg_modules[] = { { "isccfg/parser", 0 }, { NULL, 0 } };
void
cfg_log_init(isc_log_t *lctx) {
static cfg_clausedef_t *namedconf_clausesets[] = { namedconf_clauses,
namedconf_or_view_clauses,
NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_namedconf = {
- "namedconf", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, namedconf_clausesets
-};
+cfg_type_t cfg_type_namedconf = { "namedconf", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, namedconf_clausesets };
/*% The bind.keys syntax (trust-anchors/managed-keys/trusted-keys only). */
static cfg_clausedef_t *bindkeys_clausesets[] = { bindkeys_clauses, NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bindkeys = {
- "bindkeys", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, bindkeys_clausesets
-};
+cfg_type_t cfg_type_bindkeys = { "bindkeys", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, bindkeys_clausesets };
/*% The "options" statement syntax. */
static cfg_clausedef_t *zone_clausesets[] = { zone_only_clauses, zone_clauses,
NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_zoneopts = {
- "zoneopts", cfg_parse_map, cfg_print_map,
- cfg_doc_map, &cfg_rep_map, zone_clausesets
-};
+cfg_type_t cfg_type_zoneopts = { "zoneopts", cfg_parse_map, cfg_print_map,
+ cfg_doc_map, &cfg_rep_map, zone_clausesets };
/*% The "dnssec-policy" statement syntax. */
static cfg_clausedef_t *dnssecpolicy_clausesets[] = { dnssecpolicy_clauses,
NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_dnssecpolicyopts = {
+cfg_type_t cfg_type_dnssecpolicyopts = {
"dnssecpolicyopts", cfg_parse_map, cfg_print_map,
cfg_doc_map, &cfg_rep_map, dnssecpolicy_clausesets
};
static cfg_clausedef_t *addzoneconf_clausesets[] = { addzoneconf_clauses,
NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_addzoneconf = {
- "addzoneconf", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, addzoneconf_clausesets
-};
+cfg_type_t cfg_type_addzoneconf = { "addzoneconf", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, addzoneconf_clausesets };
static isc_result_t
parse_unitstring(char *str, isc_resourcevalue_t *valuep) {
static keyword_type_t key_kw = { "key", &cfg_type_astring };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_keyref = {
- "keyref", parse_keyvalue, print_keyvalue,
- doc_keyvalue, &cfg_rep_string, &key_kw
-};
+cfg_type_t cfg_type_keyref = { "keyref", parse_keyvalue, print_keyvalue,
+ doc_keyvalue, &cfg_rep_string, &key_kw };
static cfg_type_t cfg_type_optional_keyref = {
"optional_keyref", parse_optional_keyvalue, print_keyvalue,
static cfg_clausedef_t *rndcconf_clausesets[] = { rndcconf_clauses, NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndcconf = {
- "rndcconf", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, rndcconf_clausesets
-};
+cfg_type_t cfg_type_rndcconf = { "rndcconf", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, rndcconf_clausesets };
static cfg_clausedef_t rndckey_clauses[] = { { "key", &cfg_type_key, 0 },
{ NULL, NULL, 0 } };
static cfg_clausedef_t *rndckey_clausesets[] = { rndckey_clauses, NULL };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_rndckey = {
- "rndckey", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, rndckey_clausesets
-};
+cfg_type_t cfg_type_rndckey = { "rndckey", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, rndckey_clausesets };
/*
* session.key has exactly the same syntax as rndc.key, but it's defined
* separately for clarity (and so we can extend it someday, if needed).
*/
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sessionkey = {
- "sessionkey", cfg_parse_mapbody, cfg_print_mapbody,
- cfg_doc_mapbody, &cfg_rep_map, rndckey_clausesets
-};
+cfg_type_t cfg_type_sessionkey = { "sessionkey", cfg_parse_mapbody,
+ cfg_print_mapbody, cfg_doc_mapbody,
+ &cfg_rep_map, rndckey_clausesets };
static cfg_tuplefielddef_t nameport_fields[] = {
{ "name", &cfg_type_astring, 0 },
* not need a union member).
*/
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_uint32 = { "uint32", free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_uint64 = { "uint64", free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_string = { "string", free_string };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_boolean = { "boolean", free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_map = { "map", free_map };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_list = { "list", free_list };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_tuple = { "tuple", free_tuple };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_sockaddr = { "sockaddr", free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_netprefix = { "netprefix",
- free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_void = { "void", free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_fixedpoint = { "fixedpoint",
- free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_percentage = { "percentage",
- free_noop };
-LIBISCCFG_EXTERNAL_DATA cfg_rep_t cfg_rep_duration = { "duration", free_noop };
+cfg_rep_t cfg_rep_uint32 = { "uint32", free_noop };
+cfg_rep_t cfg_rep_uint64 = { "uint64", free_noop };
+cfg_rep_t cfg_rep_string = { "string", free_string };
+cfg_rep_t cfg_rep_boolean = { "boolean", free_noop };
+cfg_rep_t cfg_rep_map = { "map", free_map };
+cfg_rep_t cfg_rep_list = { "list", free_list };
+cfg_rep_t cfg_rep_tuple = { "tuple", free_tuple };
+cfg_rep_t cfg_rep_sockaddr = { "sockaddr", free_noop };
+cfg_rep_t cfg_rep_netprefix = { "netprefix", free_noop };
+cfg_rep_t cfg_rep_void = { "void", free_noop };
+cfg_rep_t cfg_rep_fixedpoint = { "fixedpoint", free_noop };
+cfg_rep_t cfg_rep_percentage = { "percentage", free_noop };
+cfg_rep_t cfg_rep_duration = { "duration", free_noop };
/*
* Configuration type definitions.
return (obj->type->rep == &cfg_rep_void);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_void = {
- "void", cfg_parse_void, cfg_print_void,
- cfg_doc_void, &cfg_rep_void, NULL
-};
+cfg_type_t cfg_type_void = { "void", cfg_parse_void, cfg_print_void,
+ cfg_doc_void, &cfg_rep_void, NULL };
/*
* percentage
return (obj->value.uint32);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_percentage = {
- "percentage", cfg_parse_percentage, cfg_print_percentage,
- cfg_doc_terminal, &cfg_rep_percentage, NULL
-};
+cfg_type_t cfg_type_percentage = { "percentage", cfg_parse_percentage,
+ cfg_print_percentage, cfg_doc_terminal,
+ &cfg_rep_percentage, NULL };
bool
cfg_obj_ispercentage(const cfg_obj_t *obj) {
return (obj->value.uint32);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_fixedpoint = {
- "fixedpoint", cfg_parse_fixedpoint, cfg_print_fixedpoint,
- cfg_doc_terminal, &cfg_rep_fixedpoint, NULL
-};
+cfg_type_t cfg_type_fixedpoint = { "fixedpoint", cfg_parse_fixedpoint,
+ cfg_print_fixedpoint, cfg_doc_terminal,
+ &cfg_rep_fixedpoint, NULL };
bool
cfg_obj_isfixedpoint(const cfg_obj_t *obj) {
return (obj->value.uint32);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_uint32 = {
- "integer", cfg_parse_uint32, cfg_print_uint32,
- cfg_doc_terminal, &cfg_rep_uint32, NULL
-};
+cfg_type_t cfg_type_uint32 = { "integer", cfg_parse_uint32,
+ cfg_print_uint32, cfg_doc_terminal,
+ &cfg_rep_uint32, NULL };
/*
* uint64
cfg_print_cstr(pctx, buf);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_uint64 = {
- "64_bit_integer", NULL, cfg_print_uint64, cfg_doc_terminal,
- &cfg_rep_uint64, NULL
-};
+cfg_type_t cfg_type_uint64 = { "64_bit_integer", NULL,
+ cfg_print_uint64, cfg_doc_terminal,
+ &cfg_rep_uint64, NULL };
/*
* Get the number of digits in a number.
*
* A duration can also be a TTL value (number + optional unit).
*/
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_duration = {
- "duration", cfg_parse_duration, cfg_print_duration,
- cfg_doc_terminal, &cfg_rep_duration, NULL
-};
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_duration_or_unlimited = {
- "duration_or_unlimited",
- cfg_parse_duration_or_unlimited,
- cfg_print_duration_or_unlimited,
- cfg_doc_terminal,
- &cfg_rep_duration,
- NULL
-};
+cfg_type_t cfg_type_duration = { "duration", cfg_parse_duration,
+ cfg_print_duration, cfg_doc_terminal,
+ &cfg_rep_duration, NULL };
+cfg_type_t cfg_type_duration_or_unlimited = { "duration_or_unlimited",
+ cfg_parse_duration_or_unlimited,
+ cfg_print_duration_or_unlimited,
+ cfg_doc_terminal,
+ &cfg_rep_duration,
+ NULL };
/*
* qstring (quoted string), ustring (unquoted string), astring
}
/* Quoted string only */
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_qstring = {
- "quoted_string", cfg_parse_qstring, print_qstring,
- cfg_doc_terminal, &cfg_rep_string, NULL
-};
+cfg_type_t cfg_type_qstring = { "quoted_string", cfg_parse_qstring,
+ print_qstring, cfg_doc_terminal,
+ &cfg_rep_string, NULL };
/* Unquoted string only */
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_ustring = {
- "string", parse_ustring, cfg_print_ustring,
- cfg_doc_terminal, &cfg_rep_string, NULL
-};
+cfg_type_t cfg_type_ustring = { "string", parse_ustring,
+ cfg_print_ustring, cfg_doc_terminal,
+ &cfg_rep_string, NULL };
/* Any string (quoted or unquoted); printed with quotes */
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_astring = {
- "string", cfg_parse_astring, print_qstring,
- cfg_doc_terminal, &cfg_rep_string, NULL
-};
+cfg_type_t cfg_type_astring = { "string", cfg_parse_astring,
+ print_qstring, cfg_doc_terminal,
+ &cfg_rep_string, NULL };
/*
* Any string (quoted or unquoted); printed with quotes.
* If CFG_PRINTER_XKEY is set when printing the string will be '?' out.
*/
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sstring = {
- "string", cfg_parse_sstring, print_sstring,
- cfg_doc_terminal, &cfg_rep_string, NULL
-};
+cfg_type_t cfg_type_sstring = { "string", cfg_parse_sstring,
+ print_sstring, cfg_doc_terminal,
+ &cfg_rep_string, NULL };
/*
* Text enclosed in brackets. Used to pass a block of configuration
* text to dynamic library or external application. Checked for
* bracket balance, but not otherwise parsed.
*/
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bracketed_text = {
- "bracketed_text", parse_btext, print_btext,
- doc_btext, &cfg_rep_string, NULL
-};
+cfg_type_t cfg_type_bracketed_text = { "bracketed_text", parse_btext,
+ print_btext, doc_btext,
+ &cfg_rep_string, NULL };
#if defined(HAVE_GEOIP2)
/*
/*%
* A bracketed address match list
*/
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_bracketed_aml = {
- "bracketed_aml",
- cfg_parse_bracketed_list,
- cfg_print_bracketed_list,
- cfg_doc_bracketed_list,
- &cfg_rep_list,
- &cfg_type_addrmatchelt
-};
+cfg_type_t cfg_type_bracketed_aml = { "bracketed_aml",
+ cfg_parse_bracketed_list,
+ cfg_print_bracketed_list,
+ cfg_doc_bracketed_list,
+ &cfg_rep_list,
+ &cfg_type_addrmatchelt };
/*
* Optional bracketed text
cfg_print_cstr(pctx, "[ { <unspecified-text> } ]");
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_optional_bracketed_text = {
- "optional_btext",
- parse_optional_btext,
- print_optional_btext,
- doc_optional_btext,
- NULL,
- NULL
-};
+cfg_type_t cfg_type_optional_bracketed_text = { "optional_btext",
+ parse_optional_btext,
+ print_optional_btext,
+ doc_optional_btext,
+ NULL,
+ NULL };
/*
* Booleans
}
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_boolean = {
- "boolean", cfg_parse_boolean, cfg_print_boolean,
- cfg_doc_terminal, &cfg_rep_boolean, NULL
-};
+cfg_type_t cfg_type_boolean = { "boolean", cfg_parse_boolean,
+ cfg_print_boolean, cfg_doc_terminal,
+ &cfg_rep_boolean, NULL };
/*
* Lists.
return (result);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_token = {
- "token", parse_token, cfg_print_ustring,
- cfg_doc_terminal, &cfg_rep_string, NULL
-};
+cfg_type_t cfg_type_token = { "token", parse_token,
+ cfg_print_ustring, cfg_doc_terminal,
+ &cfg_rep_string, NULL };
/*
* An unsupported option. This is just a list of tokens with balanced braces
return (result);
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_unsupported = {
- "unsupported", parse_unsupported, cfg_print_spacelist,
- cfg_doc_terminal, &cfg_rep_list, NULL
-};
+cfg_type_t cfg_type_unsupported = { "unsupported", parse_unsupported,
+ cfg_print_spacelist, cfg_doc_terminal,
+ &cfg_rep_list, NULL };
/*
* Try interpreting the current token as a network address.
}
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr = {
- "netaddr", parse_netaddr, cfg_print_sockaddr,
- cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr_flags
-};
+cfg_type_t cfg_type_netaddr = { "netaddr", parse_netaddr,
+ cfg_print_sockaddr, cfg_doc_netaddr,
+ &cfg_rep_sockaddr, &netaddr_flags };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr4 = {
- "netaddr4", parse_netaddr, cfg_print_sockaddr,
- cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr4_flags
-};
+cfg_type_t cfg_type_netaddr4 = { "netaddr4", parse_netaddr,
+ cfg_print_sockaddr, cfg_doc_netaddr,
+ &cfg_rep_sockaddr, &netaddr4_flags };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr4wild = {
- "netaddr4wild", parse_netaddr, cfg_print_sockaddr,
- cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr4wild_flags
-};
+cfg_type_t cfg_type_netaddr4wild = { "netaddr4wild", parse_netaddr,
+ cfg_print_sockaddr, cfg_doc_netaddr,
+ &cfg_rep_sockaddr, &netaddr4wild_flags };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr6 = {
- "netaddr6", parse_netaddr, cfg_print_sockaddr,
- cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr6_flags
-};
+cfg_type_t cfg_type_netaddr6 = { "netaddr6", parse_netaddr,
+ cfg_print_sockaddr, cfg_doc_netaddr,
+ &cfg_rep_sockaddr, &netaddr6_flags };
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netaddr6wild = {
- "netaddr6wild", parse_netaddr, cfg_print_sockaddr,
- cfg_doc_netaddr, &cfg_rep_sockaddr, &netaddr6wild_flags
-};
+cfg_type_t cfg_type_netaddr6wild = { "netaddr6wild", parse_netaddr,
+ cfg_print_sockaddr, cfg_doc_netaddr,
+ &cfg_rep_sockaddr, &netaddr6wild_flags };
/* netprefix */
*prefixlen = obj->value.netprefix.prefixlen;
}
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_netprefix = {
- "netprefix", cfg_parse_netprefix, print_netprefix,
- cfg_doc_terminal, &cfg_rep_netprefix, NULL
-};
+cfg_type_t cfg_type_netprefix = { "netprefix", cfg_parse_netprefix,
+ print_netprefix, cfg_doc_terminal,
+ &cfg_rep_netprefix, NULL };
static isc_result_t
parse_sockaddrsub(cfg_parser_t *pctx, const cfg_type_t *type, int flags,
}
static unsigned int sockaddr_flags = CFG_ADDR_V4OK | CFG_ADDR_V6OK;
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sockaddr = {
- "sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr,
- cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddr_flags
-};
+cfg_type_t cfg_type_sockaddr = { "sockaddr", cfg_parse_sockaddr,
+ cfg_print_sockaddr, cfg_doc_sockaddr,
+ &cfg_rep_sockaddr, &sockaddr_flags };
static unsigned int sockaddrdscp_flags = CFG_ADDR_V4OK | CFG_ADDR_V6OK |
CFG_ADDR_DSCPOK;
-LIBISCCFG_EXTERNAL_DATA cfg_type_t cfg_type_sockaddrdscp = {
- "sockaddr", cfg_parse_sockaddr, cfg_print_sockaddr,
- cfg_doc_sockaddr, &cfg_rep_sockaddr, &sockaddrdscp_flags
-};
+cfg_type_t cfg_type_sockaddrdscp = { "sockaddr", cfg_parse_sockaddr,
+ cfg_print_sockaddr, cfg_doc_sockaddr,
+ &cfg_rep_sockaddr, &sockaddrdscp_flags };
isc_result_t
cfg_parse_sockaddr(cfg_parser_t *pctx, const cfg_type_t *type,
#define NS_CLIENT_DROPPORT 1
#endif /* ifndef NS_CLIENT_DROPPORT */
-LIBNS_EXTERNAL_DATA atomic_uint_fast64_t ns_client_requests =
- ATOMIC_VAR_INIT(0);
+atomic_uint_fast64_t ns_client_requests = ATOMIC_VAR_INIT(0);
static void
clientmgr_attach(ns_clientmgr_t *source, ns_clientmgr_t **targetp);
};
static ns_hooklist_t default_hooktable[NS_HOOKPOINTS_COUNT];
-LIBNS_EXTERNAL_DATA ns_hooktable_t *ns__hook_table = &default_hooktable;
+ns_hooktable_t *ns__hook_table = &default_hooktable;
isc_result_t
ns_plugin_expandpath(const char *src, char *dst, size_t dstsize) {
*/
#define NS_FAILCACHE_CD 0x01
-LIBNS_EXTERNAL_DATA extern atomic_uint_fast64_t ns_client_requests;
+extern atomic_uint_fast64_t ns_client_requests;
/***
*** Functions
* ns__hook_table is a global hook table, which is used if view->hooktable
* is NULL. It's intended only for use by unit tests.
*/
-LIBNS_EXTERNAL_DATA extern ns_hooktable_t *ns__hook_table;
+extern ns_hooktable_t *ns__hook_table;
typedef void (*ns_hook_cancelasync_t)(ns_hookasync_t *);
typedef void (*ns_hook_destroyasync_t)(ns_hookasync_t **);
ISC_LANG_BEGINDECLS
-LIBNS_EXTERNAL_DATA extern unsigned int ns_pps;
+extern unsigned int ns_pps;
isc_result_t
ns_lib_init(void);
#include <isc/log.h>
#include <isc/types.h>
-LIBNS_EXTERNAL_DATA extern isc_log_t * ns_lctx;
-LIBNS_EXTERNAL_DATA extern isc_logcategory_t ns_categories[];
-LIBNS_EXTERNAL_DATA extern isc_logmodule_t ns_modules[];
+extern isc_log_t * ns_lctx;
+extern isc_logcategory_t ns_categories[];
+extern isc_logmodule_t ns_modules[];
#define NS_LOGCATEGORY_CLIENT (&ns_categories[0])
#define NS_LOGCATEGORY_NETWORK (&ns_categories[1])
*** Globals
***/
-LIBNS_EXTERNAL_DATA unsigned int ns_pps = 0U;
+unsigned int ns_pps = 0U;
/***
*** Private
* When adding a new category, be sure to add the appropriate
* \#define to <ns/log.h>
*/
-LIBNS_EXTERNAL_DATA isc_logcategory_t ns_categories[] = {
- { "client", 0 },
- { "network", 0 },
- { "update", 0 },
- { "queries", 0 },
- { "update-security", 0 },
- { "query-errors", 0 },
- { "trust-anchor-telemetry", 0 },
- { "serve-stale", 0 },
- { NULL, 0 }
-};
+isc_logcategory_t ns_categories[] = { { "client", 0 },
+ { "network", 0 },
+ { "update", 0 },
+ { "queries", 0 },
+ { "update-security", 0 },
+ { "query-errors", 0 },
+ { "trust-anchor-telemetry", 0 },
+ { "serve-stale", 0 },
+ { NULL, 0 } };
/*%
* When adding a new module, be sure to add the appropriate
* \#define to <ns/log.h>.
*/
-LIBNS_EXTERNAL_DATA isc_logmodule_t ns_modules[] = {
+isc_logmodule_t ns_modules[] = {
{ "ns/client", 0 }, { "ns/query", 0 }, { "ns/interfacemgr", 0 },
{ "ns/update", 0 }, { "ns/xfer-in", 0 }, { "ns/xfer-out", 0 },
{ "ns/notify", 0 }, { "ns/hooks", 0 }, { NULL, 0 }
};
-LIBNS_EXTERNAL_DATA isc_log_t *ns_lctx = NULL;
+isc_log_t *ns_lctx = NULL;
void
ns_log_init(isc_log_t *lctx) {