Last modified: 14 June 2010
Name: H5Pset_fletcher32
Signature:
herr_t H5Pset_fletcher32( hid_t plist_id )

Purpose:
Sets up use of the Fletcher32 checksum filter.

Description:
H5Pset_fletcher32 sets the Fletcher32 checksum filter in the dataset or group creation property list plist_id.

Note:
The Fletcher32 EDC checksum filter 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 a call to H5Pset_edc_check 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.

Parameters:
hid_t plist_id     IN: Dataset or group creation property list identifier.

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

Fortran90 Interface: h5pset_fletcher32_f
SUBROUTINE h5pset_fletcher32_f(prp_id, hdferr) 
  IMPLICIT NONE
  INTEGER(HID_T), INTENT(IN) :: prp_id  ! Property list identifier 
  INTEGER, INTENT(OUT)       :: hdferr  ! Error code
                                        ! 0 on success and -1 on failure
END SUBROUTINE h5pset_fletcher32_f

History:
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.
1.8.5 Function extended to work with group creation property lists.