From 0fe1ff99a1aa6858ec0f1cfb1130b801238fc8e2 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Tue, 25 May 2010 01:00:37 +0200 Subject: s3:registry: move reg_objects.h to registry/ and use it only where needed Every place outside of registry/ where this is used, should probably be changed to use pure reg_api.c code. --- source3/include/reg_objects.h | 75 -------------------------- source3/include/registry.h | 2 - source3/libads/ldap_printer.c | 1 + source3/printing/nt_printing.c | 1 + source3/registry/reg_api.c | 1 + source3/registry/reg_backend_current_version.c | 1 + source3/registry/reg_backend_db.c | 1 + source3/registry/reg_backend_hkpt_params.c | 1 + source3/registry/reg_backend_netlogon_params.c | 1 + source3/registry/reg_backend_perflib.c | 1 + source3/registry/reg_backend_printing.c | 1 + source3/registry/reg_backend_prod_options.c | 1 + source3/registry/reg_backend_shares.c | 1 + source3/registry/reg_backend_tcpip_params.c | 1 + source3/registry/reg_eventlog.c | 1 + source3/registry/reg_objects.c | 1 + source3/registry/reg_objects.h | 75 ++++++++++++++++++++++++++ source3/rpc_server/srv_ntsvcs_nt.c | 1 + source3/rpc_server/srv_spoolss_nt.c | 1 + source3/rpc_server/srv_svcctl_nt.c | 1 + source3/rpcclient/cmd_spoolss.c | 1 + source3/services/services_db.c | 1 + source3/utils/net_rpc_printer.c | 1 + source3/utils/net_rpc_registry.c | 1 + source3/utils/profiles.c | 2 +- 25 files changed, 97 insertions(+), 78 deletions(-) delete mode 100644 source3/include/reg_objects.h create mode 100644 source3/registry/reg_objects.h diff --git a/source3/include/reg_objects.h b/source3/include/reg_objects.h deleted file mode 100644 index 8cc74ed1bf..0000000000 --- a/source3/include/reg_objects.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - Samba's Internal Registry objects - - SMB parameters and setup - Copyright (C) Gerald Carter 2002-2006. - - 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_OBJECTS_H /* _REG_OBJECTS_H */ -#define _REG_OBJECTS_H - -/* low level structure to contain registry values */ - -struct regval_blob; - -/* container for registry values */ - -struct regval_ctr; - -/* container for registry subkey names */ - -struct regsubkey_ctr; - -/* The following definitions come from registry/reg_objects.c */ - -WERROR regsubkey_ctr_init(TALLOC_CTX *mem_ctx, struct regsubkey_ctr **ctr); -WERROR regsubkey_ctr_reinit(struct regsubkey_ctr *ctr); -WERROR regsubkey_ctr_set_seqnum(struct regsubkey_ctr *ctr, int seqnum); -int regsubkey_ctr_get_seqnum(struct regsubkey_ctr *ctr); -WERROR regsubkey_ctr_addkey( struct regsubkey_ctr *ctr, const char *keyname ); -WERROR regsubkey_ctr_delkey( struct regsubkey_ctr *ctr, const char *keyname ); -bool regsubkey_ctr_key_exists( struct regsubkey_ctr *ctr, const char *keyname ); -int regsubkey_ctr_numkeys( struct regsubkey_ctr *ctr ); -char* regsubkey_ctr_specific_key( struct regsubkey_ctr *ctr, uint32 key_index ); -WERROR regval_ctr_init(TALLOC_CTX *mem_ctx, struct regval_ctr **ctr); -int regval_ctr_numvals(struct regval_ctr *ctr); -struct regval_blob* dup_registry_value(struct regval_blob *val); -void free_registry_value(struct regval_blob *val); -uint8* regval_data_p(struct regval_blob *val); -uint32 regval_size(struct regval_blob *val); -char* regval_name(struct regval_blob *val); -uint32 regval_type(struct regval_blob *val); -struct regval_blob* regval_ctr_specific_value(struct regval_ctr *ctr, - uint32 idx); -bool regval_ctr_key_exists(struct regval_ctr *ctr, const char *value); -struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name, - uint16 type, - const uint8 *data_p, size_t size); -int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type, - const uint8 *data_p, size_t size); -int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data); -int regval_ctr_addvalue_multi_sz(struct regval_ctr *ctr, const char *name, const char **data); -int regval_ctr_copyvalue(struct regval_ctr *ctr, struct regval_blob *val); -int regval_ctr_delvalue(struct regval_ctr *ctr, const char *name); -struct regval_blob* regval_ctr_getvalue(struct regval_ctr *ctr, - const char *name); -int regval_ctr_get_seqnum(struct regval_ctr *ctr); -WERROR regval_ctr_set_seqnum(struct regval_ctr *ctr, int seqnum); -uint32 regval_dword(struct regval_blob *val); -const char *regval_sz(struct regval_blob *val); - - -#endif /* _REG_OBJECTS_H */ diff --git a/source3/include/registry.h b/source3/include/registry.h index 6b43b522bc..762928f378 100644 --- a/source3/include/registry.h +++ b/source3/include/registry.h @@ -1,8 +1,6 @@ #ifndef _REGISTRY_H #define _REGISTRY_H -#include "reg_objects.h" - /* * A REG_SZ string is not necessarily NULL terminated. When retrieving it from * the net, we guarantee this however. A server might want to push it without diff --git a/source3/libads/ldap_printer.c b/source3/libads/ldap_printer.c index b5321abbf0..48db5ca7d2 100644 --- a/source3/libads/ldap_printer.c +++ b/source3/libads/ldap_printer.c @@ -21,6 +21,7 @@ #include "../librpc/gen_ndr/cli_spoolss.h" #include "rpc_client/cli_spoolss.h" #include "registry.h" +#include "registry/reg_objects.h" #ifdef HAVE_ADS diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index 1823b16a86..42ea5fb7c4 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -23,6 +23,7 @@ #include "librpc/gen_ndr/messaging.h" #include "printing/pcap.h" #include "registry.h" +#include "registry/reg_objects.h" static TDB_CONTEXT *tdb_forms; /* used for forms files */ static TDB_CONTEXT *tdb_drivers; /* used for driver files */ diff --git a/source3/registry/reg_api.c b/source3/registry/reg_api.c index 32759ed6e1..4f3b7a2f86 100644 --- a/source3/registry/reg_api.c +++ b/source3/registry/reg_api.c @@ -70,6 +70,7 @@ #include "reg_backend_db.h" #include "reg_dispatcher.h" #include "reg_util_marshalling.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_current_version.c b/source3/registry/reg_backend_current_version.c index d5d1a496c0..ee4131ae67 100644 --- a/source3/registry/reg_backend_current_version.c +++ b/source3/registry/reg_backend_current_version.c @@ -27,6 +27,7 @@ #include "includes.h" #include "registry.h" #include "reg_util_internal.h" +#include "reg_objects.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 db2dccf4b3..0c906189bc 100644 --- a/source3/registry/reg_backend_db.c +++ b/source3/registry/reg_backend_db.c @@ -25,6 +25,7 @@ #include "reg_db.h" #include "reg_util_internal.h" #include "reg_backend_db.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_hkpt_params.c b/source3/registry/reg_backend_hkpt_params.c index a303e72517..d34d1acf3c 100644 --- a/source3/registry/reg_backend_hkpt_params.c +++ b/source3/registry/reg_backend_hkpt_params.c @@ -27,6 +27,7 @@ #include "includes.h" #include "registry.h" #include "reg_perfcount.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_netlogon_params.c b/source3/registry/reg_backend_netlogon_params.c index 5a5bcce577..b036e75f7e 100644 --- a/source3/registry/reg_backend_netlogon_params.c +++ b/source3/registry/reg_backend_netlogon_params.c @@ -26,6 +26,7 @@ #include "includes.h" #include "registry.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_perflib.c b/source3/registry/reg_backend_perflib.c index da9e8521a7..396ea07e5d 100644 --- a/source3/registry/reg_backend_perflib.c +++ b/source3/registry/reg_backend_perflib.c @@ -28,6 +28,7 @@ #include "registry.h" #include "reg_util_internal.h" #include "reg_perfcount.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_printing.c b/source3/registry/reg_backend_printing.c index 92d7846bc9..a874a62f9d 100644 --- a/source3/registry/reg_backend_printing.c +++ b/source3/registry/reg_backend_printing.c @@ -23,6 +23,7 @@ #include "registry.h" #include "reg_util_internal.h" #include "reg_backend_db.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_prod_options.c b/source3/registry/reg_backend_prod_options.c index 764d98f6d6..655c587ac4 100644 --- a/source3/registry/reg_backend_prod_options.c +++ b/source3/registry/reg_backend_prod_options.c @@ -26,6 +26,7 @@ #include "includes.h" #include "registry.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_shares.c b/source3/registry/reg_backend_shares.c index e211e439fd..3113f0f84c 100644 --- a/source3/registry/reg_backend_shares.c +++ b/source3/registry/reg_backend_shares.c @@ -21,6 +21,7 @@ #include "includes.h" #include "registry.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_backend_tcpip_params.c b/source3/registry/reg_backend_tcpip_params.c index 02bf59c23c..dd132df093 100644 --- a/source3/registry/reg_backend_tcpip_params.c +++ b/source3/registry/reg_backend_tcpip_params.c @@ -26,6 +26,7 @@ #include "includes.h" #include "registry.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_eventlog.c b/source3/registry/reg_eventlog.c index 3fe35542a1..6bedf4635e 100644 --- a/source3/registry/reg_eventlog.c +++ b/source3/registry/reg_eventlog.c @@ -24,6 +24,7 @@ #include "registry.h" #include "reg_backend_db.h" #include "reg_eventlog.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_objects.c b/source3/registry/reg_objects.c index 5555946128..895435d44a 100644 --- a/source3/registry/reg_objects.c +++ b/source3/registry/reg_objects.c @@ -21,6 +21,7 @@ #include "includes.h" #include "registry.h" +#include "reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_REGISTRY diff --git a/source3/registry/reg_objects.h b/source3/registry/reg_objects.h new file mode 100644 index 0000000000..8cc74ed1bf --- /dev/null +++ b/source3/registry/reg_objects.h @@ -0,0 +1,75 @@ +/* + Samba's Internal Registry objects + + SMB parameters and setup + Copyright (C) Gerald Carter 2002-2006. + + 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_OBJECTS_H /* _REG_OBJECTS_H */ +#define _REG_OBJECTS_H + +/* low level structure to contain registry values */ + +struct regval_blob; + +/* container for registry values */ + +struct regval_ctr; + +/* container for registry subkey names */ + +struct regsubkey_ctr; + +/* The following definitions come from registry/reg_objects.c */ + +WERROR regsubkey_ctr_init(TALLOC_CTX *mem_ctx, struct regsubkey_ctr **ctr); +WERROR regsubkey_ctr_reinit(struct regsubkey_ctr *ctr); +WERROR regsubkey_ctr_set_seqnum(struct regsubkey_ctr *ctr, int seqnum); +int regsubkey_ctr_get_seqnum(struct regsubkey_ctr *ctr); +WERROR regsubkey_ctr_addkey( struct regsubkey_ctr *ctr, const char *keyname ); +WERROR regsubkey_ctr_delkey( struct regsubkey_ctr *ctr, const char *keyname ); +bool regsubkey_ctr_key_exists( struct regsubkey_ctr *ctr, const char *keyname ); +int regsubkey_ctr_numkeys( struct regsubkey_ctr *ctr ); +char* regsubkey_ctr_specific_key( struct regsubkey_ctr *ctr, uint32 key_index ); +WERROR regval_ctr_init(TALLOC_CTX *mem_ctx, struct regval_ctr **ctr); +int regval_ctr_numvals(struct regval_ctr *ctr); +struct regval_blob* dup_registry_value(struct regval_blob *val); +void free_registry_value(struct regval_blob *val); +uint8* regval_data_p(struct regval_blob *val); +uint32 regval_size(struct regval_blob *val); +char* regval_name(struct regval_blob *val); +uint32 regval_type(struct regval_blob *val); +struct regval_blob* regval_ctr_specific_value(struct regval_ctr *ctr, + uint32 idx); +bool regval_ctr_key_exists(struct regval_ctr *ctr, const char *value); +struct regval_blob *regval_compose(TALLOC_CTX *ctx, const char *name, + uint16 type, + const uint8 *data_p, size_t size); +int regval_ctr_addvalue(struct regval_ctr *ctr, const char *name, uint16 type, + const uint8 *data_p, size_t size); +int regval_ctr_addvalue_sz(struct regval_ctr *ctr, const char *name, const char *data); +int regval_ctr_addvalue_multi_sz(struct regval_ctr *ctr, const char *name, const char **data); +int regval_ctr_copyvalue(struct regval_ctr *ctr, struct regval_blob *val); +int regval_ctr_delvalue(struct regval_ctr *ctr, const char *name); +struct regval_blob* regval_ctr_getvalue(struct regval_ctr *ctr, + const char *name); +int regval_ctr_get_seqnum(struct regval_ctr *ctr); +WERROR regval_ctr_set_seqnum(struct regval_ctr *ctr, int seqnum); +uint32 regval_dword(struct regval_blob *val); +const char *regval_sz(struct regval_blob *val); + + +#endif /* _REG_OBJECTS_H */ diff --git a/source3/rpc_server/srv_ntsvcs_nt.c b/source3/rpc_server/srv_ntsvcs_nt.c index ebe117db42..f864dc175d 100644 --- a/source3/rpc_server/srv_ntsvcs_nt.c +++ b/source3/rpc_server/srv_ntsvcs_nt.c @@ -22,6 +22,7 @@ #include "includes.h" #include "../librpc/gen_ndr/srv_ntsvcs.h" #include "registry.h" +#include "registry/reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV diff --git a/source3/rpc_server/srv_spoolss_nt.c b/source3/rpc_server/srv_spoolss_nt.c index 37d1044ef6..81c72c20ae 100644 --- a/source3/rpc_server/srv_spoolss_nt.c +++ b/source3/rpc_server/srv_spoolss_nt.c @@ -32,6 +32,7 @@ #include "rpc_client/init_spoolss.h" #include "librpc/gen_ndr/messaging.h" #include "registry.h" +#include "registry/reg_objects.h" /* macros stolen from s4 spoolss server */ #define SPOOLSS_BUFFER_UNION(fn,info,level) \ diff --git a/source3/rpc_server/srv_svcctl_nt.c b/source3/rpc_server/srv_svcctl_nt.c index 86e329e273..24c67d3baf 100644 --- a/source3/rpc_server/srv_svcctl_nt.c +++ b/source3/rpc_server/srv_svcctl_nt.c @@ -26,6 +26,7 @@ #include "../librpc/gen_ndr/srv_svcctl.h" #include "services/services.h" #include "registry.h" +#include "registry/reg_objects.h" #undef DBGC_CLASS #define DBGC_CLASS DBGC_RPC_SRV diff --git a/source3/rpcclient/cmd_spoolss.c b/source3/rpcclient/cmd_spoolss.c index e2d59be5e0..f4646c43c3 100644 --- a/source3/rpcclient/cmd_spoolss.c +++ b/source3/rpcclient/cmd_spoolss.c @@ -28,6 +28,7 @@ #include "rpc_client/cli_spoolss.h" #include "rpc_client/init_spoolss.h" #include "registry.h" +#include "registry/reg_objects.h" #define RPCCLIENT_PRINTERNAME(_printername, _cli, _arg) \ { \ diff --git a/source3/services/services_db.c b/source3/services/services_db.c index aa99ac9fef..2672b95bca 100644 --- a/source3/services/services_db.c +++ b/source3/services/services_db.c @@ -25,6 +25,7 @@ #include "registry.h" #include "registry/reg_util_legacy.h" #include "registry/reg_dispatcher.h" +#include "registry/reg_objects.h" struct rcinit_file_information { char *description; diff --git a/source3/utils/net_rpc_printer.c b/source3/utils/net_rpc_printer.c index 8822913396..7d8c67fb4d 100644 --- a/source3/utils/net_rpc_printer.c +++ b/source3/utils/net_rpc_printer.c @@ -21,6 +21,7 @@ #include "../librpc/gen_ndr/cli_spoolss.h" #include "rpc_client/cli_spoolss.h" #include "registry.h" +#include "registry/reg_objects.h" /* support itanium as well */ static const struct print_architecture_table_node archi_table[]= { diff --git a/source3/utils/net_rpc_registry.c b/source3/utils/net_rpc_registry.c index db2e8d6205..7f8f5bb6ff 100644 --- a/source3/utils/net_rpc_registry.c +++ b/source3/utils/net_rpc_registry.c @@ -24,6 +24,7 @@ #include "regfio.h" #include "../librpc/gen_ndr/cli_winreg.h" #include "registry/reg_util_marshalling.h" +#include "registry/reg_objects.h" /******************************************************************* connect to a registry hive root (open a registry policy) diff --git a/source3/utils/profiles.c b/source3/utils/profiles.c index f793704be5..ce330a8b16 100644 --- a/source3/utils/profiles.c +++ b/source3/utils/profiles.c @@ -20,7 +20,7 @@ */ #include "includes.h" -#include "reg_objects.h" +#include "registry/reg_objects.h" #include "regfio.h" /* GLOBAL VARIABLES */ -- cgit