layout of local heap objects

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

layout of local heap objects

Krug, 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.

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

_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5
Reply | Threaded
Open this post in threaded view
|

Re: layout of local heap objects

Quincey Koziol-3
Hi Markus,

On Aug 26, 2017, at 2:51 AM, Krug, Markus <[hidden email]> wrote:

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

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


_______________________________________________
Hdf-forum is for HDF software users discussion.
[hidden email]
http://lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org
Twitter: https://twitter.com/hdf5