#ifndef _REGISTRY_H /* _REGISTRY_H */
#define _REGISTRY_H
-
-enum hkeys {
+/* Handles for the predefined keys */
+enum reg_predefined_key {
HKEY_CLASSES_ROOT = 0x80000000,
HKEY_CURRENT_USER = 0x80000001,
HKEY_LOCAL_MACHINE = 0x80000002,
HKEY_PERFORMANCE_DATA = 0x80000004,
HKEY_CURRENT_CONFIG = 0x80000005,
HKEY_DYN_DATA = 0x80000006,
- HKEY_PT = 0x80000007, /* Don't know if this is correct! */
- HKEY_PN = 0x80000008 /* Don't know if this is correct! */
+ HKEY_PERFORMANCE_TEXT = 0x80000050,
+ HKEY_PERFORMANCE_NLSTEXT= 0x80000060
};
/* Registry data types */
}
static struct {
- uint32 hkey;
+ enum reg_predefined_key handle;
const char *name;
} hkey_names[] =
{
{HKEY_USERS, "HKEY_USERS" },
{HKEY_CURRENT_CONFIG, "HKEY_CURRENT_CONFIG" },
{HKEY_DYN_DATA, "HKEY_DYN_DATA" },
- {HKEY_PT, "HKEY_PT" },
- {HKEY_PN, "HKEY_PN" },
+ {HKEY_PERFORMANCE_TEXT, "HKEY_PERFORMANCE_TEXT" },
+ {HKEY_PERFORMANCE_NLSTEXT, "HKEY_PERFORMANCE_NLSTEXT" },
{ 0, NULL }
};
-int reg_list_hives(TALLOC_CTX *mem_ctx, char ***hives, uint32_t **hkeys)
+int reg_list_predefs(TALLOC_CTX *mem_ctx, char ***hives, enum reg_predefined_key **hkeys)
{
int i;
*hives = talloc_array_p(mem_ctx, char *, ARRAY_SIZE(hkey_names));
- *hkeys = talloc_array_p(mem_ctx, uint32_t, ARRAY_SIZE(hkey_names));
+ *hkeys = talloc_array_p(mem_ctx, enum reg_predefined_key, ARRAY_SIZE(hkey_names));
for (i = 0; hkey_names[i].name; i++) {
(*hives)[i] = talloc_strdup(mem_ctx, hkey_names[i].name);
- (*hkeys)[i] = hkey_names[i].hkey;
+ (*hkeys)[i] = hkey_names[i].handle;
}
return i;
}
-const char *reg_get_hkey_name(uint32_t hkey)
+const char *reg_get_hkey_name(enum reg_predefined_key hkey)
{
int i;
for (i = 0; hkey_names[i].name; i++) {
- if (hkey_names[i].hkey == hkey) return hkey_names[i].name;
+ if (hkey_names[i].handle == hkey) return hkey_names[i].name;
}
return NULL;
int i;
for (i = 0; hkey_names[i].name; i++) {
- if (!strcmp(hkey_names[i].name, name)) return reg_get_hive(ctx, hkey_names[i].hkey, key);
+ if (!strcmp(hkey_names[i].name, name)) return reg_get_hive(ctx, hkey_names[i].handle, key);
}
DEBUG(1, ("No hive with name '%s'\n", name));
return WERR_OK;
}
-WERROR reg_get_hive(struct registry_context *ctx, uint32_t hkey, struct registry_key **key)
+WERROR reg_get_hive(struct registry_context *ctx, enum reg_predefined_key hkey, struct registry_key **key)
{
WERROR ret = ctx->get_hive(ctx, hkey, key);
if (!h) {
print_tree(0, root, fullpath, no_values);
} else {
- for(i = HKEY_CLASSES_ROOT; i < HKEY_PN; i++) {
+ for(i = HKEY_CLASSES_ROOT; i < HKEY_PERFORMANCE_NLSTEXT; i++) {
error = reg_get_hive(h, i, &root);
if (!W_ERROR_IS_OK(error)) {
fprintf(stderr, "Skipping %s\n", reg_get_hkey_name(i));
func_winreg_OpenHive(HKU,HKEY_USERS)
func_winreg_OpenHive(HKCC,HKEY_CURRENT_CONFIG)
func_winreg_OpenHive(HKDD,HKEY_DYN_DATA)
-func_winreg_OpenHive(HKPT,HKEY_PT)
-func_winreg_OpenHive(HKPN,HKEY_PN)
+func_winreg_OpenHive(HKPT,HKEY_PERFORMANCE_TEXT)
+func_winreg_OpenHive(HKPN,HKEY_PERFORMANCE_NLSTEXT)
/*
winreg_CloseKey