Page tree

 

JAVA

FORTRAN

C++

C

 

Link

H5P_SET_EDC_CHECK

Sets the dataset transfer property list to enable or disable error detection when reading data

Procedure:

H5P_SET_EDC_CHECK ( plist, check )

Signature:

herr_t H5Pset_edc_check(
                         hid_t plist,
                         H5Z_EDC_t check
                         )

  

Fortran90 Interface: h5pset_edc_check_f
    
SUBROUTINE h5pset_edc_check_f(prp_id, flag, hdferr) 
  IMPLICIT NONE
  INTEGER(HID_T), INTENT(IN) :: prp_id   ! Dataset transfer property 
                                         ! list identifier 
  INTEGER, INTENT(IN)        :: flag     ! EDC flag; possible values
                                         !    H5Z_DISABLE_EDC_F 
                                         !    H5Z_ENABLE_EDC_F 
  INTEGER, INTENT(OUT)       :: hdferr   ! Error code
                                         ! 0 on success and -1 on failure
 
END SUBROUTINE h5pset_edc_check_f
    

Parameters:
hid_t plistIN: Dataset transfer property list identifier
H5Z_EDC_t check    IN: Specifies whether error checking is enabled or disabled for dataset read operations

Description:

H5P_SET_EDC_CHECK sets the dataset transfer property list plist to enable or disable error detection when reading data.

Whether error detection is enabled or disabled is specified in the check parameter. Valid values are as follows:

H5Z_ENABLE_EDC   (default)
H5Z_DISABLE_EDC

The error detection algorithm used is the algorithm previously specified in the corresponding dataset creation property list.  

This function does not affect the use of error detection when writing data.  

The initial error detection implementation, Fletcher32 checksum, supports error detection for chunked datasets only.

The Fletcher32 EDC checksum filter, set with H5P_SET_FLETCHER32, was added in HDF5 Release 1.6.0. In the original implementation, however, the checksum value was calculated incorrectly on little-endian systems. The error was fixed in HDF5 Release 1.6.3.

As a result of this fix, an HDF5 library of Release 1.6.0 through Release 1.6.2 cannot read a dataset created or written with Release 1.6.3 or later if the dataset was created with the checksum filter and the filter is enabled in the reading library. (Libraries of Release 1.6.3 and later understand the earlier error and compensate appropriately.)

Work-around: An HDF5 library of Release 1.6.2 or earlier will be able to read a dataset created or written with the checksum filter by an HDF5 library of Release 1.6.3 or later if the checksum filter is disabled for the read operation. This can be accomplished via an H5P_SET_EDC_CHECK call with the value H5Z_DISABLE_EDC in the second parameter. This has the obvious drawback that the application will be unable to verify the checksum, but the data does remain accessible.

 

Returns:

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

Example:

Coming Soon!

History:
Release    Change
1.6.0Function introduced in this release.
1.6.3Error in checksum calculation on little-endian systems corrected in this release.

--- Last Modified: January 03, 2018 | 09:10 AM