From c41fb2f87d24a8ab30d2455e511e7cc48289533f Mon Sep 17 00:00:00 2001 From: Quincey Koziol Date: Wed, 9 Jul 2003 14:21:38 -0500 Subject: [svn-r7194] Purpose: Checkpoint work Description: Check in more updates to the file format specification. --- doc/html/H5.format.html | 301 ++++++++++++++++++++++++++++-------------------- 1 file changed, 179 insertions(+), 122 deletions(-) diff --git a/doc/html/H5.format.html b/doc/html/H5.format.html index 3cfb966..52b723a 100644 --- a/doc/html/H5.format.html +++ b/doc/html/H5.format.html @@ -315,9 +315,9 @@

- - - + + + @@ -614,9 +614,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -758,9 +758,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -877,11 +877,13 @@ - + + - + +
Field NameDescription
Field NameDescription
Bytes 1-4 Size of chunk in bytes.
Bytes 4-8 Filter mask, a 32-bit bitfield indicating which filters have been applied to that chunk.
N 64-bit fields A 64-bit index indicating the offset of the chunk within the dataset where N is the number @@ -1017,9 +1019,9 @@

- - - + + + @@ -1067,7 +1069,7 @@

Each group entry in a group node is designed to allow for very fast browsing of stored objects. Toward that design goal, the group entries - include space for caching certain constant meta data from the + include space for caching certain constant metadata from the object header.

@@ -1085,11 +1087,11 @@

- + - + @@ -1104,14 +1106,24 @@
Field NameDescription
Field NameDescription
Name Offset (<size> bytes)Name OffsetO
Object Header AddressObject Header AddressO


Scratch-pad Space (16 bytes)


+ + + +
+
+ (Items marked with an 'O' the above table are +
+ of the size specified in "Size of Offsets.") +
+

- - - + + + @@ -1124,38 +1136,47 @@ @@ -1169,10 +1190,10 @@ - + - + +
Field NameDescription
Field NameDescription
Object Header Address Every object has an object header which serves as a - permanent location for the object's meta data. In addition - to appearing in the object header, some meta data can be + permanent location for the object's metadata. In addition + to appearing in the object header, some metadata can be cached in the scratch-pad space.
Cache Type The cache type is determined from the object header. - It also determines the format for the scratch-pad space. + It also determines the format for the scratch-pad space:
-
-
0 -
No data is cached by the group entry. This - is guaranteed to be the case when an object header - has a link count greater than one. - -
1 -
Object header meta data is cached in the group - entry. This implies that the group - entry refers to another group. - -
2 -
The entry is a symbolic link. The first four bytes - of the scratch-pad space are the offset into the local - heap for the link value. The object header address - will be undefined. - -
N -
Other cache values can be defined later and - libraries that do not understand the new values will - still work properly. -
+ + + + + + + + + + + + + + + + + +
0No data is cached by the group entry. This + is guaranteed to be the case when an object header + has a link count greater than one. +
1Object header metadata is cached in the group + entry. This implies that the group + entry refers to another group. +
2The entry is a symbolic link. The first four bytes + of the scratch-pad space are the offset into the local + heap for the link value. The object header address + will be undefined. +
NOther cache values can be defined later and + libraries that do not understand the new values will + still work properly. +
Scratch-pad Space This space is used for different purposes, depending - on the value of the Cache Type field. Any meta-data + on the value of the Cache Type field. Any metadata about a dataset object represented in the scratch-pad space is duplicated in the object header for that - dataset. This meta data can include the datatype + dataset. This metadata can include the datatype and the size of the dataspace for a dataset whose datatype is atomic and whose dataspace is fixed and less than four dimensions. @@ -1190,12 +1211,12 @@ according to the value in the Cache Type field.

If the Cache Type field contains the value zero - (0) then no information is + (0) then no information is stored in the scratch-pad space.

If the Cache Type field contains the value one - (1), then the scratch-pad space - contains cached meta data for another object header + (1), then the scratch-pad space + contains cached metadata for another object header in the following format:

@@ -1212,19 +1233,29 @@

byte
Address of B-treeAddress of B-treeO
Address of Name HeapAddress of Name HeapO
+ + +
+
+ (Items marked with an 'O' the above table are +
+ of the size specified in "Size of Offsets.") +
+

- - - + + + @@ -1236,15 +1267,15 @@ + heap, in which are stored the group's symbol names.
Field NameDescription
Field NameDescription
Address of Name Heap This is the file address for the group's local - heap, in which are stored the symbol names.

If the Cache Type field contains the value two - (2), then the scratch-pad space - contains cached meta data for another symbolic link + (2), then the scratch-pad space + contains cached metadata for another symbolic link in the following format:

@@ -1270,9 +1301,9 @@

- - - + + + @@ -1312,29 +1343,46 @@ - + - + - + - +
Field NameDescription
Field NameDescription
Reserved (zero)Reserved
Data Segment SizeData Segment SizeL
Offset to Head of Free-list (<size> bytes)Offset to Head of Free-listL
Address of Data SegmentAddress of Data SegmentO
+ + + + +
+
+ (Items marked with an 'L' the above table are +
+ of the size specified in "Size of Lengths.") +
+
+
+ (Items marked with an 'O' the above table are +
+ of the size specified in "Size of Offsets.") +
+

- - - + + + @@ -1347,20 +1395,29 @@ + + + + + + required by the objects stored in the heap. The extra + unused space in the heap holds a linked list of free blocks. @@ -1466,9 +1523,9 @@

Field NameDescription
Field NameDescription
ReservedThese four bytes are present so that the data segment + size is aligned on an eight-byte boundary. They are + always set to zero.
Data Segment Size The total amount of disk memory allocated for the heap data. This may be larger than the amount of space - required by the object stored in the heap. The extra - unused space holds a linked list of free blocks.
Offset to Head of Free-list This is the offset within the heap data segment of the - first free block (or all 0xff bytes if there is no free - block). The free block contains <size> bytes that - are the offset of the next free chunk (or all 0xff bytes - if this is the last free chunk) followed by <size> + first free block (or the + undefined address if there is no + free block). The free block contains <Size of Lengths> bytes that + are the offset of the next free chunk (or the + undefined address + if this is the last free chunk) followed by <Size of Lengths> bytes that store the size of this free chunk.
- - - + + + @@ -1546,9 +1603,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -1704,8 +1761,8 @@

A data object is composed of header information and data information. The header information contains the information needed to interpret the data information for the data object as - well as additional "meta-data" or pointers to additional - "meta-data" used to describe or annotate each data object. + well as additional "metadata" or pointers to additional + "metadata" used to describe or annotate each data object.

Disk Format: Level 2a - Data Object Headers

@@ -1777,9 +1834,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -1870,7 +1927,7 @@

The header message types and the message data associated with - them compose the critical "meta-data" about each object. Some + them compose the critical "metadata" about each object. Some header messages are required for each object while others are optional. Some optional header messages may also be repeated several times in the header itself, the requirements and number @@ -1965,9 +2022,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3032,9 +3089,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3135,9 +3192,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3215,9 +3272,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3338,9 +3395,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3412,7 +3469,7 @@

-
Field NameDescription
Field NameDescription
+
@@ -3443,9 +3500,9 @@

Filter Pipeline Message
- - - + + + @@ -3471,7 +3528,7 @@

-
Field NameDescription
Field NameDescription
+
@@ -3510,9 +3567,9 @@

Filter Pipeline Message
- - - + + + @@ -3589,7 +3646,7 @@

Purpose and Description: The Attribute message is used to list objects in the HDF file which are used - as attributes, or "meta-data" about the current object. An + as attributes, or "metadata" about the current object. An attribute is a small dataset; it has a name, a datatype, a data space, and raw data. Since attributes are stored in the object header they must be relatively small (<64kb) and can be @@ -3642,9 +3699,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3749,9 +3806,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3812,9 +3869,9 @@

Field NameDescription
Field NameDescription
- - - + + + @@ -3918,9 +3975,9 @@

Field NameDescription
Field NameDescription
- - - + + + -- cgit v0.12
Field NameDescription
Field NameDescription