From d335f292ce10824d483eff8d34fb0444e3d91f23 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 24 May 2010 22:42:00 +0200 Subject: [PATCH] s3:registry: extract the reg_backend_db prototypes into their own header. And use them only where needed. --- source3/include/registry.h | 18 ----------- source3/lib/smbconf/smbconf_reg.c | 1 + source3/libgpo/gpo_reg.c | 1 + source3/registry/reg_api.c | 1 + source3/registry/reg_backend_db.c | 1 + source3/registry/reg_backend_db.h | 41 +++++++++++++++++++++++++ source3/registry/reg_backend_printing.c | 1 + source3/registry/reg_eventlog.c | 1 + source3/registry/reg_init_basic.c | 1 + source3/registry/reg_init_full.c | 1 + source3/registry/reg_init_smbconf.c | 1 + source3/utils/eventlogadm.c | 1 + 12 files changed, 51 insertions(+), 18 deletions(-) create mode 100644 source3/registry/reg_backend_db.h diff --git a/source3/include/registry.h b/source3/include/registry.h index 1cb0ea357f7..ac4489d468e 100644 --- a/source3/include/registry.h +++ b/source3/include/registry.h @@ -56,24 +56,6 @@ WERROR reg_create_path(TALLOC_CTX *mem_ctx, const char *orig_path, WERROR reg_delete_path(const struct nt_user_token *token, const char *orig_path); -/* The following definitions come from registry/reg_backend_db.c */ - -WERROR init_registry_key(const char *add_path); -WERROR init_registry_data(void); -WERROR regdb_init(void); -WERROR regdb_open( void ); -int regdb_close( void ); -WERROR regdb_transaction_start(void); -WERROR regdb_transaction_commit(void); -WERROR regdb_transaction_cancel(void); -int regdb_get_seqnum(void); -bool regdb_store_keys(const char *key, struct regsubkey_ctr *ctr); -int regdb_fetch_keys(const char *key, struct regsubkey_ctr *ctr); -int regdb_fetch_values(const char* key, struct regval_ctr *values); -bool regdb_store_values(const char *key, struct regval_ctr *values); -bool regdb_subkeys_need_update(struct regsubkey_ctr *subkeys); -bool regdb_values_need_update(struct regval_ctr *values); - /* The following definitions come from registry/reg_dispatcher.c */ bool store_reg_keys(struct registry_key_handle *key, diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index 6c500785a06..f6602676e21 100644 --- a/source3/lib/smbconf/smbconf_reg.c +++ b/source3/lib/smbconf/smbconf_reg.c @@ -20,6 +20,7 @@ #include "includes.h" #include "lib/smbconf/smbconf_private.h" #include "registry.h" +#include "registry/reg_backend_db.h" #include "lib/smbconf/smbconf_init.h" #include "lib/smbconf/smbconf_reg.h" diff --git a/source3/libgpo/gpo_reg.c b/source3/libgpo/gpo_reg.c index 5f6a97cec7d..c4970f60182 100644 --- a/source3/libgpo/gpo_reg.c +++ b/source3/libgpo/gpo_reg.c @@ -21,6 +21,7 @@ #include "../libgpo/gpo.h" #include "libgpo/gpo_proto.h" #include "registry.h" +#include "registry/reg_backend_db.h" /**************************************************************** diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c index ff2932c328c..2b2b5b9c0ef 100644 --- a/source3/registry/reg_api.c +++ b/source3/registry/reg_api.c @@ -67,6 +67,7 @@ #include "reg_cachehook.h" #include "regfio.h" #include "reg_util.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_db.c b/source3/registry/reg_backend_db.c index 8f7930d7f87..472cef022b1 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -24,6 +24,7 @@ #include "registry.h" #include "reg_db.h" #include "reg_util.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_db.h b/source3/registry/reg_backend_db.h new file mode 100644 index 00000000000..fbdcfb41855 --- /dev/null +++ b/source3/registry/reg_backend_db.h @@ -0,0 +1,41 @@ +/* + * Unix SMB/CIFS implementation. + * Virtual Windows Registry Layer + * Copyright (C) Gerald Carter 2002-2005 + * Copyright (C) Michael Adam 2007-2009 + * + * 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 3 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, see . + */ + +#ifndef _REG_BACKEND_DB_H +#define _REG_BACKEND_DB_H + + +WERROR init_registry_key(const char *add_path); +WERROR init_registry_data(void); +WERROR regdb_init(void); +WERROR regdb_open( void ); +int regdb_close( void ); +WERROR regdb_transaction_start(void); +WERROR regdb_transaction_commit(void); +WERROR regdb_transaction_cancel(void); +int regdb_get_seqnum(void); +bool regdb_store_keys(const char *key, struct regsubkey_ctr *ctr); +int regdb_fetch_keys(const char *key, struct regsubkey_ctr *ctr); +int regdb_fetch_values(const char* key, struct regval_ctr *values); +bool regdb_store_values(const char *key, struct regval_ctr *values); +bool regdb_subkeys_need_update(struct regsubkey_ctr *subkeys); +bool regdb_values_need_update(struct regval_ctr *values); + +#endif /* _REG_BACKEND_DB_H */ diff --git a/source3/registry/reg_backend_printing.c b/source3/registry/reg_backend_printing.c index 08acb09b55d..5c0bfc2833d 100644 --- a/source3/registry/reg_backend_printing.c +++ b/source3/registry/reg_backend_printing.c @@ -22,6 +22,7 @@ #include "includes.h" #include "registry.h" #include "reg_util.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_eventlog.c b/source3/registry/reg_eventlog.c index 1ef932f17a9..43b6bb8968d 100644 --- a/source3/registry/reg_eventlog.c +++ b/source3/registry/reg_eventlog.c @@ -22,6 +22,7 @@ #include "includes.h" #include "registry.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_init_basic.c b/source3/registry/reg_init_basic.c index 0ad98a62651..097be39b33e 100644 --- a/source3/registry/reg_init_basic.c +++ b/source3/registry/reg_init_basic.c @@ -20,6 +20,7 @@ #include "includes.h" #include "registry.h" #include "reg_cachehook.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_init_full.c b/source3/registry/reg_init_full.c index f211112ce3b..2eec48a8ea6 100644 --- a/source3/registry/reg_init_full.c +++ b/source3/registry/reg_init_full.c @@ -23,6 +23,7 @@ #include "includes.h" #include "registry.h" #include "reg_cachehook.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_init_smbconf.c b/source3/registry/reg_init_smbconf.c index 6ba0e47c494..394de5883d7 100644 --- a/source3/registry/reg_init_smbconf.c +++ b/source3/registry/reg_init_smbconf.c @@ -20,6 +20,7 @@ #include "includes.h" #include "registry.h" #include "reg_cachehook.h" +#include "reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/utils/eventlogadm.c b/source3/utils/eventlogadm.c index 63329dea223..7dbcf7d3713 100644 --- a/source3/utils/eventlogadm.c +++ b/source3/utils/eventlogadm.c @@ -25,6 +25,7 @@ #include "includes.h" #include "lib/eventlog/eventlog.h" #include "registry.h" +#include "registry/reg_backend_db.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_UTIL_EVENTLOG -- 2.34.1