Name: H5Dfill
Signature:
  herr_t `H5Dfill`( const void *`fill`, hid_t `fill_type_id`, void *`buf`, hid_t `buf_type_id`, hid_t `space_id` )
Purpose:
  Fills dataspace elements with a fill value in a memory buffer.
Description:
  `H5Dfill` explicitly fills the dataspace selection in memory, `space_id`, with the fill value specified in `fill`. If `fill` is `NULL`, a fill value of `0` (zero) is used.

  `fill_type_id` specifies the datatype of the fill value.
  `buf` specifies the buffer in which the dataspace elements will be written.
  `buf_type_id` specifies the datatype of those data elements.

  Note that if the fill value datatype differs from the memory buffer datatype, the fill value will be converted to the memory buffer datatype before filling the selection.

Note:
  Applications sometimes write data only to portions of an allocated dataset. It is often useful in such cases to fill the unused space with a known fill value. See H5Pset_fill_value for further discussion. Other related functions include H5Pget_fill_value, H5Pfill_value_defined, H5Pset_fill_time, H5Pget_fill_time, H5Dcreate, and H5Dcreate_anon.
Parameters:

const void *`fill` | IN: Pointer to the fill value to be used.
hid_t `fill_type_id` | IN: Fill value datatype identifier.
void *`buf` | IN/OUT: Pointer to the memory buffer containing the selection to be filled.
hid_t `buf_type_id` | IN: Datatype of dataspace elements to be filled.
hid_t `space_id` | IN: Dataspace describing memory buffer and containing the selection to be filled.

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

      SUBROUTINE h5dfill_f(fill_value, space_id, buf, hdferr)
        IMPLICIT NONE
        TYPE, INTENET(IN) :: fill_value        ! Fill value; may be have one of the
                                               ! following types:
                                               ! INTEGER, REAL, DOUBLE PRECISION,
                                               ! CHARACTER
        INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
        TYPE, DIMENSION(*) :: buf              ! Memory buffer to fill in; must have
                                               ! the same datatype as fill value
        INTEGER, INTENT(OUT) :: hdferr         ! Error code
                                               ! 0 on success and -1 on failure
      END SUBROUTINE h5dfill_f