Name: H5Fflush
Signature:
  herr_t `H5Fflush`(hid_t `object_id`, H5F_scope_t `scope` )
Purpose:
  Flushes all buffers associated with a file to disk.
Description:
  `H5Fflush` causes all buffers associated with a file to be immediately flushed to disk without removing the data from the cache.

  `object_id` can be any object associated with the file, including the file itself, a dataset, a group, an attribute, or a named datatype.

  `scope` specifies whether the scope of the flushing action is global or local. Valid values are as follows:

  `` | `H5F_SCOPE_GLOBAL` |  | Flushes the entire virtual file.
  | `H5F_SCOPE_LOCAL` |  | Flushes only the specified file.

Note:
  HDF5 does not possess full control over buffering. `H5Fflush` flushes the internal HDF5 buffers then asks the operating system (the OS) to flush the system buffers for the open files. After that, the OS is responsible for ensuring that the data is actually flushed to disk.
Parameters:

hid_t `object_id` | IN: Identifier of object used to identify the file.
H5F_scope_t `scope` | IN: Specifies the scope of the flushing action.

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

      SUBROUTINE h5fflush_f(obj_id, scope, hdferr)
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN)  :: obj_id      ! Object identifier
        INTEGER, INTENT(IN)         :: scope       ! Flag with two possible values:
                                                   !     H5F_SCOPE_GLOBAL_F
                                                   !     H5F_SCOPE_LOCAL_F
        INTEGER, INTENT(OUT)        :: hdferr      ! Error code
                                                   ! 0 on success and -1 on failure
      END SUBROUTINE h5fflush_f