summaryrefslogtreecommitdiffstats
path: root/lib/dns/include/dns/dynamic_db.h
diff options
context:
space:
mode:
authorMartin Nagy <mnagy@redhat.com>2009-04-21 09:31:11 +0200
committerMartin Nagy <mnagy@redhat.com>2009-04-21 09:45:01 +0200
commit1ae7a3c4d2f018b251838ffdbd926c758cc2329c (patch)
treebd90619806396c26411b88cc52e2c272ce05103d /lib/dns/include/dns/dynamic_db.h
parent2630da853b5bad2c02e3df46dccb727ca94d8666 (diff)
downloadbind_dynamic-1ae7a3c4d2f018b251838ffdbd926c758cc2329c.tar.gz
bind_dynamic-1ae7a3c4d2f018b251838ffdbd926c758cc2329c.tar.xz
bind_dynamic-1ae7a3c4d2f018b251838ffdbd926c758cc2329c.zip
Pass all necessary pointers in a packed structure.
Access to the dns_dyndb_arguments_t structure is done through a set of dns_dyndb_set_* and dns_dyndb_get_* functions. This will make it unnecessary to break the ABI if someone designing a plug-in will have a need for something more than there currently is. All that will be needed in that case will be an addition of set/get functions.
Diffstat (limited to 'lib/dns/include/dns/dynamic_db.h')
-rw-r--r--lib/dns/include/dns/dynamic_db.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/dns/include/dns/dynamic_db.h b/lib/dns/include/dns/dynamic_db.h
index 24147ea..12f7a06 100644
--- a/lib/dns/include/dns/dynamic_db.h
+++ b/lib/dns/include/dns/dynamic_db.h
@@ -22,10 +22,29 @@
#include <dns/types.h>
+/*
+ * TODO:
+ * Reformat the prototypes.
+ * Add annotated comments.
+ */
+
isc_result_t dns_dynamic_db_load(const char *libname, const char *name,
isc_mem_t *mctx, const char * const *argv,
- dns_view_t *view, dns_zonemgr_t *zmgr);
+ dns_dyndb_arguments_t *dyndb_args);
void dns_dynamic_db_cleanup(void);
+dns_dyndb_arguments_t *dns_dyndb_arguments_create(isc_mem_t *mctx);
+void dns_dyndb_arguments_destroy(isc_mem_t *mctx, dns_dyndb_arguments_t *args);
+
+void dns_dyndb_set_view(dns_dyndb_arguments_t *args, dns_view_t *view);
+dns_view_t *dns_dyndb_get_view(dns_dyndb_arguments_t *args);
+void dns_dyndb_set_zonemgr(dns_dyndb_arguments_t *args, dns_zonemgr_t *zmgr);
+dns_zonemgr_t *dns_dyndb_get_zonemgr(dns_dyndb_arguments_t *args);
+void dns_dyndb_set_task(dns_dyndb_arguments_t *args, isc_task_t *task);
+isc_task_t *dns_dyndb_get_task(dns_dyndb_arguments_t *args);
+void dns_dyndb_set_timermgr(dns_dyndb_arguments_t *args,
+ isc_timermgr_t *timermgr);
+isc_timermgr_t *dns_dyndb_get_timermgr(dns_dyndb_arguments_t *args);
+
#endif