Home | History | Annotate | Line # | Download | only in dnssec
dnssectool.h revision 1.3
      1  1.2  christos /*	$NetBSD: dnssectool.h,v 1.3 2019/01/09 16:54:59 christos Exp $	*/
      2  1.1  christos 
      3  1.1  christos /*
      4  1.1  christos  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
      5  1.1  christos  *
      6  1.1  christos  * This Source Code Form is subject to the terms of the Mozilla Public
      7  1.1  christos  * License, v. 2.0. If a copy of the MPL was not distributed with this
      8  1.1  christos  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
      9  1.1  christos  *
     10  1.1  christos  * See the COPYRIGHT file distributed with this work for additional
     11  1.1  christos  * information regarding copyright ownership.
     12  1.1  christos  */
     13  1.1  christos 
     14  1.1  christos 
     15  1.1  christos #ifndef DNSSECTOOL_H
     16  1.1  christos #define DNSSECTOOL_H 1
     17  1.1  christos 
     18  1.3  christos #include <inttypes.h>
     19  1.3  christos #include <stdbool.h>
     20  1.3  christos 
     21  1.1  christos #include <isc/log.h>
     22  1.1  christos #include <isc/stdtime.h>
     23  1.1  christos #include <dns/rdatastruct.h>
     24  1.1  christos #include <dst/dst.h>
     25  1.1  christos 
     26  1.1  christos typedef void (fatalcallback_t)(void);
     27  1.1  christos 
     28  1.1  christos ISC_PLATFORM_NORETURN_PRE void
     29  1.1  christos fatal(const char *format, ...)
     30  1.1  christos ISC_FORMAT_PRINTF(1, 2) ISC_PLATFORM_NORETURN_POST;
     31  1.1  christos 
     32  1.1  christos void
     33  1.1  christos setfatalcallback(fatalcallback_t *callback);
     34  1.1  christos 
     35  1.1  christos void
     36  1.1  christos check_result(isc_result_t result, const char *message);
     37  1.1  christos 
     38  1.1  christos void
     39  1.1  christos vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
     40  1.1  christos 
     41  1.1  christos ISC_PLATFORM_NORETURN_PRE void
     42  1.1  christos version(const char *program) ISC_PLATFORM_NORETURN_POST;
     43  1.1  christos 
     44  1.1  christos void
     45  1.1  christos sig_format(dns_rdata_rrsig_t *sig, char *cp, unsigned int size);
     46  1.1  christos #define SIG_FORMATSIZE (DNS_NAME_FORMATSIZE + DNS_SECALG_FORMATSIZE + sizeof("65535"))
     47  1.1  christos 
     48  1.1  christos void
     49  1.1  christos setup_logging(isc_mem_t *mctx, isc_log_t **logp);
     50  1.1  christos 
     51  1.1  christos void
     52  1.1  christos cleanup_logging(isc_log_t **logp);
     53  1.1  christos 
     54  1.1  christos dns_ttl_t strtottl(const char *str);
     55  1.1  christos 
     56  1.1  christos isc_stdtime_t
     57  1.3  christos strtotime(const char *str, int64_t now, int64_t base,
     58  1.3  christos 	  bool *setp);
     59  1.1  christos 
     60  1.1  christos unsigned int
     61  1.1  christos strtodsdigest(const char *str);
     62  1.1  christos 
     63  1.1  christos dns_rdataclass_t
     64  1.1  christos strtoclass(const char *str);
     65  1.1  christos 
     66  1.1  christos isc_result_t
     67  1.1  christos try_dir(const char *dirname);
     68  1.1  christos 
     69  1.1  christos void
     70  1.1  christos check_keyversion(dst_key_t *key, char *keystr);
     71  1.1  christos 
     72  1.1  christos void
     73  1.1  christos set_keyversion(dst_key_t *key);
     74  1.1  christos 
     75  1.3  christos bool
     76  1.1  christos key_collision(dst_key_t *key, dns_name_t *name, const char *dir,
     77  1.3  christos 	      isc_mem_t *mctx, bool *exact);
     78  1.1  christos 
     79  1.3  christos bool
     80  1.1  christos isoptarg(const char *arg, char **argv, void (*usage)(void));
     81  1.1  christos 
     82  1.1  christos #ifdef _WIN32
     83  1.1  christos void InitSockets(void);
     84  1.1  christos void DestroySockets(void);
     85  1.1  christos #endif
     86  1.1  christos 
     87  1.1  christos #endif /* DNSSEC_DNSSECTOOL_H */
     88