Page tree

The license could not be verified: License Certificate has expired!









Retrieve native file format information about an object according to the order of an index


H5O_GET_NATIVE_INFO_BY_IDX ( loc_id, group_name, idx_type, order, n, oinfo, fields, lapl_id )


herr_t H5Oget_native_info_by_idx ( hid_t loc_id, const char *group_name, H5_index_t idx_type, H5_iter_order_t order, 
           hsize_t n, H5O_native_info_t *oinfo, unsigned fields, hid_t lapl_id )

hid_t loc_idIN: Location identifier of the object
const char *group_nameIN: Name of group in which object is located
H5_index_t idx_typeIN: Index or field that determines the order
H5_iter_order_t orderIN: Order within field or index
hsize_t nIN: Object for which information is to be returned
H5O_native_info_t *oinfoOUT: Buffer in which to return native object information
unsigned fieldsIN: Flags to determine which fields in oinfo are filled in
hid_t lapl_idIN: Link access property list


H5O_GET_NATIVE_INFO_BY_IDX retrieves the native file format information for an object specified by loc_id, group name, group_name, the index by which objects in the group are tracked, idx_type, the order by which the index is to be traversed, order , and an object's position n within that index. The information is retrieved into the buffer specified by oinfo, which is defined as a struct of type H5O_native_info_t:

src / H5Opublic.h [143:152]  hdf5_1_12  HDFFV/hdf5
/* Native file format information struct for objects */
/* (For H5Oget_native_info / H5Oget_native_info_by_name / H5Oget_native_info_by_idx) */
typedef struct H5O_native_info_t {
    H5O_hdr_info_t      hdr;            /* Object header information */
    /* Extra metadata storage for obj & attributes */
    struct {
        H5_ih_info_t   obj;             /* v1/v2 B-tree & local/fractal heap for groups, B-tree for chunked datasets */
        H5_ih_info_t   attr;            /* v2 B-tree & heap for attributes */
    } meta_size;
} H5O_native_info_t;

idx_type is of type H5_index_t, defined in H5public.h as:

src / H5public.h [311:321]  hdf5_1_12  HDFFV/hdf5
 * The types of indices on links in groups/attributes on objects.
 * Primarily used for "<do> <foo> by index" routines and for iterating over
 * links in groups/attributes on objects.
typedef enum H5_index_t {
    H5_INDEX_UNKNOWN = -1,	/* Unknown index type			*/
    H5_INDEX_NAME,		/* Index on names 			*/
    H5_INDEX_CRT_ORDER,		/* Index on creation order 		*/
    H5_INDEX_N			/* Number of indices defined 		*/
} H5_index_t;

order is of type H5_iter_order_t defined in H5public.h as:

src / H5public.h [294:301]  hdf5_1_12  HDFFV/hdf5
/* Common iteration orders */
typedef enum {
    H5_ITER_UNKNOWN = -1,       /* Unknown order */
    H5_ITER_INC,                /* Increasing order */
    H5_ITER_DEC,                /* Decreasing order */
    H5_ITER_NATIVE,             /* No particular order, whatever is fastest */
    H5_ITER_N		        /* Number of iteration orders */
} H5_iter_order_t;

The fields parameter indicates which fields to fill in H5O_native_info_t. Possible values are:

src / H5Opublic.h [89:91]  hdf5_1_12  HDFFV/hdf5
#define H5O_NATIVE_INFO_HDR            0x0008u         /* Fill in the hdr field */
#define H5O_NATIVE_INFO_META_SIZE      0x0010u         /* Fill in the meta_size field */


Returns a non-negative value if successful; otherwise returns a negative value.


1.12.0Function released in this version.

--- Last Modified: June 02, 2020 | 09:16 AM