FixedHash: Difference between revisions

→‎Entry: data size
imported>Leoetlino
imported>Leoetlino
(→‎Entry: data size)
 
(One intermediate revision by the same user not shown)
Line 31: Line 31:
| 0x8 || u32[N + 1] || '''Offsets to the first entry in each bucket''' (relative to the Entries section)<br>0xFFFFFFFF for empty buckets.
| 0x8 || u32[N + 1] || '''Offsets to the first entry in each bucket''' (relative to the Entries section)<br>0xFFFFFFFF for empty buckets.
|-
|-
| X = (0x8 + 4*(N+1) + 3) & -8 || u64 || Entries section size
| X = (0x8 + 4*(N+1) + 3) & -8 || u64 || '''Entries section size'''
|-
|-
| X + 8 || Entry[...] || '''Entries'''
| X + 8 || Entry[...] || '''Entries'''
|-
|-
| Y = align(X + entries section size, 8) || u64 || Entry offsets section size
| Y = align(X + entries section size, 8) || u64 || '''Entry offsets section size'''
|-
|-
| Y + 8 || u32[...] || '''Entry offsets''' (relative to the Entries section)
| Y + 8 || u32[...] || '''Entry offsets''' (relative to the Entries section)
|-
|-
| Z = align(Y + entry offset section size, 8) || u64 || Data section size
| Z = align(Y + entry offset section size, 8) || u64 || '''Data section size'''
|-
|-
| Z + 8 || any || '''Data'''
| Z + 8 || any || '''Data'''
|-
|-
| A = align(Z + data section size, 4) || u32 || Name section size
| A = align(Z + data section size, 4) || u32 || '''Names section size'''
|-
|-
| A + 4 || C strings || '''Names'''
| A + 4 || C strings || '''Names'''
Line 64: Line 64:
|-
|-
| 0xC || u32 || '''Data offset''' (relative to the Data section)
| 0xC || u32 || '''Data offset''' (relative to the Data section)
For non-node data, the data size is stored at offset+0 as a u64 and the actual data is at offset+8.
|-
|-
|}
|}
[[Category:File formats]]
[[Category:File formats]]
Anonymous user