Name: H5Pset_preserve
Signature:
  herr_t `H5Pset_preserve`(hid_t `plist`, hbool_t `status` )
Purpose:
  Sets the dataset transfer property list status to TRUE or FALSE.
Description:
  `H5Pset_preserve` sets the dataset transfer property list status to TRUE or FALSE.

  When reading or writing compound datatypes and the destination is partially initialized and the read/write is intended to initialize the other members, one must set this property to TRUE. Otherwise the I/O pipeline treats the destination datapoints as completely uninitialized.

Parameters:

hid_t `plist` | IN: Identifier for the dataset transfer property list.
hbool_t `status` | IN: Status of for the dataset transfer property list (TRUE/FALSE).

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

      SUBROUTINE h5pset_preserve_f(prp_id, flag, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: prp_id   ! Dataset transfer property
                                               ! list identifier
        LOGICAL, INTENT(IN)        :: flag     ! Status for the dataset
                                               ! transfer property list
        INTEGER, INTENT(OUT)       :: hdferr   ! Error code
                                               ! 0 on success and -1 on failure
      END SUBROUTINE h5pset_preserve_f

History:

Release | Fortran90
1.6.0 | The `flag` parameter has changed from INTEGER to LOGICAL to better match the C API.