summaryrefslogtreecommitdiff
path: root/source4/lib/registry/regf.idl
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-09-04 02:09:32 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:36:30 -0500
commit23e6e07b280983b2ccdf60deac3c32584af16140 (patch)
tree642179d98466d364d822a58908511f66156af796 /source4/lib/registry/regf.idl
parent16788f27a8f56f39f6d272427655b9869d6c3005 (diff)
downloadsamba-23e6e07b280983b2ccdf60deac3c32584af16140.tar.gz
samba-23e6e07b280983b2ccdf60deac3c32584af16140.tar.bz2
samba-23e6e07b280983b2ccdf60deac3c32584af16140.zip
r10020: Support for malloc / realloc / free in HBIN blocks
Initial support for adding keys (still broken though) (This used to be commit ff8d3a27c1b9bb37de39e7d7b974702b2b8c4437)
Diffstat (limited to 'source4/lib/registry/regf.idl')
-rw-r--r--source4/lib/registry/regf.idl13
1 files changed, 8 insertions, 5 deletions
diff --git a/source4/lib/registry/regf.idl b/source4/lib/registry/regf.idl
index 3b0a66fc54..85a879cc36 100644
--- a/source4/lib/registry/regf.idl
+++ b/source4/lib/registry/regf.idl
@@ -64,8 +64,11 @@ interface regf
uint32 block_size; /* Block size (including the header!) */
uint8 data[offset_to_next-0x20];
/* data is filled with:
- uint32 length
- uint8_t data[length]
+ uint32 length;
+ Negative if in used, positive otherwise
+ Always a multiple of 8
+ uint8_t data[length];
+ Free space marker if 0xffffffff
*/
} hbin_block;
@@ -94,7 +97,7 @@ interface regf
uint32 sk_offset;
uint32 clsname_offset;
uint32 unk3[5];
- uint16 name_length;
+ [value(strlen(key_name))] uint16 name_length;
uint16 clsname_length;
[charset(DOS)] uint8 key_name[name_length];
} nk_block;
@@ -137,7 +140,7 @@ interface regf
/* The vk-record consists information to a single value (value key). */
typedef [public,noprint] struct {
[charset(DOS)] uint8 header[2];
- uint16 name_length;
+ [value(strlen(data_name))] uint16 name_length;
uint32 data_length; /* If top-bit set, offset contains the data */
uint32 data_offset;
uint32 data_type;
@@ -148,7 +151,7 @@ interface regf
typedef [noprint] struct {
uint32 nk_off;
- uint8 hash[4];
+ [charset(DOS)] uint8 hash[4];
} hash_record;
/*