From b11cc305083844052d0b82560e3a7006b3520f14 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 21 Sep 2010 08:11:18 +0200 Subject: s3:registry: move the reg_api prototypes to their own header. --- libgpo/gpext/gpext.c | 1 + source3/include/registry.h | 47 ----------------------- source3/lib/smbconf/smbconf_reg.c | 1 + source3/libgpo/gpo_reg.c | 1 + source3/registry/reg_api.c | 1 + source3/registry/reg_api.h | 72 ++++++++++++++++++++++++++++++++++++ source3/registry/reg_api_util.c | 1 + source3/rpc_server/srv_eventlog_nt.c | 1 + source3/rpc_server/srv_winreg_nt.c | 1 + source3/services/services_db.c | 1 + source3/utils/net_registry.c | 1 + 11 files changed, 81 insertions(+), 47 deletions(-) create mode 100644 source3/registry/reg_api.h diff --git a/libgpo/gpext/gpext.c b/libgpo/gpext/gpext.c index 6b81575024..8c70f65221 100644 --- a/libgpo/gpext/gpext.c +++ b/libgpo/gpext/gpext.c @@ -25,6 +25,7 @@ #if _SAMBA_BUILD_ == 3 #include "libgpo/gpo_proto.h" #include "registry.h" +#include "registry/reg_api.h" #endif static struct gp_extension *extensions = NULL; diff --git a/source3/include/registry.h b/source3/include/registry.h index 600fffe679..3a8a7aaabf 100644 --- a/source3/include/registry.h +++ b/source3/include/registry.h @@ -130,53 +130,6 @@ struct registry_key { #define REG_KEY_HKPT 2 -/* The following definitions come from registry/reg_api.c */ - -WERROR reg_openhive(TALLOC_CTX *mem_ctx, const char *hive, - uint32 desired_access, - const struct security_token *token, - struct registry_key **pkey); -WERROR reg_openkey(TALLOC_CTX *mem_ctx, struct registry_key *parent, - const char *name, uint32 desired_access, - struct registry_key **pkey); -WERROR reg_enumkey(TALLOC_CTX *mem_ctx, struct registry_key *key, - uint32 idx, char **name, NTTIME *last_write_time); -WERROR reg_enumvalue(TALLOC_CTX *mem_ctx, struct registry_key *key, - uint32 idx, char **pname, struct registry_value **pval); -WERROR reg_queryvalue(TALLOC_CTX *mem_ctx, struct registry_key *key, - const char *name, struct registry_value **pval); -WERROR reg_querymultiplevalues(TALLOC_CTX *mem_ctx, - struct registry_key *key, - uint32_t num_names, - const char **names, - uint32_t *pnum_vals, - struct registry_value **pvals); -WERROR reg_queryinfokey(struct registry_key *key, uint32_t *num_subkeys, - uint32_t *max_subkeylen, uint32_t *max_subkeysize, - uint32_t *num_values, uint32_t *max_valnamelen, - uint32_t *max_valbufsize, uint32_t *secdescsize, - NTTIME *last_changed_time); -WERROR reg_createkey(TALLOC_CTX *ctx, struct registry_key *parent, - const char *subkeypath, uint32 desired_access, - struct registry_key **pkey, - enum winreg_CreateAction *paction); -WERROR reg_deletekey(struct registry_key *parent, const char *path); -WERROR reg_setvalue(struct registry_key *key, const char *name, - const struct registry_value *val); -WERROR reg_deletevalue(struct registry_key *key, const char *name); -WERROR reg_getkeysecurity(TALLOC_CTX *mem_ctx, struct registry_key *key, - struct security_descriptor **psecdesc); -WERROR reg_setkeysecurity(struct registry_key *key, - struct security_descriptor *psecdesc); -WERROR reg_getversion(uint32_t *version); -WERROR reg_deleteallvalues(struct registry_key *key); -WERROR reg_deletekey_recursive(TALLOC_CTX *ctx, - struct registry_key *parent, - const char *path); -WERROR reg_deletesubkeys_recursive(TALLOC_CTX *ctx, - struct registry_key *parent, - const char *path); - /* The following definitions come from registry/reg_api_regf.c */ WERROR reg_restorekey(struct registry_key *key, const char *fname); diff --git a/source3/lib/smbconf/smbconf_reg.c b/source3/lib/smbconf/smbconf_reg.c index cafa3bfee4..f6d6bd7104 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_api.h" #include "registry/reg_backend_db.h" #include "registry/reg_util_token.h" #include "registry/reg_api_util.h" diff --git a/source3/libgpo/gpo_reg.c b/source3/libgpo/gpo_reg.c index 8c05b2f132..851fddcf20 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_api.h" #include "registry/reg_backend_db.h" #include "registry/reg_api_util.h" diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c index 2e40f2c504..31950f75cb 100644 --- a/source3/registry/reg_api.c +++ b/source3/registry/reg_api.c @@ -64,6 +64,7 @@ #include "includes.h" #include "registry.h" +#include "reg_api.h" #include "reg_cachehook.h" #include "reg_util_internal.h" #include "reg_backend_db.h" diff --git a/source3/registry/reg_api.h b/source3/registry/reg_api.h new file mode 100644 index 0000000000..2a4f6dbbf6 --- /dev/null +++ b/source3/registry/reg_api.h @@ -0,0 +1,72 @@ +/* + * Unix SMB/CIFS implementation. + * + * Virtual Windows Registry Layer + * + * Copyright (C) Volker Lendecke 2006 + * Copyright (C) Michael Adam 2007-2010 + * + * 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_API_H +#define _REG_API_H + +WERROR reg_openhive(TALLOC_CTX *mem_ctx, const char *hive, + uint32 desired_access, + const struct security_token *token, + struct registry_key **pkey); +WERROR reg_openkey(TALLOC_CTX *mem_ctx, struct registry_key *parent, + const char *name, uint32 desired_access, + struct registry_key **pkey); +WERROR reg_enumkey(TALLOC_CTX *mem_ctx, struct registry_key *key, + uint32 idx, char **name, NTTIME *last_write_time); +WERROR reg_enumvalue(TALLOC_CTX *mem_ctx, struct registry_key *key, + uint32 idx, char **pname, struct registry_value **pval); +WERROR reg_queryvalue(TALLOC_CTX *mem_ctx, struct registry_key *key, + const char *name, struct registry_value **pval); +WERROR reg_querymultiplevalues(TALLOC_CTX *mem_ctx, + struct registry_key *key, + uint32_t num_names, + const char **names, + uint32_t *pnum_vals, + struct registry_value **pvals); +WERROR reg_queryinfokey(struct registry_key *key, uint32_t *num_subkeys, + uint32_t *max_subkeylen, uint32_t *max_subkeysize, + uint32_t *num_values, uint32_t *max_valnamelen, + uint32_t *max_valbufsize, uint32_t *secdescsize, + NTTIME *last_changed_time); +WERROR reg_createkey(TALLOC_CTX *ctx, struct registry_key *parent, + const char *subkeypath, uint32 desired_access, + struct registry_key **pkey, + enum winreg_CreateAction *paction); +WERROR reg_deletekey(struct registry_key *parent, const char *path); +WERROR reg_setvalue(struct registry_key *key, const char *name, + const struct registry_value *val); +WERROR reg_deletevalue(struct registry_key *key, const char *name); +WERROR reg_getkeysecurity(TALLOC_CTX *mem_ctx, struct registry_key *key, + struct security_descriptor **psecdesc); +WERROR reg_setkeysecurity(struct registry_key *key, + struct security_descriptor *psecdesc); +WERROR reg_getversion(uint32_t *version); +WERROR reg_deleteallvalues(struct registry_key *key); +WERROR reg_deletekey_recursive(TALLOC_CTX *ctx, + struct registry_key *parent, + const char *path); +WERROR reg_deletesubkeys_recursive(TALLOC_CTX *ctx, + struct registry_key *parent, + const char *path); + + +#endif /* _REG_API_H */ diff --git a/source3/registry/reg_api_util.c b/source3/registry/reg_api_util.c index 592b370d3b..045ad21517 100644 --- a/source3/registry/reg_api_util.c +++ b/source3/registry/reg_api_util.c @@ -24,6 +24,7 @@ #include "includes.h" #include "registry.h" +#include "reg_api.h" #include "reg_api_util.h" /** diff --git a/source3/rpc_server/srv_eventlog_nt.c b/source3/rpc_server/srv_eventlog_nt.c index de3439eb93..7c2cc1ce9a 100644 --- a/source3/rpc_server/srv_eventlog_nt.c +++ b/source3/rpc_server/srv_eventlog_nt.c @@ -24,6 +24,7 @@ #include "../librpc/gen_ndr/srv_eventlog.h" #include "lib/eventlog/eventlog.h" #include "registry.h" +#include "registry/reg_api.h" #include "registry/reg_api_util.h" #undef DBGC_CLASS diff --git a/source3/rpc_server/srv_winreg_nt.c b/source3/rpc_server/srv_winreg_nt.c index ab43f6580a..fbcf76d53b 100644 --- a/source3/rpc_server/srv_winreg_nt.c +++ b/source3/rpc_server/srv_winreg_nt.c @@ -24,6 +24,7 @@ #include "../librpc/gen_ndr/srv_winreg.h" #include "registry/reg_parse_prs.h" #include "registry.h" +#include "registry/reg_api.h" #include "registry/reg_perfcount.h" #include "rpc_misc.h" diff --git a/source3/services/services_db.c b/source3/services/services_db.c index 7de613efc0..a224ab22c7 100644 --- a/source3/services/services_db.c +++ b/source3/services/services_db.c @@ -23,6 +23,7 @@ #include "includes.h" #include "services/services.h" #include "registry.h" +#include "registry/reg_api.h" #include "registry/reg_api_util.h" struct rcinit_file_information { diff --git a/source3/utils/net_registry.c b/source3/utils/net_registry.c index 31703223e9..751972515f 100644 --- a/source3/utils/net_registry.c +++ b/source3/utils/net_registry.c @@ -21,6 +21,7 @@ #include "includes.h" #include "registry.h" +#include "registry/reg_api.h" #include "registry/reg_util_token.h" #include "utils/net.h" #include "utils/net_registry_util.h" -- cgit