diff options
author | Günther Deschner <gd@samba.org> | 2009-10-01 01:30:45 +0200 |
---|---|---|
committer | Günther Deschner <gd@samba.org> | 2009-10-01 11:40:31 +0200 |
commit | c6a7ecf28b5d531b8f8921643b3aa3a01b74151b (patch) | |
tree | 8950ff0303c9ab091607673b930d8346c4fac8cb /source3/utils | |
parent | bbc71486a7baa086309d877b3ff4f67657053500 (diff) | |
download | samba-c6a7ecf28b5d531b8f8921643b3aa3a01b74151b.tar.gz samba-c6a7ecf28b5d531b8f8921643b3aa3a01b74151b.tar.bz2 samba-c6a7ecf28b5d531b8f8921643b3aa3a01b74151b.zip |
s3-registry: move rpccli_winreg_Connect to the only file it belongs.
Guenther
Diffstat (limited to 'source3/utils')
-rw-r--r-- | source3/utils/net_rpc_registry.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/source3/utils/net_rpc_registry.c b/source3/utils/net_rpc_registry.c index d9eb9b3c09..36e83a75af 100644 --- a/source3/utils/net_rpc_registry.c +++ b/source3/utils/net_rpc_registry.c @@ -23,6 +23,46 @@ #include "regfio.h" #include "reg_objects.h" +/******************************************************************* + connect to a registry hive root (open a registry policy) +*******************************************************************/ + +static NTSTATUS rpccli_winreg_Connect(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, + uint32_t reg_type, uint32_t access_mask, + struct policy_handle *reg_hnd) +{ + ZERO_STRUCTP(reg_hnd); + + switch (reg_type) + { + case HKEY_CLASSES_ROOT: + return rpccli_winreg_OpenHKCR( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_LOCAL_MACHINE: + return rpccli_winreg_OpenHKLM( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_USERS: + return rpccli_winreg_OpenHKU( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_CURRENT_USER: + return rpccli_winreg_OpenHKCU( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + case HKEY_PERFORMANCE_DATA: + return rpccli_winreg_OpenHKPD( cli, mem_ctx, NULL, + access_mask, reg_hnd, NULL); + + default: + /* fall through to end of function */ + break; + } + + return NT_STATUS_INVALID_PARAMETER; +} + static bool reg_hive_key(TALLOC_CTX *ctx, const char *fullname, uint32 *reg_type, const char **key_name) { |