parsing superblock

Hi,

I'm trying to read from C/C++ informations contained in the HDF5 superblock,
as described here: http://www.hdfgroup.org/HDF5/doc/H5.format.html

Where can I found C parsing functions that do this task?

Thanks,
David

David, what type of information are you looking for?
There are a few functions in H5P that let you inspect
the file creation properties, e.g., H5Pget_version
returns superblock, freelist, and other versions.
H5Pget_sizes returns offsets and lengths.

(http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html)

There are a few other calls in H5F, e.g., H5Fget_info,
H5Fget_freespace, etc.

Best, G.

···

-----Original Message-----
From: Hdf-forum [mailto:hdf-forum-bounces@lists.hdfgroup.org] On Behalf Of David Froger
Sent: Monday, February 24, 2014 3:13 AM
To: hdf-forum@lists.hdfgroup.org
Subject: [Hdf-forum] parsing superblock

Hi,

I'm trying to read from C/C++ informations contained in the HDF5 superblock, as described here: http://www.hdfgroup.org/HDF5/doc/H5.format.html

Where can I found C parsing functions that do this task?

Thanks,
David

_______________________________________________
Hdf-forum is for HDF software users discussion.
Hdf-forum@lists.hdfgroup.org
http://mail.lists.hdfgroup.org/mailman/listinfo/hdf-forum_lists.hdfgroup.org

David, what type of information are you looking for?
There are a few functions in H5P that let you inspect
the file creation properties, e.g., H5Pget_version
returns superblock, freelist, and other versions.
H5Pget_sizes returns offsets and lengths.

(http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html)

There are a few other calls in H5F, e.g., H5Fget_info,
H5Fget_freespace, etc.

Hi Gerd,

Thanks for the reply.

I'm writting command line tools which read HDF5 file on standard input,
something equivalent to:

    cat f1.h5 f2.h5 f3.h5 | cmd

When there is one file (cat f1.h5 | cmd), 'cmd' read everything one the
standard input, and the open the file with HDF5 image file operations:

But with more than one file, I want to:
- find the magic number in stdin (at byte 0 or 512 or 1024 ...)
- read the End of File address
- read in stdin until the End of File address.
- open the file with the HDF5 image file operations.

Seems there are pitfalls like endianess and size of integers, and if there is
already functions that do this, I would be happy to use it.

So I would need functions that can operate on a pointer to the file content
(hope explanations are clear...).

Why reading content files on stdin, and not file names as command line args?

The command lines tools actually operates on large images (pixels) stored HDF5
files. When the images are very larges and can not fit in memory, we want to
operate on subregions of it. For example:

    cmd0 very-large-image.h5 | cmd1 | cmd2 -o result.h5

cmd0 will iterate on small subregion of very-large-image.h5, and cmd1 will read
on stdin these subregions as a concatenated list of HDF5 image, process it, and
write it on stdout.