diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2005-09-04 02:09:32 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:36:30 -0500 |
commit | 23e6e07b280983b2ccdf60deac3c32584af16140 (patch) | |
tree | 642179d98466d364d822a58908511f66156af796 /source4/lib/registry/regf.idl | |
parent | 16788f27a8f56f39f6d272427655b9869d6c3005 (diff) | |
download | samba-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.idl | 13 |
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; /* |