Name: H5Fopen
Signature:
hid_t H5Fopen(const char *name, unsigned flags, hid_t access_id )
Purpose:
Opens an existing file.
Description:
H5Fopen opens an existing file and is the primary function for accessing existing HDF5 files.

Note that H5Fopen does not create a file if it does not already exist. See H5Fcreate.

The parameter access_id is a file access property list identifier or H5P_DEFAULT if the default I/O access parameters are to be used

The flags argument determines whether writing to an existing file will be allowed. The file is opened with read and write permission if flags is set to H5F_ACC_RDWR. All flags may be combined with the bit-wise OR operator (`|') to change the behavior of the file open call. More complex behaviors of file access are controlled through the file-access property list.

The return value is a file identifier for the open file; this file identifier should be closed by calling H5Fclose when it is no longer needed.

Special case -- Multiple opens:
A file can often be opened with a new H5Fopen call without closing an already-open identifier established in a previous H5Fopen or H5Fcreate call. Each such H5Fopen call will return a unique identifier and the file can be accessed through any of these identifiers as long as the identifier remains valid. In such multiply-opened cases, all the open calls should use the same flags argument.

In some cases, such as files on a local Unix file system, the HDF5 library can detect that a file is multiply opened and will maintain coherent access among the file identifiers.

But in many other cases, such as parallel file systems or networked file systems, it is not always possible to detect multiple opens of the same physical file. In such cases, HDF5 will treat the file identifiers as though they are accessing different files and will be unable to maintain coherent access. Errors are likely to result in these cases. While unlikely, the HDF5 library may not be able to detect, and thus report, such errors.

It is generally recommended that applications avoid multiple opens of the same file.

Parameters:
Returns:
Returns a file identifier if successful; otherwise returns a negative value.
Fortran90 Interface: h5fopen_f
SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, &  
                     access_prp)
  IMPLICIT NONE 
  CHARACTER(LEN=*), INTENT(IN) :: name   ! Name of the file
  INTEGER, INTENT(IN) :: access_flag     ! File access flags  
                                         ! Possible values are:
                                         !     H5F_ACC_RDWR_F   
                                         !     H5F_ACC_RDONLY_F    
  INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier 
  INTEGER, INTENT(OUT) :: hdferr         ! Error code 
                                         ! 0 on success and -1 on failure
  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp  
                                         ! File access property list 
                                         ! identifier  
END SUBROUTINE h5fopen_f