Last modified: 14 October 2014
Name: H5Oopen_by_addr
Signature:
  hid_t `H5Oopen_by_addr`( hid_t `loc_id`, haddr_t `addr` )

Purpose:
  Opens an object using its address within an HDF5 file.

Description:
  `H5Oopen_by_addr` opens a group, dataset, or committed (named) datatype using its address within an HDF5 file, `addr`. The resulting opened object is identical to an object opened with `H5Oopen` and should be closed with `H5Oclose` or an object-type-specific closing function (such as `H5Gclose`) when no longer needed.

  `loc_id` can be either the file identifier or a group identifier in the file. In either case, the HDF5 Library uses the identifier only to identify the file.

  The object’s address within the file, `addr`, is the byte offset of the first byte of the object header from the beginning of the HDF5 file space, i.e., from the beginning of the super block (see the “HDF5 Storage Model” section of the “The HDF5 Data Model and File Structure” chapter of the HDF5 User’ Guide).

  `addr` can be obtained via either of two function calls. `H5Gget_objinfo` returns the object’s address in the `objno` field of the `H5G_stat_t` struct; `H5Lget_info` returns the address in the `address` field of the `H5L_linkinfo_t` struct.

  Warning: This function must be used with care! Improper use can lead to inaccessible data, wasted space in the file, or file corruption. This function is dangerous if called on an invalid address. The risk can be safely overcome by retrieving the object address with `H5Gget_objinfo` or `H5Lget_linkinfo` immediately before calling `H5Oopen_by_addr`. The immediacy of the operation can be important; if time has elapsed and the object has been deleted from the file, the address will be invalid and file corruption can result.

  The address of the HDF5 file on a physical device has no effect on `H5Oopen_by_addr`, nor does the use of any file driver. As stated above, the object address is its offset within the HDF5 file; HDF5’s file drivers will transparently map this to an address on a storage device.

Parameters:

hid_t `loc_id` | IN: File or group identifier
haddr_t `addr` | IN: Object’s address in the file

Returns:
  Returns an object identifier for the opened object if successful; otherwise returns a negative value.

Fortran90 Interface: h5oopen_by_addr_f
See Also:
  “Using Identifiers”
History:

  Release | Change
  1.8.0 | Function introduced in this release.
  1.8.4 | Fortran subroutine added in this release.