Page tree

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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

 

JAVA

FORTRAN

C++

C

 

Link

H5LR_READ_REGION

Retrieves raw data pointed to by a region reference to an application buffer.

Procedure:

H5LR_READ_REGION(loc_id, ref, mem_type, num_elem, buf)

Signature:

herr_t H5LRread_region( hid_t loc_id, const hdset_reg_ref_t *ref, hid_t mem_type, size_t *num_elem, void *buf )

SUBROUTINE H5LRread_region_f(loc_id, ref, dtype, numelem, buf, error)

  IMPLICIT NONE
    
  INTEGER(hid_t), INTENT(IN) :: loc_id       ! File identifier for the HDF5 file containing the dataset with 
                                             !  the referenced region or an object identifier for any object 
                                             !  in that file 
  TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Region reference specifying data to be read in 
  INTEGER(hid_t), INTENT(IN) :: dtype        ! Memory datatype of data read from referenced region into the 
                                             !  application buffer
  INTEGER(size_t), INTENT(INOUT) :: numelem  ! Number of elements to be read into buffer buf
  TYPE(C_PTR), INTENT(OUT) :: buf            ! Buffer in which data is returned to the application 
  INTEGER, INTENT(OUT) :: error              ! Error code:
                                             !  0 on success and -1 on failure
END SUBROUTINE H5LRread_region_f

Parameters:
hid_t loc_idIN: File identifier for the HDF5 file containing the dataset with the referenced region or an object identifier for any object in that file
const hdset_reg_ref_t *refIN: Region reference specifying data to be read in
hid_t mem_typeIN: Memory datatype of data read from referenced region into the application buffer
size_t *num_elemIN/OUT: Number of elements to be read into buffer buf
void *bufOUT: Buffer in which data is returned to the application

Description:

H5LRread_region reads data pointed to by the region reference ref into the buffer buf.

num_elem specifies the number of elements to be read into buf. When the size of the reference region is unknown, H5LRread_region can be called with buf set to NULL; the number of elements in the referenced region will be returned in num_elem.

The buffer buf must be big enough to hold num_elem elements of type mem_type. For example, if data is read from the referenced region into an integer buffer, mem_type should be H5T_NATIVE_INT and the buffer must be at least  sizeof(int) * num_elem  bytes in size. This buffer must be allocated by the application.

Returns:

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

Example:

examples / h5_subset.c [32:42]  1.10/master  HDFFV/hdf5
int
main (void)
{
    hsize_t     dims[2], dimsm[2];   
    int         data[DIM0][DIM1];           /* data to write */
    int         sdata[DIM0_SUB][DIM1_SUB];  /* subset to write */
    int         rdata[DIM0][DIM1];          /* buffer for read */
 
    hid_t       file_id, dataset_id;        /* handles */
    hid_t       dataspace_id, memspace_id; 

     PROGRAM COMPOUNDEXAMPLE

     USE HDF5 ! This module contains all necessary modules

     IMPLICIT NONE

     CHARACTER(LEN=11), PARAMETER :: filename = "compound.h5" ! File name
     CHARACTER(LEN=8), PARAMETER :: dsetname = "Compound"     ! Dataset name
     INTEGER, PARAMETER :: dimsize = 6 ! Size of the dataset

     INTEGER(HID_T) :: file_id       ! File identifier

History:
Release    Change
1.0C function introduced in this release.
1.1Fortran wrapper introduced in this release.

--- Last Modified: November 16, 2017 | 08:32 AM