Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Content Layer
id1195548671
Content Column
width50.00001%
id1195578110
classrm_pagetree_col mobile-hide
Content Block
id1195578111
 
Content Column
width50.00001%
id1195548673
classhdf-rm-main-column
Content Block
id1195548672

Include Content
render-without-blockstrue
page.rm-navbar
HTML Wrap
classhdf-print-only

Page Title

HTML Wrap
classhdf-rm-summary-block

Hdf rm anchor
AnchorNamesummary

Excerpt

Retrieves the metadata for an object specified by an identifier

HTML Wrap
classhdf-rm-content-block

Hdf rm anchor
AnchorNamesignature

Signature:
HTML Wrap
classhdf-rm-section
HTML Wrap
classhdf-togglebox hdf-c

HTML Add Class
hdf-togglebutton-visible
hdf-togglebutton-visible
selector.hdf-togglebutton.hdf-c

HTML
<pre><code class="language-c">herr_t H5Oget_info( hid_t object_id, H5O_info_t *object_info, unsigned int fields)</code></pre>
HTML
<pre><code class="language-c">herr_t H5Oget_info( hid_t object_id, H5O_info_t *object_info )</code></pre>
HTML Wrap
classhdf-togglebox hdf-fortran hdf-togglebox-hidden
Comment

HTML Add Class
hdf-togglebutton-visible
hdf-togglebutton-visible
selector.hdf-togglebutton.hdf-fortran

HTML
<pre><code class="language-fortran">SUBROUTINE h5oget_info_f(object_id, object_info, hdferr)

    USE, INTRINSIC :: ISO_C_BINDING
    IMPLICIT NONE
    INTEGER(HID_T)  , INTENT(IN)            :: object_id
    TYPE(h5o_info_t), INTENT(OUT), TARGET   :: object_info
    INTEGER         , INTENT(OUT)           :: hdferr</code></pre>
Comment
Info
Comment

Related Fortran2003 Derived Type: h5o_info_t

HTML
<pre><code class="language-fortran">  TYPE, BIND(C) :: space_t
     INTEGER(hsize_t) :: total ! Total space for storing object header in file
     INTEGER(hsize_t) :: meta  ! Space within header for object header metadata 
                               ! information
     INTEGER(hsize_t) :: mesg  ! Space within header for actual message 
                               ! information
     INTEGER(hsize_t) :: free  ! Free space within object header
  END TYPE space_t

  TYPE, BIND(C) :: mesg_t
     INTEGER(c_int64_t) :: present ! Flags to indicate presence of message type 
                                   ! in header 
     INTEGER(c_int64_t) :: shared  ! Flags to indicate message type is shared 
                                   ! in header
  END TYPE mesg_t
  
  TYPE, BIND(C) :: hdr_t
     INTEGER :: version ! Version number of header format in file
     INTEGER :: nmesgs  ! Number of object header messages
     INTEGER :: nchunks ! Number of object header chunks
     INTEGER :: flags   ! Object header status flags
     TYPE(space_t)  :: space   
     TYPE(mesg_t)   :: mesg
  END TYPE hdr_t

  ! Extra metadata storage for obj & attributes
  TYPE, BIND(C) :: H5_ih_info_t
     INTEGER(hsize_t) :: index_size ! btree and/or list
     INTEGER(hsize_t) :: heap_size
  END TYPE H5_ih_info_t

  TYPE, BIND(C) :: meta_size_t
     TYPE(H5_ih_info_t) :: obj  ! v1/v2 B-tree & local/fractal heap for 
                                ! groups, B-tree for chunked datasets
     TYPE(H5_ih_info_t) :: attr ! v2 B-tree & heap for attributes
  ENDTYPE meta_size_t
  
  TYPE, BIND(C) :: h5o_info_t
     INTEGER(C_LONG)  :: fileno     ! File number that object is located in
     INTEGER(haddr_t) :: addr       ! Object address in file  
     INTEGER(C_INT)   :: type       ! Basic object type (group, dataset, etc.) 
     INTEGER          :: rc         ! Reference count of object

     INTEGER, DIMENSION(8) :: atime ! Access time        !    -- NOTE --
     INTEGER, DIMENSION(8) :: mtime ! Modification time  ! Returns an integer 
     INTEGER, DIMENSION(8) :: ctime ! Change time        ! array as specified 
     INTEGER, DIMENSION(8) :: btime ! Birth time         ! in Fortran intrinsic 
                                                         ! DATE_AND_TIME(VALUES)

     INTEGER(hsize_t) :: num_attrs  ! # of attributes attached to object

     TYPE(hdr_t) :: hdr

     TYPE(meta_size_t) :: meta_size
  END TYPE h5o_info_t</code></pre>

 

Hdf rm anchor
AnchorNamedescription

Description:
HTML Wrap
classhdf-rm-section

H5O_GET_INFO is a macro that is mapped to:

Such macros are provided to facilitate application compatibility. Their use and mappings are fully described in API Compatibility Macros in HDF5; we urge you to read that document closely.

In HDF5 versions 1.12 and after, H5O_GET_INFO is mapped to H5O_GET_INFO3 and H5O_GET_INFO1 is deprecated. In version 1.10 H5O_GET_INFO is identical to H5O_GET_INFO1.

If using 1.10 (1.10.3+) and encountering performance issues, please use H5O_GET_INFO2 to limit the search to specified fields retrieved, which can help with performance.

Specific compile-time compatibility flags and the resulting mappings are as follows:

Compatibility settingH5Oget_info
No compatibility flag

H5O_GET_INFO3 (in release 1.12)

H5O_GET_INFO1 (in 1.8 or 1.10)

Emulate Release 1.12H5O_GET_INFO3
Emulate Release 1.10/1.8 interface H5O_GET_INFO1


Note:
Note

If you are iterating through a lot of different objects to retrieve information via the H5O_GET_INFO family of routines, you may see memory building up. This can be due to memory allocation for metadata such as  object headers and messages when the iterated objects are put into the metadata cache.

If the memory buildup is not desirable, you can configure a smaller cache via H5F_SET_MDC_CONFIG or set the file access property list via H5P_SET_MDC_CONFIG. A smaller sized cache will force metadata entries to be evicted from the cache, thus freeing the memory associated with the entries.

Hdf rm anchor
AnchorNameexample

HTML Wrap
classhdf-rm-section
Comment
Example:
HTML Wrap
classhdf-togglebox hdf-c

Bitbucket Server file
repoSlughdf5
branchIdrefs/heads/1.10/master
projectKeyHDFFV
filepathexamples/h5_subset.c
showLineNumberstrue
lineStart32
progLangcpp
lineEnd42
applicationLink5ac7b370-7412-3c8c-ad20-807a68261336

HTML Wrap
classhdf-togglebox hdf-fortran hdf-togglebox-hidden

Bitbucket Server file
repoSlughdf5
branchIdrefs/heads/1.10/master
projectKeyHDFFV
filepathfortran/examples/compound.f90
showLineNumberstrue
lineStart25
progLangplain
lineEnd35
applicationLink5ac7b370-7412-3c8c-ad20-807a68261336

Hdf rm anchor
AnchorNamehistory

History:
HTML Wrap
classhdf-rm-section
Release    Change
1.12.0The macro H5O_GET_INFO and the function H5O_GET_INFO3 were added, and H5O_GET_INFO1 was deprecated.
1.10.5The macro H5O_GET_INFO was removed. The functions H5O_GET_INFO1 and H5O_GET_INFOare identical in this release. This change was added to restore the broken API compatibility introduced in HDF5-1.10.3.
1.10.3

The function H5O_GET_INFO was renamed H5O_GET_INFO1. The macro H5O_GET_INFO and the function H5O_GET_INFO2 were introduced in this release.

1.8.15Added a note about the valid values for the version field in the H5O_hdr_info_t structure.
1.8.11Fortran subroutine introduced in this release.
1.8.10Added H5O_type_t structure to the Description section.
Separated H5O_hdr_info_t structure from H5O_info_t in the Description section.
Clarified the definition and implementation of the time fields.
1.8.0Function introduced in this release.