Commit 4b6bf958 authored by James Brister's avatar James Brister
Browse files

Use logging system

parent 9e12c990
......@@ -75,9 +75,9 @@ struct dns_c_acl
{
dns_c_acltable_t *mytable;
char *name;
char *name;
dns_c_ipmatchlist_t *ipml;
isc_boolean_t is_special;
isc_boolean_t is_special;
ISC_LINK(dns_c_acl_t) next;
};
......@@ -96,8 +96,8 @@ struct dns_c_acl_table
*** Functions
***/
isc_result_t dns_c_acltable_new(isc_mem_t *mem,
dns_c_acltable_t **newtable);
isc_result_t dns_c_acltable_new(isc_log_t *lctx, isc_mem_t *mem,
dns_c_acltable_t **newtable);
/*
* Creates a new ACL table. Returns pointer to the new table through
......@@ -115,7 +115,8 @@ isc_result_t dns_c_acltable_new(isc_mem_t *mem,
*/
isc_result_t dns_c_acltable_delete(dns_c_acltable_t **table);
isc_result_t dns_c_acltable_delete(isc_log_t *lctx,
dns_c_acltable_t **table);
/*
* Destroys the table pointed to by *TABLE and all the ACLs in it. The
......@@ -131,9 +132,10 @@ isc_result_t dns_c_acltable_delete(dns_c_acltable_t **table);
*/
isc_result_t dns_c_acltable_getacl(dns_c_acltable_t *table,
const char *aclname,
dns_c_acl_t **retval);
isc_result_t dns_c_acltable_getacl(isc_log_t *lctx,
dns_c_acltable_t *table,
const char *aclname,
dns_c_acl_t **retval);
/*
* Looks up an ACL by name in the given table. The result is returned
......@@ -148,8 +150,9 @@ isc_result_t dns_c_acltable_getacl(dns_c_acltable_t *table,
*
*/
isc_result_t dns_c_acltable_removeacl(dns_c_acltable_t *table,
const char *aclname);
isc_result_t dns_c_acltable_removeacl(isc_log_t *lctx,
dns_c_acltable_t *table,
const char *aclname);
/*
* Removes an acl from a table. The acl is looked up by name.
......@@ -164,8 +167,8 @@ isc_result_t dns_c_acltable_removeacl(dns_c_acltable_t *table,
*
*/
void dns_c_acltable_print(FILE *fp, int indent,
dns_c_acltable_t *table);
void dns_c_acltable_print(isc_log_t *lctx, FILE *fp, int indent,
dns_c_acltable_t *table);
/*
* Prints the ACL table and the ACLs in it to the give stdio stream.
* indent is the indentation level (number of tabs) printed before
......@@ -179,7 +182,7 @@ void dns_c_acltable_print(FILE *fp, int indent,
*/
isc_result_t dns_c_acltable_clear(dns_c_acltable_t *table);
isc_result_t dns_c_acltable_clear(isc_log_t *lctx, dns_c_acltable_t *table);
/*
* Deletes all the acls from the table.
......@@ -194,7 +197,8 @@ isc_result_t dns_c_acltable_clear(dns_c_acltable_t *table);
isc_result_t dns_c_acl_new(dns_c_acltable_t *table, const char *aclname,
isc_result_t dns_c_acl_new(isc_log_t *lctx, dns_c_acltable_t *table,
const char *aclname,
isc_boolean_t isspecial,
dns_c_acl_t **newacl);
/*
......@@ -214,7 +218,8 @@ isc_result_t dns_c_acl_new(dns_c_acltable_t *table, const char *aclname,
*/
void dns_c_acl_print(FILE *fp, int indent, dns_c_acl_t *acl);
void dns_c_acl_print(isc_log_t *lctx, FILE *fp, int indent,
dns_c_acl_t *acl);
/*
* Prints out the acl to the stdio stream. The outupt is indented by INDENT
* tabs.
......@@ -227,9 +232,9 @@ void dns_c_acl_print(FILE *fp, int indent, dns_c_acl_t *acl);
*/
isc_result_t dns_c_acl_setipml(dns_c_acl_t *acl,
dns_c_ipmatchlist_t *ipml,
isc_boolean_t deepcopy);
isc_result_t dns_c_acl_setipml(isc_log_t *lctx, dns_c_acl_t *acl,
dns_c_ipmatchlist_t *ipml,
isc_boolean_t deepcopy);
/*
* Sets the ipmatch list of the ACL to the IPML. If DEEPCOPY is true, then
......@@ -251,8 +256,9 @@ isc_result_t dns_c_acl_setipml(dns_c_acl_t *acl,
*/
isc_result_t dns_c_acl_getipmlexpanded(isc_mem_t *mem, dns_c_acl_t *acl,
dns_c_ipmatchlist_t **retval);
isc_result_t dns_c_acl_getipmlexpanded(isc_log_t *lctx,
isc_mem_t *mem, dns_c_acl_t *acl,
dns_c_ipmatchlist_t **retval);
/*
* Retuns a copy through the RETVAL parameter (the caller is responsible
......@@ -274,7 +280,20 @@ isc_result_t dns_c_acl_getipmlexpanded(isc_mem_t *mem, dns_c_acl_t *acl,
*/
isc_result_t dns_c_acl_expandacls(isc_log_t *lctx, dns_c_acltable_t *table,
dns_c_ipmatchlist_t *list);
/*
* Goes through all the entires (direct and indirect) of LIST and
* expands all references to ACLs using the definitions in TABLE
*
* Requires:
* table be a pointer to a valid dns_c_acltable_t
* list be a pointer to a valid (but possibly empty dns_c_ipmatchlist_t
*
* Returns:
* ISC_R_SUCCESS -- all is well
* ISC_R_FAILURE -- some acl(s) couldn't be resolved.
*/
#endif /* DNS_CONFIG_CONFACL_H */
......@@ -69,6 +69,7 @@
#include <isc/net.h>
#include <isc/sockaddr.h>
#include <dns/log.h>
#include <dns/types.h>
/* Constants used in the defintions of default logging channels and
......@@ -229,7 +230,7 @@ typedef enum {
* depending on this being an integer type, and some structures need more
* than 32 bits.
*/
typedef isc_int64_t dns_setbits_t;
typedef isc_int64_t dns_c_setbits_t;
/* XXX This should be moved to a more general (non-config specific) place */
......@@ -261,9 +262,10 @@ typedef isc_sockaddr_t dns_c_addr_t;
extern isc_boolean_t debug_mem_print;
extern FILE *debug_mem_print_stream; /* NULL means stderr */
#if 0 /* XXXJAB remove this code. */
typedef void (*dns_cfg_err_handler_t)(isc_result_t code,
const char *fmt, va_list args);
#endif
/***
......@@ -280,21 +282,29 @@ typedef void (*dns_cfg_err_handler_t)(isc_result_t code,
* dns_c_ordering2string((dns_c_ordering_t)0xffff,ISC_TRUE) returns the
* value "UNKNOWN_ORDERING"
*/
const char * dns_c_ordering2string(dns_c_ordering_t ordering,
const char * dns_c_ordering2string(isc_log_t *lctx,
dns_c_ordering_t ordering,
isc_boolean_t printable);
const char * dns_c_logseverity2string(dns_c_logseverity_t level,
const char * dns_c_logseverity2string(isc_log_t *lctx,
dns_c_logseverity_t level,
isc_boolean_t printable);
const char * dns_c_category2string(dns_c_category_t cat,
const char * dns_c_category2string(isc_log_t *lctx,
dns_c_category_t cat,
isc_boolean_t printable);
const char * dns_c_facility2string(int facility,
const char * dns_c_facility2string(isc_log_t *lctx,
int facility,
isc_boolean_t printable);
const char * dns_c_transformat2string(dns_transfer_format_t tform,
const char * dns_c_transformat2string(isc_log_t *lctx,
dns_transfer_format_t tform,
isc_boolean_t printable);
const char * dns_c_transport2string(dns_c_trans_t transport,
const char * dns_c_transport2string(isc_log_t *lctx,
dns_c_trans_t transport,
isc_boolean_t printable);
const char * dns_c_nameseverity2string(dns_c_severity_t severity,
const char * dns_c_nameseverity2string(isc_log_t *lctx,
dns_c_severity_t severity,
isc_boolean_t printable);
const char * dns_c_forward2string(dns_c_forw_t forw,
const char * dns_c_forward2string(isc_log_t *lctx,
dns_c_forw_t forw,
isc_boolean_t printable);
/*
......@@ -303,32 +313,45 @@ const char * dns_c_forward2string(dns_c_forw_t forw,
* through the second argument and ISC_R_SUCCESS is returned. If the string
* doesn't match a valid value then ISC_R_FAILURE is returned.
*/
isc_result_t dns_c_string2ordering(char *name,
isc_result_t dns_c_string2ordering(isc_log_t *lctx,
char *name,
dns_c_ordering_t *ordering);
isc_result_t dns_c_string2logseverity(const char *string,
isc_result_t dns_c_string2logseverity(isc_log_t *lctx,
const char *string,
dns_c_logseverity_t *result);
isc_result_t dns_c_string2category(const char *string,
isc_result_t dns_c_string2category(isc_log_t *lctx,
const char *string,
dns_c_category_t *category);
isc_result_t dns_c_string2facility(const char *string, int *res);
isc_result_t dns_c_string2facility(isc_log_t *lctx,
const char *string, int *res);
int dns_c_isanyaddr(isc_sockaddr_t *inaddr);
void dns_c_error(isc_result_t result, const char *fmt, ...);
void dns_c_print_ipaddr(FILE *fp, isc_sockaddr_t *addr);
dns_cfg_err_handler_t dns_c_seterrorhandler(dns_cfg_err_handler_t
newhandler);
isc_boolean_t dns_c_need_quote(const char *string);
void dns_c_printtabs(FILE *fp, int count);
void dns_c_printinunits(FILE *fp, isc_uint32_t val);
int dns_c_isanyaddr(isc_log_t *lctx,
isc_sockaddr_t *inaddr);
void dns_c_print_ipaddr(isc_log_t *lctx,
FILE *fp, isc_sockaddr_t *addr);
isc_boolean_t dns_c_need_quote(isc_log_t *lctx,
const char *string);
void dns_c_dataclass_tostream(FILE *fp,
dns_rdataclass_t rclass);
void dns_c_datatype_tostream(FILE *fp,
dns_rdatatype_t rtype);
void dns_c_printtabs(isc_log_t *lctx,
FILE *fp, int count);
void dns_c_printinunits(isc_log_t *lctx,
FILE *fp, isc_uint32_t val);
void dns_c_dataclass_tostream(isc_log_t *lctx,
FILE *fp,
dns_rdataclass_t rclass);
void dns_c_datatype_tostream(isc_log_t *lctx,
FILE *fp,
dns_rdatatype_t rtype);
#if 0 /* XXXJAB remove this */
dns_cfg_err_handler_t dns_c_seterrorhandler(isc_log_t *lctx,
dns_cfg_err_handler_t
newhandler);
void dns_c_error(isc_result_t result, const char *fmt, ...);
#endif
#if defined(DEBUG_MEM_STUFF)
......
......@@ -109,10 +109,11 @@ struct dns_c_ctrl_list
***/
isc_result_t dns_c_ctrlinet_new(isc_mem_t *mem, dns_c_ctrl_t **control,
isc_sockaddr_t addr, short port,
dns_c_ipmatchlist_t *iml,
isc_boolean_t copy);
isc_result_t dns_c_ctrlinet_new(isc_log_t *lctx,
isc_mem_t *mem, dns_c_ctrl_t **control,
isc_sockaddr_t addr, short port,
dns_c_ipmatchlist_t *iml,
isc_boolean_t copy);
/*
* Creates a new INET control object. If COPY is true then a deep copy is
* made of IML, otherwise the value of IML is stored directly in the new
......@@ -128,9 +129,10 @@ isc_result_t dns_c_ctrlinet_new(isc_mem_t *mem, dns_c_ctrl_t **control,
*/
isc_result_t dns_c_ctrlunix_new(isc_mem_t *mem, dns_c_ctrl_t **control,
const char *path,
int perm, uid_t uid, gid_t gid);
isc_result_t dns_c_ctrlunix_new(isc_log_t *lctx,
isc_mem_t *mem, dns_c_ctrl_t **control,
const char *path,
int perm, uid_t uid, gid_t gid);
/*
* Creates a new UNIX control object. A copy is made of the PATH argument.
*
......@@ -145,7 +147,8 @@ isc_result_t dns_c_ctrlunix_new(isc_mem_t *mem, dns_c_ctrl_t **control,
*/
isc_result_t dns_c_ctrl_delete(dns_c_ctrl_t **control);
isc_result_t dns_c_ctrl_delete(isc_log_t *lctx,
dns_c_ctrl_t **control);
/*
* Deletes the object pointed to by *CONTROL. *CONTROL may be NULL.
*
......@@ -157,7 +160,8 @@ isc_result_t dns_c_ctrl_delete(dns_c_ctrl_t **control);
*/
void dns_c_ctrl_print(FILE *fp, int indent, dns_c_ctrl_t *ctl);
void dns_c_ctrl_print(isc_log_t *lctx,
FILE *fp, int indent, dns_c_ctrl_t *ctl);
/*
* Prints the control object ctl in standard named.conf format. The output
* is indented by indent number of tabs.
......@@ -169,8 +173,8 @@ void dns_c_ctrl_print(FILE *fp, int indent, dns_c_ctrl_t *ctl);
*/
isc_result_t dns_c_ctrllist_new(isc_mem_t *mem,
dns_c_ctrllist_t **newlist);
isc_result_t dns_c_ctrllist_new(isc_log_t *lctx,
isc_mem_t *mem, dns_c_ctrllist_t **newlist);
/*
* Creates a new control object list using the MEM memory manager.
*
......@@ -184,7 +188,8 @@ isc_result_t dns_c_ctrllist_new(isc_mem_t *mem,
*/
isc_result_t dns_c_ctrllist_delete(dns_c_ctrllist_t **list);
isc_result_t dns_c_ctrllist_delete(isc_log_t *lctx,
dns_c_ctrllist_t **list);
/*
* Deletes the control list. The value of *list may be NULL. Sets *list to
* NULL when done.
......@@ -197,8 +202,8 @@ isc_result_t dns_c_ctrllist_delete(dns_c_ctrllist_t **list);
*
*/
void dns_c_ctrllist_print(FILE *fp, int indent,
dns_c_ctrllist_t *cl);
void dns_c_ctrllist_print(isc_log_t *lctx, FILE *fp, int indent,
dns_c_ctrllist_t *cl);
/*
* Prints the control objects inside the list. The output is indented with
* indent number of tabs.
......
This diff is collapsed.
......@@ -31,7 +31,7 @@
/*
* MP:
* Caller must do necessary locking
* Caller must do necessary locking
*
* Reliability:
*
......@@ -112,8 +112,8 @@ struct dns_c_ipmatch_element
union {
dns_c_ipmatch_direct_t direct;
dns_c_ipmatch_indirect_t indirect;
char *key;
char *aclname;
char *key;
char *aclname;
} u;
ISC_LINK(dns_c_ipmatchelement_t) next;
......@@ -139,65 +139,90 @@ struct dns_c_ipmatch_list
*/
isc_result_t dns_c_ipmatchelement_new(isc_mem_t *mem,
dns_c_ipmatchelement_t
**result);
isc_result_t dns_c_ipmatchelement_delete(isc_mem_t *mem,
dns_c_ipmatchelement_t **ipme);
isc_result_t dns_c_ipmatchelement_copy(isc_mem_t *mem,
dns_c_ipmatchelement_t **dest,
dns_c_ipmatchelement_t *src);
isc_result_t dns_c_ipmatchelement_print(FILE *fp, int indent,
dns_c_ipmatchelement_t *ime);
isc_boolean_t dns_c_ipmatchelement_isneg(dns_c_ipmatchelement_t *elem);
isc_result_t dns_c_ipmatch_negate(dns_c_ipmatchelement_t *ipe);
isc_result_t dns_c_ipmatch_aclnew(isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
const char *aclname);
isc_result_t dns_c_ipmatchkey_new(isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
const char *key);
isc_result_t dns_c_ipmatchlocalhost_new(isc_mem_t *mem,
dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchlocalnets_new(isc_mem_t *mem,
dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchpattern_new(isc_mem_t *mem,
isc_result_t dns_c_ipmatchelement_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchelement_delete(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **ipme);
isc_result_t dns_c_ipmatchelement_copy(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **dest,
dns_c_ipmatchelement_t *src);
isc_result_t dns_c_ipmatchelement_print(isc_log_t *lctx,
FILE *fp, int indent,
dns_c_ipmatchelement_t *ime);
isc_boolean_t dns_c_ipmatchelement_isneg(isc_log_t *lctx,
dns_c_ipmatchelement_t *elem);
isc_result_t dns_c_ipmatch_negate(isc_log_t *lctx,
dns_c_ipmatchelement_t *ipe);
isc_result_t dns_c_ipmatch_aclnew(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
const char *aclname);
isc_result_t dns_c_ipmatchkey_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
const char *key);
isc_result_t dns_c_ipmatchlocalhost_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchlocalnets_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result);
isc_result_t dns_c_ipmatchpattern_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
isc_sockaddr_t address,
isc_uint32_t maskbits);
isc_result_t dns_c_ipmatchindirect_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
isc_sockaddr_t address,
isc_uint32_t maskbits);
isc_result_t dns_c_ipmatchindirect_new(isc_mem_t *mem,
dns_c_ipmatchelement_t **result,
dns_c_ipmatchlist_t *iml,
const char *name);
isc_result_t dns_c_ipmatchlist_new(isc_mem_t *mem,
dns_c_ipmatchlist_t **ptr);
isc_result_t dns_c_ipmatchlist_delete(dns_c_ipmatchlist_t **ml);
dns_c_ipmatchlist_t *dns_c_ipmatchlist_attach(dns_c_ipmatchlist_t *ipml);
isc_result_t dns_c_ipmatchlist_copy(isc_mem_t *mem,
dns_c_ipmatchlist_t **dest,
dns_c_ipmatchlist_t *src);
isc_result_t dns_c_ipmatchlist_empty(dns_c_ipmatchlist_t *ipml);
isc_result_t dns_c_ipmatchlist_append(dns_c_ipmatchlist_t *dest,
dns_c_ipmatchlist_t *src,
isc_boolean_t negate);
isc_result_t dns_c_ipmatchlist_print(FILE *fp, int indent,
dns_c_ipmatchlist_t *iml);
isc_result_t dns_c_iplist_new(isc_mem_t *mem, int length,
dns_c_ipmatchlist_t *iml,
const char *name);
isc_result_t dns_c_ipmatchlist_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchlist_t **ptr);
isc_result_t dns_c_ipmatchlist_delete(isc_log_t *lctx,
dns_c_ipmatchlist_t **ml);
dns_c_ipmatchlist_t *dns_c_ipmatchlist_attach(isc_log_t *lctx,
dns_c_ipmatchlist_t *ipml);
isc_result_t dns_c_ipmatchlist_copy(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_ipmatchlist_t **dest,
dns_c_ipmatchlist_t *src);
isc_result_t dns_c_ipmatchlist_empty(isc_log_t *lctx,
dns_c_ipmatchlist_t *ipml);
isc_result_t dns_c_ipmatchlist_append(isc_log_t *lctx,
dns_c_ipmatchlist_t *dest,
dns_c_ipmatchlist_t *src,
isc_boolean_t negate);
isc_result_t dns_c_ipmatchlist_print(isc_log_t *lctx,
FILE *fp, int indent,
dns_c_ipmatchlist_t *iml);
isc_result_t dns_c_iplist_new(isc_log_t *lctx,
isc_mem_t *mem, int length,
dns_c_iplist_t **newlist);
isc_result_t dns_c_iplist_delete(dns_c_iplist_t **list);
isc_result_t dns_c_iplist_copy(isc_mem_t *mem, dns_c_iplist_t **dest,
isc_result_t dns_c_iplist_delete(isc_log_t *lctx,
dns_c_iplist_t **list);
isc_result_t dns_c_iplist_copy(isc_log_t *lctx,
isc_mem_t *mem, dns_c_iplist_t **dest,
dns_c_iplist_t *src);
dns_c_iplist_t *dns_c_iplist_attach(dns_c_iplist_t *list);
isc_result_t dns_c_iplist_append(dns_c_iplist_t *list,
dns_c_iplist_t *dns_c_iplist_attach(isc_log_t *lctx,
dns_c_iplist_t *list);
isc_result_t dns_c_iplist_append(isc_log_t *lctx,
dns_c_iplist_t *list,
isc_sockaddr_t newaddr);
isc_result_t dns_c_iplist_remove(dns_c_iplist_t *list,
isc_result_t dns_c_iplist_remove(isc_log_t *lctx,
dns_c_iplist_t *list,
isc_sockaddr_t newaddr);
void dns_c_iplist_print(FILE *fp, int indent,
void dns_c_iplist_print(isc_log_t *lctx,
FILE *fp, int indent,
dns_c_iplist_t *list);
......
......@@ -41,11 +41,11 @@
* Memory allocators supplied by caller
*
* Security:
*
*
* Not applicable.
*
* Standards:
*
*
* Not applicable.
*/
......@@ -58,6 +58,8 @@
#include <isc/mem.h>
#include <isc/list.h>
#include <dns/log.h>
/***
......@@ -101,7 +103,7 @@ struct dns_c_pubkey
isc_int32_t flags;
isc_int32_t protocol;
isc_int32_t algorithm;
char *key;
char *key;
};
......@@ -130,7 +132,7 @@ struct dns_c_kdef_list
/* A key id for in a server statement 'keys' list */
struct dns_c_kid
{
dns_c_kidlist_t *mylist;
dns_c_kidlist_t *mylist;
char *keyid;
ISC_LINK(dns_c_kid_t) next;
......@@ -150,78 +152,110 @@ struct dns_c_kid_list
*** Functions
***/
isc_result_t dns_c_pubkey_new(isc_mem_t *mem, isc_int32_t flags,
isc_result_t dns_c_pubkey_new(isc_log_t *lctx,
isc_mem_t *mem, isc_int32_t flags,
isc_int32_t protocol,
isc_int32_t algorithm,
const char *key, dns_c_pubkey_t **pubkey);
isc_result_t dns_c_pubkey_delete(dns_c_pubkey_t **pubkey);
isc_result_t dns_c_pubkey_copy(isc_mem_t *mem, dns_c_pubkey_t **dest,
isc_result_t dns_c_pubkey_delete(isc_log_t *lctx,
dns_c_pubkey_t **pubkey);
isc_result_t dns_c_pubkey_copy(isc_log_t *lctx,
isc_mem_t *mem, dns_c_pubkey_t **dest,
dns_c_pubkey_t *src);
void dns_c_pubkey_print(FILE *fp, int indent,
void dns_c_pubkey_print(isc_log_t *lctx,
FILE *fp, int indent,
dns_c_pubkey_t *pubkey);
isc_result_t dns_c_kidlist_new(isc_mem_t *mem,
dns_c_kidlist_t **list);
isc_result_t dns_c_kidlist_delete(dns_c_kidlist_t **list);
isc_result_t dns_c_kidlist_undef(dns_c_kidlist_t *list,
const char *keyid);
isc_result_t dns_c_kidlist_find(dns_c_kidlist_t *list,
const char *keyid,
dns_c_kid_t **retval);
void dns_c_kidlist_print(FILE *fp, int indent,
dns_c_kidlist_t *list);
isc_result_t dns_c_kid_new(dns_c_kidlist_t *list, const char *name,
isc_result_t dns_c_kidlist_new(isc_log_t *lctx,
isc_mem_t *mem,
dns_c_kidlist_t **list);
isc_result_t dns_c_kidlist_delete(isc_log_t *lctx,
dns_c_kidlist_t **list);
isc_result_t dns_c_kidlist_undef(isc_log_t *lctx,
dns_c_kidlist_t *list,
const char *keyid);
isc_result_t dns_c_kidlist_find(isc_log_t *lctx,
dns_c_kidlist_t *list,
const char *keyid,
dns_c_kid_t **retval);
void dns_c_kidlist_print(isc_log_t *lctx,
FILE *fp, int indent,
dns_c_kidlist_t *list);
isc_result_t dns_c_kid_new(isc_log_t *lctx,
dns_c_kidlist_t *list, const char *name,
dns_c_kid_t **keyid);
isc_result_t dns_c_kdeflist_new(isc_mem_t *mem,
dns_c_kdeflist_t **list);
isc_result_t dns_c_kdeflist_delete(dns_c_kdeflist_t **list);
isc_result_t dns_c_kdeflist_undef(dns_c_kdeflist_t *list,
const char *keyid);
isc_result_t dns_c_kdeflist_find(dns_c_kdeflist_t *list,
const char *keyid,
dns_c_kdef_t **retval);
void dns_c_kdeflist_print(FILE *fp, int indent,
dns_c_kdeflist_t *list);
isc_result_t dns_c_kdef_new(dns_c_kdeflist_t *list, const char *name,
isc_result_t dns_c_kdeflist_new(isc_log_t *lctx,