db.c revision f030c715007053e4ceb557c78ad5c8cfdedb4240
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * Copyright (C) 2004, 2005, 2007, 2008 Internet Systems Consortium, Inc. ("ISC")
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * Copyright (C) 1999-2001, 2003 Internet Software Consortium.
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * Permission to use, copy, modify, and/or distribute this software for any
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * purpose with or without fee is hereby granted, provided that the above
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * copyright notice and this permission notice appear in all copies.
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * PERFORMANCE OF THIS SOFTWARE.
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff/* $Id: db.c,v 1.89 2009/04/29 22:11:34 marka Exp $ */
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff *** Private Types
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff const char * name;
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff *** Supported DB Implementations Registry
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff * Built in database implementations are registered here.
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graffstatic ISC_LIST(dns_dbimplementation_t) implementations;
f4ce616539dd81322fa4db9676f42ef2e0a19031Michael Graff RUNTIME_CHECK(isc_rwlock_init(&implock, 0, 0) == ISC_R_SUCCESS);
static inline dns_dbimplementation_t *
return (imp);
return (NULL);
return (result);
return (ISC_R_NOTFOUND);
return (ISC_TRUE);
return (ISC_FALSE);
return (ISC_TRUE);
return (ISC_FALSE);
return (ISC_TRUE);
return (ISC_FALSE);
unsigned int options = 0;
return (result);
return (result);
iteratorp));
return (result);
goto freenode;
goto freerdataset;
return (result);
return (ISC_R_EXISTS);
return (ISC_R_NOMEMORY);
return (ISC_R_SUCCESS);
return (ISC_R_NOTFOUND);
return (NULL);
return (ISC_R_NOTFOUND);
return (ISC_R_NOTIMPLEMENTED);
return (ISC_R_NOTFOUND);