summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-03-20 21:48:41 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-03-20 21:48:41 (GMT)
commit23afd1054486ff752e620f7596d3b4725e14f6fe (patch)
tree8d8be015ef6481a5b3bd914f76c22edbbc4571c3
parent1cd7c16a9d40a2a8664e62c6075800579df334b7 (diff)
downloadhdf5-23afd1054486ff752e620f7596d3b4725e14f6fe.zip
hdf5-23afd1054486ff752e620f7596d3b4725e14f6fe.tar.gz
hdf5-23afd1054486ff752e620f7596d3b4725e14f6fe.tar.bz2
[svn-r26512] Reverted changed 26488 and 26477
Tested: h5committest
-rwxr-xr-xconfigure38
-rw-r--r--configure.ac33
-rw-r--r--fortran/src/H5Pff.f9085
-rw-r--r--fortran/src/H5_ff.f90492
-rw-r--r--fortran/src/H5f90global.f90661
-rw-r--r--fortran/src/hdf5_fortrandll.def.in280
6 files changed, 731 insertions, 858 deletions
diff --git a/configure b/configure
index f7906bd..c073f13 100755
--- a/configure
+++ b/configure
@@ -7696,7 +7696,8 @@ fi
## ----------------------------------------------------------------------
-## Check for Fortran shared libraries.
+## Fortran libraries are not currently supported on Mac. Disable them.
+## (this is overridable with --enable-unsupported).
##
H5_FORTRAN_SHARED="no"
@@ -7704,9 +7705,42 @@ if test "X${HDF_FORTRAN}" = "Xyes" && test "X${enable_shared}" != "Xno"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if shared Fortran libraries are supported" >&5
$as_echo_n "checking if shared Fortran libraries are supported... " >&6; }
H5_FORTRAN_SHARED="yes"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+
+ ## Disable fortran shared libraries on Mac. (MAM - 03/30/11)
+
+ case "`uname`" in
+ Darwin*)
+ H5_FORTRAN_SHARED="no"
+ CHECK_WARN="Shared Fortran libraries not currently supported on Mac."
+ ;;
+ esac
+
+ ## Report results of check(s)
+
+ if test "X${H5_FORTRAN_SHARED}" = "Xno"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $CHECK_WARN" >&5
+$as_echo "$as_me: WARNING: $CHECK_WARN" >&2;}
+ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Disabling shared Fortran libraries." >&5
+$as_echo "$as_me: WARNING: Disabling shared Fortran libraries." >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: To override this behavior, please use --enable-unsupported configure option." >&5
+$as_echo "$as_me: WARNING: To override this behavior, please use --enable-unsupported configure option." >&2;}
+ if test "X${enable_static}" = "Xno"; then
+ as_fn_error $? "both static and shared Fortran libraries are disabled" "$LINENO" 5
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag" >&5
+$as_echo "$as_me: WARNING: Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag" >&2;}
+ H5_FORTRAN_SHARED="yes"
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+ fi
fi
+
if test "X$H5_FORTRAN_SHARED" = "Xyes"; then
FORTRAN_SHARED_CONDITIONAL_TRUE=
FORTRAN_SHARED_CONDITIONAL_FALSE='#'
diff --git a/configure.ac b/configure.ac
index d78133b..68927a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -641,15 +641,44 @@ AC_SUBST([RUNPARALLEL])
AC_SUBST([TESTPARALLEL])
## ----------------------------------------------------------------------
-## Check for Fortran shared libraries.
+## Fortran libraries are not currently supported on Mac. Disable them.
+## (this is overridable with --enable-unsupported).
##
AC_SUBST([H5_FORTRAN_SHARED])
H5_FORTRAN_SHARED="no"
if test "X${HDF_FORTRAN}" = "Xyes" && test "X${enable_shared}" != "Xno"; then
AC_MSG_CHECKING([if shared Fortran libraries are supported])
H5_FORTRAN_SHARED="yes"
- AC_MSG_RESULT([yes])
+
+ ## Disable fortran shared libraries on Mac. (MAM - 03/30/11)
+
+ case "`uname`" in
+ Darwin*)
+ H5_FORTRAN_SHARED="no"
+ CHECK_WARN="Shared Fortran libraries not currently supported on Mac."
+ ;;
+ esac
+
+ ## Report results of check(s)
+
+ if test "X${H5_FORTRAN_SHARED}" = "Xno"; then
+ AC_MSG_RESULT([no])
+ AC_MSG_WARN([$CHECK_WARN])
+ if test "X${ALLOW_UNSUPPORTED}" != "Xyes"; then
+ AC_MSG_WARN([Disabling shared Fortran libraries.])
+ AC_MSG_WARN([To override this behavior, please use --enable-unsupported configure option.])
+ if test "X${enable_static}" = "Xno"; then
+ AC_MSG_ERROR([both static and shared Fortran libraries are disabled])
+ fi
+ else
+ AC_MSG_WARN([Allowing unsupported Fortran shared libraries due to use of --enable-unsupported flag])
+ H5_FORTRAN_SHARED="yes"
+ fi
+ else
+ AC_MSG_RESULT([yes])
+ fi
fi
+
AM_CONDITIONAL([FORTRAN_SHARED_CONDITIONAL], [test "X$H5_FORTRAN_SHARED" = "Xyes"])
## ----------------------------------------------------------------------
diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90
index 3409f15..b43d7c8 100644
--- a/fortran/src/H5Pff.f90
+++ b/fortran/src/H5Pff.f90
@@ -1432,7 +1432,7 @@ CONTAINS
!****s* H5P/h5pget_fapl_core_f
! NAME
-! h5pget_fapl_core_f
+! h5pget_fapl_core_f
!
! PURPOSE
! Queries core file driver properties.
@@ -1470,6 +1470,9 @@ CONTAINS
!*****
INTEGER :: backing_store_flag
+! INTEGER, EXTERNAL :: h5pget_fapl_core_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
INTERFACE
INTEGER FUNCTION h5pget_fapl_core_c(prp_id, increment, backing_store_flag)
USE H5GLOBAL
@@ -4202,46 +4205,50 @@ CONTAINS
! Fortran90 Interface:
SUBROUTINE h5pset_fapl_multi_l(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr)
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER, DIMENSION(*), INTENT(IN) :: memb_map
- INTEGER(HID_T), DIMENSION(*), INTENT(IN) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: memb_name
- REAL, DIMENSION(*), INTENT(IN) :: memb_addr
- LOGICAL, INTENT(IN) :: relax
- INTEGER, INTENT(OUT) :: hdferr
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_map ! Mapping array
+ INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_fapl ! Property list for each memory usage type
+ CHARACTER(LEN=*), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_name ! Names of member file
+ REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_addr
+ LOGICAL, INTENT(IN) :: relax ! Flag
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ ! 0 on success and -1 on failure
!*****
- INTEGER, DIMENSION(1:H5FD_MEM_NTYPES_F) :: lenm
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
INTEGER :: maxlen
- INTEGER :: flag = 0
+ INTEGER :: flag
INTEGER :: i
+! INTEGER, EXTERNAL :: h5pset_fapl_multi_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
INTERFACE
INTEGER FUNCTION h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, &
maxlen, memb_addr, flag)
USE H5GLOBAL
- IMPLICIT NONE
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_MULTI_C'::h5pset_fapl_multi_c
!DEC$ENDIF
!DEC$ATTRIBUTES reference :: memb_name
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(*), INTENT(IN) :: memb_map
- INTEGER(HID_T), DIMENSION(*), INTENT(IN) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: memb_name
- REAL, DIMENSION(*), INTENT(IN) :: memb_addr
- INTEGER, DIMENSION(*) :: lenm
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_map
+ INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_name
+ REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(IN) :: memb_addr
+ !INTEGER(HADDR_T), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(IN) :: memb_addr
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
INTEGER :: maxlen
INTEGER, INTENT(IN) :: flag
END FUNCTION h5pset_fapl_multi_c
END INTERFACE
-
maxlen = LEN(memb_name(1))
- DO i=1, H5FD_MEM_NTYPES_F
+ DO i=0, H5FD_MEM_NTYPES_F-1
lenm(i) = LEN_TRIM(memb_name(i))
ENDDO
- IF(relax) flag = 1
- hdferr = h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag)
-
+ flag = 0
+ IF (relax) flag = 1
+ hdferr = h5pset_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag)
+
END SUBROUTINE h5pset_fapl_multi_l
!****s* H5P/h5pset_fapl_multi_s
! NAME
@@ -4279,7 +4286,6 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5pset_fapl_multi_sc(prp_id,flag)
USE H5GLOBAL
- IMPLICIT NONE
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PSET_FAPL_MULTI_SC'::h5pset_fapl_multi_sc
!DEC$ENDIF
@@ -4323,50 +4329,51 @@ CONTAINS
SUBROUTINE h5pget_fapl_multi_f(prp_id, memb_map, memb_fapl, memb_name, memb_addr, relax, hdferr, maxlen_out)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(*), INTENT(OUT) :: memb_map
- INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: memb_name
- REAL, DIMENSION(*), INTENT(OUT) :: memb_addr
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_map
+ INTEGER(HID_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_name
+ !INTEGER(HADDR_T), DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_addr
+ REAL, DIMENSION(0:H5FD_MEM_NTYPES_F-1), INTENT(OUT) :: memb_addr
INTEGER, OPTIONAL, INTENT(OUT) :: maxlen_out
LOGICAL, INTENT(OUT) :: relax
INTEGER, INTENT(OUT) :: hdferr ! Error code
! 0 on success and -1 on failure
!*****
- INTEGER, DIMENSION(1:H5FD_MEM_NTYPES_F) :: lenm
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
INTEGER :: maxlen
INTEGER :: c_maxlen_out
INTEGER :: flag
INTEGER :: i
+
+! INTEGER, EXTERNAL :: h5pget_fapl_multi_c
+! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
INTEGER FUNCTION h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, &
maxlen, memb_addr, flag, c_maxlen_out)
USE H5GLOBAL
- IMPLICIT NONE
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_FAPL_MULTI_C'::h5pget_fapl_multi_c
!DEC$ENDIF
!DEC$ATTRIBUTES reference :: memb_name
INTEGER(HID_T), INTENT(IN) :: prp_id ! File creation property list identifier
- INTEGER, DIMENSION(*), INTENT(OUT) :: memb_map
- INTEGER(HID_T), DIMENSION(*), INTENT(OUT) :: memb_fapl
- CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: memb_name
- REAL, DIMENSION(*), INTENT(OUT) :: memb_addr
- INTEGER, DIMENSION(*) :: lenm
+ INTEGER, DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_map
+ INTEGER(HID_T), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_fapl
+ CHARACTER(LEN=*), DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_name
+ REAL, DIMENSION(H5FD_MEM_NTYPES_F), INTENT(OUT) :: memb_addr
+ INTEGER, DIMENSION(0:H5FD_MEM_NTYPES_F-1) :: lenm
INTEGER :: maxlen
INTEGER :: c_maxlen_out
INTEGER, INTENT(OUT) :: flag
END FUNCTION h5pget_fapl_multi_c
END INTERFACE
-
- maxlen = LEN(memb_name(1))
- DO i=1, H5FD_MEM_NTYPES_F
+ maxlen = LEN(memb_name(0))
+ DO i=0, H5FD_MEM_NTYPES_F-1
lenm(i) = LEN_TRIM(memb_name(i))
ENDDO
- hdferr = h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag, c_maxlen_out)
-
+ hdferr = h5pget_fapl_multi_c(prp_id, memb_map, memb_fapl, memb_name, lenm, maxlen, memb_addr, flag, c_maxlen_out)
relax = .TRUE.
- IF(flag .EQ. 0) relax = .FALSE.
+ IF(flag .EQ. 0) relax = .FALSE.
IF(PRESENT(maxlen_out)) maxlen_out = c_maxlen_out
END SUBROUTINE h5pget_fapl_multi_f
!****s* H5P/h5pset_szip_f
diff --git a/fortran/src/H5_ff.f90 b/fortran/src/H5_ff.f90
index d4977e5..49e64a3 100644
--- a/fortran/src/H5_ff.f90
+++ b/fortran/src/H5_ff.f90
@@ -58,11 +58,6 @@ CONTAINS
! Elena Pourmal
! August 12, 1999
!
-! NOTES
-! The size of the C arrays in H5_f.c has to match the values of the variables
-! declared as PARAMETER, hence if the size of an array in H5_f.c is changed
-! then the PARAMETER of that corresponding array in Fortran must also be changed.
-!
! HISTORY
! Explicit Fortran interfaces were added for
! called C functions (it is needed for Windows
@@ -76,108 +71,15 @@ CONTAINS
USE H5GLOBAL
IMPLICIT NONE
INTEGER, INTENT(OUT) :: error
- !*****
- !
- ! H5F flags
- !
- INTEGER, PARAMETER :: H5F_FLAGS_LEN = 19
- INTEGER :: H5F_flags(H5F_FLAGS_LEN)
- !
- ! H5generic flags declaration
- !
- INTEGER, PARAMETER :: H5generic_FLAGS_LEN = 9
- INTEGER :: H5generic_flags(H5generic_FLAGS_LEN)
- !
- ! H5G flags declaration
- !
- INTEGER, PARAMETER :: H5G_FLAGS_LEN = 12
- INTEGER :: H5G_flags(H5G_FLAGS_LEN)
- !
- ! H5D flags declaration
- !
- INTEGER, PARAMETER :: H5D_FLAGS_LEN = 25
- INTEGER :: H5D_flags(H5D_FLAGS_LEN)
- INTEGER, PARAMETER :: H5D_SIZE_FLAGS_LEN = 2
- INTEGER(SIZE_T) :: H5D_size_flags(H5D_SIZE_FLAGS_LEN)
- !
- ! H5E flags declaration
- !
- INTEGER, PARAMETER :: H5E_FLAGS_LEN = 4
- INTEGER :: H5E_flags(H5E_FLAGS_LEN)
- INTEGER, PARAMETER :: H5E_HID_FLAGS_LEN = 1
- INTEGER(HID_T) :: H5E_hid_flags(H5E_HID_FLAGS_LEN)
- !
- ! H5FD flags declaration
- !
- INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11
- INTEGER :: H5FD_flags(H5FD_FLAGS_LEN)
- !
- ! H5FD file drivers flags declaration
- !
- INTEGER, PARAMETER :: H5FD_HID_FLAGS_LEN = 7
- INTEGER(HID_T) :: H5FD_hid_flags(H5FD_HID_FLAGS_LEN)
- !
- ! H5I flags declaration
- !
- INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7
- INTEGER :: H5I_flags(H5I_FLAGS_LEN)
- !
- ! H5L flags declaration
- !
- INTEGER, PARAMETER :: H5L_FLAGS_LEN = 6
- INTEGER :: H5L_flags(H5L_FLAGS_LEN)
- !
- ! H5O flags declaration
- !
- INTEGER, PARAMETER :: H5O_FLAGS_LEN = 27
- INTEGER :: H5o_flags(H5O_FLAGS_LEN)
- !
- ! H5P flags declaration
- !
- INTEGER, PARAMETER :: H5P_FLAGS_LEN = 18
- INTEGER(HID_T) H5P_flags(H5P_FLAGS_LEN)
- !
- ! H5P integers flags declaration
- !
- INTEGER, PARAMETER :: H5P_FLAGS_INT_LEN = 2
- INTEGER :: H5P_flags_int(H5P_FLAGS_INT_LEN)
- !
- ! H5R flags declaration
- !
- INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2
- INTEGER :: H5R_flags(H5R_FLAGS_LEN)
- !
- ! H5S flags declaration
- !
- INTEGER, PARAMETER :: H5S_FLAGS_LEN = 19
- INTEGER :: H5S_flags(H5S_FLAGS_LEN)
- INTEGER, PARAMETER :: H5S_HSIZE_FLAGS_LEN = 1
- INTEGER(HSIZE_T) :: H5S_hsize_flags(H5S_HSIZE_FLAGS_LEN)
- !
- ! H5T flags declaration
- !
- INTEGER, PARAMETER :: H5T_FLAGS_LEN = 35
- INTEGER :: H5T_flags(H5T_FLAGS_LEN)
- !
- ! H5Z flags declaration
- !
- INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 20
- INTEGER :: H5Z_flags(H5Z_FLAGS_LEN)
- !
- ! H5 Library flags declaration
- !
- INTEGER, PARAMETER :: H5LIB_FLAGS_LEN = 2
- INTEGER :: H5LIB_flags(H5LIB_FLAGS_LEN)
-
+!*****
INTEGER :: error_1, error_2, error_3
INTERFACE
INTEGER FUNCTION h5init_types_c(p_types, f_types, i_types)
USE H5GLOBAL
- IMPLICIT NONE
- INTEGER(HID_T), DIMENSION(*) :: p_types
- INTEGER(HID_T), DIMENSION(*) :: f_types
- INTEGER(HID_T), DIMENSION(*) :: i_types
+ INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: p_types
+ INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: f_types
+ INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: i_types
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5INIT_TYPES_C'::h5init_types_c
!DEC$ENDIF
@@ -204,26 +106,25 @@ CONTAINS
i_H5Z_flags, &
i_H5generic_flags)
USE H5GLOBAL
- IMPLICIT NONE
- INTEGER, DIMENSION(*) :: i_H5D_flags
- INTEGER(SIZE_T), DIMENSION(*) :: i_H5D_size_flags
- INTEGER, DIMENSION(*) :: i_H5E_flags
- INTEGER(HID_T), DIMENSION(*) :: i_H5E_hid_flags
- INTEGER, DIMENSION(*) :: i_H5F_flags
- INTEGER, DIMENSION(*) :: i_H5G_flags
- INTEGER, DIMENSION(*) :: i_H5FD_flags
- INTEGER(HID_T), DIMENSION(*) :: i_H5FD_hid_flags
- INTEGER, DIMENSION(*) :: i_H5I_flags
- INTEGER, DIMENSION(*) :: i_H5L_flags
- INTEGER, DIMENSION(*) :: i_H5O_flags
- INTEGER(HID_T), DIMENSION(*) :: i_H5P_flags
- INTEGER, DIMENSION(*) :: i_H5P_flags_int
- INTEGER, DIMENSION(*) :: i_H5R_flags
- INTEGER, DIMENSION(*) :: i_H5S_flags
- INTEGER(HSIZE_T), DIMENSION(*) :: i_H5S_hsize_flags
- INTEGER, DIMENSION(*) :: i_H5T_flags
- INTEGER, DIMENSION(*) :: i_H5Z_flags
- INTEGER, DIMENSION(*) :: i_H5generic_flags
+ INTEGER i_H5D_flags(H5D_FLAGS_LEN)
+ INTEGER(SIZE_T) i_H5D_size_flags(H5D_SIZE_FLAGS_LEN)
+ INTEGER i_H5E_flags(H5E_FLAGS_LEN)
+ INTEGER(HID_T) i_H5E_hid_flags(H5E_HID_FLAGS_LEN)
+ INTEGER i_H5F_flags(H5F_FLAGS_LEN)
+ INTEGER i_H5G_flags(H5G_FLAGS_LEN)
+ INTEGER i_H5FD_flags(H5FD_FLAGS_LEN)
+ INTEGER(HID_T) i_H5FD_hid_flags(H5FD_HID_FLAGS_LEN)
+ INTEGER i_H5I_flags(H5I_FLAGS_LEN)
+ INTEGER i_H5L_flags(H5L_FLAGS_LEN)
+ INTEGER i_H5O_flags(H5O_FLAGS_LEN)
+ INTEGER(HID_T) i_H5P_flags(H5P_FLAGS_LEN)
+ INTEGER i_H5P_flags_int(H5P_FLAGS_INT_LEN)
+ INTEGER i_H5R_flags(H5R_FLAGS_LEN)
+ INTEGER i_H5S_flags(H5S_FLAGS_LEN)
+ INTEGER(HSIZE_T) i_H5S_hsize_flags(H5S_HSIZE_FLAGS_LEN)
+ INTEGER i_H5T_flags(H5T_FLAGS_LEN)
+ INTEGER i_H5Z_flags(H5Z_FLAGS_LEN)
+ INTEGER i_H5generic_flags(H5generic_FLAGS_LEN)
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5INIT_FLAGS_C'::h5init_flags_c
!DEC$ENDIF
@@ -231,67 +132,14 @@ CONTAINS
END INTERFACE
INTERFACE
INTEGER FUNCTION h5init1_flags_c( i_H5LIB_flags )
- IMPLICIT NONE
- INTEGER, DIMENSION(*) :: i_H5LIB_flags
+ USE H5GLOBAL
+ INTEGER i_H5LIB_flags(H5LIB_FLAGS_LEN)
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5INIT1_FLAGS_C'::h5init1_flags_c
!DEC$ENDIF
END FUNCTION h5init1_flags_c
END INTERFACE
-
error_1 = h5init_types_c(predef_types, floating_types, integer_types)
-
- H5T_NATIVE_INTEGER = predef_types(1)
- H5T_NATIVE_REAL = predef_types(2)
- H5T_NATIVE_DOUBLE = predef_types(3)
- H5T_NATIVE_CHARACTER = predef_types(4)
- H5T_STD_REF_OBJ = predef_types(5)
- H5T_STD_REF_DSETREG = predef_types(6)
- H5T_NATIVE_INTEGER_1 = predef_types(7)
- H5T_NATIVE_INTEGER_2 = predef_types(8)
- H5T_NATIVE_INTEGER_4 = predef_types(9)
- H5T_NATIVE_INTEGER_8 = predef_types(10)
- H5T_NATIVE_REAL_4 = predef_types(11)
- H5T_NATIVE_REAL_8 = predef_types(12)
- H5T_NATIVE_REAL_16 = predef_types(13)
- H5T_NATIVE_B8 = predef_types(14)
- H5T_NATIVE_B16 = predef_types(15)
- H5T_NATIVE_B32 = predef_types(16)
- H5T_NATIVE_B64 = predef_types(17)
-
- H5T_IEEE_F32BE = floating_types(1)
- H5T_IEEE_F32LE = floating_types(2)
- H5T_IEEE_F64BE = floating_types(3)
- H5T_IEEE_F64LE = floating_types(4)
-
- H5T_STD_I8BE = integer_types(1)
- H5T_STD_I8LE = integer_types(2)
- H5T_STD_I16BE = integer_types(3)
- H5T_STD_I16LE = integer_types(4)
- H5T_STD_I32BE = integer_types(5)
- H5T_STD_I32LE = integer_types(6)
- H5T_STD_I64BE = integer_types(7)
- H5T_STD_I64LE = integer_types(8)
- H5T_STD_U8BE = integer_types(9)
- H5T_STD_U8LE = integer_types(10)
- H5T_STD_U16BE = integer_types(11)
- H5T_STD_U16LE = integer_types(12)
- H5T_STD_U32BE = integer_types(13)
- H5T_STD_U32LE = integer_types(14)
- H5T_STD_U64BE = integer_types(15)
- H5T_STD_U64LE = integer_types(16)
- H5T_STRING = integer_types(17)
- H5T_STD_B8BE = integer_types(18)
- H5T_STD_B8LE = integer_types(19)
- H5T_STD_B16BE = integer_types(20)
- H5T_STD_B16LE = integer_types(21)
- H5T_STD_B32BE = integer_types(22)
- H5T_STD_B32LE = integer_types(23)
- H5T_STD_B64BE = integer_types(24)
- H5T_STD_B64LE = integer_types(25)
- H5T_FORTRAN_S1 = integer_types(26)
- H5T_C_S1 = integer_types(27)
-
error_2 = h5init_flags_c(H5D_flags, &
H5D_size_flags, &
H5E_flags, &
@@ -311,292 +159,8 @@ CONTAINS
H5T_flags, &
H5Z_flags, &
H5generic_flags)
-
- !
- ! H5F flags declaration
- !
- H5F_ACC_RDWR_F = H5F_flags(1)
- H5F_ACC_RDONLY_F = H5F_flags(2)
- H5F_ACC_TRUNC_F = H5F_flags(3)
- H5F_ACC_EXCL_F = H5F_flags(4)
- H5F_ACC_DEBUG_F = H5F_flags(5)
- H5F_SCOPE_LOCAL_F = H5F_flags(6)
- H5F_SCOPE_GLOBAL_F = H5F_flags(7)
- H5F_CLOSE_DEFAULT_F = H5F_flags(8)
- H5F_CLOSE_WEAK_F = H5F_flags(9)
- H5F_CLOSE_SEMI_F = H5F_flags(10)
- H5F_CLOSE_STRONG_F = H5F_flags(11)
- H5F_OBJ_FILE_F = H5F_flags(12)
- H5F_OBJ_DATASET_F = H5F_flags(13)
- H5F_OBJ_GROUP_F = H5F_flags(14)
- H5F_OBJ_DATATYPE_F = H5F_flags(15)
- H5F_OBJ_ALL_F = H5F_flags(16)
- H5F_LIBVER_EARLIEST_F = H5F_flags(17)
- H5F_LIBVER_LATEST_F = H5F_flags(18)
- H5F_UNLIMITED_F = H5F_flags(19)
- !
- ! H5generic flags declaration
- !
- H5_INDEX_UNKNOWN_F = H5generic_flags(1)
- H5_INDEX_NAME_F = H5generic_flags(2)
- H5_INDEX_CRT_ORDER_F = H5generic_flags(3)
- H5_INDEX_N_F = H5generic_flags(4)
- H5_ITER_UNKNOWN_F = H5generic_flags(5)
- H5_ITER_INC_F = H5generic_flags(6)
- H5_ITER_DEC_F = H5generic_flags(7)
- H5_ITER_NATIVE_F = H5generic_flags(8)
- H5_ITER_N_F = H5generic_flags(9)
- !
- ! H5G flags declaration
- !
- H5G_UNKNOWN_F = H5G_flags(1) ! Unknown object type
- H5G_GROUP_F = H5G_flags(2) ! Object is a group
- H5G_DATASET_F = H5G_flags(3) ! Object is a dataset
- H5G_TYPE_F = H5G_flags(4) ! Object is a named data type
- H5G_SAME_LOC_F = H5G_flags(5)
- H5G_LINK_ERROR_F = H5G_flags(6)
- H5G_LINK_HARD_F = H5G_flags(7)
- H5G_LINK_SOFT_F = H5G_flags(8)
- H5G_STORAGE_TYPE_UNKNOWN_F = H5G_flags(9)
- H5G_STORAGE_TYPE_SYMBOL_TABLE_F = H5G_flags(10)
- H5G_STORAGE_TYPE_COMPACT_F = H5G_flags(11)
- H5G_STORAGE_TYPE_DENSE_F = H5G_flags(12)
- !
- ! H5D flags declaration
- !
- H5D_COMPACT_F = H5D_flags(1)
- H5D_CONTIGUOUS_F = H5D_flags(2)
- H5D_CHUNKED_F = H5D_flags(3)
- H5D_ALLOC_TIME_ERROR_F = H5D_flags(4)
- H5D_ALLOC_TIME_DEFAULT_F = H5D_flags(5)
- H5D_ALLOC_TIME_EARLY_F = H5D_flags(6)
- H5D_ALLOC_TIME_LATE_F = H5D_flags(7)
- H5D_ALLOC_TIME_INCR_F = H5D_flags(8)
- H5D_SPACE_STS_ERROR_F = H5D_flags(9)
- H5D_SPACE_STS_NOT_ALLOCATED_F = H5D_flags(10)
- H5D_SPACE_STS_PART_ALLOCATED_F = H5D_flags(11)
- H5D_SPACE_STS_ALLOCATED_F = H5D_flags(12)
- H5D_FILL_TIME_ERROR_F = H5D_flags(13)
- H5D_FILL_TIME_ALLOC_F = H5D_flags(14)
- H5D_FILL_TIME_NEVER_F = H5D_flags(15)
- H5D_FILL_VALUE_ERROR_F = H5D_flags(16)
- H5D_FILL_VALUE_UNDEFINED_F = H5D_flags(17)
- H5D_FILL_VALUE_DEFAULT_F = H5D_flags(18)
- H5D_FILL_VALUE_USER_DEFINED_F = H5D_flags(19)
- H5D_CHUNK_CACHE_W0_DFLT_F = H5D_flags(20)
- H5D_MPIO_NO_COLLECTIVE_F = H5D_flags(21)
- H5D_MPIO_CHUNK_INDEPENDENT_F = H5D_flags(22)
- H5D_MPIO_CHUNK_COLLECTIVE_F = H5D_flags(23)
- H5D_MPIO_CHUNK_MIXED_F = H5D_flags(24)
- H5D_MPIO_CONTIG_COLLECTIVE_F = H5D_flags(25)
- H5D_CHUNK_CACHE_NSLOTS_DFLT_F = H5D_size_flags(1)
- H5D_CHUNK_CACHE_NBYTES_DFLT_F = H5D_size_flags(2)
- !
- ! H5E flags declaration
- !
- H5E_DEFAULT_F = H5E_hid_flags(1)
- H5E_MAJOR_F = H5E_flags(1)
- H5E_MINOR_F = H5E_flags(2)
- H5E_WALK_UPWARD_F = H5E_flags(3)
- H5E_WALK_DOWNWARD_F = H5E_flags(4)
- !
- ! H5FD flags declaration
- !
- H5FD_MPIO_INDEPENDENT_F = H5FD_flags(1)
- H5FD_MPIO_COLLECTIVE_F = H5FD_flags(2)
- H5FD_MEM_NOLIST_F = H5FD_flags(3)
- H5FD_MEM_DEFAULT_F = H5FD_flags(4)
- H5FD_MEM_SUPER_F = H5FD_flags(5)
- H5FD_MEM_BTREE_F = H5FD_flags(6)
- H5FD_MEM_DRAW_F = H5FD_flags(7)
- H5FD_MEM_GHEAP_F = H5FD_flags(8)
- H5FD_MEM_LHEAP_F = H5FD_flags(9)
- H5FD_MEM_OHDR_F = H5FD_flags(10)
- H5FD_MEM_NTYPES_F = H5FD_flags(11)
- !
- ! H5FD file drivers flags declaration
- !
- H5FD_CORE_F = H5FD_hid_flags(1)
- H5FD_FAMILY_F = H5FD_hid_flags(2)
- H5FD_LOG_F = H5FD_hid_flags(3)
- H5FD_MPIO_F = H5FD_hid_flags(4)
- H5FD_MULTI_F = H5FD_hid_flags(5)
- H5FD_SEC2_F = H5FD_hid_flags(6)
- H5FD_STDIO_F = H5FD_hid_flags(7)
- !
- ! H5I flags declaration
- !
- H5I_FILE_F = H5I_flags(1)
- H5I_GROUP_F = H5I_flags(2)
- H5I_DATATYPE_F = H5I_flags(3)
- H5I_DATASPACE_F = H5I_flags(4)
- H5I_DATASET_F = H5I_flags(5)
- H5I_ATTR_F = H5I_flags(6)
- H5I_BADID_F = H5I_flags(7)
- !
- ! H5L flags declaration
- !
- H5L_TYPE_ERROR_F = H5L_flags(1)
- H5L_TYPE_HARD_F = H5L_flags(2)
- H5L_TYPE_SOFT_F = H5L_flags(3)
- H5L_TYPE_EXTERNAL_F = H5L_flags(4)
- H5L_SAME_LOC_F = H5L_flags(5)
- H5L_LINK_CLASS_T_VERS_F = H5L_flags(6)
- !
- ! H5O flags declaration
- !
- H5O_COPY_SHALLOW_HIERARCHY_F = H5O_flags(1)
- H5O_COPY_EXPAND_SOFT_LINK_F = H5O_flags(2)
- H5O_COPY_EXPAND_EXT_LINK_F = H5O_flags(3)
- H5O_COPY_EXPAND_REFERENCE_F = H5O_flags(4)
- H5O_COPY_WITHOUT_ATTR_FLAG_F = H5O_flags(5)
- H5O_COPY_PRESERVE_NULL_FLAG_F = H5O_flags(6)
- H5O_COPY_ALL_F = H5O_flags(7)
- H5O_SHMESG_NONE_FLAG_F = H5O_flags(8)
- H5O_SHMESG_SDSPACE_FLAG_F = H5O_flags(9)
- H5O_SHMESG_DTYPE_FLAG_F = H5O_flags(10)
- H5O_SHMESG_FILL_FLAG_F = H5O_flags(11)
- H5O_SHMESG_PLINE_FLAG_F = H5O_flags(12)
- H5O_SHMESG_ATTR_FLAG_F = H5O_flags(13)
- H5O_SHMESG_ALL_FLAG_F = H5O_flags(14)
- H5O_HDR_CHUNK0_SIZE_F = H5O_flags(15)
- H5O_HDR_ATTR_CRT_ORDER_TRACK_F = H5O_flags(16)
- H5O_HDR_ATTR_CRT_ORDER_INDEX_F = H5O_flags(17)
- H5O_HDR_ATTR_STORE_PHASE_CHA_F = H5O_flags(18)
- H5O_HDR_STORE_TIMES_F = H5O_flags(19)
- H5O_HDR_ALL_FLAGS_F = H5O_flags(20)
- H5O_SHMESG_MAX_NINDEXES_F = H5O_flags(21)
- H5O_SHMESG_MAX_LIST_SIZE_F = H5O_flags(22)
- H5O_TYPE_UNKNOWN_F = H5O_flags(23)
- H5O_TYPE_GROUP_F = H5O_flags(24)
- H5O_TYPE_DATASET_F = H5O_flags(25)
- H5O_TYPE_NAMED_DATATYPE_F = H5O_flags(26)
- H5O_TYPE_NTYPES_F = H5O_flags(27)
- !
- ! H5P integers flags declaration
- !
- H5P_FILE_CREATE_F = H5P_flags(1)
- H5P_FILE_ACCESS_F = H5P_flags(2)
- H5P_DATASET_CREATE_F = H5P_flags(3)
- H5P_DATASET_XFER_F = H5P_flags(4)
- H5P_FILE_MOUNT_F = H5P_flags(5)
- H5P_DEFAULT_F = H5P_flags(6)
- H5P_ROOT_F = H5P_flags(7)
- H5P_OBJECT_CREATE_F = H5P_flags(8)
- H5P_DATASET_ACCESS_F = H5P_flags(9)
- H5P_GROUP_CREATE_F = H5P_flags(10)
- H5P_GROUP_ACCESS_F = H5P_flags(11)
- H5P_DATATYPE_CREATE_F = H5P_flags(12)
- H5P_DATATYPE_ACCESS_F = H5P_flags(13)
- H5P_STRING_CREATE_F = H5P_flags(14)
- H5P_ATTRIBUTE_CREATE_F = H5P_flags(15)
- H5P_OBJECT_COPY_F = H5P_flags(16)
- H5P_LINK_CREATE_F = H5P_flags(17)
- H5P_LINK_ACCESS_F = H5P_flags(18)
- !
- ! H5P integers flags declaration
- !
- H5P_CRT_ORDER_INDEXED_F = H5P_flags_int(1)
- H5P_CRT_ORDER_TRACKED_F = H5P_flags_int(2)
- !
- ! H5R flags declaration
- !
- H5R_OBJECT_F = H5R_flags(1)
- H5R_DATASET_REGION_F = H5R_flags(2)
- !
- ! H5S flags declaration
- !
- H5S_UNLIMITED_F = H5S_hsize_flags(1)
- H5S_SCALAR_F = H5S_flags(1)
- H5S_SIMPLE_F = H5S_flags(2)
- H5S_NULL_F = H5S_flags(3)
- H5S_SELECT_SET_F = H5S_flags(4)
- H5S_SELECT_OR_F = H5S_flags(5)
- H5S_ALL_F = H5S_flags(6)
- H5S_SELECT_NOOP_F = H5S_flags(7)
- H5S_SELECT_AND_F = H5S_flags(8)
- H5S_SELECT_XOR_F = H5S_flags(9)
- H5S_SELECT_NOTB_F = H5S_flags(10)
- H5S_SELECT_NOTA_F = H5S_flags(11)
- H5S_SELECT_APPEND_F = H5S_flags(12)
- H5S_SELECT_PREPEND_F = H5S_flags(13)
- H5S_SELECT_INVALID_F = H5S_flags(14)
- H5S_SEL_ERROR_F = H5S_flags(15)
- H5S_SEL_NONE_F = H5S_flags(16)
- H5S_SEL_POINTS_F = H5S_flags(17)
- H5S_SEL_HYPERSLABS_F = H5S_flags(18)
- H5S_SEL_ALL_F = H5S_flags(19)
- !
- ! H5T flags declaration
- !
- H5T_NO_CLASS_F = H5T_flags(1)
- H5T_INTEGER_F = H5T_flags(2)
- H5T_FLOAT_F = H5T_flags(3)
- H5T_TIME_F = H5T_flags(4)
- H5T_STRING_F = H5T_flags(5)
- H5T_BITFIELD_F = H5T_flags(6)
- H5T_OPAQUE_F = H5T_flags(7)
- H5T_COMPOUND_F = H5T_flags(8)
- H5T_REFERENCE_F = H5T_flags(9)
- H5T_ENUM_F = H5T_flags(10)
- H5T_ORDER_LE_F = H5T_flags(11)
- H5T_ORDER_BE_F = H5T_flags(12)
- H5T_ORDER_MIXED_F = H5T_flags(13)
- H5T_ORDER_VAX_F = H5T_flags(14)
- H5T_ORDER_NONE_F = H5T_flags(15)
- H5T_PAD_ZERO_F = H5T_flags(16)
- H5T_PAD_ONE_F = H5T_flags(17)
- H5T_PAD_BACKGROUND_F = H5T_flags(18)
- H5T_PAD_ERROR_F = H5T_flags(19)
- H5T_SGN_NONE_F = H5T_flags(20)
- H5T_SGN_2_F = H5T_flags(21)
- H5T_SGN_ERROR_F = H5T_flags(22)
- H5T_NORM_IMPLIED_F = H5T_flags(23)
- H5T_NORM_MSBSET_F = H5T_flags(24)
- H5T_NORM_NONE_F = H5T_flags(25)
- H5T_CSET_ASCII_F = H5T_flags(26)
- H5T_CSET_UTF8_F = H5T_flags(27)
- H5T_STR_NULLTERM_F = H5T_flags(28)
- H5T_STR_NULLPAD_F = H5T_flags(29)
- H5T_STR_SPACEPAD_F = H5T_flags(30)
- H5T_STR_ERROR_F = H5T_flags(31)
- H5T_VLEN_F = H5T_flags(32)
- H5T_ARRAY_F = H5T_flags(33)
- H5T_DIR_ASCEND_F = H5T_flags(34)
- H5T_DIR_DESCEND_F = H5T_flags(35)
- !
- ! H5Z flags declaration
- !
- H5Z_FILTER_ERROR_F = H5Z_flags(1)
- H5Z_FILTER_NONE_F = H5Z_flags(2)
- H5Z_FILTER_DEFLATE_F = H5Z_flags(3)
- H5Z_FILTER_SHUFFLE_F = H5Z_flags(4)
- H5Z_FILTER_FLETCHER32_F = H5Z_flags(5)
- H5Z_ERROR_EDC_F = H5Z_flags(6)
- H5Z_DISABLE_EDC_F = H5Z_flags(7)
- H5Z_ENABLE_EDC_F = H5Z_flags(8)
- H5Z_NO_EDC_F = H5Z_flags(9)
- H5Z_FILTER_SZIP_F = H5Z_flags(10)
- H5Z_FLAG_OPTIONAL_F = H5Z_flags(11)
- H5Z_FILTER_ENCODE_ENABLED_F = H5Z_flags(12)
- H5Z_FILTER_DECODE_ENABLED_F = H5Z_flags(13)
- H5Z_FILTER_ALL_F = H5Z_flags(14)
- H5Z_FILTER_NBIT_F = H5Z_flags(15)
- H5Z_FILTER_SCALEOFFSET_F = H5Z_flags(16)
- H5Z_SO_FLOAT_DSCALE_F = H5Z_flags(17)
- H5Z_SO_FLOAT_ESCALE_F = H5Z_flags(18)
- H5Z_SO_INT_F = H5Z_flags(19)
- H5Z_SO_INT_MINBITS_DEFAULT_F = H5Z_flags(20)
-
error_3 = h5init1_flags_c(H5LIB_flags )
- !
- ! H5 Library flags declaration
- !
- H5_SZIP_EC_OM_F = H5LIB_flags(1)
- H5_SZIP_NN_OM_F = H5LIB_flags(2)
-
error = error_1 + error_2 + error_3
-
END SUBROUTINE h5open_f
!****s* H5LIB/h5close_f
@@ -637,9 +201,9 @@ CONTAINS
INTEGER P_TYPES_LEN
INTEGER F_TYPES_LEN
INTEGER I_TYPES_LEN
- INTEGER(HID_T), DIMENSION(*) :: p_types
- INTEGER(HID_T), DIMENSION(*) :: f_types
- INTEGER(HID_T), DIMENSION(*) :: i_types
+ INTEGER(HID_T), DIMENSION(P_TYPES_LEN) :: p_types
+ INTEGER(HID_T), DIMENSION(F_TYPES_LEN) :: f_types
+ INTEGER(HID_T), DIMENSION(I_TYPES_LEN) :: i_types
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5CLOSE_TYPES_C'::h5close_types_c
!DEC$ENDIF
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90
index 089ddbf..ca50e20 100644
--- a/fortran/src/H5f90global.f90
+++ b/fortran/src/H5f90global.f90
@@ -9,20 +9,14 @@
! PURPOSE
! This module is used to pass C stubs for H5 Fortran APIs. The C stubs are
! packed into arrays in H5_f.c and these arrays are then passed to Fortran.
-! The Fortran values listed in this file are actually assigned in H5_ff.f90
-! in H5open_f from the elements of the array that is being passed back from C.
+! This module then uses EQUIVALENCE to assign elements of the arrays to
+! Fortran equivalent C stubs.
!
! NOTES
! The size of the C arrays in H5_f.c has to match the values of the variables
! declared as PARAMETER, hence if the size of an array in H5_f.c is changed
! then the PARAMETER of that corresponding array in Fortran must also be changed.
!
-! *** IMPORTANT ***
-! If you add a new variable here then you must add the variable name to the
-! Windows dll file 'hdf5_fortrandll.def.in' in the fortran/src directory.
-! This is needed for Windows based operating systems.
-!
-!
! USES
! H5FORTRAN_TYPES - This module is generated at run time. See
!
@@ -61,8 +55,8 @@ MODULE H5GLOBAL
! The flag is used to tell the function whether the kind input variable
! is for a REAL or INTEGER data type.
+ INTEGER, PARAMETER :: H5_REAL_KIND = 1
INTEGER, PARAMETER :: H5_INTEGER_KIND = 0
- INTEGER, PARAMETER :: H5_REAL_KIND = 1
TYPE :: hobj_ref_t_f
INTEGER(HADDR_T) ref
@@ -72,69 +66,183 @@ MODULE H5GLOBAL
INTEGER, DIMENSION(1:REF_REG_BUF_LEN) :: ref
END TYPE hdset_reg_ref_t_f
- ! These constants need to be global because they are used in
- ! both h5open_f and in h5close_f
- INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 17
- INTEGER, PARAMETER :: FLOATING_TYPES_LEN = 4
- INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 27
-
- ! These arrays need to be global because they are used in
- ! both h5open_f and in h5close_f
- INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
+ INTEGER, PARAMETER :: PREDEF_TYPES_LEN = 17 ! Do not forget to change this
+ ! value when new predefined
+ ! datatypes are added
+
+ ! Do not forget to change the following line when new predefined
+ ! floating data types are added
+ INTEGER, PARAMETER :: FLOATING_TYPES_LEN = 4
+
+ ! Do not forget to change the following line when new predefined
+ ! integer data types are added
+ INTEGER, PARAMETER :: INTEGER_TYPES_LEN = 27
+
+ INTEGER(HID_T) :: H5T_NATIVE_INTEGER_1, &
+ H5T_NATIVE_INTEGER_2, &
+ H5T_NATIVE_INTEGER_4, &
+ H5T_NATIVE_INTEGER_8, &
+ H5T_NATIVE_REAL_4, &
+ H5T_NATIVE_REAL_8, &
+ H5T_NATIVE_REAL_16, &
+ H5T_NATIVE_INTEGER, &
+ H5T_NATIVE_REAL, &
+ H5T_NATIVE_DOUBLE, &
+ H5T_NATIVE_CHARACTER , &
+ H5T_STD_REF_OBJ, &
+ H5T_STD_REF_DSETREG, &
+ H5T_IEEE_F32BE, &
+ H5T_IEEE_F32LE, &
+ H5T_IEEE_F64BE, &
+ H5T_IEEE_F64LE, &
+ H5T_STD_I8BE, &
+ H5T_STD_I8LE, &
+ H5T_STD_I16BE, &
+ H5T_STD_I16LE, &
+ H5T_STD_I32BE, &
+ H5T_STD_I32LE, &
+ H5T_STD_I64BE, &
+ H5T_STD_I64LE, &
+ H5T_STD_U8BE, &
+ H5T_STD_U8LE, &
+ H5T_STD_U16BE, &
+ H5T_STD_U16LE, &
+ H5T_STD_U32BE
+
+! NOTE: Splitting the line since the Fortran 95 standard limits the number of
+! continuation lines to 39; the F03/F08 standard limits the number
+! to 255 lines.
+
+ INTEGER(HID_T) :: H5T_STD_U32LE, &
+ H5T_STD_U64BE, &
+ H5T_STD_U64LE, &
+ H5T_STRING, &
+ H5T_STD_B8BE, &
+ H5T_STD_B8LE, &
+ H5T_STD_B16BE, &
+ H5T_STD_B16LE, &
+ H5T_STD_B32BE, &
+ H5T_STD_B32LE, &
+ H5T_STD_B64BE, &
+ H5T_STD_B64LE, &
+ H5T_NATIVE_B8, &
+ H5T_NATIVE_B16, &
+ H5T_NATIVE_B32, &
+ H5T_NATIVE_B64, &
+ H5T_FORTRAN_S1, &
+ H5T_C_S1
+
+
+ INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
+ EQUIVALENCE (predef_types(1), H5T_NATIVE_INTEGER)
+ EQUIVALENCE (predef_types(2), H5T_NATIVE_REAL)
+ EQUIVALENCE (predef_types(3), H5T_NATIVE_DOUBLE)
+ EQUIVALENCE (predef_types(4), H5T_NATIVE_CHARACTER)
+ EQUIVALENCE (predef_types(5), H5T_STD_REF_OBJ)
+ EQUIVALENCE (predef_types(6), H5T_STD_REF_DSETREG)
+ EQUIVALENCE (predef_types(7), H5T_NATIVE_INTEGER_1)
+ EQUIVALENCE (predef_types(8), H5T_NATIVE_INTEGER_2)
+ EQUIVALENCE (predef_types(9), H5T_NATIVE_INTEGER_4)
+ EQUIVALENCE (predef_types(10), H5T_NATIVE_INTEGER_8)
+ EQUIVALENCE (predef_types(11), H5T_NATIVE_REAL_4)
+ EQUIVALENCE (predef_types(12), H5T_NATIVE_REAL_8)
+ EQUIVALENCE (predef_types(13), H5T_NATIVE_REAL_16)
+ EQUIVALENCE (predef_types(14), H5T_NATIVE_B8 )
+ EQUIVALENCE (predef_types(15), H5T_NATIVE_B16)
+ EQUIVALENCE (predef_types(16), H5T_NATIVE_B32)
+ EQUIVALENCE (predef_types(17), H5T_NATIVE_B64)
+
INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types
- INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: integer_types
-
- INTEGER(HID_T) :: H5T_NATIVE_INTEGER_1
- INTEGER(HID_T) :: H5T_NATIVE_INTEGER_2
- INTEGER(HID_T) :: H5T_NATIVE_INTEGER_4
- INTEGER(HID_T) :: H5T_NATIVE_INTEGER_8
- INTEGER(HID_T) :: H5T_NATIVE_REAL_4
- INTEGER(HID_T) :: H5T_NATIVE_REAL_8
- INTEGER(HID_T) :: H5T_NATIVE_REAL_16
- 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_STD_REF_OBJ
- INTEGER(HID_T) :: H5T_STD_REF_DSETREG
- INTEGER(HID_T) :: H5T_IEEE_F32BE
- INTEGER(HID_T) :: H5T_IEEE_F32LE
- INTEGER(HID_T) :: H5T_IEEE_F64BE
- INTEGER(HID_T) :: H5T_IEEE_F64LE
- INTEGER(HID_T) :: H5T_STD_I8BE
- INTEGER(HID_T) :: H5T_STD_I8LE
- INTEGER(HID_T) :: H5T_STD_I16BE
- INTEGER(HID_T) :: H5T_STD_I16LE
- INTEGER(HID_T) :: H5T_STD_I32BE
- INTEGER(HID_T) :: H5T_STD_I32LE
- INTEGER(HID_T) :: H5T_STD_I64BE
- INTEGER(HID_T) :: H5T_STD_I64LE
- INTEGER(HID_T) :: H5T_STD_U8BE
- INTEGER(HID_T) :: H5T_STD_U8LE
- INTEGER(HID_T) :: H5T_STD_U16BE
- INTEGER(HID_T) :: H5T_STD_U16LE
- INTEGER(HID_T) :: H5T_STD_U32BE
- INTEGER(HID_T) :: H5T_STD_U32LE
- INTEGER(HID_T) :: H5T_STD_U64BE
- INTEGER(HID_T) :: H5T_STD_U64LE
- INTEGER(HID_T) :: H5T_STRING
- INTEGER(HID_T) :: H5T_STD_B8BE
- INTEGER(HID_T) :: H5T_STD_B8LE
- INTEGER(HID_T) :: H5T_STD_B16BE
- INTEGER(HID_T) :: H5T_STD_B16LE
- INTEGER(HID_T) :: H5T_STD_B32BE
- INTEGER(HID_T) :: H5T_STD_B32LE
- INTEGER(HID_T) :: H5T_STD_B64BE
- INTEGER(HID_T) :: H5T_STD_B64LE
- INTEGER(HID_T) :: H5T_NATIVE_B8
- INTEGER(HID_T) :: H5T_NATIVE_B16
- INTEGER(HID_T) :: H5T_NATIVE_B32
- INTEGER(HID_T) :: H5T_NATIVE_B64
- INTEGER(HID_T) :: H5T_FORTRAN_S1
- INTEGER(HID_T) :: H5T_C_S1
- !
- ! H5F flags
- !
+ EQUIVALENCE (floating_types(1), H5T_IEEE_F32BE )
+ EQUIVALENCE (floating_types(2), H5T_IEEE_F32LE)
+ EQUIVALENCE (floating_types(3), H5T_IEEE_F64BE)
+ EQUIVALENCE (floating_types(4), H5T_IEEE_F64LE)
+
+ INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: integer_types
+ EQUIVALENCE (integer_types(1), H5T_STD_I8BE )
+ EQUIVALENCE (integer_types(2), H5T_STD_I8LE)
+ EQUIVALENCE (integer_types(3), H5T_STD_I16BE)
+ EQUIVALENCE (integer_types(4), H5T_STD_I16LE)
+ EQUIVALENCE (integer_types(5), H5T_STD_I32BE)
+ EQUIVALENCE (integer_types(6), H5T_STD_I32LE)
+ EQUIVALENCE (integer_types(7), H5T_STD_I64BE)
+ EQUIVALENCE (integer_types(8), H5T_STD_I64LE)
+ EQUIVALENCE (integer_types(9), H5T_STD_U8BE)
+ EQUIVALENCE (integer_types(10), H5T_STD_U8LE)
+ EQUIVALENCE (integer_types(11), H5T_STD_U16BE)
+ EQUIVALENCE (integer_types(12), H5T_STD_U16LE)
+ EQUIVALENCE (integer_types(13), H5T_STD_U32BE)
+ EQUIVALENCE (integer_types(14), H5T_STD_U32LE)
+ EQUIVALENCE (integer_types(15), H5T_STD_U64BE)
+ EQUIVALENCE (integer_types(16), H5T_STD_U64LE)
+ EQUIVALENCE (integer_types(17), H5T_STRING)
+ EQUIVALENCE (integer_types(18), H5T_STD_B8BE)
+ EQUIVALENCE (integer_types(19), H5T_STD_B8LE)
+ EQUIVALENCE (integer_types(20), H5T_STD_B16BE)
+ EQUIVALENCE (integer_types(21), H5T_STD_B16LE)
+ EQUIVALENCE (integer_types(22), H5T_STD_B32BE)
+ EQUIVALENCE (integer_types(23), H5T_STD_B32LE)
+ EQUIVALENCE (integer_types(24), H5T_STD_B64BE)
+ EQUIVALENCE (integer_types(25), H5T_STD_B64LE)
+ EQUIVALENCE (integer_types(26), H5T_FORTRAN_S1)
+ EQUIVALENCE (integer_types(27), H5T_C_S1)
+
+
+ ! COMMON /PREDEFINED_TYPES/ H5T_NATIVE_INTEGER, &
+ ! H5T_NATIVE_REAL, &
+ ! H5T_NATIVE_DOUBLE, &
+ ! H5T_NATIVE_CHARACTER, &
+ ! H5T_STD_REF_OBJ, &
+ ! H5T_STD_REF_DSETREG
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /PREDEFINED_TYPES/
+ !DEC$endif
+ COMMON /PREDEFINED_TYPES/ predef_types
+
+ ! COMMON /FLOATING_TYPES/ H5T_IEEE_F32BE, &
+ ! H5T_IEEE_F32LE, &
+ ! H5T_IEEE_F64BE, &
+ ! H5T_IEEE_F64LE
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /FLOATING_TYPES/
+ !DEC$endif
+ COMMON /FLOATING_TYPES/ floating_types
+ !
+ ! COMMON /INTEGER_TYPES/ H5T_STD_I8BE, &
+ ! H5T_STD_I8LE, &
+ ! H5T_STD_I16BE, &
+ ! H5T_STD_I16LE, &
+ ! H5T_STD_I32BE, &
+ ! H5T_STD_I32LE, &
+ ! H5T_STD_I64BE, &
+ ! H5T_STD_I64LE, &
+ ! H5T_STD_U8BE, &
+ ! H5T_STD_U8LE, &
+ ! H5T_STD_U16BE, &
+ ! H5T_STD_U16LE, &
+ ! H5T_STD_U32BE, &
+ ! H5T_STD_U32LE, &
+ ! H5T_STD_U64BE, &
+ ! H5T_STD_U64LE
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /INTEGER_TYPES/
+ !DEC$endif
+ COMMON /INTEGER_TYPES/ integer_types
+ !
+ ! Fortran flags
+ !
+ !
+ ! H5F flags (DO NOT FORGET TO UPDATE WHEN NEW FLAGS ARE ADDED !)
+ !
+ ! H5F flags declaration
+ !
+ INTEGER, PARAMETER :: H5F_FLAGS_LEN = 19
+ INTEGER :: H5F_flags(H5F_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5F_FLAGS/
+ !DEC$endif
+ COMMON /H5F_FLAGS/ H5F_flags
+
INTEGER :: H5F_ACC_RDWR_F
INTEGER :: H5F_ACC_RDONLY_F
INTEGER :: H5F_ACC_TRUNC_F
@@ -154,9 +262,36 @@ MODULE H5GLOBAL
INTEGER :: H5F_LIBVER_EARLIEST_F
INTEGER :: H5F_LIBVER_LATEST_F
INTEGER :: H5F_UNLIMITED_F
+
+ EQUIVALENCE(H5F_flags(1), H5F_ACC_RDWR_F)
+ EQUIVALENCE(H5F_flags(2), H5F_ACC_RDONLY_F)
+ EQUIVALENCE(H5F_flags(3), H5F_ACC_TRUNC_F)
+ EQUIVALENCE(H5F_flags(4), H5F_ACC_EXCL_F)
+ EQUIVALENCE(H5F_flags(5), H5F_ACC_DEBUG_F)
+ EQUIVALENCE(H5F_flags(6), H5F_SCOPE_LOCAL_F)
+ EQUIVALENCE(H5F_flags(7), H5F_SCOPE_GLOBAL_F)
+ EQUIVALENCE(H5F_flags(8), H5F_CLOSE_DEFAULT_F)
+ EQUIVALENCE(H5F_flags(9), H5F_CLOSE_WEAK_F)
+ EQUIVALENCE(H5F_flags(10), H5F_CLOSE_SEMI_F)
+ EQUIVALENCE(H5F_flags(11), H5F_CLOSE_STRONG_F)
+ EQUIVALENCE(H5F_flags(12), H5F_OBJ_FILE_F)
+ EQUIVALENCE(H5F_flags(13), H5F_OBJ_DATASET_F)
+ EQUIVALENCE(H5F_flags(14), H5F_OBJ_GROUP_F)
+ EQUIVALENCE(H5F_flags(15), H5F_OBJ_DATATYPE_F)
+ EQUIVALENCE(H5F_flags(16), H5F_OBJ_ALL_F)
+ EQUIVALENCE(H5F_flags(17), H5F_LIBVER_EARLIEST_F)
+ EQUIVALENCE(H5F_flags(18), H5F_LIBVER_LATEST_F)
+ EQUIVALENCE(H5F_flags(19), H5F_UNLIMITED_F)
!
! H5generic flags declaration
!
+ INTEGER, PARAMETER :: H5generic_FLAGS_LEN = 9
+ INTEGER :: H5generic_flags(H5generic_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5generic_FLAGS/
+ !DEC$endif
+ COMMON /H5generic_FLAGS/ H5generic_flags
+
INTEGER :: H5_INDEX_UNKNOWN_F
INTEGER :: H5_INDEX_NAME_F
INTEGER :: H5_INDEX_CRT_ORDER_F
@@ -166,9 +301,26 @@ MODULE H5GLOBAL
INTEGER :: H5_ITER_DEC_F
INTEGER :: H5_ITER_NATIVE_F
INTEGER :: H5_ITER_N_F
+
+ EQUIVALENCE(H5generic_flags(1), H5_INDEX_UNKNOWN_F)
+ EQUIVALENCE(H5generic_flags(2), H5_INDEX_NAME_F)
+ EQUIVALENCE(H5generic_flags(3), H5_INDEX_CRT_ORDER_F)
+ EQUIVALENCE(H5generic_flags(4), H5_INDEX_N_F)
+ EQUIVALENCE(H5generic_flags(5), H5_ITER_UNKNOWN_F)
+ EQUIVALENCE(H5generic_flags(6), H5_ITER_INC_F)
+ EQUIVALENCE(H5generic_flags(7), H5_ITER_DEC_F)
+ EQUIVALENCE(H5generic_flags(8), H5_ITER_NATIVE_F)
+ EQUIVALENCE(H5generic_flags(9), H5_ITER_N_F)
!
! H5G flags declaration
!
+ INTEGER, PARAMETER :: H5G_FLAGS_LEN = 12
+ INTEGER :: H5G_flags(H5G_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5G_FLAGS/
+ !DEC$endif
+ COMMON /H5G_FLAGS/ H5G_flags
+
INTEGER :: H5G_UNKNOWN_F
INTEGER :: H5G_GROUP_F
INTEGER :: H5G_DATASET_F
@@ -183,24 +335,54 @@ MODULE H5GLOBAL
INTEGER :: H5G_STORAGE_TYPE_SYMBOL_TABLE_F
INTEGER :: H5G_STORAGE_TYPE_COMPACT_F
INTEGER :: H5G_STORAGE_TYPE_DENSE_F
+
+ EQUIVALENCE(H5G_flags(1), H5G_UNKNOWN_F) ! Unknown object type
+ EQUIVALENCE(H5G_flags(2), H5G_GROUP_F) ! Object is a group
+ EQUIVALENCE(H5G_flags(3), H5G_DATASET_F) ! Object is a dataset
+ EQUIVALENCE(H5G_flags(4), H5G_TYPE_F) ! Object is a named data type
+ EQUIVALENCE(H5G_flags(5), H5G_SAME_LOC_F)
+ EQUIVALENCE(H5G_flags(6), H5G_LINK_ERROR_F)
+ EQUIVALENCE(H5G_flags(7), H5G_LINK_HARD_F)
+ EQUIVALENCE(H5G_flags(8), H5G_LINK_SOFT_F)
+
+ EQUIVALENCE(H5G_flags(9), H5G_STORAGE_TYPE_UNKNOWN_F )
+ EQUIVALENCE(H5G_flags(10), H5G_STORAGE_TYPE_SYMBOL_TABLE_F)
+ EQUIVALENCE(H5G_flags(11), H5G_STORAGE_TYPE_COMPACT_F)
+ EQUIVALENCE(H5G_flags(12), H5G_STORAGE_TYPE_DENSE_F)
!
! H5D flags declaration
!
+
+ INTEGER, PARAMETER :: H5D_FLAGS_LEN = 25
+ INTEGER :: H5D_flags(H5D_FLAGS_LEN)
+ INTEGER, PARAMETER :: H5D_SIZE_FLAGS_LEN = 2
+ INTEGER(SIZE_T) :: H5D_size_flags(H5D_SIZE_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5D_FLAGS/
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5D_SIZE_FLAGS/
+ !DEC$endif
+ COMMON /H5D_FLAGS/ H5D_flags
+ COMMON /H5D_SIZE_FLAGS/ H5D_size_flags
+
INTEGER :: H5D_COMPACT_F
INTEGER :: H5D_CONTIGUOUS_F
INTEGER :: H5D_CHUNKED_F
+
INTEGER :: H5D_ALLOC_TIME_ERROR_F
INTEGER :: H5D_ALLOC_TIME_DEFAULT_F
INTEGER :: H5D_ALLOC_TIME_EARLY_F
INTEGER :: H5D_ALLOC_TIME_LATE_F
INTEGER :: H5D_ALLOC_TIME_INCR_F
+
INTEGER :: H5D_SPACE_STS_ERROR_F
INTEGER :: H5D_SPACE_STS_NOT_ALLOCATED_F
INTEGER :: H5D_SPACE_STS_PART_ALLOCATED_F
INTEGER :: H5D_SPACE_STS_ALLOCATED_F
+
INTEGER :: H5D_FILL_TIME_ERROR_F
INTEGER :: H5D_FILL_TIME_ALLOC_F
INTEGER :: H5D_FILL_TIME_NEVER_F
+
INTEGER :: H5D_FILL_VALUE_ERROR_F
INTEGER :: H5D_FILL_VALUE_UNDEFINED_F
INTEGER :: H5D_FILL_VALUE_DEFAULT_F
@@ -219,17 +401,77 @@ MODULE H5GLOBAL
INTEGER :: H5D_MPIO_CHUNK_COLLECTIVE_F
INTEGER :: H5D_MPIO_CHUNK_MIXED_F
INTEGER :: H5D_MPIO_CONTIG_COLLECTIVE_F
+
+ EQUIVALENCE(H5D_flags(1), H5D_COMPACT_F)
+ EQUIVALENCE(H5D_flags(2), H5D_CONTIGUOUS_F)
+ EQUIVALENCE(H5D_flags(3), H5D_CHUNKED_F)
+
+ EQUIVALENCE(H5D_flags(4), H5D_ALLOC_TIME_ERROR_F)
+ EQUIVALENCE(H5D_flags(5), H5D_ALLOC_TIME_DEFAULT_F)
+ EQUIVALENCE(H5D_flags(6), H5D_ALLOC_TIME_EARLY_F)
+ EQUIVALENCE(H5D_flags(7), H5D_ALLOC_TIME_LATE_F)
+ EQUIVALENCE(H5D_flags(8), H5D_ALLOC_TIME_INCR_F)
+
+ EQUIVALENCE(H5D_flags(9), H5D_SPACE_STS_ERROR_F)
+ EQUIVALENCE(H5D_flags(10), H5D_SPACE_STS_NOT_ALLOCATED_F)
+ EQUIVALENCE(H5D_flags(11), H5D_SPACE_STS_PART_ALLOCATED_F)
+ EQUIVALENCE(H5D_flags(12), H5D_SPACE_STS_ALLOCATED_F)
+
+ EQUIVALENCE(H5D_flags(13), H5D_FILL_TIME_ERROR_F)
+ EQUIVALENCE(H5D_flags(14), H5D_FILL_TIME_ALLOC_F)
+ EQUIVALENCE(H5D_flags(15), H5D_FILL_TIME_NEVER_F)
+
+ EQUIVALENCE(H5D_flags(16), H5D_FILL_VALUE_ERROR_F)
+ EQUIVALENCE(H5D_flags(17), H5D_FILL_VALUE_UNDEFINED_F)
+ EQUIVALENCE(H5D_flags(18), H5D_FILL_VALUE_DEFAULT_F)
+ EQUIVALENCE(H5D_flags(19), H5D_FILL_VALUE_USER_DEFINED_F)
+
+ EQUIVALENCE(H5D_flags(20), H5D_CHUNK_CACHE_W0_DFLT_F)
+ EQUIVALENCE(H5D_flags(21), H5D_MPIO_NO_COLLECTIVE_F)
+ EQUIVALENCE(H5D_flags(22), H5D_MPIO_CHUNK_INDEPENDENT_F)
+ EQUIVALENCE(H5D_flags(23), H5D_MPIO_CHUNK_COLLECTIVE_F)
+ EQUIVALENCE(H5D_flags(24), H5D_MPIO_CHUNK_MIXED_F)
+ EQUIVALENCE(H5D_flags(25), H5D_MPIO_CONTIG_COLLECTIVE_F)
+
+ EQUIVALENCE(H5D_size_flags(1), H5D_CHUNK_CACHE_NSLOTS_DFLT_F)
+ EQUIVALENCE(H5D_size_flags(2), H5D_CHUNK_CACHE_NBYTES_DFLT_F)
+
!
! H5E flags declaration
!
+ INTEGER, PARAMETER :: H5E_FLAGS_LEN = 4
+ INTEGER :: H5E_flags(H5E_FLAGS_LEN)
+ INTEGER, PARAMETER :: H5E_HID_FLAGS_LEN = 1
+ INTEGER(HID_T) :: H5E_hid_flags(H5E_HID_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5E_FLAGS/
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5E_HID_FLAGS/
+ !DEC$endif
+ COMMON /H5E_FLAGS/ H5E_flags
+ COMMON /H5E_HID_FLAGS/ H5E_hid_flags
+
INTEGER(HID_T) :: H5E_DEFAULT_F
INTEGER :: H5E_MAJOR_F
INTEGER :: H5E_MINOR_F
INTEGER :: H5E_WALK_UPWARD_F
INTEGER :: H5E_WALK_DOWNWARD_F
+
+ EQUIVALENCE(H5E_hid_flags(1), H5E_DEFAULT_F)
+ EQUIVALENCE(H5E_flags(1) , H5E_MAJOR_F)
+ EQUIVALENCE(H5E_flags(2) , H5E_MINOR_F)
+ EQUIVALENCE(H5E_flags(3) , H5E_WALK_UPWARD_F)
+ EQUIVALENCE(H5E_flags(4) , H5E_WALK_DOWNWARD_F)
+
!
! H5FD flags declaration
!
+ INTEGER, PARAMETER :: H5FD_FLAGS_LEN = 11
+ INTEGER :: H5FD_flags(H5FD_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5FD_FLAGS/
+ !DEC$endif
+ COMMON /H5FD_FLAGS/ H5FD_flags
+
INTEGER :: H5FD_MPIO_INDEPENDENT_F
INTEGER :: H5FD_MPIO_COLLECTIVE_F
INTEGER :: H5FD_MEM_NOLIST_F
@@ -241,9 +483,28 @@ MODULE H5GLOBAL
INTEGER :: H5FD_MEM_LHEAP_F
INTEGER :: H5FD_MEM_OHDR_F
INTEGER :: H5FD_MEM_NTYPES_F
+
+ EQUIVALENCE(H5FD_flags(1), H5FD_MPIO_INDEPENDENT_F)
+ EQUIVALENCE(H5FD_flags(2), H5FD_MPIO_COLLECTIVE_F)
+ EQUIVALENCE(H5FD_flags(3), H5FD_MEM_NOLIST_F)
+ EQUIVALENCE(H5FD_flags(4), H5FD_MEM_DEFAULT_F)
+ EQUIVALENCE(H5FD_flags(5), H5FD_MEM_SUPER_F)
+ EQUIVALENCE(H5FD_flags(6), H5FD_MEM_BTREE_F)
+ EQUIVALENCE(H5FD_flags(7), H5FD_MEM_DRAW_F)
+ EQUIVALENCE(H5FD_flags(8), H5FD_MEM_GHEAP_F)
+ EQUIVALENCE(H5FD_flags(9), H5FD_MEM_LHEAP_F)
+ EQUIVALENCE(H5FD_flags(10), H5FD_MEM_OHDR_F)
+ EQUIVALENCE(H5FD_flags(11), H5FD_MEM_NTYPES_F)
!
! H5FD file drivers flags declaration
!
+ INTEGER, PARAMETER :: H5FD_HID_FLAGS_LEN = 7
+ INTEGER(HID_T) :: H5FD_hid_flags(H5FD_HID_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5FD_HID_FLAGS/
+ !DEC$endif
+ COMMON /H5FD_HID_FLAGS/ H5FD_hid_flags
+
INTEGER(HID_T) :: H5FD_CORE_F
INTEGER(HID_T) :: H5FD_FAMILY_F
INTEGER(HID_T) :: H5FD_LOG_F
@@ -251,9 +512,25 @@ MODULE H5GLOBAL
INTEGER(HID_T) :: H5FD_MULTI_F
INTEGER(HID_T) :: H5FD_SEC2_F
INTEGER(HID_T) :: H5FD_STDIO_F
+
+ EQUIVALENCE(H5FD_hid_flags(1), H5FD_CORE_F)
+ EQUIVALENCE(H5FD_hid_flags(2), H5FD_FAMILY_F)
+ EQUIVALENCE(H5FD_hid_flags(3), H5FD_LOG_F)
+ EQUIVALENCE(H5FD_hid_flags(4), H5FD_MPIO_F)
+ EQUIVALENCE(H5FD_hid_flags(5), H5FD_MULTI_F)
+ EQUIVALENCE(H5FD_hid_flags(6), H5FD_SEC2_F)
+ EQUIVALENCE(H5FD_hid_flags(7), H5FD_STDIO_F)
+
!
! H5I flags declaration
!
+ INTEGER, PARAMETER :: H5I_FLAGS_LEN = 7
+ INTEGER :: H5I_flags(H5I_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5I_FLAGS/
+ !DEC$endif
+ COMMON /H5I_FLAGS/ H5I_flags
+
INTEGER :: H5I_FILE_F
INTEGER :: H5I_GROUP_F
INTEGER :: H5I_DATATYPE_F
@@ -261,18 +538,48 @@ MODULE H5GLOBAL
INTEGER :: H5I_DATASET_F
INTEGER :: H5I_ATTR_F
INTEGER :: H5I_BADID_F
+
+ EQUIVALENCE(H5I_flags(1), H5I_FILE_F)
+ EQUIVALENCE(H5I_flags(2), H5I_GROUP_F)
+ EQUIVALENCE(H5I_flags(3), H5I_DATATYPE_F)
+ EQUIVALENCE(H5I_flags(4), H5I_DATASPACE_F)
+ EQUIVALENCE(H5I_flags(5), H5I_DATASET_F)
+ EQUIVALENCE(H5I_flags(6), H5I_ATTR_F)
+ EQUIVALENCE(H5I_flags(7), H5I_BADID_F)
!
! H5L flags declaration
!
+ INTEGER, PARAMETER :: H5L_FLAGS_LEN = 6
+ INTEGER :: H5L_flags(H5L_FLAGS_LEN)
+
INTEGER :: H5L_TYPE_ERROR_F
INTEGER :: H5L_TYPE_HARD_F
INTEGER :: H5L_TYPE_SOFT_F
INTEGER :: H5L_TYPE_EXTERNAL_F
INTEGER :: H5L_SAME_LOC_F
INTEGER :: H5L_LINK_CLASS_T_VERS_F
+
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5L_FLAGS/
+ !DEC$endif
+ COMMON /H5L_FLAGS/ H5L_flags
+
+ EQUIVALENCE(H5L_flags(1), H5L_TYPE_ERROR_F)
+ EQUIVALENCE(H5L_flags(2), H5L_TYPE_HARD_F)
+ EQUIVALENCE(H5L_flags(3), H5L_TYPE_SOFT_F)
+ EQUIVALENCE(H5L_flags(4), H5L_TYPE_EXTERNAL_F)
+ EQUIVALENCE(H5L_flags(5), H5L_SAME_LOC_F)
+ EQUIVALENCE(H5L_flags(6), H5L_LINK_CLASS_T_VERS_F)
!
! H5O flags declaration
!
+ INTEGER, PARAMETER :: H5O_FLAGS_LEN = 27
+ INTEGER :: H5o_flags(H5O_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5O_FLAGS/
+ !DEC$endif
+ COMMON /H5O_FLAGS/ H5O_flags
+
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
@@ -300,9 +607,45 @@ MODULE H5GLOBAL
INTEGER :: H5O_TYPE_DATASET_F
INTEGER :: H5O_TYPE_NAMED_DATATYPE_F
INTEGER :: H5O_TYPE_NTYPES_F
+
+ EQUIVALENCE(h5o_flags(1) , H5O_COPY_SHALLOW_HIERARCHY_F)
+ EQUIVALENCE(h5o_flags(2) , H5O_COPY_EXPAND_SOFT_LINK_F)
+ EQUIVALENCE(h5o_flags(3) , H5O_COPY_EXPAND_EXT_LINK_F)
+ EQUIVALENCE(h5o_flags(4) , H5O_COPY_EXPAND_REFERENCE_F)
+ EQUIVALENCE(h5o_flags(5) , H5O_COPY_WITHOUT_ATTR_FLAG_F)
+ EQUIVALENCE(h5o_flags(6) , H5O_COPY_PRESERVE_NULL_FLAG_F)
+ EQUIVALENCE(h5o_flags(7) , H5O_COPY_ALL_F)
+ EQUIVALENCE(h5o_flags(8) , H5O_SHMESG_NONE_FLAG_F)
+ EQUIVALENCE(h5o_flags(9) , H5O_SHMESG_SDSPACE_FLAG_F)
+ EQUIVALENCE(h5o_flags(10) , H5O_SHMESG_DTYPE_FLAG_F)
+ EQUIVALENCE(h5o_flags(11) , H5O_SHMESG_FILL_FLAG_F)
+ EQUIVALENCE(h5o_flags(12) , H5O_SHMESG_PLINE_FLAG_F)
+ EQUIVALENCE(h5o_flags(13) , H5O_SHMESG_ATTR_FLAG_F)
+ EQUIVALENCE(h5o_flags(14) , H5O_SHMESG_ALL_FLAG_F)
+ EQUIVALENCE(h5o_flags(15) , H5O_HDR_CHUNK0_SIZE_F)
+ EQUIVALENCE(h5o_flags(16) , H5O_HDR_ATTR_CRT_ORDER_TRACK_F)
+ EQUIVALENCE(h5o_flags(17) , H5O_HDR_ATTR_CRT_ORDER_INDEX_F)
+ EQUIVALENCE(h5o_flags(18) , H5O_HDR_ATTR_STORE_PHASE_CHA_F)
+ EQUIVALENCE(h5o_flags(19) , H5O_HDR_STORE_TIMES_F)
+ EQUIVALENCE(h5o_flags(20) , H5O_HDR_ALL_FLAGS_F)
+ EQUIVALENCE(h5o_flags(21) , H5O_SHMESG_MAX_NINDEXES_F)
+ EQUIVALENCE(h5o_flags(22) , H5O_SHMESG_MAX_LIST_SIZE_F)
+ EQUIVALENCE(h5o_flags(23) , H5O_TYPE_UNKNOWN_F)
+ EQUIVALENCE(h5o_flags(24) , H5O_TYPE_GROUP_F)
+ EQUIVALENCE(h5o_flags(25) , H5O_TYPE_DATASET_F)
+ EQUIVALENCE(h5o_flags(26) , H5O_TYPE_NAMED_DATATYPE_F)
+ EQUIVALENCE(h5o_flags(27) , H5O_TYPE_NTYPES_F)
+
!
! H5P flags declaration
!
+ INTEGER, PARAMETER :: H5P_FLAGS_LEN = 18
+ INTEGER(HID_T) H5P_flags(H5P_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5P_FLAGS/
+ !DEC$endif
+ COMMON /H5P_FLAGS/ H5P_flags
+
INTEGER(HID_T) :: H5P_FILE_CREATE_F
INTEGER(HID_T) :: H5P_FILE_ACCESS_F
INTEGER(HID_T) :: H5P_DATASET_CREATE_F
@@ -321,24 +664,77 @@ MODULE H5GLOBAL
INTEGER(HID_T) :: H5P_OBJECT_COPY_F
INTEGER(HID_T) :: H5P_LINK_CREATE_F
INTEGER(HID_T) :: H5P_LINK_ACCESS_F
+
+ EQUIVALENCE(H5P_flags(1), H5P_FILE_CREATE_F)
+ EQUIVALENCE(H5P_flags(2), H5P_FILE_ACCESS_F)
+ EQUIVALENCE(H5P_flags(3), H5P_DATASET_CREATE_F)
+ EQUIVALENCE(H5P_flags(4), H5P_DATASET_XFER_F)
+ EQUIVALENCE(H5P_flags(5), H5P_FILE_MOUNT_F)
+ EQUIVALENCE(H5P_flags(6), H5P_DEFAULT_F)
+ EQUIVALENCE(H5P_flags(7), H5P_ROOT_F)
+ EQUIVALENCE(H5P_flags(8), H5P_OBJECT_CREATE_F)
+ EQUIVALENCE(H5P_flags(9), H5P_DATASET_ACCESS_F)
+ EQUIVALENCE(H5P_flags(10), H5P_GROUP_CREATE_F)
+ EQUIVALENCE(H5P_flags(11), H5P_GROUP_ACCESS_F)
+ EQUIVALENCE(H5P_flags(12), H5P_DATATYPE_CREATE_F)
+ EQUIVALENCE(H5P_flags(13), H5P_DATATYPE_ACCESS_F)
+ EQUIVALENCE(H5P_flags(14), H5P_STRING_CREATE_F)
+ EQUIVALENCE(H5P_flags(15), H5P_ATTRIBUTE_CREATE_F)
+ EQUIVALENCE(H5P_flags(16), H5P_OBJECT_COPY_F)
+ EQUIVALENCE(H5P_flags(17), H5P_LINK_CREATE_F)
+ EQUIVALENCE(H5P_flags(18), H5P_LINK_ACCESS_F)
+
!
! H5P integers flags declaration
!
+ INTEGER, PARAMETER :: H5P_FLAGS_INT_LEN = 2
+ INTEGER :: H5P_flags_int(H5P_FLAGS_INT_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5P_FLAGS_INT/
+ !DEC$endif
+ COMMON /H5P_FLAGS_INT/ H5P_flags_int
INTEGER :: H5P_CRT_ORDER_INDEXED_F
INTEGER :: H5P_CRT_ORDER_TRACKED_F
+ EQUIVALENCE(H5P_flags_int(1), H5P_CRT_ORDER_INDEXED_F)
+ EQUIVALENCE(H5P_flags_int(2), H5P_CRT_ORDER_TRACKED_F)
!
! H5R flags declaration
!
+ INTEGER, PARAMETER :: H5R_FLAGS_LEN = 2
+ INTEGER :: H5R_flags(H5R_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5R_FLAGS/
+ !DEC$endif
+ COMMON /H5R_FLAGS/ H5R_flags
+
INTEGER :: H5R_OBJECT_F
INTEGER :: H5R_DATASET_REGION_F
+
+ EQUIVALENCE(H5R_flags(1), H5R_OBJECT_F)
+ EQUIVALENCE(H5R_flags(2), H5R_DATASET_REGION_F)
+
!
! H5S flags declaration
!
+ INTEGER, PARAMETER :: H5S_FLAGS_LEN = 19
+ INTEGER :: H5S_flags(H5S_FLAGS_LEN)
+ INTEGER, PARAMETER :: H5S_HSIZE_FLAGS_LEN = 1
+ INTEGER(HSIZE_T) H5S_hsize_flags(H5S_HSIZE_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5S_FLAGS/
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5S_HSIZE_FLAGS/
+ !DEC$endif
+ COMMON /H5S_FLAGS/ H5S_flags
+ COMMON /H5S_HSIZE_FLAGS/ H5S_hsize_flags
+
INTEGER(HSIZE_T) :: H5S_UNLIMITED_F
+
INTEGER :: H5S_SCALAR_F
INTEGER :: H5S_SIMPLE_F
INTEGER :: H5S_NULL_F
+
INTEGER :: H5S_ALL_F
+
INTEGER :: H5S_SELECT_NOOP_F
INTEGER :: H5S_SELECT_SET_F
INTEGER :: H5S_SELECT_OR_F
@@ -349,14 +745,47 @@ MODULE H5GLOBAL
INTEGER :: H5S_SELECT_APPEND_F
INTEGER :: H5S_SELECT_PREPEND_F
INTEGER :: H5S_SELECT_INVALID_F
+
INTEGER :: H5S_SEL_ERROR_F
INTEGER :: H5S_SEL_NONE_F
INTEGER :: H5S_SEL_POINTS_F
INTEGER :: H5S_SEL_HYPERSLABS_F
INTEGER :: H5S_SEL_ALL_F
+
+ EQUIVALENCE(H5S_hsize_flags(1), H5S_UNLIMITED_F)
+ EQUIVALENCE(H5S_flags(1), H5S_SCALAR_F)
+ EQUIVALENCE(H5S_flags(2), H5S_SIMPLE_F)
+ EQUIVALENCE(H5S_flags(3), H5S_NULL_F)
+ EQUIVALENCE(H5S_flags(4), H5S_SELECT_SET_F)
+ EQUIVALENCE(H5S_flags(5), H5S_SELECT_OR_F)
+ EQUIVALENCE(H5S_flags(6), H5S_ALL_F)
+
+ EQUIVALENCE(H5S_flags(7), H5S_SELECT_NOOP_F)
+ EQUIVALENCE(H5S_flags(8), H5S_SELECT_AND_F)
+ EQUIVALENCE(H5S_flags(9), H5S_SELECT_XOR_F)
+ EQUIVALENCE(H5S_flags(10), H5S_SELECT_NOTB_F)
+ EQUIVALENCE(H5S_flags(11), H5S_SELECT_NOTA_F)
+ EQUIVALENCE(H5S_flags(12), H5S_SELECT_APPEND_F)
+ EQUIVALENCE(H5S_flags(13), H5S_SELECT_PREPEND_F)
+ EQUIVALENCE(H5S_flags(14), H5S_SELECT_INVALID_F)
+
+
+ EQUIVALENCE(H5S_flags(15), H5S_SEL_ERROR_F)
+ EQUIVALENCE(H5S_flags(16), H5S_SEL_NONE_F)
+ EQUIVALENCE(H5S_flags(17), H5S_SEL_POINTS_F)
+ EQUIVALENCE(H5S_flags(18), H5S_SEL_HYPERSLABS_F)
+ EQUIVALENCE(H5S_flags(19), H5S_SEL_ALL_F)
+
!
! H5T flags declaration
!
+ INTEGER, PARAMETER :: H5T_FLAGS_LEN = 35
+ INTEGER :: H5T_flags(H5T_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5T_FLAGS/
+ !DEC$endif
+ COMMON /H5T_FLAGS/ H5T_flags
+
INTEGER :: H5T_NO_CLASS_F
INTEGER :: H5T_INTEGER_F
INTEGER :: H5T_FLOAT_F
@@ -392,9 +821,52 @@ MODULE H5GLOBAL
INTEGER :: H5T_STR_ERROR_F
INTEGER :: H5T_DIR_ASCEND_F
INTEGER :: H5T_DIR_DESCEND_F
+
+ EQUIVALENCE(H5T_flags(1), H5T_NO_CLASS_F)
+ EQUIVALENCE(H5T_flags(2), H5T_INTEGER_F)
+ EQUIVALENCE(H5T_flags(3), H5T_FLOAT_F)
+ EQUIVALENCE(H5T_flags(4), H5T_TIME_F)
+ EQUIVALENCE(H5T_flags(5), H5T_STRING_F)
+ EQUIVALENCE(H5T_flags(6), H5T_BITFIELD_F)
+ EQUIVALENCE(H5T_flags(7), H5T_OPAQUE_F)
+ EQUIVALENCE(H5T_flags(8), H5T_COMPOUND_F)
+ EQUIVALENCE(H5T_flags(9), H5T_REFERENCE_F)
+ EQUIVALENCE(H5T_flags(10), H5T_ENUM_F)
+ EQUIVALENCE(H5T_flags(11), H5T_ORDER_LE_F)
+ EQUIVALENCE(H5T_flags(12), H5T_ORDER_BE_F)
+ EQUIVALENCE(H5T_flags(13), H5T_ORDER_MIXED_F)
+ EQUIVALENCE(H5T_flags(14), H5T_ORDER_VAX_F)
+ EQUIVALENCE(H5T_flags(15), H5T_ORDER_NONE_F)
+ EQUIVALENCE(H5T_flags(16), H5T_PAD_ZERO_F)
+ EQUIVALENCE(H5T_flags(17), H5T_PAD_ONE_F)
+ EQUIVALENCE(H5T_flags(18), H5T_PAD_BACKGROUND_F)
+ EQUIVALENCE(H5T_flags(19), H5T_PAD_ERROR_F)
+ EQUIVALENCE(H5T_flags(20), H5T_SGN_NONE_F)
+ EQUIVALENCE(H5T_flags(21), H5T_SGN_2_F)
+ EQUIVALENCE(H5T_flags(22), H5T_SGN_ERROR_F)
+ EQUIVALENCE(H5T_flags(23), H5T_NORM_IMPLIED_F)
+ EQUIVALENCE(H5T_flags(24), H5T_NORM_MSBSET_F)
+ EQUIVALENCE(H5T_flags(25), H5T_NORM_NONE_F)
+ EQUIVALENCE(H5T_flags(26), H5T_CSET_ASCII_F)
+ EQUIVALENCE(H5T_flags(27), H5T_CSET_UTF8_F)
+ EQUIVALENCE(H5T_flags(28), H5T_STR_NULLTERM_F)
+ EQUIVALENCE(H5T_flags(29), H5T_STR_NULLPAD_F)
+ EQUIVALENCE(H5T_flags(30), H5T_STR_SPACEPAD_F)
+ EQUIVALENCE(H5T_flags(31), H5T_STR_ERROR_F)
+ EQUIVALENCE(H5T_flags(32), H5T_VLEN_F)
+ EQUIVALENCE(H5T_flags(33), H5T_ARRAY_F)
+ EQUIVALENCE(H5T_flags(34), H5T_DIR_ASCEND_F)
+ EQUIVALENCE(H5T_flags(35), H5T_DIR_DESCEND_F)
!
! H5Z flags declaration
!
+ INTEGER, PARAMETER :: H5Z_FLAGS_LEN = 20
+ INTEGER :: H5Z_flags(H5Z_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5Z_FLAGS/
+ !DEC$endif
+ COMMON /H5Z_FLAGS/ H5Z_flags
+
INTEGER :: H5Z_FILTER_ERROR_F
INTEGER :: H5Z_FILTER_NONE_F
INTEGER :: H5Z_FILTER_ALL_F
@@ -415,11 +887,58 @@ MODULE H5GLOBAL
INTEGER :: H5Z_SO_FLOAT_ESCALE_F
INTEGER :: H5Z_SO_INT_F
INTEGER :: H5Z_SO_INT_MINBITS_DEFAULT_F
+
+ EQUIVALENCE(H5Z_flags(1), H5Z_FILTER_ERROR_F)
+ EQUIVALENCE(H5Z_flags(2), H5Z_FILTER_NONE_F)
+ EQUIVALENCE(H5Z_flags(3), H5Z_FILTER_DEFLATE_F)
+ EQUIVALENCE(H5Z_flags(4), H5Z_FILTER_SHUFFLE_F)
+ EQUIVALENCE(H5Z_flags(5), H5Z_FILTER_FLETCHER32_F)
+ EQUIVALENCE(H5Z_flags(6), H5Z_ERROR_EDC_F)
+ EQUIVALENCE(H5Z_flags(7), H5Z_DISABLE_EDC_F)
+ EQUIVALENCE(H5Z_flags(8), H5Z_ENABLE_EDC_F)
+ EQUIVALENCE(H5Z_flags(9), H5Z_NO_EDC_F)
+ EQUIVALENCE(H5Z_flags(10), H5Z_FILTER_SZIP_F)
+ EQUIVALENCE(H5Z_flags(11), H5Z_FLAG_OPTIONAL_F)
+ EQUIVALENCE(H5Z_flags(12), H5Z_FILTER_ENCODE_ENABLED_F)
+ EQUIVALENCE(H5Z_flags(13), H5Z_FILTER_DECODE_ENABLED_F)
+ EQUIVALENCE(H5Z_flags(14), H5Z_FILTER_ALL_F)
+ EQUIVALENCE(H5Z_flags(15), H5Z_FILTER_NBIT_F)
+ EQUIVALENCE(H5Z_flags(16), H5Z_FILTER_SCALEOFFSET_F)
+ EQUIVALENCE(H5Z_flags(17), H5Z_SO_FLOAT_DSCALE_F)
+ EQUIVALENCE(H5Z_flags(18), H5Z_SO_FLOAT_ESCALE_F)
+ EQUIVALENCE(H5Z_flags(19), H5Z_SO_INT_F)
+ EQUIVALENCE(H5Z_flags(20), H5Z_SO_INT_MINBITS_DEFAULT_F)
+
!
! H5 Library flags declaration
!
+ INTEGER, PARAMETER :: H5LIB_FLAGS_LEN = 2
+ INTEGER :: H5LIB_flags(H5LIB_FLAGS_LEN)
+ !DEC$if defined(BUILD_HDF5_DLL)
+ !DEC$ATTRIBUTES DLLEXPORT :: /H5LIB_FLAGS/
+ !DEC$endif
+ COMMON /H5LIB_FLAGS/ H5LIB_flags
INTEGER :: H5_SZIP_EC_OM_F
INTEGER :: H5_SZIP_NN_OM_F
+ !
+ EQUIVALENCE(H5LIB_flags(1), H5_SZIP_EC_OM_F)
+ EQUIVALENCE(H5LIB_flags(2), H5_SZIP_NN_OM_F)
+
+
+ ! General H5 flags declarations
+ !
+!!$ INTEGER, PARAMETER :: H5_FLAGS_LEN = 2
+!!$ INTEGER H5_flags(H5_FLAGS_LEN)
+!!$!DEC$if defined(BUILD_HDF5_DLL)
+!!$!DEC$ATTRIBUTES DLLEXPORT :: /H5_FLAGS/
+!!$!DEC$endif
+!!$ COMMON /H5_FLAGS/ H5_flags
+!!$
+!!$ INTEGER :: _F
+!!$ INTEGER :: H5F_SCOPE_LOCAL_F
+!!$
+!!$ EQUIVALENCE(H5F_flags(1), H5F_SCOPE_GLOBAL_F)
+!!$ EQUIVALENCE(H5F_flags(2), H5F_SCOPE_LOCAL_F)
END MODULE H5GLOBAL
diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in
index 6facf07..48fb343 100644
--- a/fortran/src/hdf5_fortrandll.def.in
+++ b/fortran/src/hdf5_fortrandll.def.in
@@ -1,284 +1,4 @@
EXPORTS
-; H5GLOBAL
-H5GLOBAL_mp_H5T_NATIVE_INTEGER_1
-H5GLOBAL_mp_H5T_NATIVE_INTEGER_2
-H5GLOBAL_mp_H5T_NATIVE_INTEGER_4
-H5GLOBAL_mp_H5T_NATIVE_INTEGER_8
-H5GLOBAL_mp_H5T_NATIVE_REAL_4
-H5GLOBAL_mp_H5T_NATIVE_REAL_8
-H5GLOBAL_mp_H5T_NATIVE_REAL_16
-H5GLOBAL_mp_H5T_NATIVE_INTEGER
-H5GLOBAL_mp_H5T_NATIVE_REAL
-H5GLOBAL_mp_H5T_NATIVE_DOUBLE
-H5GLOBAL_mp_H5T_NATIVE_CHARACTER
-H5GLOBAL_mp_H5T_STD_REF_OBJ
-H5GLOBAL_mp_H5T_STD_REF_DSETREG
-H5GLOBAL_mp_H5T_IEEE_F32BE
-H5GLOBAL_mp_H5T_IEEE_F32LE
-H5GLOBAL_mp_H5T_IEEE_F64BE
-H5GLOBAL_mp_H5T_IEEE_F64LE
-H5GLOBAL_mp_H5T_STD_I8BE
-H5GLOBAL_mp_H5T_STD_I8LE
-H5GLOBAL_mp_H5T_STD_I16BE
-H5GLOBAL_mp_H5T_STD_I16LE
-H5GLOBAL_mp_H5T_STD_I32BE
-H5GLOBAL_mp_H5T_STD_I32LE
-H5GLOBAL_mp_H5T_STD_I64BE
-H5GLOBAL_mp_H5T_STD_I64LE
-H5GLOBAL_mp_H5T_STD_U8BE
-H5GLOBAL_mp_H5T_STD_U8LE
-H5GLOBAL_mp_H5T_STD_U16BE
-H5GLOBAL_mp_H5T_STD_U16LE
-H5GLOBAL_mp_H5T_STD_U32BE
-H5GLOBAL_mp_H5T_STD_U32LE
-H5GLOBAL_mp_H5T_STD_U64BE
-H5GLOBAL_mp_H5T_STD_U64LE
-H5GLOBAL_mp_H5T_STRING
-H5GLOBAL_mp_H5T_STD_B8BE
-H5GLOBAL_mp_H5T_STD_B8LE
-H5GLOBAL_mp_H5T_STD_B16BE
-H5GLOBAL_mp_H5T_STD_B16LE
-H5GLOBAL_mp_H5T_STD_B32BE
-H5GLOBAL_mp_H5T_STD_B32LE
-H5GLOBAL_mp_H5T_STD_B64BE
-H5GLOBAL_mp_H5T_STD_B64LE
-H5GLOBAL_mp_H5T_NATIVE_B8
-H5GLOBAL_mp_H5T_NATIVE_B16
-H5GLOBAL_mp_H5T_NATIVE_B32
-H5GLOBAL_mp_H5T_NATIVE_B64
-H5GLOBAL_mp_H5T_FORTRAN_S1
-H5GLOBAL_mp_H5T_C_S1
-H5GLOBAL_mp_H5F_ACC_RDWR_F
-H5GLOBAL_mp_H5F_ACC_RDONLY_F
-H5GLOBAL_mp_H5F_ACC_TRUNC_F
-H5GLOBAL_mp_H5F_ACC_EXCL_F
-H5GLOBAL_mp_H5F_ACC_DEBUG_F
-H5GLOBAL_mp_H5F_SCOPE_LOCAL_F
-H5GLOBAL_mp_H5F_SCOPE_GLOBAL_F
-H5GLOBAL_mp_H5F_CLOSE_DEFAULT_F
-H5GLOBAL_mp_H5F_CLOSE_WEAK_F
-H5GLOBAL_mp_H5F_CLOSE_SEMI_F
-H5GLOBAL_mp_H5F_CLOSE_STRONG_F
-H5GLOBAL_mp_H5F_OBJ_FILE_F
-H5GLOBAL_mp_H5F_OBJ_DATASET_F
-H5GLOBAL_mp_H5F_OBJ_GROUP_F
-H5GLOBAL_mp_H5F_OBJ_DATATYPE_F
-H5GLOBAL_mp_H5F_OBJ_ALL_F
-H5GLOBAL_mp_H5F_LIBVER_EARLIEST_F
-H5GLOBAL_mp_H5F_LIBVER_LATEST_F
-H5GLOBAL_mp_H5F_UNLIMITED_F
-H5GLOBAL_mp_H5_INDEX_UNKNOWN_F
-H5GLOBAL_mp_H5_INDEX_NAME_F
-H5GLOBAL_mp_H5_INDEX_CRT_ORDER_F
-H5GLOBAL_mp_H5_INDEX_N_F
-H5GLOBAL_mp_H5_ITER_UNKNOWN_F
-H5GLOBAL_mp_H5_ITER_INC_F
-H5GLOBAL_mp_H5_ITER_DEC_F
-H5GLOBAL_mp_H5_ITER_NATIVE_F
-H5GLOBAL_mp_H5_ITER_N_F
-H5GLOBAL_mp_H5G_UNKNOWN_F
-H5GLOBAL_mp_H5G_GROUP_F
-H5GLOBAL_mp_H5G_DATASET_F
-H5GLOBAL_mp_H5G_TYPE_F
-H5GLOBAL_mp_H5G_LINK_F
-H5GLOBAL_mp_H5G_UDLINK_F
-H5GLOBAL_mp_H5G_SAME_LOC_F
-H5GLOBAL_mp_H5G_LINK_ERROR_F
-H5GLOBAL_mp_H5G_LINK_HARD_F
-H5GLOBAL_mp_H5G_LINK_SOFT_F
-H5GLOBAL_mp_H5G_STORAGE_TYPE_UNKNOWN_F
-H5GLOBAL_mp_H5G_STORAGE_TYPE_SYMBOL_TABLE_F
-H5GLOBAL_mp_H5G_STORAGE_TYPE_COMPACT_F
-H5GLOBAL_mp_H5G_STORAGE_TYPE_DENSE_F
-H5GLOBAL_mp_H5D_COMPACT_F
-H5GLOBAL_mp_H5D_CONTIGUOUS_F
-H5GLOBAL_mp_H5D_CHUNKED_F
-H5GLOBAL_mp_H5D_ALLOC_TIME_ERROR_F
-H5GLOBAL_mp_H5D_ALLOC_TIME_DEFAULT_F
-H5GLOBAL_mp_H5D_ALLOC_TIME_EARLY_F
-H5GLOBAL_mp_H5D_ALLOC_TIME_LATE_F
-H5GLOBAL_mp_H5D_ALLOC_TIME_INCR_F
-H5GLOBAL_mp_H5D_SPACE_STS_ERROR_F
-H5GLOBAL_mp_H5D_SPACE_STS_NOT_ALLOCATED_F
-H5GLOBAL_mp_H5D_SPACE_STS_PART_ALLOCATED_F
-H5GLOBAL_mp_H5D_SPACE_STS_ALLOCATED_F
-H5GLOBAL_mp_H5D_FILL_TIME_ERROR_F
-H5GLOBAL_mp_H5D_FILL_TIME_ALLOC_F
-H5GLOBAL_mp_H5D_FILL_TIME_NEVER_F
-H5GLOBAL_mp_H5D_FILL_VALUE_ERROR_F
-H5GLOBAL_mp_H5D_FILL_VALUE_UNDEFINED_F
-H5GLOBAL_mp_H5D_FILL_VALUE_DEFAULT_F
-H5GLOBAL_mp_H5D_FILL_VALUE_USER_DEFINED_F
-H5GLOBAL_mp_H5D_CHUNK_CACHE_NSLOTS_DFLT_F
-H5GLOBAL_mp_H5D_CHUNK_CACHE_NBYTES_DFLT_F
-H5GLOBAL_mp_H5D_CHUNK_CACHE_W0_DFLT_F
-H5GLOBAL_mp_H5D_MPIO_NO_COLLECTIVE_F
-H5GLOBAL_mp_H5D_MPIO_CHUNK_INDEPENDENT_F
-H5GLOBAL_mp_H5D_MPIO_CHUNK_COLLECTIVE_F
-H5GLOBAL_mp_H5D_MPIO_CHUNK_MIXED_F
-H5GLOBAL_mp_H5D_MPIO_CONTIG_COLLECTIVE_F
-H5GLOBAL_mp_H5E_DEFAULT_F
-H5GLOBAL_mp_H5E_MAJOR_F
-H5GLOBAL_mp_H5E_MINOR_F
-H5GLOBAL_mp_H5E_WALK_UPWARD_F
-H5GLOBAL_mp_H5E_WALK_DOWNWARD_F
-H5GLOBAL_mp_H5FD_MPIO_INDEPENDENT_F
-H5GLOBAL_mp_H5FD_MPIO_COLLECTIVE_F
-H5GLOBAL_mp_H5FD_MEM_NOLIST_F
-H5GLOBAL_mp_H5FD_MEM_DEFAULT_F
-H5GLOBAL_mp_H5FD_MEM_SUPER_F
-H5GLOBAL_mp_H5FD_MEM_BTREE_F
-H5GLOBAL_mp_H5FD_MEM_DRAW_F
-H5GLOBAL_mp_H5FD_MEM_GHEAP_F
-H5GLOBAL_mp_H5FD_MEM_LHEAP_F
-H5GLOBAL_mp_H5FD_MEM_OHDR_F
-H5GLOBAL_mp_H5FD_MEM_NTYPES_F
-H5GLOBAL_mp_H5FD_CORE_F
-H5GLOBAL_mp_H5FD_FAMILY_F
-H5GLOBAL_mp_H5FD_LOG_F
-H5GLOBAL_mp_H5FD_MPIO_F
-H5GLOBAL_mp_H5FD_MULTI_F
-H5GLOBAL_mp_H5FD_SEC2_F
-H5GLOBAL_mp_H5FD_STDIO_F
-H5GLOBAL_mp_H5I_FILE_F
-H5GLOBAL_mp_H5I_GROUP_F
-H5GLOBAL_mp_H5I_DATATYPE_F
-H5GLOBAL_mp_H5I_DATASPACE_F
-H5GLOBAL_mp_H5I_DATASET_F
-H5GLOBAL_mp_H5I_ATTR_F
-H5GLOBAL_mp_H5I_BADID_F
-H5GLOBAL_mp_H5L_TYPE_ERROR_F
-H5GLOBAL_mp_H5L_TYPE_HARD_F
-H5GLOBAL_mp_H5L_TYPE_SOFT_F
-H5GLOBAL_mp_H5L_TYPE_EXTERNAL_F
-H5GLOBAL_mp_H5L_SAME_LOC_F
-H5GLOBAL_mp_H5L_LINK_CLASS_T_VERS_F
-H5GLOBAL_mp_H5O_COPY_SHALLOW_HIERARCHY_F
-H5GLOBAL_mp_H5O_COPY_EXPAND_SOFT_LINK_F
-H5GLOBAL_mp_H5O_COPY_EXPAND_EXT_LINK_F
-H5GLOBAL_mp_H5O_COPY_EXPAND_REFERENCE_F
-H5GLOBAL_mp_H5O_COPY_WITHOUT_ATTR_FLAG_F
-H5GLOBAL_mp_H5O_COPY_PRESERVE_NULL_FLAG_F
-H5GLOBAL_mp_H5O_COPY_ALL_F
-H5GLOBAL_mp_H5O_SHMESG_NONE_FLAG_F
-H5GLOBAL_mp_H5O_SHMESG_SDSPACE_FLAG_F
-H5GLOBAL_mp_H5O_SHMESG_DTYPE_FLAG_F
-H5GLOBAL_mp_H5O_SHMESG_FILL_FLAG_F
-H5GLOBAL_mp_H5O_SHMESG_PLINE_FLAG_F
-H5GLOBAL_mp_H5O_SHMESG_ATTR_FLAG_F
-H5GLOBAL_mp_H5O_SHMESG_ALL_FLAG_F
-H5GLOBAL_mp_H5O_HDR_CHUNK0_SIZE_F
-H5GLOBAL_mp_H5O_HDR_ATTR_CRT_ORDER_TRACK_F
-H5GLOBAL_mp_H5O_HDR_ATTR_CRT_ORDER_INDEX_F
-H5GLOBAL_mp_H5O_HDR_ATTR_STORE_PHASE_CHA_F
-H5GLOBAL_mp_H5O_HDR_STORE_TIMES_F
-H5GLOBAL_mp_H5O_HDR_ALL_FLAGS_F
-H5GLOBAL_mp_H5O_SHMESG_MAX_NINDEXES_F
-H5GLOBAL_mp_H5O_SHMESG_MAX_LIST_SIZE_F
-H5GLOBAL_mp_H5O_TYPE_UNKNOWN_F
-H5GLOBAL_mp_H5O_TYPE_GROUP_F
-H5GLOBAL_mp_H5O_TYPE_DATASET_F
-H5GLOBAL_mp_H5O_TYPE_NAMED_DATATYPE_F
-H5GLOBAL_mp_H5O_TYPE_NTYPES_F
-H5GLOBAL_mp_H5P_FILE_CREATE_F
-H5GLOBAL_mp_H5P_FILE_ACCESS_F
-H5GLOBAL_mp_H5P_DATASET_CREATE_F
-H5GLOBAL_mp_H5P_DATASET_XFER_F
-H5GLOBAL_mp_H5P_FILE_MOUNT_F
-H5GLOBAL_mp_H5P_DEFAULT_F
-H5GLOBAL_mp_H5P_ROOT_F
-H5GLOBAL_mp_H5P_OBJECT_CREATE_F
-H5GLOBAL_mp_H5P_DATASET_ACCESS_F
-H5GLOBAL_mp_H5P_GROUP_CREATE_F
-H5GLOBAL_mp_H5P_GROUP_ACCESS_F
-H5GLOBAL_mp_H5P_DATATYPE_CREATE_F
-H5GLOBAL_mp_H5P_DATATYPE_ACCESS_F
-H5GLOBAL_mp_H5P_STRING_CREATE_F
-H5GLOBAL_mp_H5P_ATTRIBUTE_CREATE_F
-H5GLOBAL_mp_H5P_OBJECT_COPY_F
-H5GLOBAL_mp_H5P_LINK_CREATE_F
-H5GLOBAL_mp_H5P_LINK_ACCESS_F
-H5GLOBAL_mp_H5P_CRT_ORDER_INDEXED_F
-H5GLOBAL_mp_H5P_CRT_ORDER_TRACKED_F
-H5GLOBAL_mp_H5R_OBJECT_F
-H5GLOBAL_mp_H5R_DATASET_REGION_F
-H5GLOBAL_mp_H5S_UNLIMITED_F
-H5GLOBAL_mp_H5S_SCALAR_F
-H5GLOBAL_mp_H5S_SIMPLE_F
-H5GLOBAL_mp_H5S_NULL_F
-H5GLOBAL_mp_H5S_ALL_F
-H5GLOBAL_mp_H5S_SELECT_NOOP_F
-H5GLOBAL_mp_H5S_SELECT_SET_F
-H5GLOBAL_mp_H5S_SELECT_OR_F
-H5GLOBAL_mp_H5S_SELECT_AND_F
-H5GLOBAL_mp_H5S_SELECT_XOR_F
-H5GLOBAL_mp_H5S_SELECT_NOTB_F
-H5GLOBAL_mp_H5S_SELECT_NOTA_F
-H5GLOBAL_mp_H5S_SELECT_APPEND_F
-H5GLOBAL_mp_H5S_SELECT_PREPEND_F
-H5GLOBAL_mp_H5S_SELECT_INVALID_F
-H5GLOBAL_mp_H5S_SEL_ERROR_F
-H5GLOBAL_mp_H5S_SEL_NONE_F
-H5GLOBAL_mp_H5S_SEL_POINTS_F
-H5GLOBAL_mp_H5S_SEL_HYPERSLABS_F
-H5GLOBAL_mp_H5S_SEL_ALL_F
-H5GLOBAL_mp_H5T_NO_CLASS_F
-H5GLOBAL_mp_H5T_INTEGER_F
-H5GLOBAL_mp_H5T_FLOAT_F
-H5GLOBAL_mp_H5T_TIME_F
-H5GLOBAL_mp_H5T_STRING_F
-H5GLOBAL_mp_H5T_BITFIELD_F
-H5GLOBAL_mp_H5T_OPAQUE_F
-H5GLOBAL_mp_H5T_COMPOUND_F
-H5GLOBAL_mp_H5T_REFERENCE_F
-H5GLOBAL_mp_H5T_ENUM_F
-H5GLOBAL_mp_H5T_VLEN_F
-H5GLOBAL_mp_H5T_ARRAY_F
-H5GLOBAL_mp_H5T_ORDER_LE_F
-H5GLOBAL_mp_H5T_ORDER_BE_F
-H5GLOBAL_mp_H5T_ORDER_VAX_F
-H5GLOBAL_mp_H5T_ORDER_NONE_F
-H5GLOBAL_mp_H5T_ORDER_MIXED_F
-H5GLOBAL_mp_H5T_PAD_ZERO_F
-H5GLOBAL_mp_H5T_PAD_ONE_F
-H5GLOBAL_mp_H5T_PAD_BACKGROUND_F
-H5GLOBAL_mp_H5T_PAD_ERROR_F
-H5GLOBAL_mp_H5T_SGN_NONE_F
-H5GLOBAL_mp_H5T_SGN_2_F
-H5GLOBAL_mp_H5T_SGN_ERROR_F
-H5GLOBAL_mp_H5T_NORM_IMPLIED_F
-H5GLOBAL_mp_H5T_NORM_MSBSET_F
-H5GLOBAL_mp_H5T_NORM_NONE_F
-H5GLOBAL_mp_H5T_CSET_ASCII_F
-H5GLOBAL_mp_H5T_CSET_UTF8_F
-H5GLOBAL_mp_H5T_STR_NULLTERM_F
-H5GLOBAL_mp_H5T_STR_NULLPAD_F
-H5GLOBAL_mp_H5T_STR_SPACEPAD_F
-H5GLOBAL_mp_H5T_STR_ERROR_F
-H5GLOBAL_mp_H5T_DIR_ASCEND_F
-H5GLOBAL_mp_H5T_DIR_DESCEND_F
-H5GLOBAL_mp_H5Z_FILTER_ERROR_F
-H5GLOBAL_mp_H5Z_FILTER_NONE_F
-H5GLOBAL_mp_H5Z_FILTER_ALL_F
-H5GLOBAL_mp_H5Z_FILTER_DEFLATE_F
-H5GLOBAL_mp_H5Z_FILTER_SHUFFLE_F
-H5GLOBAL_mp_H5Z_FILTER_FLETCHER32_F
-H5GLOBAL_mp_H5Z_FILTER_SZIP_F
-H5GLOBAL_mp_H5Z_ERROR_EDC_F
-H5GLOBAL_mp_H5Z_DISABLE_EDC_F
-H5GLOBAL_mp_H5Z_ENABLE_EDC_F
-H5GLOBAL_mp_H5Z_NO_EDC_F
-H5GLOBAL_mp_H5Z_FLAG_OPTIONAL_F
-H5GLOBAL_mp_H5Z_FILTER_ENCODE_ENABLED_F
-H5GLOBAL_mp_H5Z_FILTER_DECODE_ENABLED_F
-H5GLOBAL_mp_H5Z_FILTER_NBIT_F
-H5GLOBAL_mp_H5Z_FILTER_SCALEOFFSET_F
-H5GLOBAL_mp_H5Z_SO_FLOAT_DSCALE_F
-H5GLOBAL_mp_H5Z_SO_FLOAT_ESCALE_F
-H5GLOBAL_mp_H5Z_SO_INT_F
-H5GLOBAL_mp_H5Z_SO_INT_MINBITS_DEFAULT_F
-H5GLOBAL_mp_H5_SZIP_EC_OM_F
-H5GLOBAL_mp_H5_SZIP_NN_OM_F
; H5LIB
H5LIB_mp_H5OPEN_F
H5LIB_mp_H5CLOSE_F