Procedure: HTML Wrap |
---|
| HTML Wrap |
---|
| H5O_GET_INFO2 (objectloc_id, object_infooinfo, fields) |
|
Signature: HTML Wrap |
---|
| HTML Wrap |
---|
| HTML Add Class |
---|
| hdf-togglebutton-visible |
---|
| hdf-togglebutton-visible |
---|
selector | .hdf-togglebutton.hdf-c |
---|
|
HTML |
---|
<pre><code class="language-c">herr_t H5Oget_info2 ( hid_t loc_id, H5O_info1_t *oinfo, unsigned fields )</code></pre> |
|
HTML Wrap |
---|
class | hdf-togglebox hdf-fortran hdf-togglebox-hidden |
---|
| 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, 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
</code></pre> |
Info |
---|
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
! C interoperable structure for h5o_info_t. The Fortran derived type returns the time
! values as an integer array as specified in the Fortran intrinsic DATE_AND_TIME(VALUES).
! Whereas, this derived type does not.
TYPE, BIND(C) :: 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(C_INT) :: rc ! Reference count of object
INTEGER(KIND=TIME_T) :: atime ! Access time
INTEGER(KIND=TIME_T) :: mtime ! modify time
INTEGER(KIND=TIME_T) :: ctime ! create time
INTEGER(KIND=TIME_T) :: btime ! Access time
INTEGER(hsize_t) :: num_attrs ! # of attributes attached to object
TYPE(c_hdr_t) :: hdr
TYPE(meta_size_t) :: meta_size
END TYPE c_h5o_info_t
</code></pre> |
|
|
|
Parameters: HTML Wrap |
---|
| hid_t object_id | IN: Identifier for object of type specified by H5O_type_t; may be a file, group, dataset, named datatype or attribute identifier | H5O_info1_t *oinfo | OUT: Buffer in which to return object information | unsigned int fields | IN: Flags specifying the fields to include in oinfo |
|
Description: HTML Wrap |
---|
| H5O_GET_INFO2 specifies an object by its identifier, object_id , and retrieves the metadata describing that object in oinfo , an H5O_info1_t struct. This struct type is described in H5O_GET_INFO1. The fields parameter contains flags to determine which fields will be filled in in the H5O_info1_t struct returned in oinfo . These flags are defined in the H5Opublic.h file: Flag | Purpose |
---|
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 |
|
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. |
Returns: HTML Wrap |
---|
| Returns a non-negative value if successful; otherwise returns a negative value. |
HTML Wrap |
---|
| Comment |
---|
Example: HTML Wrap |
---|
| Bitbucket Server file |
---|
repoSlug | hdf5 |
---|
branchId | refs/heads/1.10/master |
---|
projectKey | HDFFV |
---|
filepath | examples/h5_subset.c |
---|
showLineNumbers | true |
---|
lineStart | 32 |
---|
progLang | cpp |
---|
lineEnd | 42 |
---|
applicationLink | 5ac7b370-7412-3c8c-ad20-807a68261336 |
---|
|
|
HTML Wrap |
---|
class | hdf-togglebox hdf-fortran hdf-togglebox-hidden |
---|
| Bitbucket Server file |
---|
repoSlug | hdf5 |
---|
branchId | refs/heads/1.10/master |
---|
projectKey | HDFFV |
---|
filepath | fortran/examples/compound.f90 |
---|
showLineNumbers | true |
---|
lineStart | 25 |
---|
progLang | plain |
---|
lineEnd | 35 |
---|
applicationLink | 5ac7b370-7412-3c8c-ad20-807a68261336 |
---|
|
|
|
|
History: HTML Wrap |
---|
| Release | Change |
---|
1.10.3 | C function introduced in this release. |
|
|