1/* 2 * Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") 3 * Copyright (C) 2001, 2002 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 18/* $Id: config.h,v 1.16 2009/06/11 23:47:55 tbox Exp $ */ 19 20#ifndef NAMED_CONFIG_H 21#define NAMED_CONFIG_H 1 22 23/*! \file */ 24 25#include <isccfg/cfg.h> 26 27#include <dns/types.h> 28#include <dns/zone.h> 29 30isc_result_t 31ns_config_parsedefaults(cfg_parser_t *parser, cfg_obj_t **conf); 32 33isc_result_t 34ns_config_get(const cfg_obj_t **maps, const char* name, const cfg_obj_t **obj); 35 36isc_result_t 37ns_checknames_get(const cfg_obj_t **maps, const char* name, 38 const cfg_obj_t **obj); 39 40int 41ns_config_listcount(const cfg_obj_t *list); 42 43isc_result_t 44ns_config_getclass(const cfg_obj_t *classobj, dns_rdataclass_t defclass, 45 dns_rdataclass_t *classp); 46 47isc_result_t 48ns_config_gettype(const cfg_obj_t *typeobj, dns_rdatatype_t deftype, 49 dns_rdatatype_t *typep); 50 51dns_zonetype_t 52ns_config_getzonetype(const cfg_obj_t *zonetypeobj); 53 54isc_result_t 55ns_config_getiplist(const cfg_obj_t *config, const cfg_obj_t *list, 56 in_port_t defport, isc_mem_t *mctx, 57 isc_sockaddr_t **addrsp, isc_uint32_t *countp); 58 59void 60ns_config_putiplist(isc_mem_t *mctx, isc_sockaddr_t **addrsp, 61 isc_uint32_t count); 62 63isc_result_t 64ns_config_getipandkeylist(const cfg_obj_t *config, const cfg_obj_t *list, 65 isc_mem_t *mctx, isc_sockaddr_t **addrsp, 66 dns_name_t ***keys, isc_uint32_t *countp); 67 68void 69ns_config_putipandkeylist(isc_mem_t *mctx, isc_sockaddr_t **addrsp, 70 dns_name_t ***keys, isc_uint32_t count); 71 72isc_result_t 73ns_config_getport(const cfg_obj_t *config, in_port_t *portp); 74 75isc_result_t 76ns_config_getkeyalgorithm(const char *str, dns_name_t **name, 77 isc_uint16_t *digestbits); 78isc_result_t 79ns_config_getkeyalgorithm2(const char *str, dns_name_t **name, 80 unsigned int *typep, isc_uint16_t *digestbits); 81 82#endif /* NAMED_CONFIG_H */ 83