1/* $NetBSD$ */ 2 3/* 4 * Copyright (C) 2005 Internet Systems Consortium, Inc. ("ISC") 5 * 6 * Permission to use, copy, modify, and distribute this software for any 7 * purpose with or without fee is hereby granted, provided that the above 8 * copyright notice and this permission notice appear in all copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH 11 * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 12 * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, 13 * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 14 * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE 15 * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19/* Id: dlz_drivers.c,v 1.4 2011/03/10 04:36:16 each Exp */ 20 21/*! \file */ 22 23#include <config.h> 24 25#include <isc/result.h> 26 27/* 28 * Pull in declarations for this module's functions. 29 */ 30 31#include <dlz/dlz_drivers.h> 32 33/* 34 * Pull in driver-specific stuff. 35 */ 36 37#ifdef DLZ_STUB 38#include <dlz/dlz_stub_driver.h> 39#endif 40 41#ifdef DLZ_POSTGRES 42#include <dlz/dlz_postgres_driver.h> 43#endif 44 45#ifdef DLZ_MYSQL 46#include <dlz/dlz_mysql_driver.h> 47#endif 48 49#ifdef DLZ_FILESYSTEM 50#include <dlz/dlz_filesystem_driver.h> 51#endif 52 53#ifdef DLZ_BDB 54#include <dlz/dlz_bdb_driver.h> 55#include <dlz/dlz_bdbhpt_driver.h> 56#endif 57 58#ifdef DLZ_LDAP 59#include <dlz/dlz_ldap_driver.h> 60#endif 61 62#ifdef DLZ_ODBC 63#include <dlz/dlz_odbc_driver.h> 64#endif 65 66/*% 67 * Call init functions for all relevant DLZ drivers. 68 */ 69 70isc_result_t 71dlz_drivers_init(void) { 72 73 isc_result_t result = ISC_R_SUCCESS; 74 75#ifdef DLZ_STUB 76 result = dlz_stub_init(); 77 if (result != ISC_R_SUCCESS) 78 return (result); 79#endif 80 81#ifdef DLZ_POSTGRES 82 result = dlz_postgres_init(); 83 if (result != ISC_R_SUCCESS) 84 return (result); 85#endif 86 87#ifdef DLZ_MYSQL 88 result = dlz_mysql_init(); 89 if (result != ISC_R_SUCCESS) 90 return (result); 91#endif 92 93#ifdef DLZ_FILESYSTEM 94 result = dlz_fs_init(); 95 if (result != ISC_R_SUCCESS) 96 return (result); 97#endif 98 99#ifdef DLZ_BDB 100 result = dlz_bdb_init(); 101 if (result != ISC_R_SUCCESS) 102 return (result); 103 result = dlz_bdbhpt_init(); 104 if (result != ISC_R_SUCCESS) 105 return (result); 106#endif 107 108#ifdef DLZ_LDAP 109 result = dlz_ldap_init(); 110 if (result != ISC_R_SUCCESS) 111 return (result); 112#endif 113 114#ifdef DLZ_ODBC 115 result = dlz_odbc_init(); 116 if (result != ISC_R_SUCCESS) 117 return (result); 118#endif 119 120 return (result); 121} 122 123/*% 124 * Call shutdown functions for all relevant DLZ drivers. 125 */ 126 127void 128dlz_drivers_clear(void) { 129 130#ifdef DLZ_STUB 131 dlz_stub_clear(); 132#endif 133 134#ifdef DLZ_POSTGRES 135 dlz_postgres_clear(); 136#endif 137 138#ifdef DLZ_MYSQL 139 dlz_mysql_clear(); 140#endif 141 142#ifdef DLZ_FILESYSTEM 143 dlz_fs_clear(); 144#endif 145 146#ifdef DLZ_BDB 147 dlz_bdb_clear(); 148 dlz_bdbhpt_clear(); 149#endif 150 151#ifdef DLZ_LDAP 152 dlz_ldap_clear(); 153#endif 154 155#ifdef DLZ_ODBC 156 dlz_odbc_clear(); 157#endif 158 159} 160