関数 | |
BOOL | reghook_cache_init (void) |
BOOL | reghook_cache_add (REGISTRY_HOOK *hook) |
REGISTRY_HOOK * | reghook_cache_find (const char *keyname) |
void | reghook_dump_cache (int debuglevel) |
変数 | |
static SORTED_TREE * | cache_tree |
REGISTRY_OPS | regdb_ops |
static REGISTRY_HOOK | default_hook = { KEY_TREE_ROOT, ®db_ops } |
BOOL reghook_cache_init | ( | void | ) |
reg_cachehook.c の 37 行で定義されています。
参照先 cache_tree・default_hook・pathtree_init().
参照元 init_registry().
00038 { 00039 cache_tree = pathtree_init( &default_hook, NULL ); 00040 00041 return ( cache_tree == NULL ); 00042 }
BOOL reghook_cache_add | ( | REGISTRY_HOOK * | hook | ) |
reg_cachehook.c の 49 行で定義されています。
参照先 cache_tree・REGISTRY_HOOK::keyname・pathtree_add()・pstring_sub().
参照元 init_registry().
00050 { 00051 pstring key; 00052 00053 if ( !hook ) 00054 return False; 00055 00056 pstrcpy( key, "\\"); 00057 pstrcat( key, hook->keyname ); 00058 00059 pstring_sub( key, "\\", "/" ); 00060 00061 DEBUG(10,("reghook_cache_add: Adding key [%s]\n", key)); 00062 00063 return pathtree_add( cache_tree, key, hook ); 00064 }
REGISTRY_HOOK* reghook_cache_find | ( | const char * | keyname | ) |
reg_cachehook.c の 70 行で定義されています。
参照先 cache_tree・len・pathtree_find()・string_sub().
参照元 reg_load_tree()・reg_write_tree()・regkey_open_internal().
00071 { 00072 char *key; 00073 int len; 00074 REGISTRY_HOOK *hook; 00075 00076 if ( !keyname ) 00077 return NULL; 00078 00079 /* prepend the string with a '\' character */ 00080 00081 len = strlen( keyname ); 00082 if ( !(key = (char *)SMB_MALLOC( len + 2 )) ) { 00083 DEBUG(0,("reghook_cache_find: malloc failed for string [%s] !?!?!\n", 00084 keyname)); 00085 return NULL; 00086 } 00087 00088 *key = '\\'; 00089 strncpy( key+1, keyname, len+1); 00090 00091 /* swap to a form understood by the SORTED_TREE */ 00092 00093 string_sub( key, "\\", "/", 0 ); 00094 00095 DEBUG(10,("reghook_cache_find: Searching for keyname [%s]\n", key)); 00096 00097 hook = (REGISTRY_HOOK *)pathtree_find( cache_tree, key ) ; 00098 00099 SAFE_FREE( key ); 00100 00101 return hook; 00102 }
void reghook_dump_cache | ( | int | debuglevel | ) |
reg_cachehook.c の 108 行で定義されています。
参照先 cache_tree・pathtree_print_keys().
参照元 init_registry().
00109 { 00110 DEBUG(debuglevel,("reghook_dump_cache: Starting cache dump now...\n")); 00111 00112 pathtree_print_keys( cache_tree, debuglevel ); 00113 }
SORTED_TREE* cache_tree [static] |
reg_cachehook.c の 29 行で定義されています。
参照元 reghook_cache_add()・reghook_cache_find()・reghook_cache_init()・reghook_dump_cache().
REGISTRY_HOOK default_hook = { KEY_TREE_ROOT, ®db_ops } [static] |