Name: H5Pset_libver_bounds
Signature:
  herr_t `H5Pset_libver_bounds`( hid_t `fapl_id`, H5F_libver_t `low`, H5F_libver_t `high` )

Purpose:
  Sets bounds on library versions, and indirectly format versions, to be used when creating objects.

Description:
  `H5Pset_libver_bounds` controls the versions of the object formats that will be used when creating objects in a file. The object format versions are determined indirectly from the HDF5 Library versions specified in the call.

  This property is set in the file access property list specified by `fapl_id`.

Parameters:

  hid_t `fapl_id` | IN: File access property list identifier
  H5F_libver_t `low` | IN: The earliest version of the library that will be used for writing objects. The library version indirectly specifies the earliest object format version that can be used when creating objects in the file. Currently, `low` must be one of two pre-defined values: Setting `low` to `H5F_LIBVER_EARLIEST` will result in objects being created using the earliest possible format for each object. Note that earliest possible is different from earliest, as some features introduced in library versions later than 1.0.0 resulted in updates to object formats. With `low`=`H5F_LIBVER_EARLIEST`, if the application creates an object that requires a feature introduced in library versions later than 1.0.0, the earliest possible version that supports the requested feature will be used. The upper bound on the range of possible library versions used to create the object is controlled by the `high` parameter. This is the default behavior of the library if `H5Pset_libver_bounds` is not called. Setting `low` to `H5F_LIBVER_LATEST` will result in objects being created using the latest available format for each object. This setting means that objects will be created with the latest format versions available (within the range of library versions specified in the call), and can take advantage of the latest features and performance enhancements. Objects written with the `H5F_LIBVER_LATEST` setting for `low` may be accessible to a smaller range of library versions than would be the case if the `H5F_LIBVER_EARLIEST` value had been used. The upper bound on the range of possible library versions used to create the object is controlled by the `high` parameter.
  H5F_libver_t `high` | IN: The latest version of the library that will be used for writing objects. The library version indirectly specifies the latest object format version that can be used when creating objects in the file. Currently, `high` must be set to the pre-defined value `H5F_LIBVER_LATEST`. `H5F_LIBVER_LATEST` corresponds to the version of the HDF5 Library in use.

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

Fortran90 Interface: h5pset_libver_bounds_f

      SUBROUTINE h5pset_libver_bounds_f(fapl_id, low, high, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: fapl_id
                                   ! File access property list identifier
        INTEGER, INTENT(IN) :: low ! The earliest version of the library that
                                   ! will be used for writing objects.
                                   ! Currently, low must be either:
                                   !        H5F_LIBVER_EARLIEST_F
                                   !        H5F_LIBVER_LATEST_F
          INTEGER, INTENT(IN) :: high
                                   ! The latest version of the library that will be
                                   ! used for writing objects.
                                   ! Currently, high must set to:
                                   !            H5F_LIBVER_LATEST_F
          INTEGER, INTENT(OUT) :: hdferr
                                   ! Error code
                                   ! 0 on success and -1 on failure
      END SUBROUTINE h5pset_libver_bounds_f

History:

  Release | C
  1.8.0 | Function introduced in this release.