Name: H5Pset
Signature:
  herr_t `H5Pset`( hid_t `plid`, const char *`name`, void *`value`) )
Purpose:
  Sets a property list value.
Description:
  `H5Pset` sets a new value for a property in a property list. If there is a `set` callback routine registered for this property, the `value` will be passed to that routine and any changes to the `value` will be used when setting the property value. The information pointed to by the `value` pointer (possibly modified by the `set` callback) is copied into the property list value and may be changed by the application making the `H5Pset` call without affecting the property value.

  The property name must exist or this routine will fail.

  If the `set` callback routine returns an error, the property value will not be modified.

  This routine may not be called for zero-sized properties and will return an error in that case.

Parameters:

hid_t `plid`; | IN: Property list identifier to modify
const char *`name;` | IN: Name of property to modify
void *`value`; | IN: Pointer to value to set the property to

Returns:
  Success: a non-negative value
  Failure: a negative value
Fortran90 Interface: h5pset_f

      SUBROUTINE h5pset_f(plid, name, value, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: plid    ! Property list identifier
        CHARACTER(LEN=*), INTENT(IN) :: name  ! Name of property to set
        TYPE,   INTENT(IN) :: value           ! Property value
                                              ! Supported types are:
                                              !    INTEGER
                                              !    REAL
                                              !    DOUBLE PRECISION
                                              !    CHARACTER(LEN=*)
        INTEGER, INTENT(OUT) :: hdferr        ! Error code
                                              ! 0 on success and -1 on failure
      END SUBROUTINE h5pset_f