You are viewing an old version of this page. View the current version.
Retrieves the metadata for an object specified by an identifier
H5O_GET_INFO3 (loc_id, oinfo, fields)
herr_t H5Oget_info3 ( hid_t loc_id, H5O_info2_t *oinfo, unsigned fields )
SUBROUTINE h5oget_info_f(object_id, object_info, hdferr, fields) 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 INTEGER , INTENT(IN), OPTIONAL :: fields
Related Fortran2003 Derived Type: h5o_info_t
TYPE, BIND(C) :: h5o_info_t INTEGER(C_LONG) :: fileno ! File number that object is located in TYPE(H5O_TOKEN_T_F) :: token ! Token for object 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 array INTEGER, DIMENSION(8) :: ctime ! Change time ! as specified in the Fortran INTEGER, DIMENSION(8) :: btime ! Birth time ! intrinsic DATE_AND_TIME(VALUES) INTEGER(hsize_t) :: num_attrs ! # of attributes attached to object END TYPE h5o_info_t
|hid_t ||IN: Identifier for object of type specified by H5O_type_t; may be a file, group, dataset, named datatype or attribute identifier|
|H5O_info2_t * ||OUT: Buffer in which to return object information|
| unsigned int ||IN: Flags specifying the fields to include in |
H5O_GET_INFO3 specifies an object by its identifier,
loc_id , and retrieves the metadata describing that object in
oinfo , an H5O_info2_t struct.
The H5O_info2_t struct is defined (in
H5Opublic.h) as follows :
Note the following about H50_info2_t:
- Of the four time fields (
ctimehas been implemented.
atimevalue is the last time the object was read or written.
mtimevalue is the last time the raw data in the object was changed.
ctimevalue is the last time the metadata for the object was changed.
btimevalue is the time the object was created.
H5O_token_t is defined in
H5public.h as follows:
The H5O_type_t enum indicates the object type and is defined (in
H5Opublic.h) as follows:
object_id refers only to the types specified by H5O_type_t.
fields parameter contains flags to determine which fields will be filled in in the H5O_info2_t struct returned in
oinfo. These flags are defined in the
|H5O_INFO_BASIC||Fill in the fileno, addr, type, and rc fields|
|H5O_INFO_TIME||Fill in the atime, mtime, ctime, and btime fields|
|H5O_INFO_NUM_ATTRS||Fill in the num_attrs field|
|H5O_INFO_HDR||Fill in the hdr field|
|H5O_INFO_META_SIZE||Fill in the meta_size field|
|H5O_INFO_ALL||H5O_INFO_BASIC | H5O_INFO_TIME | H5O_INFO_NUM_ATTRS | H5O_INFO_HDR | H5O_INFO_META_SIZE|
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.
Returns a non-negative value if successful; otherwise returns a negative value.
|1.12.0||Function was introduced in this release.|