diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-04-04 16:24:08 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:50:33 -0500 |
commit | c424c2b857fe08587eb81a5c5e3625545119d1c2 (patch) | |
tree | 03505d09ccd72cdfd1218066d355e2d01d403bd0 /source4/registry/reg_cachehook.c | |
parent | 3855ee0164d1c8ff3c3c4ba8a5556d8cfb6546b3 (diff) | |
download | samba-c424c2b857fe08587eb81a5c5e3625545119d1c2.tar.gz samba-c424c2b857fe08587eb81a5c5e3625545119d1c2.tar.bz2 samba-c424c2b857fe08587eb81a5c5e3625545119d1c2.zip |
r20: Add the registry library. Still needs a lot of work,
see source/lib/registry/TODO for details.
(This used to be commit 7cab3a00d7b4b1d95a3bfa6b28f318b4aaa5d493)
Diffstat (limited to 'source4/registry/reg_cachehook.c')
-rw-r--r-- | source4/registry/reg_cachehook.c | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/source4/registry/reg_cachehook.c b/source4/registry/reg_cachehook.c deleted file mode 100644 index 547eed392d..0000000000 --- a/source4/registry/reg_cachehook.c +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Unix SMB/CIFS implementation. - * RPC Pipe client / server routines - * Copyright (C) Gerald Carter 2002. - * - * 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. - */ - -/* Implementation of registry hook cache tree */ - -#include "includes.h" - -#undef DBGC_CLASS -#define DBGC_CLASS DBGC_RPC_SRV - -static SORTED_TREE *cache_tree; -extern REGISTRY_OPS regdb_ops; /* these are the default */ -static REGISTRY_HOOK default_hook = { KEY_TREE_ROOT, ®db_ops }; - -/********************************************************************** - Initialize the cache tree - *********************************************************************/ - -BOOL reghook_cache_init( void ) -{ - cache_tree = sorted_tree_init( &default_hook, NULL, NULL ); - - return ( cache_tree == NULL ); -} - -/********************************************************************** - Add a new REGISTRY_HOOK to the cache. Note that the keyname - is not in the exact format that a SORTED_TREE expects. - *********************************************************************/ - -BOOL reghook_cache_add( REGISTRY_HOOK *hook ) -{ - pstring key; - - if ( !hook ) - return False; - - pstrcpy( key, "\\"); - pstrcat( key, hook->keyname ); - - pstring_sub( key, "\\", "/" ); - - DEBUG(10,("reghook_cache_add: Adding key [%s]\n", key)); - - return sorted_tree_add( cache_tree, key, hook ); -} - -/********************************************************************** - Initialize the cache tree - *********************************************************************/ - -REGISTRY_HOOK* reghook_cache_find( char *keyname ) -{ - char *key; - int len; - REGISTRY_HOOK *hook; - - if ( !keyname ) - return NULL; - - /* prepend the string with a '\' character */ - - len = strlen( keyname ); - if ( !(key = malloc( len + 2 )) ) { - DEBUG(0,("reghook_cache_find: malloc failed for string [%s] !?!?!\n", - keyname)); - return NULL; - } - - *key = '\\'; - strncpy( key+1, keyname, len+1); - - /* swap to a form understood by the SORTED_TREE */ - - string_sub( key, "\\", "/", 0 ); - - DEBUG(10,("reghook_cache_find: Searching for keyname [%s]\n", key)); - - hook = sorted_tree_find( cache_tree, key ) ; - - SAFE_FREE( key ); - - return hook; -} - -/********************************************************************** - Initialize the cache tree - *********************************************************************/ - -void reghook_dump_cache( int debuglevel ) -{ - DEBUG(debuglevel,("reghook_dump_cache: Starting cache dump now...\n")); - - sorted_tree_print_keys( cache_tree, debuglevel ); -} |