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.