config.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2004-2007, 2009, 2013  Internet Systems Consortium, Inc. ("ISC")
00003  * Copyright (C) 2001, 2002  Internet Software Consortium.
00004  *
00005  * Permission to use, copy, modify, and/or distribute this software for any
00006  * purpose with or without fee is hereby granted, provided that the above
00007  * copyright notice and this permission notice appear in all copies.
00008  *
00009  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
00010  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
00011  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
00012  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
00013  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
00014  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
00015  * PERFORMANCE OF THIS SOFTWARE.
00016  */
00017 
00018 /* $Id: config.h,v 1.16 2009/06/11 23:47:55 tbox Exp $ */
00019 
00020 #ifndef NAMED_CONFIG_H
00021 #define NAMED_CONFIG_H 1
00022 
00023 /*! \file */
00024 
00025 #include <isccfg/cfg.h>
00026 
00027 #include <dns/types.h>
00028 #include <dns/zone.h>
00029 
00030 isc_result_t
00031 ns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf);
00032 
00033 isc_result_t
00034 ns_config_get(cfg_obj_t const * const *maps, const char* name,
00035               const cfg_obj_t **obj);
00036 
00037 isc_result_t
00038 ns_checknames_get(const cfg_obj_t **maps, const char* name,
00039                   const cfg_obj_t **obj);
00040 
00041 int
00042 ns_config_listcount(const cfg_obj_t *list);
00043 
00044 isc_result_t
00045 ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass,
00046                    dns_rdataclass_t *classp);
00047 
00048 isc_result_t
00049 ns_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype,
00050                   dns_rdatatype_t *typep);
00051 
00052 dns_zonetype_t
00053 ns_config_getzonetype(const cfg_obj_t *zonetypeobj);
00054 
00055 isc_result_t
00056 ns_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list,
00057                     in_port_t defport, isc_mem_t *mctx,
00058                     isc_sockaddr_t **addrsp, isc_dscp_t **dscpsp,
00059                     isc_uint32_t *countp);
00060 
00061 void
00062 ns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
00063                     isc_dscp_t **dscpsp, isc_uint32_t count);
00064 
00065 isc_result_t
00066 ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list,
00067                           isc_mem_t *mctx, isc_sockaddr_t **addrsp,
00068                           isc_dscp_t **dscpp, dns_name_t ***keys,
00069                           isc_uint32_t *countp);
00070 
00071 void
00072 ns_config_putipandkeylist(isc_mem_t *mctx, isc_sockaddr_t **addrsp,
00073                           isc_dscp_t **dscpsp, dns_name_t ***keys,
00074                           isc_uint32_t count);
00075 
00076 isc_result_t
00077 ns_config_getport(const cfg_obj_t *config, in_port_t *portp);
00078 
00079 isc_result_t
00080 ns_config_getkeyalgorithm(const char *str, dns_name_t **name,
00081                           isc_uint16_t *digestbits);
00082 isc_result_t
00083 ns_config_getkeyalgorithm2(const char *str, dns_name_t **name,
00084                            unsigned int *typep, isc_uint16_t *digestbits);
00085 
00086 isc_result_t
00087 ns_config_getdscp(const cfg_obj_t *config, isc_dscp_t *dscpp);
00088 
00089 #endif /* NAMED_CONFIG_H */

Generated on Tue Apr 28 17:40:54 2015 by Doxygen 1.5.4 for BIND9 Internals 9.11.0pre-alpha