From 31e6c93b32b744d13a9566451e0c85e6340e5a30 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Mon, 20 Nov 2006 23:20:07 +0000 Subject: r19807: First attempt at wrapping something sane around the registry API. Will be extended. Volker --- source/include/reg_objects.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'source/include') diff --git a/source/include/reg_objects.h b/source/include/reg_objects.h index 09f124f1c8a..6ddbb89cc75 100644 --- a/source/include/reg_objects.h +++ b/source/include/reg_objects.h @@ -32,6 +32,31 @@ typedef struct { uint8 *data_p; } REGISTRY_VALUE; +/* + * A registry string is not necessarily NULL terminated. When retrieving it + * from the net, we guarantee this however. A server might want to push it + * without the terminator though. + */ + +struct registry_string { + size_t len; + char *str; +}; + +struct registry_value { + enum winreg_Type type; + union { + uint32 dword; + uint64 qword; + struct registry_string sz; + struct { + uint32 num_strings; + struct registry_string *strings; + } multi_sz; + DATA_BLOB binary; + } v; +}; + /* container for registry values */ typedef struct { -- cgit