summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5f90global.F90
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src/H5f90global.F90')
-rw-r--r--fortran/src/H5f90global.F9061
1 files changed, 39 insertions, 22 deletions
diff --git a/fortran/src/H5f90global.F90 b/fortran/src/H5f90global.F90
index 02e3bc3..eb3b87e 100644
--- a/fortran/src/H5f90global.F90
+++ b/fortran/src/H5f90global.F90
@@ -29,7 +29,7 @@
! This file is part of HDF5. The full HDF5 copyright notice, including *
! terms governing use, modification, and redistribution, is contained in *
! the COPYING file, which can be found at the root of the source code *
-! distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
+! distribution tree, or in https://www.hdfgroup.org/licenses. *
! If you do not have access to either file, you may request a copy from *
! help@hdfgroup.org. *
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -49,11 +49,12 @@ MODULE H5GLOBAL
ENUMERATOR :: enum_dtype
END ENUM
INTEGER, PARAMETER :: ENUM_T = KIND(enum_dtype)
-
+
! Definitions for reference datatypes.
! If you change the value of these parameters, do not forget to change corresponding
! values in the H5f90.h file.
INTEGER, PARAMETER :: REF_REG_BUF_LEN = 3
+ INTEGER, PARAMETER :: H5O_TOKEN_BUF_LEN = 16 ! Matches C defined value in H5public.h
! Parameters used in the function 'h5kind_to_type' located in H5_ff.F90.
! The flag is used to tell the function whether the kind input variable
@@ -70,19 +71,23 @@ MODULE H5GLOBAL
INTEGER, DIMENSION(1:REF_REG_BUF_LEN) :: ref
END TYPE hdset_reg_ref_t_f
+ TYPE, BIND(C) :: h5o_token_t_f
+ INTEGER(C_INT8_T), DIMENSION(1:H5O_TOKEN_BUF_LEN) :: token
+ END TYPE h5o_token_t_f
+
! Do not forget to change these values when new predefined
! datatypes are added
INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 19
INTEGER, PARAMETER :: FLOATING_TYPES_LEN = 4
INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 27
- ! These arrays need to be global because they are used in
+ ! These arrays need to be global because they are used in
! both h5open_f and in h5close_f; initialize to fix linking issues
! on OSX and Intel compilers.
INTEGER(HID_T), DIMENSION(1:PREDEF_TYPES_LEN) :: predef_types = -1
INTEGER(HID_T), DIMENSION(1:FLOATING_TYPES_LEN) :: floating_types = -1
INTEGER(HID_T), DIMENSION(1:INTEGER_TYPES_LEN) :: integer_types = -1
-
+
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL_C_FLOAT
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL_C_DOUBLE
@@ -90,7 +95,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_INTEGER
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_REAL
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_DOUBLE
- !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_CHARACTER
+ !DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_CHARACTER
!DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_REF_OBJ
!DEC$ATTRIBUTES DLLEXPORT :: H5T_STD_REF_DSETREG
!DEC$ATTRIBUTES DLLEXPORT :: H5T_IEEE_F32BE
@@ -131,14 +136,14 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_INTEGER_KIND
!DEC$ATTRIBUTES DLLEXPORT :: H5T_NATIVE_FLOAT_128
!DEC$endif
-
+
INTEGER(HID_T) :: H5T_NATIVE_REAL_C_FLOAT
INTEGER(HID_T) :: H5T_NATIVE_REAL_C_DOUBLE
INTEGER(HID_T) :: H5T_NATIVE_REAL_C_LONG_DOUBLE
INTEGER(HID_T) :: H5T_NATIVE_INTEGER
INTEGER(HID_T) :: H5T_NATIVE_REAL
INTEGER(HID_T) :: H5T_NATIVE_DOUBLE
- INTEGER(HID_T) :: H5T_NATIVE_CHARACTER
+ INTEGER(HID_T) :: H5T_NATIVE_CHARACTER
INTEGER(HID_T) :: H5T_STD_REF_OBJ
INTEGER(HID_T) :: H5T_STD_REF_DSETREG
INTEGER(HID_T) :: H5T_IEEE_F32BE
@@ -197,7 +202,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5_ITER_N_F
!DEC$ATTRIBUTES DLLEXPORT :: HADDR_UNDEF_F
!DEC$endif
-
+
INTEGER :: H5_INDEX_UNKNOWN_F
INTEGER :: H5_INDEX_NAME_F
INTEGER :: H5_INDEX_CRT_ORDER_F
@@ -232,8 +237,14 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_EARLIEST_F
!DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_LATEST_F
!DEC$ATTRIBUTES DLLEXPORT :: H5F_UNLIMITED_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_ERROR_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_NBOUNDS_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_V18_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_V110_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_V112_F
+ !DEC$ATTRIBUTES DLLEXPORT :: H5F_LIBVER_V114_F
!DEC$endif
-
+
INTEGER :: H5F_ACC_RDWR_F
INTEGER :: H5F_ACC_RDONLY_F
INTEGER :: H5F_ACC_TRUNC_F
@@ -253,6 +264,12 @@ MODULE H5GLOBAL
INTEGER :: H5F_LIBVER_EARLIEST_F
INTEGER :: H5F_LIBVER_LATEST_F
INTEGER :: H5F_UNLIMITED_F
+ INTEGER :: H5F_LIBVER_ERROR_F
+ INTEGER :: H5F_LIBVER_NBOUNDS_F
+ INTEGER :: H5F_LIBVER_V18_F
+ INTEGER :: H5F_LIBVER_V110_F
+ INTEGER :: H5F_LIBVER_V112_F
+ INTEGER :: H5F_LIBVER_V114_F
!
! H5G flags declaration
!
@@ -272,7 +289,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5G_STORAGE_TYPE_COMPACT_F
!DEC$ATTRIBUTES DLLEXPORT :: H5G_STORAGE_TYPE_DENSE_F
!DEC$endif
-
+
INTEGER :: H5G_UNKNOWN_F
INTEGER :: H5G_GROUP_F
INTEGER :: H5G_DATASET_F
@@ -323,7 +340,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5D_VDS_LAST_AVAILABLE_F
!DEC$ATTRIBUTES DLLEXPORT :: H5D_VIRTUAL_F
!DEC$endif
-
+
INTEGER :: H5D_COMPACT_F
INTEGER :: H5D_CONTIGUOUS_F
INTEGER :: H5D_CHUNKED_F
@@ -352,7 +369,7 @@ MODULE H5GLOBAL
! characters for variable names in Fortran.
! shortened "_CONTIGUOUS" to "_CONTIG" to satisfy the limit of 31
! characters for variable names in Fortran.
-
+
INTEGER(SIZE_T) :: H5D_CHUNK_CACHE_NSLOTS_DFLT_F
INTEGER(SIZE_T) :: H5D_CHUNK_CACHE_NBYTES_DFLT_F
@@ -476,7 +493,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5L_SAME_LOC_F
!DEC$ATTRIBUTES DLLEXPORT :: H5L_LINK_CLASS_T_VERS_F
!DEC$endif
-
+
INTEGER :: H5L_TYPE_ERROR_F
INTEGER :: H5L_TYPE_HARD_F
INTEGER :: H5L_TYPE_SOFT_F
@@ -522,7 +539,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5O_INFO_META_SIZE_F
!
!DEC$endif
-
+
INTEGER :: H5O_COPY_SHALLOW_HIERARCHY_F ! *** THESE VARIABLES DO
INTEGER :: H5O_COPY_EXPAND_SOFT_LINK_F ! NOT MATCH THE C VARIABLE
INTEGER :: H5O_COPY_EXPAND_EXT_LINK_F ! IN ORDER
@@ -638,7 +655,7 @@ MODULE H5GLOBAL
!DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_HYPERSLABS_F
!DEC$ATTRIBUTES DLLEXPORT :: H5S_SEL_ALL_F
!DEC$endif
-
+
INTEGER(HSIZE_T) :: H5S_UNLIMITED_F
INTEGER(HID_T) :: H5S_ALL_F
@@ -802,7 +819,7 @@ CONTAINS
SUBROUTINE H5_Fortran_string_c2f(c_string, f_string)
- USE, INTRINSIC :: ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_CHAR, C_NULL_CHAR
IMPLICIT NONE
CHARACTER(KIND=C_CHAR, LEN=*), INTENT(IN) :: c_string
CHARACTER(LEN=*), INTENT(OUT) :: f_string
@@ -814,11 +831,11 @@ CONTAINS
f_len = LEN(f_string)
! CASE (1): C string is equal to or larger than Fortran character buffer,
- ! so fill the entire Fortran buffer.
+ ! so fill the entire Fortran buffer.
IF(c_len.GE.f_len)THEN !
f_string(1:f_len) = c_string(1:f_len)
- ! CASE (2): C string is smaller than Fortran character buffer,
+ ! CASE (2): C string is smaller than Fortran character buffer,
! so copy C string and blank pad remaining characters.
ELSE
f_string(1:c_len) = c_string(1:c_len)
@@ -828,7 +845,7 @@ CONTAINS
SUBROUTINE H5_Fortran_string_f2c(f_string, c_string)
- USE, INTRINSIC :: ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING, ONLY : C_CHAR, C_NULL_CHAR
IMPLICIT NONE
CHARACTER(LEN=*), INTENT(IN) :: f_string
CHARACTER(KIND=C_CHAR, LEN=*), INTENT(OUT) :: c_string
@@ -838,7 +855,7 @@ CONTAINS
END SUBROUTINE H5_Fortran_string_f2c
-! Copy Fortran string to C charater array, assuming the C array is one-char
+! Copy Fortran string to C character array, assuming the C array is one-char
! longer for the terminating null char.
! fstring : the Fortran input string
! cstring : the C output string (with memory already allocated)
@@ -866,7 +883,7 @@ CONTAINS
!!$ cstring(j) = C_NULL_CHAR
!!$end subroutine MPIR_Fortran_string_f2c
!!$
-!!$! Copy C charater array to Fortran string
+!!$! Copy C character array to Fortran string
!!$subroutine MPIR_Fortran_string_c2f(cstring, fstring)
!!$ implicit none
!!$ character(kind=c_char), intent(in) :: cstring(:)
@@ -885,6 +902,6 @@ CONTAINS
!!$ fstring(j:j) = ' '
!!$ end do
!!$end subroutine MPIR_Fortran_string_c2f
-
+
END MODULE H5GLOBAL