Because I adapt the HDF file standard to an embedded system I cannot use the HDF lib sources and have to build a very simplified version on base of the HDF 3.0 file spec.
I find out that HDFview and also Matlab is using the local heap for storing the name of elements in that belong to a group. When I look into the HDF3.0 file spec I couldn’t find a description of objects that are placed in the local heap. The description ends with the description of the local heap header (https://support.hdfgroup.org/HDF5/doc/H5.format.html#LocalHeap).
The local heap objects seems to be something like
- 8 Byte of 0x00 (probably something like reserved or a flag field that equals to 0x00)
- Name of the elements in ASCII codes and 0x00 terminated and also aligned to 8byte borders
- 2 times unknown information to me each of them aligned to the next 8byte border - especially this is something I need to know
I also looked into the heap object description of the global heap. However, the file specification says:
The object data is treated as a one-dimensional array of bytes to be interpreted by the caller.
So I considered this as ‘not defined by the HDF standard’
So finally my question is where can I find the layout and description of a local heap object
Because I adapt the HDF file standard to an embedded system I cannot use the HDF lib sources and have to build a very simplified version on base of the HDF 3.0 file spec.
Ah, good - it’s always useful to have people verify how clear and correct the file format spec is.
I find out that HDFview and also Matlab is using the local heap for storing the name of elements in that belong to a group. When I look into the HDF3.0 file spec I couldn’t find a description of objects that are placed in the local heap. The description ends with the description of the local heap header (https://support.hdfgroup.org/HDF5/doc/H5.format.html#LocalHeap).
The local heap objects seems to be something like
- 8 Byte of 0x00 (probably something like reserved or a flag field that equals to 0x00)
- Name of the elements in ASCII codes and 0x00 terminated and also aligned to 8byte borders
- 2 times unknown information to me each of them aligned to the next 8byte border - especially this is something I need to know
I also looked into the heap object description of the global heap. However, the file specification says:
The object data is treated as a one-dimensional array of bytes to be interpreted by the caller.
So I considered this as ‘not defined by the HDF standard’
So finally my question is where can I find the layout and description of a local heap object