layout of local heap objects

Dear all,

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

Best Regards
Markus

Hi Markus,

Dear all,

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. :slight_smile:

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

  I believe you want this section of the file format: https://support.hdfgroup.org/HDF5/doc/H5.format.html#SymbolTableEntry

  Let me know if that isn’t clear enough for you to work from,
    Quincey

···

On Aug 26, 2017, at 2:51 AM, Krug, Markus <markus.krug@hm.edu> wrote: