Author: metze Date: 2007-01-12 17:58:38 +0000 (Fri, 12 Jan 2007) New Revision: 20716
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=20716 Log: add a dsdb_cache ldb module which will load the dsdb_schema and other things on startup into memory structures in future. metze Added: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/dsdb_cache.c Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/config.mk Changeset: Modified: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/config.mk =================================================================== --- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/config.mk 2007-01-12 17:26:55 UTC (rev 20715) +++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/config.mk 2007-01-12 17:58:38 UTC (rev 20716) @@ -23,6 +23,17 @@ ################################################ ################################################ +# Start MODULE ldb_dsdb_cache +[MODULE::ldb_dsdb_cache] +SUBSYSTEM = ldb +PRIVATE_DEPENDENCIES = SAMDB LIBTALLOC +INIT_FUNCTION = dsdb_cache_module_init +OBJ_FILES = \ + dsdb_cache.o +# End MODULE ldb_dsdb_cache +################################################ + +################################################ # Start MODULE ldb_samldb [MODULE::ldb_samldb] SUBSYSTEM = ldb Added: branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/dsdb_cache.c =================================================================== --- branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/dsdb_cache.c 2007-01-12 17:26:55 UTC (rev 20715) +++ branches/SAMBA_4_0/source/dsdb/samdb/ldb_modules/dsdb_cache.c 2007-01-12 17:58:38 UTC (rev 20716) @@ -0,0 +1,48 @@ +/* + Unix SMB/CIFS mplementation. + + The Module that loads some DSDB related things + into memory. E.g. it loads the dsdb_schema struture + + Copyright (C) Stefan Metzmacher 2007 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + +#include "includes.h" +#include "lib/ldb/include/ldb.h" +#include "lib/ldb/include/ldb_errors.h" +#include "lib/ldb/include/ldb_private.h" +#include "dsdb/samdb/samdb.h" +#include "librpc/gen_ndr/ndr_misc.h" +#include "librpc/gen_ndr/ndr_drsuapi.h" +#include "librpc/gen_ndr/ndr_drsblobs.h" + +static int dsdb_cache_init(struct ldb_module *module) +{ + /* TODO: load the schema */ + return ldb_next_init(module); +} + +static const struct ldb_module_ops dsdb_cache_ops = { + .name = "dsdb_cache", + .init_context = dsdb_cache_init +}; + +int dsdb_cache_module_init(void) +{ + return ldb_register_module(&dsdb_cache_ops); +}