Name: H5Pget_fill_value
Signature:
  herr_t `H5Pget_fill_value`(hid_t `plist_id`, hid_t `type_id`, void *`value` )
Purpose:
  Retrieves a dataset fill value.
Description:
  `H5Pget_fill_value` returns the dataset fill value defined in the dataset creation property list `plist_id`.

  The fill value is returned through the `value` pointer and will be converted to the datatype specified by `type_id`. This datatype may differ from the fill value datatype in the property list, but the HDF5 library must be able to convert between the two datatypes.

  If the fill value is undefined, i.e., set to `NULL` in the property list, `H5Pget_fill_value` will return an error. `H5Pfill_value_defined` should be used to check for this condition before `H5Pget_fill_value` is called.

  Memory must be allocated by the calling application.

Note:
  `H5Pget_fill_value` is designed to coordinate with the dataset storage allocation time and fill value write time properties, which can be retrieved with the functions `H5Pget_alloc_time` and `H5Pget_fill_time`, respectively.
Parameters:

hid_t `plist_id` | IN: Dataset creation property list identifier.
hid_t `type_id`, | IN: Datatype identifier for the value passed via `value`.
void *`value` | OUT: Pointer to buffer to contain the returned fill value.

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

      SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: prp_id  ! Property list identifier
        INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of fill
                                              ! value datatype (in memory)
        TYPE(VOID), INTENT(IN) :: fillvalue   ! Fillvalue
        INTEGER, INTENT(OUT) :: hdferr        ! Error code
                                              ! 0 on success and -1 on failure

      END SUBROUTINE h5pget_fill_value_f