1 /*
2  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
3  *
4  * SPDX-License-Identifier: MPL-2.0
5  *
6  * This Source Code Form is subject to the terms of the Mozilla Public
7  * License, v. 2.0. If a copy of the MPL was not distributed with this
8  * file, you can obtain one at https://mozilla.org/MPL/2.0/.
9  *
10  * See the COPYRIGHT file distributed with this work for additional
11  * information regarding copyright ownership.
12  */
13 
14 #ifndef CHECK_TOOL_H
15 #define CHECK_TOOL_H
16 
17 /*! \file */
18 
19 #include <inttypes.h>
20 #include <stdbool.h>
21 
22 #include <isc/lang.h>
23 #include <isc/stdio.h>
24 #include <isc/types.h>
25 
26 #include <dns/masterdump.h>
27 #include <dns/types.h>
28 #include <dns/zone.h>
29 
30 ISC_LANG_BEGINDECLS
31 
32 isc_result_t
33 setup_logging(isc_mem_t *mctx, FILE *errout, isc_log_t **logp);
34 
35 isc_result_t
36 load_zone(isc_mem_t *mctx, const char *zonename, const char *filename,
37 	  dns_masterformat_t fileformat, const char *classname,
38 	  dns_ttl_t maxttl, dns_zone_t **zonep);
39 
40 isc_result_t
41 dump_zone(const char *zonename, dns_zone_t *zone, const char *filename,
42 	  dns_masterformat_t fileformat, const dns_master_style_t *style,
43 	  const uint32_t rawversion);
44 
45 #ifdef _WIN32
46 void
47 InitSockets(void);
48 void
49 DestroySockets(void);
50 #endif /* ifdef _WIN32 */
51 
52 extern int debug;
53 extern const char *journal;
54 extern bool nomerge;
55 extern bool docheckmx;
56 extern bool docheckns;
57 extern bool dochecksrv;
58 extern dns_zoneopt_t zone_options;
59 
60 ISC_LANG_ENDDECLS
61 
62 #endif /* ifndef CHECK_TOOL_H */
63