00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef NAMED_CONFIG_H
00021 #define NAMED_CONFIG_H 1
00022
00023
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