diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2022-09-07 22:11:20 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-07 22:11:20 (GMT) |
commit | 99f17c727166ab88a36280ee93a197de5555412c (patch) | |
tree | 793820b86a6924b564443f5201786d9a4b96367e /fortran/src/H5Fff.F90 | |
parent | 1804e0e0c45ed468ad602dd7af80d44b89160e0e (diff) | |
download | hdf5-99f17c727166ab88a36280ee93a197de5555412c.zip hdf5-99f17c727166ab88a36280ee93a197de5555412c.tar.gz hdf5-99f17c727166ab88a36280ee93a197de5555412c.tar.bz2 |
Doxygen Fortran (#2062)
Diffstat (limited to 'fortran/src/H5Fff.F90')
-rw-r--r-- | fortran/src/H5Fff.F90 | 894 |
1 files changed, 275 insertions, 619 deletions
diff --git a/fortran/src/H5Fff.F90 b/fortran/src/H5Fff.F90 index ecb40b7..c58cb9e 100644 --- a/fortran/src/H5Fff.F90 +++ b/fortran/src/H5Fff.F90 @@ -1,13 +1,9 @@ -!****h* ROBODoc/H5F -! -! NAME -! MODULE H5F -! -! FILE -! H5Fff.F90 -! -! PURPOSE -! This file contains Fortran interfaces for H5F functions. +!> @defgroup FH5F Fortran File (H5F) Interface +!! +!! @see H5F, C-API +!! +!! @see @ref H5F_UG, User Guide +!! ! ! COPYRIGHT ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * @@ -35,7 +31,6 @@ ! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory. ! This is needed for Windows based operating systems. ! -!***** MODULE H5F USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_PTR, C_CHAR, C_NULL_PTR @@ -45,6 +40,7 @@ MODULE H5F ! Number of objects opened in H5open_f INTEGER(SIZE_T) :: H5OPEN_NUM_OBJ +#ifndef H5_DOXYGEN_FORTRAN INTERFACE INTEGER(C_INT) FUNCTION h5fis_accessible(name, & access_prp_default) BIND(C,NAME='H5Fis_accessible') @@ -56,53 +52,32 @@ MODULE H5F INTEGER(HID_T), INTENT(IN), VALUE :: access_prp_default END FUNCTION h5fis_accessible END INTERFACE +#endif CONTAINS -!****s* H5F/h5fcreate_f -! -! NAME -! h5fcreate_f -! -! PURPOSE -! Creates HDF5 files. -! -! INPUTS -! name - name of the file to create -! access_flags - File access flags. Allowable values are: -! H5F_ACC_TRUNC_F -! H5F_ACC_EXCL_F -! OUTPUTS -! file_id - file identifier -! hdferr - Returns 0 if successful and -1 if fails -! -! OPTIONAL PARAMETERS -! creation_prp - file creation property list identifier -! access_prp - file access property list identifier -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Creates HDF5 files. +!! +!! \param name Name of the file to create. +!! \param access_flags File access flags. Allowable values are: +!! \li H5F_ACC_TRUNC_F +!! \li H5F_ACC_EXCL_F +!! \param file_id File identifier. +!! \param hdferr \fortran_error +!! \param creation_prp File creation property list identifier. +!! \param access_prp File access property list identifier. +!! SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, & creation_prp, access_prp) IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file - INTEGER, INTENT(IN) :: access_flags ! File access flags - INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: access_flags + INTEGER(HID_T), INTENT(OUT) :: file_id + INTEGER, INTENT(OUT) :: hdferr INTEGER(HID_T), OPTIONAL, INTENT(IN) :: creation_prp - ! File creation property - ! list identifier INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp - ! File access property list - ! identifier -!***** INTEGER(HID_T) :: creation_prp_default INTEGER(HID_T) :: access_prp_default INTEGER :: namelen ! Length of the name character string @@ -131,57 +106,23 @@ CONTAINS creation_prp_default, access_prp_default, file_id) END SUBROUTINE h5fcreate_f -!****s* H5F/h5fflush_f -! -! NAME -! h5fflush_f -! -! PURPOSE -! Flushes all buffers associated WITH a file to disk -! -! INPUTS -! object_id - identifier of object used to identify the file. -! scope - specifies the scope of the flushing action. -! Possible values are: -! H5F_SCOPE_GLOBAL_F -! H5F_SCOPE_LOCAL_F -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! -! OPTIONAL PARAMETERS -! creation_prp - file creation property list identifier -! access_prp - file access property list identifier -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Flushes all buffers associated with a file to disk +!! +!! \param object_id Identifier of object used to identify the file. +!! \param scope Specifies the scope of the flushing action. Possible values are: +!! \li H5F_SCOPE_GLOBAL_F +!! \li H5F_SCOPE_LOCAL_F +!! \param hdferr \fortran_error +!! SUBROUTINE h5fflush_f(object_id, scope, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: object_id !identifier for any object - !associate with a file, - !including the file itself, - !a dataset, a group, an - !attribute, or a named - !data type - - INTEGER, INTENT(IN) :: scope !scope of the flushing - !action, possible values - !are: H5F_SCOPE_GLOBAL_F - ! which flushes the entire - !virtual file, - !and H5F_SCOPE_LOCAL_F - !which flushes only the - !specified file. - - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: object_id + INTEGER, INTENT(IN) :: scope + INTEGER, INTENT(OUT) :: hdferr + INTERFACE INTEGER FUNCTION h5fflush_c(object_id, scope) BIND(C,NAME='h5fflush_c') IMPORT :: HID_T @@ -194,47 +135,24 @@ CONTAINS hdferr = h5fflush_c(object_id, scope) END SUBROUTINE h5fflush_f -!****s* H5F/h5fmount_f -! -! NAME -! h5fmount_f -! -! PURPOSE -! Mounts a file. -! -! INPUTS -! loc_id - the identifier for of file or group in -! which name is defined -! name - the name of the group onto which the file -! specified by child_id is to be mounted. -! child_id - the identifier of the file to be mounted. -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! OPTIONAL PARAMETERS -! access_prp - the identifier of the property list to be used -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Mounts a file. +!! +!! \param loc_id The identifier for of file or group in which name is defined. +!! \param name The name of the group onto which the file specified by child_id is to be mounted. +!! \param child_id The identifier of the file to be mounted. +!! \param hdferr \fortran_error +!! \param access_prp The identifier of the property list to be used. +!! SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr, access_prp) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group - ! in which dsetname is defined - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group - INTEGER(HID_T), INTENT(IN) :: child_id ! File identifier for the - ! file to be mounted - INTEGER, INTENT(OUT) :: hdferr ! Error code + INTEGER(HID_T), INTENT(IN) :: loc_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER(HID_T), INTENT(IN) :: child_id + INTEGER, INTENT(OUT) :: hdferr INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp - ! File access property list - ! identifier -!***** INTEGER(HID_T) :: access_prp_default INTEGER :: namelen ! Length of the name character string @@ -259,38 +177,20 @@ CONTAINS END SUBROUTINE h5fmount_f -!****s* H5F/h5funmount_f -! -! NAME -! h5funmount_f -! -! PURPOSE -! Unmounts a file. -! -! INPUTS -! loc_id - the identifier for of file or group in -! which name is defined -! name - the name of the mount point -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Unmounts a file. +!! +!! \param loc_id The identifier for of file or group in which name is defined. +!! \param name The name of the mount point. +!! \param hdferr \fortran_error +!! SUBROUTINE h5funmount_f(loc_id, name, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group - ! at which the specified file - ! is to be unmounted - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the mount point - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: loc_id + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(OUT) :: hdferr INTEGER :: namelen ! Length of the name character string INTERFACE @@ -308,45 +208,26 @@ CONTAINS hdferr = h5funmount_c(loc_id, name, namelen) END SUBROUTINE h5funmount_f -!****s* H5F/h5fopen_f -! -! NAME -! h5fopen_f -! -! PURPOSE -! Opens HDF5 file. -! -! INPUTS -! name - name of the file to acecss -! access_flags - File access flags. Allowable values are: -! H5F_ACC_RDWR_F -! H5F_ACC_RDONLY_F -! OUTPUTS -! file_id - file identifier -! hdferr - Returns 0 if successful and -1 if fails -! OPTIONAL PARAMETERS -! access_prp - file access property list identifier -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Opens HDF5 file. +!! +!! \param name Name of the file to acecss. +!! \param access_flags File access flags. Allowable values are: +!! \li H5F_ACC_RDWR_F +!! \li H5F_ACC_RDONLY_F +!! \param file_id File identifier. +!! \param hdferr \fortran_error +!! \param access_prp File access property list identifier. +!! 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_flags ! File access flags - INTEGER(HID_T), INTENT(OUT) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code + CHARACTER(LEN=*), INTENT(IN) :: name + INTEGER, INTENT(IN) :: access_flags + INTEGER(HID_T), INTENT(OUT) :: file_id + INTEGER, INTENT(OUT) :: hdferr INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp - ! File access property list - ! identifier -!***** INTEGER(HID_T) :: access_prp_default INTEGER :: namelen ! Length of the name character string @@ -370,36 +251,20 @@ CONTAINS hdferr = h5fopen_c(name, namelen, access_flags, & access_prp_default, file_id) END SUBROUTINE h5fopen_f -!****s* H5F/h5freopen_f -! -! NAME -! h5freopen_f -! -! PURPOSE -! Reopens HDF5 file. -! -! INPUTS -! file_id - identifier of a file for which an -! additional identifier is required -! OUTPUTS -! ret_file_id - new file identifier -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Reopens HDF5 file. +!! +!! \param file_id Identifier of a file for which an additional identifier is required. +!! \param ret_file_id New file identifier. +!! \param hdferr \fortran_error +!! SUBROUTINE h5freopen_f(file_id, ret_file_id, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HID_T), INTENT(OUT) :: ret_file_id ! New File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER(HID_T), INTENT(OUT) :: ret_file_id + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5freopen_c(file_id, ret_file_id) BIND(C,NAME='h5freopen_c') IMPORT :: HID_T @@ -412,37 +277,20 @@ CONTAINS hdferr = h5freopen_c(file_id, ret_file_id) END SUBROUTINE h5freopen_f -!****s* H5F/h5fget_create_plist_f -! -! NAME -! h5fget_create_plist_f -! -! PURPOSE -! Returns a file creation property list identifier. -! -! INPUTS -! file_id - identifier of a file to creation property list of -! OUTPUTS -! prop_id - creation property list identifier -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Returns a file creation property list identifier. +!! +!! \param file_id Identifier of a file to creation property list of. +!! \param prop_id Creation property list identifier. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_create_plist_f(file_id, prop_id, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HID_T), INTENT(OUT) :: prop_id ! File creation property - ! list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER(HID_T), INTENT(OUT) :: prop_id + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5fget_create_plist_c(file_id, prop_id) BIND(C,NAME='h5fget_create_plist_c') IMPORT :: HID_T @@ -455,36 +303,20 @@ CONTAINS hdferr = h5fget_create_plist_c(file_id, prop_id) END SUBROUTINE h5fget_create_plist_f -!****s* H5F/h5fget_access_plist_f -! -! NAME -! h5fget_access_plist_f -! -! PURPOSE -! Returns a file access property list identifier. -! -! INPUTS -! file_id - identifier of a file to creation property list of -! OUTPUTS -! access_id - access property list identifier -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Returns a file access property list identifier. +!! +!! \param file_id Identifier of a file to creation property list of. +!! \param access_id Access property list identifier. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_access_plist_f(file_id, access_id, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER(HID_T), INTENT(OUT) :: access_id ! File access property - ! list identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER(HID_T), INTENT(OUT) :: access_id + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5fget_access_plist_c(file_id, access_id) BIND(C,NAME='h5fget_access_plist_c') IMPORT :: HID_T @@ -498,41 +330,23 @@ CONTAINS END SUBROUTINE h5fget_access_plist_f -!****s* H5F/h5fis_accessible_f -! -! NAME -! h5fis_accessible_f -! -! PURPOSE -! Determines whether a file can be accessed as HDF5. -! -! INPUTS -! name - name of the file to check -! OUTPUTS -! status - indicates if file is and HDF5 file -! hdferr - Returns 0 if successful and -1 if fails -! OPTIONAL PARAMETERS -! access_prp - file access property list identifier -! AUTHOR -! Dana Robinson -! September 2018 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Determines whether a file can be accessed as HDF5. +!! +!! \param name Name of the file to check. +!! \param status Indicates if file is and HDF5 file. +!! \param hdferr \fortran_error +!! \param access_prp File access property list identifier. +!! SUBROUTINE h5fis_accessible_f(name, status, hdferr, access_prp) IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file - LOGICAL, INTENT(OUT) :: status ! Indicates if file - ! is an HDF5 file - INTEGER, INTENT(OUT) :: hdferr ! Error code + CHARACTER(LEN=*), INTENT(IN) :: name + LOGICAL, INTENT(OUT) :: status + INTEGER, INTENT(OUT) :: hdferr INTEGER(HID_T), OPTIONAL, INTENT(IN) :: access_prp - ! File access property list - ! identifier -!***** + INTEGER(HID_T) :: access_prp_default CHARACTER(LEN=LEN_TRIM(name)+1,KIND=C_CHAR) :: c_name INTEGER(C_INT) :: flag ! "TRUE/FALSE/ERROR" flag from C routine @@ -555,42 +369,20 @@ CONTAINS ! XXX (VOL_MERGE): This function should probably be marked as ! deprecated since H5Fis_hdf5() is deprecated. -!****s* H5F/h5fis_hdf5_f -! -! NAME -! h5fis_hdf5_f -! -! PURPOSE -! Determines whether a file is in the HDF5 format. -! -! INPUTS -! name - name of the file to check -! OUTPUTS -! status - indicates if file is and HDF5 file -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! NOTES -! The underlying HDF5 C API call (H5Fis_hdf5) has been deprecated -! in favor of the VOL-capable H5Fis_accessible(). New code should -! use h5fis_accessible_f() instead of this function in case this -! function is deprecated in the future. -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Determines whether a file is in the HDF5 format. +!! +!! \param name Name of the file to check. +!! \param status Indicates if file is and HDF5 file. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fis_hdf5_f(name, status, hdferr) IMPLICIT NONE - CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file - LOGICAL, INTENT(OUT) :: status ! Indicates if file - ! is an HDF5 file - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + CHARACTER(LEN=*), INTENT(IN) :: name + LOGICAL, INTENT(OUT) :: status + INTEGER, INTENT(OUT) :: hdferr CHARACTER(LEN=LEN_TRIM(name)+1,KIND=C_CHAR) :: c_name INTEGER(C_INT) :: flag ! "TRUE/FALSE/ERROR" flag from C routine ! to define status value. @@ -607,33 +399,18 @@ CONTAINS END SUBROUTINE h5fis_hdf5_f -!****s* H5F/h5fclose_f -! -! NAME -! h5fclose_f -! -! PURPOSE -! Closes HDF5 file. -! -! INPUTS -! file_id - file identifier -! OUTPUTS -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! August 12, 1999 -! -! HISTORY -! Explicit Fortran interfaces were added for -! called C functions (it is needed for Windows -! port). February 28, 2001 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Closes HDF5 file. +!! +!! \param file_id File identifier. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fclose_f(file_id, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5fclose_c(file_id) BIND(C,NAME='h5fclose_c') IMPORT :: HID_T @@ -646,41 +423,27 @@ CONTAINS END SUBROUTINE h5fclose_f -!****s* H5F/h5fget_obj_count_f -! -! NAME -! h5fget_obj_count_f -! -! PURPOSE -! Gets number of the objects open within a file -! -! INPUTS -! file_id - file identifier -! obj_type - type of the object; possible values are: -! H5F_OBJ_FILE_F -! H5F_OBJ_DATASET_F -! H5F_OBJ_GROUP_F -! H5F_OBJ_DATATYPE_F -! H5F_OBJ_ALL_F -! OUTPUTS -! obj_count - number of open objects -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! September 30, 2002 -! -! HISTORY -! Changed the type of obj_count to INTEGER(SIZE_T) -! September 25, 2008 EIP -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Gets number of the objects open within a file +!! +!! \param file_id File identifier. +!! \param obj_type Type of the object; possible values are: +!! \li H5F_OBJ_FILE_F +!! \li H5F_OBJ_DATASET_F +!! \li H5F_OBJ_GROUP_F +!! \li H5F_OBJ_DATATYPE_F +!! \li H5F_OBJ_ALL_F +!! \param obj_count Number of open objects. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_obj_count_f(file_id, obj_type, obj_count, hdferr) IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id INTEGER, INTENT(IN) :: obj_type INTEGER(SIZE_T), INTENT(OUT) :: obj_count INTEGER, INTENT(OUT) :: hdferr -!***** INTERFACE INTEGER FUNCTION h5fget_obj_count_c(file_id, obj_type, obj_count) BIND(C,NAME='h5fget_obj_count_c') IMPORT :: HID_T, SIZE_T @@ -700,50 +463,32 @@ CONTAINS END SUBROUTINE h5fget_obj_count_f -!****s* H5F/h5fget_obj_ids_f -! -! NAME -! h5fget_obj_ids_f -! -! PURPOSE -! Get list of open objects identifiers within a file -! -! INPUTS -! file_id - file identifier -! obj_type - type of the object; possible values are: -! H5F_OBJ_FILE_F -! H5F_OBJ_DATASET_F -! H5F_OBJ_GROUP_F -! H5F_OBJ_DATATYPE_F -! H5F_OBJ_ALL_F -! OUTPUTS -! obj_ids - array of open object identifiers -! hdferr - Returns 0 if successful and -1 if fails -! -! OPTIONAL PARAMETERS -! num_objs - number of open objects -! -! AUTHOR -! Elena Pourmal -! September 30, 2002 -! -! HISTORY -! Added optional parameter num_objs for number of open objects -! of the specified type and changed type of max_obj to -! INTEGER(SIZE_T) -! September 25, 2008 EIP -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Get list of open objects identifiers within a file +!! +!! \param file_id File identifier. +!! \param obj_type Type of the object; possible values are: +!! \li H5F_OBJ_FILE_F +!! \li H5F_OBJ_DATASET_F +!! \li H5F_OBJ_GROUP_F +!! \li H5F_OBJ_DATATYPE_F +!! \li H5F_OBJ_ALL_F +!! \param max_objs Maximum # of objects to retrieve. +!! \param obj_ids Array of open object identifiers. +!! \param hdferr \fortran_error +!! \param num_objs Number of open objects. +!! SUBROUTINE h5fget_obj_ids_f(file_id, obj_type, max_objs, obj_ids, hdferr, num_objs) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier - INTEGER, INTENT(IN) :: obj_type ! Object type - INTEGER(SIZE_T), INTENT(IN) :: max_objs ! Maximum # of objects to retrieve + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER, INTENT(IN) :: obj_type + INTEGER(SIZE_T), INTENT(IN) :: max_objs INTEGER(HID_T), DIMENSION(*), INTENT(INOUT) :: obj_ids - ! Array of open objects iidentifiers - INTEGER, INTENT(OUT) :: hdferr ! Error code - INTEGER(SIZE_T), INTENT(OUT), OPTIONAL :: num_objs ! number of open objects -!***** + INTEGER, INTENT(OUT) :: hdferr + INTEGER(SIZE_T), INTENT(OUT), OPTIONAL :: num_objs + INTEGER(SIZE_T) :: c_num_objs ! Number of open objects of the specified type INTERFACE @@ -763,32 +508,20 @@ CONTAINS IF (PRESENT(num_objs)) num_objs= c_num_objs END SUBROUTINE h5fget_obj_ids_f -!****s* H5F/h5fget_freespace_f -! -! NAME -! h5fget_freespace_f -! -! PURPOSE -! Get amount of free space within a file -! -! INPUTS -! file_id - file identifier -! OUTPUTS -! free_space - amount of free space in file -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Quincey Koziol -! October 7, 2003 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Get amount of free space within a file. +!! +!! \param file_id File identifier. +!! \param free_space Amount of free space in file. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_freespace_f(file_id, free_space, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier + INTEGER(HID_T), INTENT(IN) :: file_id INTEGER(HSSIZE_T), INTENT(OUT) :: free_space - ! amount of free space in file - INTEGER, INTENT(OUT) :: hdferr ! Error code -!***** + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5fget_freespace_c(file_id, free_space) & BIND(C,NAME='h5fget_freespace_c') @@ -802,34 +535,22 @@ CONTAINS hdferr = h5fget_freespace_c(file_id, free_space) END SUBROUTINE h5fget_freespace_f -!****s* H5F/h5fget_name_f -! -! NAME -! h5fget_name_f -! -! PURPOSE -! Gets the name of the file from the object identifier -! -! INPUTS -! obj_id - object identifier -! OUTPUTS -! buf - buffer to store the read name -! size - actual size of the name -! hdferr - Returns 0 if successful and -1 if fails -! AUTHOR -! Elena Pourmal -! July 6, 2004 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Gets the name of the file from the object identifier. +!! +!! \param obj_id Object identifier. +!! \param buf Buffer to store the read name. +!! \param size Actual size of the name. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_name_f(obj_id, buf, size, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier + INTEGER(HID_T), INTENT(IN) :: obj_id CHARACTER(LEN=*), INTENT(OUT) :: buf - ! Buffer to hold file name - INTEGER(SIZE_T), INTENT(OUT) :: size ! Size of the file name - INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, - ! -1 if fail -!***** + INTEGER(SIZE_T), INTENT(OUT) :: size + INTEGER, INTENT(OUT) :: hdferr INTEGER(SIZE_T) :: buflen INTERFACE @@ -847,32 +568,20 @@ CONTAINS buflen = LEN(buf) hdferr = h5fget_name_c(obj_id, size, buf, buflen) END SUBROUTINE h5fget_name_f -!****s* H5F/h5fget_filesize_f -! -! NAME -! h5fget_filesize_f -! -! PURPOSE -! Retrieves the file size of the HDF5 file. -! -! INPUTS -! file_id - file identifier -! OUTPUTS -! size - file size -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Elena Pourmal -! July 7, 2004 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Retrieves the file size of the HDF5 file. +!! +!! \param file_id File identifier. +!! \param size File size. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_filesize_f(file_id, size, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! file identifier - INTEGER(HSIZE_T), INTENT(OUT) :: size ! Size of the file - INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, - ! -1 if fail -!***** + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER(HSIZE_T), INTENT(OUT) :: size + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5fget_filesize_c(file_id, size) & BIND(C,NAME='h5fget_filesize_c') @@ -885,36 +594,24 @@ CONTAINS hdferr = h5fget_filesize_c(file_id, size) END SUBROUTINE h5fget_filesize_f -!****s* H5F/h5fget_fileno_f -! -! NAME -! h5fget_fileno_f -! -! PURPOSE -! Retrieves the file number of the HDF5 file. -! -! INPUTS -! file_id - file identifier -! OUTPUTS -! fileno - file number -! hdferr - Returns 0 if successful and -1 if fails -! -! AUTHOR -! Quincey Koziol -! April 13, 2019 -! -! SOURCE +!> +!! \ingroup FH5F +!! +!! \brief Retrieves the file number of the HDF5 file. +!! +!! \param file_id File identifier. +!! \param fileno File number. +!! \param hdferr \fortran_error +!! SUBROUTINE h5fget_fileno_f(file_id, fileno, hdferr) IMPLICIT NONE - INTEGER(HID_T), INTENT(IN) :: file_id ! file identifier - INTEGER, INTENT(OUT) :: fileno ! File number - INTEGER, INTENT(OUT) :: hdferr ! Error code: 0 on success, - ! -1 if fail -!***** + INTEGER(HID_T), INTENT(IN) :: file_id + INTEGER, INTENT(OUT) :: fileno + INTEGER, INTENT(OUT) :: hdferr INTERFACE INTEGER FUNCTION h5fget_fileno_c(file_id, fileno) & BIND(C,NAME='h5fget_fileno_c') - IMPORT :: HID_T, HSIZE_T + IMPORT :: HID_T IMPLICIT NONE INTEGER(HID_T), INTENT(IN) :: file_id INTEGER, INTENT(OUT) :: fileno @@ -923,31 +620,17 @@ CONTAINS hdferr = h5fget_fileno_c(file_id, fileno) END SUBROUTINE h5fget_fileno_f -!****s* H5F (F03)/h5fget_file_image_f_F03 -! -! NAME -! h5fget_file_image_f -! -! PURPOSE -! Retrieves a copy of the image of an existing, open file. -! -! INPUTS -! file_id - Target file identifier. -! buf_ptr - Pointer to the buffer into which the image of the HDF5 file is to be copied. -! buf_len - Size of the supplied buffer. -! -! OUTPUTS -! hdferr - error code: -! 0 on success and -1 on failure -! OPTIONAL PARAMETERS -! buf_size - Returns the size in bytes of the buffer required to store the file image, -! no data will be copied. -! -! AUTHOR -! M. Scot Breitenfeld -! November 26, 2012 -! -! Fortran2003 Interface: +!> +!! \ingroup FH5F +!! +!! \brief Retrieves a copy of the image of an existing, open file. +!! +!! \param file_id Target file identifier. +!! \param buf_ptr Pointer to the buffer into which the image of the HDF5 file is to be copied. +!! \param buf_len Size of the supplied buffer. +!! \param hdferr Error code: 0 on success and -1 on failure. +!! \param buf_size Returns the size in bytes of the buffer required to store the file image, no data will be copied. +!! SUBROUTINE h5fget_file_image_f(file_id, buf_ptr, buf_len, hdferr, buf_size) IMPLICIT NONE INTEGER(HID_T) , INTENT(IN) :: file_id @@ -955,7 +638,6 @@ CONTAINS INTEGER(SIZE_T), INTENT(IN) :: buf_len INTEGER , INTENT(OUT) :: hdferr INTEGER(SIZE_T), INTENT(OUT) , OPTIONAL :: buf_size -!***** INTEGER(SIZE_T) :: buf_size_default @@ -983,34 +665,21 @@ CONTAINS END SUBROUTINE h5fget_file_image_f -!****s* H5F (F03)/h5fget_dset_no_attrs_hint_f_F03 -! -! NAME -! h5fget_dset_no_attrs_hint_f -! -! PURPOSE -! Gets the value of the "minimize dataset headers" value which creates -! smaller dataset object headers when its set and no attributes are present. -! -! INPUTS -! file_id - Target file identifier. -! -! OUTPUTS -! minimize - Value of the setting. -! hdferr - error code: -! 0 on success and -1 on failure -! -! AUTHOR -! Dana Robinson -! January 2019 -! -! Fortran2003 Interface: +!> +!! \ingroup FH5F +!! +!! \brief Gets the value of the "minimize dataset headers" value which creates +!! smaller dataset object headers when its set and no attributes are present. +!! +!! \param file_id Target file identifier. +!! \param minimize Value of the setting. +!! \param hdferr Error code: 0 on success and -1 on failure. +!! SUBROUTINE h5fget_dset_no_attrs_hint_f(file_id, minimize, hdferr) IMPLICIT NONE INTEGER(HID_T) , INTENT(IN) :: file_id LOGICAL , INTENT(OUT) :: minimize INTEGER , INTENT(OUT) :: hdferr -!***** LOGICAL(C_BOOL) :: c_minimize INTERFACE @@ -1029,34 +698,21 @@ CONTAINS END SUBROUTINE h5fget_dset_no_attrs_hint_f -!****s* H5F (F03)/h5fset_dset_no_attrs_hint_f_F03 -! -! NAME -! h5fset_dset_no_attrs_hint_f -! -! PURPOSE -! Sets the value of the "minimize dataset headers" value which creates -! smaller dataset object headers when its set and no attributes are present. -! -! INPUTS -! file_id - Target file identifier. -! minimize - Value of the setting. -! -! OUTPUTS -! hdferr - error code: -! 0 on success and -1 on failure -! -! AUTHOR -! Dana Robinson -! January 2019 -! -! Fortran2003 Interface: +!> +!! \ingroup FH5F +!! +!! \brief Sets the value of the "minimize dataset headers" value which creates +!! smaller dataset object headers when its set and no attributes are present. +!! +!! \param file_id Target file identifier. +!! \param minimize Value of the setting. +!! \param hdferr Error code: 0 on success and -1 on failure. +!! SUBROUTINE h5fset_dset_no_attrs_hint_f(file_id, minimize, hdferr) IMPLICIT NONE INTEGER(HID_T) , INTENT(IN) :: file_id LOGICAL , INTENT(IN) :: minimize INTEGER , INTENT(OUT) :: hdferr -!***** LOGICAL(C_BOOL) :: c_minimize INTERFACE |