diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-03-20 21:48:41 (GMT) |
---|---|---|
committer | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2015-03-20 21:48:41 (GMT) |
commit | 23afd1054486ff752e620f7596d3b4725e14f6fe (patch) | |
tree | 8d8be015ef6481a5b3bd914f76c22edbbc4571c3 | |
parent | 1cd7c16a9d40a2a8664e62c6075800579df334b7 (diff) | |
download | hdf5-23afd1054486ff752e620f7596d3b4725e14f6fe.zip hdf5-23afd1054486ff752e620f7596d3b4725e14f6fe.tar.gz hdf5-23afd1054486ff752e620f7596d3b4725e14f6fe.tar.bz2 |
[svn-r26512] Reverted changed 26488 and 26477
Tested: h5committest
-rwxr-xr-x | configure | 38 | ||||
-rw-r--r-- | configure.ac | 33 | ||||
-rw-r--r-- | fortran/src/H5Pff.f90 | 85 | ||||
-rw-r--r-- | fortran/src/H5_ff.f90 | 492 | ||||
-rw-r--r-- | fortran/src/H5f90global.f90 | 661 | ||||
-rw-r--r-- | fortran/src/hdf5_fortrandll.def.in | 280 |
6 files changed, 731 insertions, 858 deletions
@@ -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 |