H5LRget_region_info queries information about the data pointed by a region reference ref . It returns one of the absolute paths to a dataset, length of the path, dataset’s rank and datatype, description of the referenced region and type of the referenced region. Any output argument can be NULL if that argument does not need to be returned.
The parameter obj_id is an identifier for any object in the HDF5 file containing the referenced object. For example, it can be an identifier of a dataset the region reference belongs to or an identifier of an HDF5 file the dataset with region references is stored in. The parameter ref is a region reference to query. The parameter path is a pointer to application allocated buffer of size len+1 to return an absolute path to a dataset the region reference points to. The parameter len is a length of absolute path string plus the \0 string terminator. If path parameter is NULL, actual length of the path (+1 for \0 string terminator) is returned to application and can be used to allocate buffer path of an appropriate length len . The parameter sel_type describes the type of the selected region. Possible values can be H5S_SEL_POINTS for point selection and H5S_SEL_HYPERSLABS for hyperslab selection. The parameter numelem describes how many elements will be placed in the buffer buf . The number should be interpreted using the value of sel_type . If value of sel_type is H5S_SEL_HYPERSLABS , the parameter buf contains numelem blocks of the coordinates for each simple hyperslab of the referenced region. Each block has length 2*rank and is organized as follows: <"start" coordinate>, immediately followed by <"opposite" corner coordinate>. The total size of the buffer to hold the description of the region will be 2*rank*numelem . If region reference points to a contiguous sub-array, then the value of numelem is 1 and the block contains coordinates of the upper left and lower right corners of the sub-array (or simple hyperslab). If value of sel_type is H5S_SEL_POINTS , the parameter buf contains numelem blocks of the coordinates for each selected point of the referenced region. Each block has length rank and contains coordinates of the element. The total size of the buffer to hold the description of the region will be rank*numelem . |