H5Pset_edc_check
(
hid_t plist
,
H5Z_EDC_t check
)
H5Pset_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.
H5Pset_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 comensate 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
H5Pset_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.
hid_t plist |
IN: Dataset transfer property list identifier. |
H5Z_EDC_t check |
IN: Specifies whether error checking is enabled or disabled for dataset read operations. |
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
Release | Change |
1.6.0 | Function introduced in this release. |
1.6.3 | Error in checksum calculation on little-endian systems corrected in this release. |