1*c0b5d9fbSchristos /* $NetBSD: dlz_drivers.c,v 1.4 2022/09/23 12:15:27 christos Exp $ */ 2e2b1b9c0Schristos 3e2b1b9c0Schristos /* 4e2b1b9c0Schristos * Copyright (C) 2005 Internet Systems Consortium, Inc. ("ISC") 5*c0b5d9fbSchristos * Copyright (C) Internet Systems Consortium, Inc. ("ISC") 6e2b1b9c0Schristos * 7*c0b5d9fbSchristos * SPDX-License-Identifier: MPL-2.0 8e2b1b9c0Schristos * 9*c0b5d9fbSchristos * This Source Code Form is subject to the terms of the Mozilla Public 10*c0b5d9fbSchristos * License, v. 2.0. If a copy of the MPL was not distributed with this 11*c0b5d9fbSchristos * file, you can obtain one at https://mozilla.org/MPL/2.0/. 12*c0b5d9fbSchristos * 13*c0b5d9fbSchristos * See the COPYRIGHT file distributed with this work for additional 14*c0b5d9fbSchristos * information regarding copyright ownership. 15e2b1b9c0Schristos */ 16e2b1b9c0Schristos 17e2b1b9c0Schristos /*! \file */ 18e2b1b9c0Schristos 19e2b1b9c0Schristos #include <isc/result.h> 20e2b1b9c0Schristos 21e2b1b9c0Schristos /* 22e2b1b9c0Schristos * Pull in declarations for this module's functions. 23e2b1b9c0Schristos */ 24e2b1b9c0Schristos 25e2b1b9c0Schristos #include <dlz/dlz_drivers.h> 26e2b1b9c0Schristos 27e2b1b9c0Schristos /* 28e2b1b9c0Schristos * Pull in driver-specific stuff. 29e2b1b9c0Schristos */ 30e2b1b9c0Schristos 31e2b1b9c0Schristos #ifdef DLZ_STUB 32e2b1b9c0Schristos #include <dlz/dlz_stub_driver.h> 339742fdb4Schristos #endif /* ifdef DLZ_STUB */ 34e2b1b9c0Schristos 35e2b1b9c0Schristos #ifdef DLZ_POSTGRES 36e2b1b9c0Schristos #include <dlz/dlz_postgres_driver.h> 379742fdb4Schristos #endif /* ifdef DLZ_POSTGRES */ 38e2b1b9c0Schristos 39e2b1b9c0Schristos #ifdef DLZ_MYSQL 40e2b1b9c0Schristos #include <dlz/dlz_mysql_driver.h> 419742fdb4Schristos #endif /* ifdef DLZ_MYSQL */ 42e2b1b9c0Schristos 43e2b1b9c0Schristos #ifdef DLZ_FILESYSTEM 44e2b1b9c0Schristos #include <dlz/dlz_filesystem_driver.h> 459742fdb4Schristos #endif /* ifdef DLZ_FILESYSTEM */ 46e2b1b9c0Schristos 47e2b1b9c0Schristos #ifdef DLZ_BDB 48e2b1b9c0Schristos #include <dlz/dlz_bdb_driver.h> 49e2b1b9c0Schristos #include <dlz/dlz_bdbhpt_driver.h> 509742fdb4Schristos #endif /* ifdef DLZ_BDB */ 51e2b1b9c0Schristos 52e2b1b9c0Schristos #ifdef DLZ_LDAP 53e2b1b9c0Schristos #include <dlz/dlz_ldap_driver.h> 549742fdb4Schristos #endif /* ifdef DLZ_LDAP */ 55e2b1b9c0Schristos 56e2b1b9c0Schristos #ifdef DLZ_ODBC 57e2b1b9c0Schristos #include <dlz/dlz_odbc_driver.h> 589742fdb4Schristos #endif /* ifdef DLZ_ODBC */ 59e2b1b9c0Schristos 60e2b1b9c0Schristos /*% 61e2b1b9c0Schristos * Call init functions for all relevant DLZ drivers. 62e2b1b9c0Schristos */ 63e2b1b9c0Schristos 64e2b1b9c0Schristos isc_result_t dlz_drivers_init(void)65e2b1b9c0Schristosdlz_drivers_init(void) { 66e2b1b9c0Schristos isc_result_t result = ISC_R_SUCCESS; 67e2b1b9c0Schristos 68e2b1b9c0Schristos #ifdef DLZ_STUB 69e2b1b9c0Schristos result = dlz_stub_init(); 709742fdb4Schristos if (result != ISC_R_SUCCESS) { 71e2b1b9c0Schristos return (result); 729742fdb4Schristos } 739742fdb4Schristos #endif /* ifdef DLZ_STUB */ 74e2b1b9c0Schristos 75e2b1b9c0Schristos #ifdef DLZ_POSTGRES 76e2b1b9c0Schristos result = dlz_postgres_init(); 779742fdb4Schristos if (result != ISC_R_SUCCESS) { 78e2b1b9c0Schristos return (result); 799742fdb4Schristos } 809742fdb4Schristos #endif /* ifdef DLZ_POSTGRES */ 81e2b1b9c0Schristos 82e2b1b9c0Schristos #ifdef DLZ_MYSQL 83e2b1b9c0Schristos result = dlz_mysql_init(); 849742fdb4Schristos if (result != ISC_R_SUCCESS) { 85e2b1b9c0Schristos return (result); 869742fdb4Schristos } 879742fdb4Schristos #endif /* ifdef DLZ_MYSQL */ 88e2b1b9c0Schristos 89e2b1b9c0Schristos #ifdef DLZ_FILESYSTEM 90e2b1b9c0Schristos result = dlz_fs_init(); 919742fdb4Schristos if (result != ISC_R_SUCCESS) { 92e2b1b9c0Schristos return (result); 939742fdb4Schristos } 949742fdb4Schristos #endif /* ifdef DLZ_FILESYSTEM */ 95e2b1b9c0Schristos 96e2b1b9c0Schristos #ifdef DLZ_BDB 97e2b1b9c0Schristos result = dlz_bdb_init(); 989742fdb4Schristos if (result != ISC_R_SUCCESS) { 99e2b1b9c0Schristos return (result); 1009742fdb4Schristos } 101e2b1b9c0Schristos result = dlz_bdbhpt_init(); 1029742fdb4Schristos if (result != ISC_R_SUCCESS) { 103e2b1b9c0Schristos return (result); 1049742fdb4Schristos } 1059742fdb4Schristos #endif /* ifdef DLZ_BDB */ 106e2b1b9c0Schristos 107e2b1b9c0Schristos #ifdef DLZ_LDAP 108e2b1b9c0Schristos result = dlz_ldap_init(); 1099742fdb4Schristos if (result != ISC_R_SUCCESS) { 110e2b1b9c0Schristos return (result); 1119742fdb4Schristos } 1129742fdb4Schristos #endif /* ifdef DLZ_LDAP */ 113e2b1b9c0Schristos 114e2b1b9c0Schristos #ifdef DLZ_ODBC 115e2b1b9c0Schristos result = dlz_odbc_init(); 1169742fdb4Schristos if (result != ISC_R_SUCCESS) { 117e2b1b9c0Schristos return (result); 1189742fdb4Schristos } 1199742fdb4Schristos #endif /* ifdef DLZ_ODBC */ 120e2b1b9c0Schristos 121e2b1b9c0Schristos return (result); 122e2b1b9c0Schristos } 123e2b1b9c0Schristos 124e2b1b9c0Schristos /*% 125e2b1b9c0Schristos * Call shutdown functions for all relevant DLZ drivers. 126e2b1b9c0Schristos */ 127e2b1b9c0Schristos 128e2b1b9c0Schristos void dlz_drivers_clear(void)129e2b1b9c0Schristosdlz_drivers_clear(void) { 130e2b1b9c0Schristos #ifdef DLZ_STUB 131e2b1b9c0Schristos dlz_stub_clear(); 1329742fdb4Schristos #endif /* ifdef DLZ_STUB */ 133e2b1b9c0Schristos 134e2b1b9c0Schristos #ifdef DLZ_POSTGRES 135e2b1b9c0Schristos dlz_postgres_clear(); 1369742fdb4Schristos #endif /* ifdef DLZ_POSTGRES */ 137e2b1b9c0Schristos 138e2b1b9c0Schristos #ifdef DLZ_MYSQL 139e2b1b9c0Schristos dlz_mysql_clear(); 1409742fdb4Schristos #endif /* ifdef DLZ_MYSQL */ 141e2b1b9c0Schristos 142e2b1b9c0Schristos #ifdef DLZ_FILESYSTEM 143e2b1b9c0Schristos dlz_fs_clear(); 1449742fdb4Schristos #endif /* ifdef DLZ_FILESYSTEM */ 145e2b1b9c0Schristos 146e2b1b9c0Schristos #ifdef DLZ_BDB 147e2b1b9c0Schristos dlz_bdb_clear(); 148e2b1b9c0Schristos dlz_bdbhpt_clear(); 1499742fdb4Schristos #endif /* ifdef DLZ_BDB */ 150e2b1b9c0Schristos 151e2b1b9c0Schristos #ifdef DLZ_LDAP 152e2b1b9c0Schristos dlz_ldap_clear(); 1539742fdb4Schristos #endif /* ifdef DLZ_LDAP */ 154e2b1b9c0Schristos 155e2b1b9c0Schristos #ifdef DLZ_ODBC 156e2b1b9c0Schristos dlz_odbc_clear(); 1579742fdb4Schristos #endif /* ifdef DLZ_ODBC */ 158e2b1b9c0Schristos } 159