summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2001-04-27 03:47:27 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2001-04-27 03:47:27 (GMT)
commit6182da802691e5702681faf509ac151fe652dd51 (patch)
treeec6a41f8882327da936a0a1709458dba606ef35b /fortran
parentc048eed3be375907a030a7f27cb958fcbc95a3ef (diff)
downloadhdf5-6182da802691e5702681faf509ac151fe652dd51.zip
hdf5-6182da802691e5702681faf509ac151fe652dd51.tar.gz
hdf5-6182da802691e5702681faf509ac151fe652dd51.tar.bz2
[svn-r3860]
Purpose: Windows port Description: Multiple changes: * Windows platforms require special compiler directives in order to create DLLs. * In read/write subroutines data arrays were passed by descriptor. This worked on UNIX but did not work on Windows. Solution: * added compiler directives. * read/write APIs have been changed. There is an additional parameter (array that contains the sizes of data buffer dimensions) and regular arrays are used instead of assumed-shaped arrays. Platforms tested: * Currently this feature does not work. Common blocks are not exported correctly from one F90 module to another. I am checking this in so I can ask DEC for help. * For static library tests passed on Windows 98 ( except flush2_fortran) All tests passed on Linux, Solaris 2.7, O2K and T3E
Diffstat (limited to 'fortran')
-rw-r--r--fortran/src/H5Af.c32
-rw-r--r--fortran/src/H5Aff.f901155
-rw-r--r--fortran/src/H5Df.c50
-rw-r--r--fortran/src/H5Dff.f901243
-rw-r--r--fortran/src/H5Eff.f90243
-rw-r--r--fortran/src/H5Fff.f9060
-rw-r--r--fortran/src/H5Gff.f9066
-rw-r--r--fortran/src/H5Git.c4
-rw-r--r--fortran/src/H5Iff.f906
-rw-r--r--fortran/src/H5Pff.f90335
-rw-r--r--fortran/src/H5Rff.f9036
-rw-r--r--fortran/src/H5Sff.f90148
-rw-r--r--fortran/src/H5Tff.f90312
-rw-r--r--fortran/src/H5f90global.f9036
-rw-r--r--fortran/src/H5f90proto.h422
-rw-r--r--fortran/src/H5ff.f9068
16 files changed, 3251 insertions, 965 deletions
diff --git a/fortran/src/H5Af.c b/fortran/src/H5Af.c
index daa3932..15a9b65 100644
--- a/fortran/src/H5Af.c
+++ b/fortran/src/H5Af.c
@@ -103,20 +103,23 @@ nh5aopen_name_c (hid_t_f *obj_id, _fcd name, int_f *namelen, hid_t_f *attr_id)
* Inputs: attr_id - dataset identifier
* mem_type_id - memory datatype identifier
* buf - character data buffer
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday , August 12, 1999
- * Modifications:
+ * Modifications: dims paramete added.
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
+nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims)
{
int ret_value = -1;
/*
* Call h5awrite_c function.
*/
- ret_value = nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf));
+ ret_value = nh5awrite_c(attr_id, mem_type_id, _fcdtocp(buf), dims);
return ret_value;
}
@@ -127,13 +130,16 @@ nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
* Inputs: attr_id - attribute identifier
* mem_type_id - memory datatype identifier
* buf - data buffer
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday, August 12, 1999
- * Modifications:
+ * Modifications: dims parameter added
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf)
+nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -158,21 +164,24 @@ nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf)
* Purpose: Call h5aread_c to read character attribute
* Inputs: dset_id - dataset identifier
* mem_type_id - memory datatype identifier
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Outputs: buf - character data buffer
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday, August 12, 1999
- * Modifications:
+ * Modifications: dims parameter added.
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
+nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims)
{
int ret_value = -1;
/*
* Call h5aread_c function.
*/
- ret_value = nh5aread_c(attr_id, mem_type_id, (_fcdtocp(buf)));
+ ret_value = nh5aread_c(attr_id, mem_type_id, (_fcdtocp(buf)), dims);
return ret_value;
}
@@ -182,14 +191,17 @@ nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf)
* Purpose: Call H5Araed to read an attribute
* Inputs: dset_id - dataset identifier
* mem_type_id - memory datatype identifier
+ * dims - array to store dimensions sizes of buf; used only
+ * by Fortran routine.
* Outputs: buf - data buffer
* Returns: 0 on success, -1 on failure
* Programmer: Elena Pourmal
* Thursday, August 12, 1999
- * Modifications:
+ * Modifications: dims paramete added.
+ * April 4, 2001
*---------------------------------------------------------------------------*/
int_f
-nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf)
+nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
diff --git a/fortran/src/H5Aff.f90 b/fortran/src/H5Aff.f90
index 4e47709..7752a86 100644
--- a/fortran/src/H5Aff.f90
+++ b/fortran/src/H5Aff.f90
@@ -115,6 +115,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5acreate_f(obj_id, name, type_id, space_id, attr_id, &
hdferr, creation_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5acreate_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
@@ -183,6 +187,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5aopen_name_f(obj_id, name, attr_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aopen_name_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
@@ -237,6 +245,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5aopen_idx_f(obj_id, index, attr_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aopen_idx_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
INTEGER, INTENT(IN) :: index ! Attribute index
@@ -269,6 +281,8 @@
! attr_id - attribute identifier
! memtype_id - attribute memory type identifier
! buf - data to write
+! dims - 1D array of size 7, stores sizes of the
+! - buf array dimensions.
! Outputs:
!
! hdferr: - error code
@@ -284,17 +298,25 @@
! called C functions (it is needed for Windows
! port). February 27, 2001
!
+! dims parameter was added to make code portable.
+! April 4, 2001
+!
! Comment: This function is overloaded to write INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
! up to 7 dimensions.
!
!----------------------------------------------------------------------
- SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, DIMENSION(7) :: dims ! Array to story buf dimension sizes
INTEGER, INTENT(IN) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -302,24 +324,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_scalar
- SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:), INTENT(IN) :: buf
+ INTEGER, DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN) , &
+ DIMENSION(dims(1)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -327,25 +356,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_1
- SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:), INTENT(IN) :: buf
+ INTEGER, DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN) , &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -353,25 +390,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_2
- SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:), INTENT(IN) :: buf
+ INTEGER, DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN) , &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -379,25 +424,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_3
- SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -405,25 +458,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_4
- SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -431,25 +492,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:,:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_5
- SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -457,25 +526,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_6
- SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_integer_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_integer_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -483,24 +560,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(IN)::buf
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_integer_7
- SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
REAL, INTENT(IN) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -508,24 +592,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_scalar
- SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -533,25 +624,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_1
- SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -559,26 +658,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN)::buf
- REAL, DIMENSION(:,:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_2
- SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -586,25 +692,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_3
- SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -612,26 +726,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN)::buf
- REAL, DIMENSION(:,:,:,:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_4
- SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -639,26 +760,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, INTENT(IN)::buf
- REAL, DIMENSION(:,:,:,:,:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_5
- SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -666,25 +794,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:,:,:,:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_6
- SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_real_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_real_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -692,24 +828,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(IN)::buf
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_real_7
- SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
DOUBLE PRECISION, INTENT(IN) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -717,50 +860,64 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, INTENT(IN)::buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_scalar
- SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:), INTENT(IN) :: buf
- ! Attribute data
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awrite_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_1
- SUBROUTINE h5awrite_double_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -768,25 +925,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_2
- SUBROUTINE h5awrite_double_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -794,25 +959,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_3
- SUBROUTINE h5awrite_double_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -820,25 +993,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_4
- SUBROUTINE h5awrite_double_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -846,25 +1027,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_5
- SUBROUTINE h5awrite_double_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -872,25 +1061,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_6
- SUBROUTINE h5awrite_double_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_double_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_double_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -898,23 +1095,30 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awrite_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITE_C'::h5awrite_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(IN)::buf
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5awrite_c
END INTERFACE
- hdferr = h5awrite_c(attr_id, memtype_id, buf)
+ hdferr = h5awrite_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_double_7
- SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
CHARACTER(LEN=*),INTENT(IN) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -922,9 +1126,10 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+ INTEGER, DIMENSION(7) :: dims
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
@@ -932,41 +1137,54 @@
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_scalar
- SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(*), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(*)::buf
+ CHARACTER(LEN=*), INTENT(IN), DIMENSION(dims(1))::buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_1
- SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -974,147 +1192,189 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
+ INTEGER, DIMENSION(7) :: dims
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:)::buf
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_2
- SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_3
- SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_4
- SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_5
- SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_6
- SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5awrite_char_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5awrite_char_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:,:), INTENT(IN) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5awritec_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5awritec_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AWRITEC_C'::h5awritec_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5awritec_c
END INTERFACE
- hdferr = h5awritec_c(attr_id, memtype_id, buf)
+ hdferr = h5awritec_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5awrite_char_7
!----------------------------------------------------------------------
@@ -1125,6 +1385,8 @@
! Inputs:
! attr_id - attribute identifier
! memtype_id - attribute memory type identifier
+! dims - 1D array of size 7, stores sizes of the
+! - buf array dimensions.
! Outputs:
! buf - buffer to read attribute data in
! hdferr: - error code
@@ -1140,16 +1402,24 @@
! called C functions (it is needed for Windows
! port). February 27, 2001
!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
! Comment: This function is overloaded to write INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
! up to 7 dimensions.
!----------------------------------------------------------------------
- SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
INTEGER, INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1157,99 +1427,130 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
INTEGER, INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_scalar
- SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:), INTENT(OUT) :: buf ! Attribute data
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_1
- SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:), INTENT(OUT) :: buf ! Attribute data
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_2
- SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:), INTENT(OUT) :: buf ! Attribute data
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
! INTEGER, EXTERNAL :: h5aread_c
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_3
- SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1257,25 +1558,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_4
- SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1283,25 +1592,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:,:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_5
- SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1309,25 +1626,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:,:,:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_6
- SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_integer_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_integer_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1335,24 +1660,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- INTEGER, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT)::buf
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_integer_7
- SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
REAL, INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1360,24 +1692,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
REAL, INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_scalar
- SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1385,25 +1724,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_1
- SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1411,25 +1758,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_2
- SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1437,25 +1792,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_3
- SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1463,25 +1826,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:,:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_4
- SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1489,25 +1860,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:,:,:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_5
- SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1515,25 +1894,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:,:,:,:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_6
- SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_real_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_real_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1541,24 +1928,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- REAL, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT)::buf
+ REAL, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_real_7
- SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
DOUBLE PRECISION, INTENT(OUT) :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1566,24 +1960,31 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
DOUBLE PRECISION, INTENT(OUT)::buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_scalar
- SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1591,25 +1992,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_1
- SUBROUTINE h5aread_double_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1617,25 +2026,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_2
- SUBROUTINE h5aread_double_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1643,25 +2060,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_3
- SUBROUTINE h5aread_double_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1669,25 +2094,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_4
- SUBROUTINE h5aread_double_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1695,25 +2128,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_5
- SUBROUTINE h5aread_double_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1721,25 +2162,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_6
- SUBROUTINE h5aread_double_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_double_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_double_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1747,23 +2196,30 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5aread_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREAD_C'::h5aread_c
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- DOUBLE PRECISION, DIMENSION(:,:,:,:,:,:,:), INTENT(OUT)::buf
+ DOUBLE PRECISION, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5aread_c
END INTERFACE
- hdferr = h5aread_c(attr_id, memtype_id, buf)
+ hdferr = h5aread_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_double_7
- SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_scalar(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
CHARACTER(LEN=*), INTENT(OUT) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1772,26 +2228,33 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
CHARACTER(LEN=*) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_scalar
- SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_1(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(*), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1799,26 +2262,34 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(*)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_1
- SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_2(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1826,26 +2297,34 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_2
- SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_3(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1853,26 +2332,34 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_3
- SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_4(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1880,26 +2367,34 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_4
- SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_5(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1907,26 +2402,34 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_5
- SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_6(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1934,26 +2437,34 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_6
- SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, hdferr)
+ SUBROUTINE h5aread_char_7(attr_id, memtype_id, buf, dims, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aread_char_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: memtype_id ! Attribute datatype
! identifier (in memory)
- CHARACTER(LEN=*), DIMENSION(:,:,:,:,:,:,:), INTENT(OUT) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims ! Array to story buf dimension sizes
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1961,17 +2472,19 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf)
+ INTEGER FUNCTION h5areadc_c(attr_id, memtype_id, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5AREADC_C'::h5areadc_c
!DEC$ATTRIBUTES reference :: buf
+ INTEGER, DIMENSION(7) :: dims
INTEGER(HID_T), INTENT(IN) :: attr_id
INTEGER(HID_T), INTENT(IN) :: memtype_id
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:,:,:)::buf
+ CHARACTER(LEN=*), INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5areadc_c
END INTERFACE
- hdferr = h5areadc_c(attr_id, memtype_id, buf)
+ hdferr = h5areadc_c(attr_id, memtype_id, buf, dims)
END SUBROUTINE h5aread_char_7
!----------------------------------------------------------------------
@@ -1999,6 +2512,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5aget_space_f(attr_id, space_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aget_space_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: space_id
@@ -2045,6 +2562,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5aget_type_f(attr_id, type_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aget_type_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(OUT) :: type_id
@@ -2093,6 +2614,10 @@
SUBROUTINE h5aget_name_f(attr_id, size, buf, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aget_name_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(SIZE_T), INTENT(IN) :: size ! Buffer size
@@ -2110,7 +2635,7 @@
!MS$ATTRIBUTES C,reference,alias:'_H5AGET_NAME_C'::h5aget_name_c
!DEC$ATTRIBUTES reference :: buf
INTEGER(HID_T), INTENT(IN) :: attr_id
- INTEGER, INTENT(IN) :: size
+ INTEGER(SIZE_T), INTENT(IN) :: size
CHARACTER(LEN=*), INTENT(OUT) :: buf
END FUNCTION h5aget_name_c
END INTERFACE
@@ -2145,6 +2670,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5aget_num_attrs_f(obj_id, attr_num, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aget_num_attrs_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
INTEGER, INTENT(OUT) :: attr_num ! Number of attributes of the
@@ -2193,6 +2722,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5adelete_f(obj_id, name, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5adelete_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id ! Object identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Attribute name
@@ -2242,6 +2775,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5aclose_f(attr_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5aclose_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code:
diff --git a/fortran/src/H5Df.c b/fortran/src/H5Df.c
index 76646fb..888ede5 100644
--- a/fortran/src/H5Df.c
+++ b/fortran/src/H5Df.c
@@ -112,14 +112,14 @@ nh5dopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dset_id)
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf)
+nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, int_f *dims)
{
int ret_value = -1;
/*
* Call h5dwrite_c function.
*/
- ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf));
+ ret_value = nh5dwrite_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
return ret_value;
}
@@ -139,7 +139,7 @@ nh5dwritec_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf)
+nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -187,7 +187,7 @@ nh5dwrite_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *n)
+nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -197,7 +197,8 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
hid_t c_file_space_id;
hid_t c_xfer_prp;
hobj_ref_t *buf_c;
- int i;
+ int i, n;
+ n = (int)*dims;
/*
* Define transfer property
@@ -210,9 +211,9 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
/*
* Allocate temporary buffer and copy references from Fortran.
*/
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(*n));
+ buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(n));
if ( buf_c != NULL ) {
- for (i = 0; i < *n; i++) {
+ for (i = 0; i < n; i++) {
HDmemcpy(buf_c[i].oid, buf, H5R_OBJ_REF_BUF_SIZE);
buf = buf + REF_OBJ_BUF_LEN_F;
}
@@ -249,7 +250,7 @@ nh5dwrite_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *n)
+nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -259,8 +260,9 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
hid_t c_file_space_id;
hid_t c_xfer_prp;
hdset_reg_ref_t *buf_c;
- int i;
+ int i, n;
+ n = (int)*dims;
/*
* Define transfer property
*/
@@ -272,9 +274,9 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
/*
* Allocate temporary buffer and copy references from Fortran.
*/
- buf_c = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t)*(*n));
+ buf_c = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t)*(n));
if ( buf_c != NULL ) {
- for (i = 0; i < *n; i++) {
+ for (i = 0; i < n; i++) {
HDmemcpy(buf_c[i].heapid, buf, H5R_DSET_REG_REF_BUF_SIZE);
buf = buf + REF_REG_BUF_LEN_F;
}
@@ -312,14 +314,14 @@ nh5dwrite_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf)
+nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, int_f *dims)
{
int ret_value = -1;
/*
* Call h5dread_c function.
*/
- ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf));
+ ret_value = nh5dread_c(dset_id, mem_type_id, mem_space_id, file_space_id, xfer_prp, _fcdtocp(buf), dims);
return ret_value;
}
@@ -339,7 +341,7 @@ nh5dreadc_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf)
+nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -387,7 +389,7 @@ nh5dread_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, int_f *n)
+nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -397,8 +399,8 @@ nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
hid_t c_file_space_id;
hid_t c_xfer_prp;
hobj_ref_t *buf_c;
- int i;
-
+ int i, n;
+ n = (int)*dims;
/*
* Define transfer property
*/
@@ -410,7 +412,7 @@ nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
/*
* Allocate temporary buffer.
*/
- buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(*n));
+ buf_c = (hobj_ref_t*)HDmalloc(sizeof(hobj_ref_t)*(n));
if ( buf_c != NULL ) {
/*
* Call H5Dread function.
@@ -421,7 +423,7 @@ nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
c_file_space_id = (hid_t)*file_space_id;
ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
if (ret >=0) {
- for (i = 0; i < *n; i++) {
+ for (i = 0; i < n; i++) {
HDmemcpy(buf, buf_c[i].oid, H5R_OBJ_REF_BUF_SIZE);
buf = buf + REF_OBJ_BUF_LEN_F;
}
@@ -449,7 +451,7 @@ nh5dread_ref_obj_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
* Modifications:
*---------------------------------------------------------------------------*/
int_f
-nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, int_f *n)
+nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f * buf, int_f *dims)
{
int ret_value = -1;
herr_t ret;
@@ -459,8 +461,8 @@ nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
hid_t c_file_space_id;
hid_t c_xfer_prp;
hdset_reg_ref_t *buf_c;
- int i;
-
+ int i, n;
+ n = (int)*dims;
/*
* Define transfer property
*/
@@ -472,7 +474,7 @@ nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
/*
* Allocate temporary buffer.
*/
- buf_c = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t)*(*n));
+ buf_c = (hdset_reg_ref_t *)HDmalloc(sizeof(hdset_reg_ref_t)*(n));
if ( buf_c != NULL ) {
/*
* Call H5Dread function.
@@ -483,7 +485,7 @@ nh5dread_ref_reg_c (hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_i
c_file_space_id = (hid_t)*file_space_id;
ret = H5Dread(c_dset_id, c_mem_type_id, c_mem_space_id, c_file_space_id, c_xfer_prp, buf_c);
if (ret >=0) {
- for (i = 0; i < *n; i++) {
+ for (i = 0; i < n; i++) {
HDmemcpy(buf, buf_c[i].heapid, H5R_DSET_REG_REF_BUF_SIZE);
buf = buf + REF_REG_BUF_LEN_F;
}
diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90
index 8f8c424..b256705 100644
--- a/fortran/src/H5Dff.f90
+++ b/fortran/src/H5Dff.f90
@@ -118,6 +118,10 @@
SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
hdferr, creation_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dcreate_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
@@ -184,6 +188,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dopen_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset
@@ -236,6 +244,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5dclose_f(dset_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dclose_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
@@ -267,9 +279,8 @@
! dset_id - dataset identifier
! mem_type_id - memory type identifier
! buf - data buffer to write
-! n - size of the data buffer
-! NOTE: This parameter is used only for writing
-! object and dataset region references.
+! dims - 1-dim array of size 7; dims(k) has the size
+! - of k-th dimension of the buf array
! Outputs:
! hdferr: - error code
! Success: 0
@@ -285,6 +296,11 @@
! Modifications: Explicit Fortran interfaces were added for
! called C functions (it is needed for Windows
! port). February 28, 2001
+!
+! dims parameter was added to make code portable;
+! n parameter was replaced with dims parameter in
+! the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
+! functions. April 2, 2001
!
! Comment: This function is overloaded to write INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
@@ -293,14 +309,18 @@
! types.
!----------------------------------------------------------------------
- SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, n, hdferr, &
+ SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_reference_obj
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN) :: n ! size of the bufffer buf
- TYPE(hobj_ref_t_f), DIMENSION(n), INTENT(IN) :: buf ! Data buffer
+ INTEGER, DIMENSION(7), INTENT(IN) :: dims ! size of the bufffer buf
+ TYPE(hobj_ref_t_f), DIMENSION(dims(1)), INTENT(IN) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -321,7 +341,7 @@
INTERFACE
INTEGER FUNCTION h5dwrite_ref_obj_c(dset_id, mem_type_id,&
mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REF_OBJ_C'::h5dwrite_ref_obj_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -329,8 +349,8 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: n
+ INTEGER, DIMENSION(*) :: ref_buf
+ INTEGER, DIMENSION(7) :: dims
END FUNCTION h5dwrite_ref_obj_c
END INTERFACE
@@ -342,31 +362,35 @@
if (present(mem_space_id)) mem_space_id_default = mem_space_id
if (present(file_space_id)) file_space_id_default = file_space_id
- allocate(ref_buf(REF_OBJ_BUF_LEN*n), stat=hdferr)
+ allocate(ref_buf(REF_OBJ_BUF_LEN*dims(1)), stat=hdferr)
if (hdferr .NE. 0 ) then
hdferr = -1
return
else
- do j = 1, n
+ do j = 1, dims(1)
do i = 1, REF_OBJ_BUF_LEN
ref_buf(REF_OBJ_BUF_LEN*(j-1) + i ) = buf(j)%ref(i)
enddo
enddo
endif
hdferr = h5dwrite_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims(1))
deallocate(ref_buf)
END SUBROUTINE h5dwrite_reference_obj
- SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, n, hdferr, &
+ SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_reference_dsetreg
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(hdset_reg_ref_t_f), DIMENSION(:), INTENT(IN) :: buf ! Data buffer
- INTEGER, INTENT(IN) :: n ! size of the bufffer buf
+ INTEGER, DIMENSION(7), INTENT(IN) :: dims ! size of the bufffer buf
+ TYPE(hdset_reg_ref_t_f), DIMENSION(dims(1)), INTENT(IN) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -387,7 +411,7 @@
INTERFACE
INTEGER FUNCTION h5dwrite_ref_reg_c(dset_id, mem_type_id,&
mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REF_REG_C'::h5dwrite_ref_reg_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -395,8 +419,8 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: n
+ INTEGER, DIMENSION(*) :: ref_buf
+ INTEGER, DIMENSION(7) :: dims
END FUNCTION h5dwrite_ref_reg_c
END INTERFACE
@@ -409,31 +433,36 @@
if (present(mem_space_id)) mem_space_id_default = mem_space_id
if (present(file_space_id)) file_space_id_default = file_space_id
- allocate(ref_buf(REF_REG_BUF_LEN*n), stat=hdferr)
+ allocate(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
if (hdferr .NE. 0 ) then
hdferr = -1
return
else
- do j = 1, n
+ do j = 1, dims(1)
do i = 1, REF_REG_BUF_LEN
ref_buf(REF_REG_BUF_LEN*(j-1) + i) = buf(j)%ref(i)
enddo
enddo
endif
hdferr = h5dwrite_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
deallocate(ref_buf)
END SUBROUTINE h5dwrite_reference_dsetreg
- SUBROUTINE h5dwrite_integer_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
INTEGER, INTENT(IN) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -453,7 +482,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -461,6 +490,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
INTEGER, INTENT(IN) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -475,17 +505,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_integer_scalar
- SUBROUTINE h5dwrite_integer_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -505,7 +541,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -513,7 +549,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -527,17 +565,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_integer_1
- SUBROUTINE h5dwrite_integer_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -557,7 +601,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -565,7 +609,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -580,17 +626,23 @@
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dwrite_integer_2
- SUBROUTINE h5dwrite_integer_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -610,7 +662,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -618,7 +670,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -633,17 +687,23 @@
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dwrite_integer_3
- SUBROUTINE h5dwrite_integer_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -663,7 +723,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -671,7 +731,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -685,17 +747,23 @@
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dwrite_integer_4
- SUBROUTINE h5dwrite_integer_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -715,7 +783,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -723,7 +791,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -739,17 +809,23 @@
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dwrite_integer_5
- SUBROUTINE h5dwrite_integer_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -769,7 +845,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -777,7 +853,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -792,17 +870,23 @@
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dwrite_integer_6
- SUBROUTINE h5dwrite_integer_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_integer_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -822,7 +906,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -830,7 +914,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -844,17 +930,22 @@
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dwrite_integer_7
- SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
CHARACTER(LEN=*), INTENT(IN) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -875,7 +966,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -884,6 +975,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
CHARACTER(LEN=*), INTENT(IN) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -898,18 +990,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_scalar
- SUBROUTINE h5dwrite_char_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(*) :: buf ! Data buffer
- ! CHARACTER, INTENT(IN), DIMENSION(*) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -929,7 +1026,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -938,7 +1035,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(*) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -952,17 +1051,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_1
- SUBROUTINE h5dwrite_char_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -982,7 +1087,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -991,7 +1096,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -1005,17 +1112,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_2
- SUBROUTINE h5dwrite_char_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1035,7 +1148,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -1044,7 +1157,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -1058,17 +1173,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_3
- SUBROUTINE h5dwrite_char_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1088,7 +1209,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -1097,7 +1218,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -1111,17 +1234,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_4
- SUBROUTINE h5dwrite_char_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1141,7 +1270,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -1150,7 +1279,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -1164,17 +1295,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_5
- SUBROUTINE h5dwrite_char_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1194,7 +1331,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -1203,7 +1340,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -1217,17 +1356,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_6
- SUBROUTINE h5dwrite_char_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_char_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1247,7 +1392,7 @@
INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
!DEC$ATTRIBUTES reference :: buf
@@ -1256,7 +1401,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dwritec_c
END INTERFACE
@@ -1269,16 +1416,21 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwritec_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_char_7
- SUBROUTINE h5dwrite_real_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
REAL, INTENT(IN) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -1298,7 +1450,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1306,6 +1458,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
REAL, INTENT(IN) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1319,17 +1472,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_scalar
- SUBROUTINE h5dwrite_real_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1349,7 +1508,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1357,7 +1516,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1371,17 +1532,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_1
- SUBROUTINE h5dwrite_real_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1401,7 +1568,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1409,7 +1576,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1423,17 +1592,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_2
- SUBROUTINE h5dwrite_real_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1452,7 +1627,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1460,7 +1635,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1474,17 +1651,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_3
- SUBROUTINE h5dwrite_real_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1503,7 +1686,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1511,7 +1694,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1525,17 +1710,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_4
- SUBROUTINE h5dwrite_real_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1554,7 +1745,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1562,7 +1753,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1576,17 +1769,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_5
- SUBROUTINE h5dwrite_real_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1605,7 +1804,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1613,7 +1812,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1627,17 +1828,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_6
- SUBROUTINE h5dwrite_real_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_real_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1656,7 +1863,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1664,7 +1871,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1677,17 +1886,22 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_real_7
- SUBROUTINE h5dwrite_double_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
DOUBLE PRECISION, INTENT(IN) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -1708,7 +1922,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1716,6 +1930,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
DOUBLE PRECISION, INTENT(IN) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1730,17 +1945,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_scalar
- SUBROUTINE h5dwrite_double_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1760,7 +1981,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1768,7 +1989,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1782,17 +2005,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_1
- SUBROUTINE h5dwrite_double_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1812,7 +2041,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1820,7 +2049,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1834,17 +2065,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_2
- SUBROUTINE h5dwrite_double_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1864,7 +2101,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1872,7 +2109,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1886,17 +2125,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_3
- SUBROUTINE h5dwrite_double_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1916,7 +2161,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1924,7 +2169,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1938,17 +2185,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_4
- SUBROUTINE h5dwrite_double_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -1968,7 +2221,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -1976,7 +2229,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -1990,17 +2245,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_5
- SUBROUTINE h5dwrite_double_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -2021,7 +2282,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2029,7 +2290,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -2043,17 +2306,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_6
- SUBROUTINE h5dwrite_double_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dwrite_double_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dwrite_double_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -2074,7 +2343,7 @@
INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2082,7 +2351,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(IN), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dwrite_c
END INTERFACE
@@ -2095,7 +2366,7 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dwrite_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dwrite_double_7
@@ -2109,9 +2380,8 @@
! Inputs:
! dset_id - dataset identifier
! mem_type_id - memory type identifier
-! n - size of the buffer to read data in
-! NOTE: This parameter is used only for reading
-! object and dataset region references.
+! dims - 1-dim array of size 7; dims(k) has the size
+! - of k-th dimension of the buf array
! Outputs:
! buf - buffer to read data in
! hdferr: - error code
@@ -2129,20 +2399,30 @@
! called C functions (it is needed for Windows
! port). February 28, 2001
!
+! dims parameter was added to make code portable;
+! n parameter was replaced with dims parameter in
+! the h5dwrite_reference_obj and h5dwrite_reference_dsetreg
+! functions. April 2, 2001
+!
! Comment: This function is overloaded to read INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
! up to 7 dimensions, and one dimensional buffers
! of the TYPE(hobj_ref_t_f) and TYPE(hdset_reg_ref_t_f)
! types.
!----------------------------------------------------------------------
- SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, n, hdferr, &
+ SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_reference_obj
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(IN) :: n ! Size of the budffer buf
- TYPE(hobj_ref_t_f), DIMENSION(N), INTENT(INOUT) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ TYPE(hobj_ref_t_f), INTENT(INOUT) , &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2163,7 +2443,7 @@
INTERFACE
INTEGER FUNCTION h5dread_ref_obj_c(dset_id, mem_type_id,&
mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REF_OBJ_C'::h5dread_ref_obj_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2171,12 +2451,12 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: n
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, DIMENSION(*) :: ref_buf
END FUNCTION h5dread_ref_obj_c
END INTERFACE
- allocate(ref_buf(REF_OBJ_BUF_LEN*n), stat=hdferr)
+ allocate(ref_buf(REF_OBJ_BUF_LEN*dims(1)), stat=hdferr)
if (hdferr .NE. 0) then
hdferr = -1
return
@@ -2191,8 +2471,8 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_ref_obj_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
- do j = 1, n
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
+ do j = 1, dims(1)
do i = 1, REF_OBJ_BUF_LEN
buf(j)%ref(i) = ref_buf(REF_OBJ_BUF_LEN*(j-1) + i)
enddo
@@ -2200,14 +2480,19 @@
deallocate(ref_buf)
END SUBROUTINE h5dread_reference_obj
- SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, n, hdferr, &
+ SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_reference_dsetreg
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(hdset_reg_ref_t_f), DIMENSION(:), INTENT(INOUT) :: buf ! Data buffer
- INTEGER, INTENT(IN) :: n ! Size of the buffer buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ TYPE(hdset_reg_ref_t_f), INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2228,7 +2513,7 @@
INTERFACE
INTEGER FUNCTION h5dread_ref_reg_c(dset_id, mem_type_id,&
mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REF_REG_C'::h5dread_ref_reg_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2236,12 +2521,12 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
- INTEGER :: n
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, DIMENSION(*) :: ref_buf
END FUNCTION h5dread_ref_reg_c
END INTERFACE
- allocate(ref_buf(REF_REG_BUF_LEN*n), stat=hdferr)
+ allocate(ref_buf(REF_REG_BUF_LEN*dims(1)), stat=hdferr)
if (hdferr .NE. 0) then
hdferr = -1
return
@@ -2256,9 +2541,9 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_ref_reg_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, ref_buf, n)
+ file_space_id_default, xfer_prp_default, ref_buf, dims)
- do j = 1, n
+ do j = 1, dims(1)
do i = 1, REF_REG_BUF_LEN
buf(j)%ref(i) = ref_buf(REF_REG_BUF_LEN*(j-1) + i)
enddo
@@ -2267,12 +2552,17 @@
END SUBROUTINE h5dread_reference_dsetreg
- SUBROUTINE h5dread_integer_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
INTEGER, INTENT(INOUT) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -2293,7 +2583,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2301,6 +2591,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
INTEGER, INTENT(OUT) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2315,17 +2606,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_integer_scalar
- SUBROUTINE h5dread_integer_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2345,7 +2642,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2353,7 +2650,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2367,17 +2666,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_integer_1
- SUBROUTINE h5dread_integer_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2397,7 +2702,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2405,7 +2710,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2420,17 +2727,23 @@
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dread_integer_2
- SUBROUTINE h5dread_integer_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2450,7 +2763,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2458,7 +2771,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2473,17 +2788,23 @@
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dread_integer_3
- SUBROUTINE h5dread_integer_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2503,7 +2824,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2511,7 +2832,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(OUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2526,17 +2849,23 @@
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dread_integer_4
- SUBROUTINE h5dread_integer_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2556,7 +2885,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2564,7 +2893,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2579,17 +2910,23 @@
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dread_integer_5
- SUBROUTINE h5dread_integer_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2609,7 +2946,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2617,7 +2954,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2632,17 +2971,23 @@
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dread_integer_6
- SUBROUTINE h5dread_integer_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_integer_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- INTEGER, INTENT(INOUT), DIMENSION(:,:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2662,7 +3007,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -2670,7 +3015,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- INTEGER, INTENT(OUT), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ INTEGER, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -2684,16 +3031,21 @@
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, &
- buf)
+ buf, dims)
END SUBROUTINE h5dread_integer_7
- SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
CHARACTER(LEN=*), INTENT(INOUT) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -2714,7 +3066,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -2723,6 +3075,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
CHARACTER(LEN=*), INTENT(OUT) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -2737,17 +3090,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_scalar
- SUBROUTINE h5dread_char_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(*) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2767,7 +3126,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -2776,7 +3135,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(*) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -2790,17 +3151,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_1
- SUBROUTINE h5dread_char_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2820,7 +3187,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -2829,7 +3196,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -2843,17 +3212,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_2
- SUBROUTINE h5dread_char_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2873,7 +3248,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -2882,7 +3257,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -2896,17 +3273,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_3
- SUBROUTINE h5dread_char_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2926,7 +3309,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -2935,7 +3318,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -2949,17 +3334,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_4
- SUBROUTINE h5dread_char_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -2979,7 +3370,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -2988,7 +3379,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -3002,17 +3395,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_5
- SUBROUTINE h5dread_char_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3032,7 +3431,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -3041,7 +3440,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -3055,17 +3456,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_6
- SUBROUTINE h5dread_char_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_char_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- CHARACTER(LEN=*), INTENT(INOUT), DIMENSION(:,:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3085,7 +3492,7 @@
INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
!DEC$ATTRIBUTES reference :: buf
@@ -3094,7 +3501,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- CHARACTER(LEN=*), INTENT(OUT), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ CHARACTER(LEN=*), INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dreadc_c
END INTERFACE
@@ -3107,16 +3516,21 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dreadc_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_char_7
- SUBROUTINE h5dread_real_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
REAL, INTENT(INOUT) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -3136,7 +3550,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3144,6 +3558,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
REAL, INTENT(OUT) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3158,17 +3573,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_scalar
- SUBROUTINE h5dread_real_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3187,7 +3608,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3195,7 +3616,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3209,17 +3632,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_1
- SUBROUTINE h5dread_real_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3238,7 +3667,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3246,7 +3675,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3260,17 +3691,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_2
- SUBROUTINE h5dread_real_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3289,7 +3726,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3297,7 +3734,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3311,17 +3750,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_3
- SUBROUTINE h5dread_real_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3340,7 +3785,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3348,7 +3793,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3362,17 +3809,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_4
- SUBROUTINE h5dread_real_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3391,7 +3844,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3399,7 +3852,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3413,17 +3868,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_5
- SUBROUTINE h5dread_real_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3442,7 +3903,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3450,7 +3911,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3464,17 +3927,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_6
- SUBROUTINE h5dread_real_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_real_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- REAL, INTENT(INOUT), DIMENSION(:,:,:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3494,7 +3963,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3502,7 +3971,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- REAL, INTENT(OUT), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ REAL, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3515,16 +3986,21 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_real_7
- SUBROUTINE h5dread_double_scalar(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_scalar
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
DOUBLE PRECISION, INTENT(INOUT) :: buf ! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -3545,7 +4021,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3553,6 +4029,7 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
DOUBLE PRECISION, INTENT(OUT) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3567,17 +4044,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_scalar
- SUBROUTINE h5dread_double_1(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_1
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3597,7 +4080,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3605,7 +4088,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3619,17 +4104,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_1
- SUBROUTINE h5dread_double_2(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_2
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3649,7 +4140,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3657,7 +4148,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3671,17 +4164,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_2
- SUBROUTINE h5dread_double_3(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_3
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3701,7 +4200,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3709,7 +4208,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3723,17 +4224,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_3
- SUBROUTINE h5dread_double_4(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_4
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -3754,7 +4261,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3762,7 +4269,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3776,17 +4285,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_4
- SUBROUTINE h5dread_double_5(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_5
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:,:,:,:,:) :: buf ! Data buffer
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
! Memory dataspace identfier
@@ -3806,7 +4321,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3814,7 +4329,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3828,17 +4345,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_5
- SUBROUTINE h5dread_double_6(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_6
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -3859,7 +4382,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3867,7 +4390,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3881,17 +4406,23 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_6
- SUBROUTINE h5dread_double_7(dset_id, mem_type_id, buf, hdferr, &
+ SUBROUTINE h5dread_double_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dread_double_7
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- DOUBLE PRECISION, INTENT(INOUT), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
! Data buffer
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
@@ -3912,7 +4443,7 @@
INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
mem_space_id_default, &
file_space_id_default, &
- xfer_prp_default, buf)
+ xfer_prp_default, buf, dims)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
INTEGER(HID_T), INTENT(IN) :: dset_id
@@ -3920,7 +4451,9 @@
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
INTEGER(HID_T) :: xfer_prp_default
- DOUBLE PRECISION, INTENT(OUT), DIMENSION(:,:,:,:,:,:,:) :: buf
+ INTEGER, INTENT(IN), DIMENSION(7) :: dims
+ DOUBLE PRECISION, INTENT(INOUT), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf
END FUNCTION h5dread_c
END INTERFACE
@@ -3933,7 +4466,7 @@
if (present(file_space_id)) file_space_id_default = file_space_id
hdferr = h5dread_c(dset_id, mem_type_id, mem_space_id_default, &
- file_space_id_default, xfer_prp_default, buf)
+ file_space_id_default, xfer_prp_default, buf, dims)
END SUBROUTINE h5dread_double_7
@@ -3963,6 +4496,10 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dget_space_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
@@ -4010,6 +4547,10 @@
!----------------------------------------------------------------------
SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dget_type_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
@@ -4057,6 +4598,10 @@
SUBROUTINE h5dextend_f(dataset_id, size, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dextend_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
@@ -4108,6 +4653,10 @@
SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr)
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5dget_create_plist_f
+!DEC$endif
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: plist_id ! Dataset creation
diff --git a/fortran/src/H5Eff.f90 b/fortran/src/H5Eff.f90
index a8393dd..0c7b513 100644
--- a/fortran/src/H5Eff.f90
+++ b/fortran/src/H5Eff.f90
@@ -3,57 +3,278 @@
!
MODULE H5E
- USE H5FORTRAN_TYPES
- USE H5FORTRAN_FLAGS
+ USE H5GLOBAL
CONTAINS
+!----------------------------------------------------------------------
+! Name: h5eclear_f
+!
+! Purpose: Clears the error stack for the current thread.
+!
+! Inputs:
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+!
+!
+!
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). April 6, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5eclear_f(hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5eclear_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5eclear_c
+! INTEGER, EXTERNAL :: h5eclear_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5eclear_c()
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5ECLEAR_C'::h5eclear_c
+ END FUNCTION h5eclear_c
+ END INTERFACE
hdferr = h5eclear_c()
END SUBROUTINE h5eclear_f
+!----------------------------------------------------------------------
+! Name: h5h5eprint_f
+!
+! Purpose: Prints the error stack in a default manner.
+!
+! Inputs:
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! name - name of the file that
+! contains print output
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). April 6, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5eprint_f(hdferr, name)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5eprint_f
+!DEC$endif
+!
CHARACTER(LEN=*), OPTIONAL, INTENT(IN) :: name ! File name
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5eprint_c1, h5eprint_c2
-
+! INTEGER, EXTERNAL :: h5eprint_c1, h5eprint_c2
INTEGER :: namelen
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5eprint_c1(name, namelen)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5EPRINT_C1'::h5eprint_c1
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER :: namelen
+ CHARACTER(LEN=*),INTENT(IN) :: name
+ END FUNCTION h5eprint_c1
+ END INTERFACE
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5eprint_c2()
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5EPRINT_C2'::h5eprint_c2
+ END FUNCTION h5eprint_c2
+ END INTERFACE
namelen = LEN(NAME)
if (present(name)) hdferr = h5eprint_c1(name, namelen)
hdferr = h5eprint_c2()
END SUBROUTINE h5eprint_f
+!----------------------------------------------------------------------
+! Name: h5eget_major_f
+!
+! Purpose: Returns a character string describing an error specified
+! by a major error number.
+!
+! Inputs:
+! error_no - mojor error number
+! Outputs:
+! name - character string describing the error
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). April 6, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5eget_major_f(error_no, name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5eget_major_f
+!DEC$endif
+!
INTEGER, INTENT(IN) :: error_no !Major error number
- CHARACTER(LEN=*), INTENT(OUT) :: name ! File name
+ CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing
+ ! the error.
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5eget_major_c
+
+! INTEGER, EXTERNAL :: h5eget_major_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5eget_major_c(error_no, name)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5EGET_MAJOR_C'::h5eget_major_c
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER :: error_no
+ CHARACTER(LEN=*) :: name
+ END FUNCTION h5eget_major_c
+ END INTERFACE
hdferr = h5eget_major_c(error_no, name)
END SUBROUTINE h5eget_major_f
+!----------------------------------------------------------------------
+! Name: h5eget_minor_f
+!
+! Purpose: Returns a character string describing an error specified
+! by a minor error number.
+!
+! Inputs:
+! error_no - minor error number
+! Outputs:
+! name - character string describing the error
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+!
+!
+!
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). April 6, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5eget_minor_f(error_no, name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5eget_minor_f
+!DEC$endif
+!
INTEGER, INTENT(IN) :: error_no !Major error number
- CHARACTER(LEN=*), INTENT(OUT) :: name ! File name
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5eget_minor_c
+ CHARACTER(LEN=*), INTENT(OUT) :: name ! Character string describing
+ ! the error
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+! INTEGER, EXTERNAL :: h5eget_minor_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5eget_minor_c(error_no, name)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5EGET_MINOR_C'::h5eget_minor_c
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER :: error_no
+ CHARACTER(LEN=*) :: name
+ END FUNCTION h5eget_minor_c
+ END INTERFACE
hdferr = h5eget_minor_c(error_no, name)
END SUBROUTINE h5eget_minor_f
+!----------------------------------------------------------------------
+! Name: h5eset_auto_f
+!
+! Purpose: Turns automatic error printing on or off
+!
+! Inputs:
+! printflag - flag to turn automatic error
+! - Possible values are:
+! - 1 (on), 0 (off)
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+!
+!
+!
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). April 6, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5eset_auto_f(printflag, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5eset_auto_f
+!DEC$endif
+!
INTEGER, INTENT(IN) :: printflag !flag to turn automatic error
!printing on or off
!possible values are:
!printon (1)
!printoff(0)
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5eset_auto_c
+
+! INTEGER, EXTERNAL :: h5eset_auto_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5eset_auto_c(printflag)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5ESET_AUTO_C'::h5eset_auto_c
+ INTEGER :: printflag
+ END FUNCTION h5eset_auto_c
+ END INTERFACE
hdferr = h5eset_auto_c(printflag)
END SUBROUTINE h5eset_auto_f
diff --git a/fortran/src/H5Fff.f90 b/fortran/src/H5Fff.f90
index afea23f..a8a24fa 100644
--- a/fortran/src/H5Fff.f90
+++ b/fortran/src/H5Fff.f90
@@ -36,6 +36,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fcreate_f(name, access_flags, file_id, hdferr, &
creation_prp, access_prp)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fcreate_f
+!DEC$endif
+!
IMPLICIT NONE
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file
@@ -112,6 +118,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5fflush_f(object_id, scope, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fflush_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: object_id !identifier for any object
@@ -177,6 +189,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fmount_f(loc_id, name, child_id, hdferr, access_prp)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fmount_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group
@@ -243,6 +261,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5funmount_f(loc_id, name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5funmount_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Identifier for file or group
@@ -300,6 +324,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fopen_f(name, access_flags, file_id, hdferr, &
access_prp)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fopen_f
+!DEC$endif
+!
IMPLICIT NONE
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file
@@ -364,6 +394,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5freopen_f(file_id, ret_file_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5freopen_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
@@ -413,6 +449,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fget_create_plist_f(file_id, prop_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fget_create_plist_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
@@ -463,6 +505,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fget_access_plist_f(file_id, access_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fget_access_plist_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
@@ -513,6 +561,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fis_hdf5_f(name, status, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fis_hdf5_f
+!DEC$endif
+!
IMPLICIT NONE
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the file
@@ -569,6 +623,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5fclose_f(file_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5fclose_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: file_id ! File identifier
diff --git a/fortran/src/H5Gff.f90 b/fortran/src/H5Gff.f90
index c4e83c2..1547d25 100644
--- a/fortran/src/H5Gff.f90
+++ b/fortran/src/H5Gff.f90
@@ -34,6 +34,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5gcreate_f(loc_id, name, grp_id, hdferr, size_hint)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gcreate_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -100,6 +106,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5gopen_f(loc_id, name, grp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gopen_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -153,6 +165,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5gclose_f(grp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gclose_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: grp_id ! Group identifier
@@ -204,6 +222,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5gget_obj_info_idx_f(loc_id, name, idx, &
obj_name, obj_type, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gget_obj_info_idx_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -271,6 +295,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5gn_members_f(loc_id, name, nmembers, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gn_members_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -335,6 +365,12 @@
SUBROUTINE h5glink_f(loc_id, link_type, current_name, &
new_name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5glink_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -405,6 +441,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5gunlink_f(loc_id, name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gunlink_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -459,6 +501,12 @@
SUBROUTINE h5gmove_f(loc_id, name, new_name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gmove_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -522,6 +570,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5gget_linkval_f(loc_id, name, size, buffer, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gget_linkval_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -583,6 +637,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5gset_comment_f(loc_id, name, comment, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gset_comment_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -644,6 +704,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5gget_comment_f(loc_id, name, size, buffer, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5gget_comment_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
diff --git a/fortran/src/H5Git.c b/fortran/src/H5Git.c
index da8bdd7..4ffd8c8 100644
--- a/fortran/src/H5Git.c
+++ b/fortran/src/H5Git.c
@@ -49,7 +49,7 @@ typedef struct retval {
*
*-------------------------------------------------------------------------
*/
-int
+int
H5Gn_members( hid_t loc_id, char *group_name )
{
int res;
@@ -100,7 +100,7 @@ H5Gn_members( hid_t loc_id, char *group_name )
*
*-------------------------------------------------------------------------
*/
-herr_t
+herr_t
H5Gget_obj_info_idx( hid_t loc_id, char *group_name, int idx, char **objname, int *type )
{
int res;
diff --git a/fortran/src/H5Iff.f90 b/fortran/src/H5Iff.f90
index 0db7100..cd25f28 100644
--- a/fortran/src/H5Iff.f90
+++ b/fortran/src/H5Iff.f90
@@ -38,6 +38,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5iget_type_f(obj_id, type, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5iget_type_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: obj_id !Object identifier
INTEGER, INTENT(OUT) :: type !type of an object.
diff --git a/fortran/src/H5Pff.f90 b/fortran/src/H5Pff.f90
index fa4fd91..98c9195 100644
--- a/fortran/src/H5Pff.f90
+++ b/fortran/src/H5Pff.f90
@@ -3,8 +3,7 @@
!
MODULE H5P
- USE H5FORTRAN_TYPES
- USE H5FORTRAN_FLAGS
+ USE H5GLOBAL
INTERFACE h5pset_fill_value_f
MODULE PROCEDURE h5pset_fill_value_integer
@@ -58,6 +57,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5pcreate_f(classtype, prp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pcreate_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER, INTENT(IN) :: classtype ! The type of the property list
! to be created. Possible values
@@ -114,6 +119,12 @@
SUBROUTINE h5pset_preserve_f(prp_id, flag, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_preserve_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: flag ! TRUE/FALSE flag to set the dataset
@@ -162,6 +173,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_preserve_f(prp_id, flag, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_preserve_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: flag ! TRUE/FALSE flag. Shows status of the dataset's
@@ -217,6 +234,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_class_f(prp_id, classtype, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_class_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: classtype ! The type of the property list
@@ -273,6 +296,12 @@
SUBROUTINE h5pcopy_f(prp_id, new_prp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pcopy_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(OUT) :: new_prp_id
@@ -322,6 +351,12 @@
SUBROUTINE h5pclose_f(prp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pclose_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -369,6 +404,12 @@
SUBROUTINE h5pset_chunk_f(prp_id, ndims, dims, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_chunk_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: ndims ! Number of chunk dimensions
@@ -422,6 +463,12 @@
SUBROUTINE h5pget_chunk_f(prp_id, ndims, dims, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_chunk_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: ndims ! Number of chunk dimensions to
@@ -476,6 +523,12 @@
SUBROUTINE h5pset_deflate_f(prp_id, level, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_deflate_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: level ! Compression level
@@ -527,6 +580,12 @@
SUBROUTINE h5pset_fill_value_integer(prp_id, type_id, fillvalue, &
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fill_value_integer
+!DEC$endif
+!
hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
@@ -555,6 +614,12 @@
SUBROUTINE h5pget_fill_value_integer(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_fill_value_integer
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -582,6 +647,12 @@
SUBROUTINE h5pset_fill_value_real(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fill_value_real
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -609,6 +680,12 @@
SUBROUTINE h5pget_fill_value_real(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_fill_value_real
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -636,6 +713,12 @@
SUBROUTINE h5pset_fill_value_double(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fill_value_double
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -663,6 +746,12 @@
SUBROUTINE h5pget_fill_value_double(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_fill_value_double
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -689,6 +778,12 @@
SUBROUTINE h5pset_fill_value_char(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fill_value_char
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -716,6 +811,12 @@
SUBROUTINE h5pget_fill_value_char(prp_id, type_id, fillvalue, &
hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_fill_value_char
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
@@ -772,6 +873,12 @@
SUBROUTINE h5pget_version_f(prp_id, boot, freelist, &
stab, shhdr, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_version_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
@@ -830,6 +937,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_userblock_f (prp_id, size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_userblock_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HSIZE_T), INTENT(IN) :: size !Size of the user-block in bytes
@@ -877,9 +990,15 @@
SUBROUTINE h5pget_userblock_f(prp_id, block_size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_userblock_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HSIZE_T), DIMENSION(:), INTENT(OUT) :: block_size !Size of the
+ INTEGER(HSIZE_T), INTENT(OUT) :: block_size !Size of the
!user-block in bytes
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -887,11 +1006,11 @@
! MS FORTRAN needs explicit interface for C functions called here.
!
INTERFACE
- INTEGER FUNCTION h5pget_userblock_c(prp_id, size)
+ INTEGER FUNCTION h5pget_userblock_c(prp_id, block_size)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5PGET_USERBLOCK_C'::h5pget_userblock_c
INTEGER(HID_T), INTENT(IN) :: prp_id
- INTEGER(HSIZE_T), INTENT(OUT) :: size
+ INTEGER(HSIZE_T), INTENT(OUT) :: block_size
END FUNCTION h5pget_userblock_c
END INTERFACE
hdferr = h5pget_userblock_c(prp_id, block_size)
@@ -925,6 +1044,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_sizes_f (prp_id, sizeof_addr, sizeof_size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_sizes_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(SIZE_T), INTENT(IN) :: sizeof_addr !Size of an object
@@ -978,11 +1103,17 @@
SUBROUTINE h5pget_sizes_f(prp_id, sizeof_addr, sizeof_size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_sizes_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(SIZE_T), DIMENSION(:), INTENT(OUT) :: sizeof_addr !Size of an object
+ INTEGER(SIZE_T), INTENT(OUT) :: sizeof_addr !Size of an object
!offset in bytes
- INTEGER(SIZE_T), DIMENSION(:), INTENT(OUT) :: sizeof_size !Size of an object
+ INTEGER(SIZE_T), INTENT(OUT) :: sizeof_size !Size of an object
!length in bytes
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1031,6 +1162,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_sym_k_f (prp_id, ik, lk, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_sym_k_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: ik ! Symbol table tree rank
@@ -1083,6 +1220,12 @@
SUBROUTINE h5pget_sym_k_f(prp_id, ik, lk, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_sym_k_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: ik !Symbol table tree rank
@@ -1132,6 +1275,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_istore_k_f (prp_id, ik, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_istore_k_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: ik ! 1/2 rank of chunked storage B-tree
@@ -1180,6 +1329,12 @@
SUBROUTINE h5pget_istore_k_f(prp_id, ik, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_istore_k_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: ik !1/2 rank of chunked storage B-tree
@@ -1227,6 +1382,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_driver_f(prp_id, driver, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_driver_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HID_T), INTENT(OUT) :: driver !low-level file driver identifier
@@ -1272,6 +1433,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_fapl_stdio_f (prp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fapl_stdio_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1314,6 +1481,12 @@
!----------------------------------------------------------------------
! SUBROUTINE h5pget_stdio_f (prp_id, io, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_stdio_f
+!DEC$endif
+!
! IMPLICIT NONE
! INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
! INTEGER, INTENT(OUT) :: io ! value indicates that the file
@@ -1349,6 +1522,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_fapl_sec2_f (prp_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fapl_sec2_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -1428,6 +1607,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_alignment_f(prp_id, threshold, alignment, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_alignment_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HSIZE_T), INTENT(IN) :: threshold ! Threshold value
@@ -1478,6 +1663,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_alignment_f(prp_id, threshold, alignment, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_alignment_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HSIZE_T), INTENT(OUT) :: threshold ! Threshold value
@@ -1528,6 +1719,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_fapl_core_f(prp_id, increment, backing_store, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fapl_core_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(SIZE_T), INTENT(IN) :: increment ! File block size in bytes.
@@ -1580,6 +1777,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_fapl_core_f(prp_id, increment, backing_store, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_fapl_core_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(SIZE_T), INTENT(OUT) :: increment ! File block size in bytes.
@@ -1632,6 +1835,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_fapl_family_f(prp_id, memb_size, memb_plist , hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fapl_family_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HSIZE_T), INTENT(IN) :: memb_size ! Logical size, in bytes,
@@ -1686,6 +1895,12 @@
SUBROUTINE h5pget_fapl_family_f(prp_id, memb_size, memb_plist , hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_fapl_family_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER(HSIZE_T), INTENT(OUT) :: memb_size ! Logical size, in bytes,
@@ -1743,6 +1958,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_cache_f(prp_id, mdc_nelmts,rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_cache_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: mdc_nelmts !Number of elements (objects)
@@ -1804,6 +2025,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_cache_f(prp_id, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_cache_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: mdc_nelmts !Number of elements (objects)
@@ -1823,7 +2050,7 @@
INTEGER FUNCTION h5pget_cache_c(prp_id,mdc_nelmts,rdcc_nelmts,rdcc_nbytes,rdcc_w0)
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5PGET_CACHE_C'::h5pget_cache_c
- INTEGER(HID_T), INTENT(OUT) :: prp_id
+ INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: mdc_nelmts
INTEGER, INTENT(OUT) :: rdcc_nelmts
INTEGER(SIZE_T), INTENT(OUT) :: rdcc_nbytes
@@ -1865,6 +2092,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_fapl_split_f(prp_id, meta_ext, meta_plist, raw_ext, raw_plist, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_fapl_split_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
CHARACTER(LEN=*), INTENT(IN) :: meta_ext !Name of the extension for
@@ -1976,6 +2209,12 @@
SUBROUTINE h5pset_gc_references_f (prp_id, gc_reference, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_gc_references_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: gc_reference !the flag for garbage collecting
@@ -2024,6 +2263,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_gc_references_f (prp_id, gc_reference, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_gc_references_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: gc_reference !the flag for garbage collecting
@@ -2076,6 +2321,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_layout_f (prp_id, layout, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_layout_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: layout !Type of storage layout for raw data
@@ -2130,6 +2381,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_layout_f (prp_id, layout, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_layout_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: layout !Type of storage layout for raw data
@@ -2185,6 +2442,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_filter_f(prp_id, filter, flags, cd_nelmts, cd_values, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_filter_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: filter !Filter to be added to the pipeline.
@@ -2240,6 +2503,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_nfilters_f (prp_id, nfilters, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_nfilters_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: nfilters !the number of filters in the pipeline
@@ -2294,6 +2563,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_filter_f(prp_id, filter_number, flags, cd_nelmts, cd_values, namelen, name, filter_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_filter_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: filter_number !Sequence number within the filter
@@ -2364,6 +2639,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_external_f(prp_id, name, offset,bytes, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_external_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
CHARACTER(LEN=*), INTENT(IN) :: name !Name of an external file
@@ -2423,6 +2704,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_external_count_f (prp_id, count, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_external_count_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: count !number of external files for the
@@ -2434,7 +2721,7 @@
INTERFACE
INTEGER FUNCTION h5pget_external_count_c(prp_id, count)
USE H5GLOBAL
- !MS$ATTRIBUTES C,reference,alias:'_H5Pget_external_count_C'::h5pget_external_count_c
+ !MS$ATTRIBUTES C,reference,alias:'_H5PGET_EXTERNAL_COUNT_C'::h5pget_external_count_c
INTEGER(HID_T), INTENT(IN) :: prp_id
INTEGER, INTENT(OUT) :: count
END FUNCTION h5pget_external_count_c
@@ -2477,6 +2764,12 @@
SUBROUTINE h5pget_external_f(prp_id, idx, name_size, name, offset,bytes, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_external_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: idx !External file index.
@@ -2538,6 +2831,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_hyper_cache_f(prp_id, cache, limit, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_hyper_cache_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(IN) :: cache !
@@ -2591,6 +2890,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_hyper_cache_f(prp_id, cache, limit, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_hyper_cache_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
INTEGER, INTENT(OUT) :: cache !
@@ -2645,6 +2950,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pset_btree_ratios_f(prp_id, left, middle, right, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pset_btree_ratios_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
REAL, INTENT(IN) :: left !The B-tree split ratio for left-most nodes.
@@ -2700,6 +3011,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5pget_btree_ratios_f(prp_id, left, middle, right, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5pget_btree_ratios_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
REAL, INTENT(OUT) :: left !The B-tree split ratio for left-most nodes.
diff --git a/fortran/src/H5Rff.f90 b/fortran/src/H5Rff.f90
index 05e4139..5480281 100644
--- a/fortran/src/H5Rff.f90
+++ b/fortran/src/H5Rff.f90
@@ -74,6 +74,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5rcreate_object_f(loc_id, name, ref, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5rcreate_object_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the object at location specified
@@ -136,6 +142,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5rcreate_region_f(loc_id, name, space_id, ref, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5rcreate_region_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! Location identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the dataset at location specified
@@ -201,6 +213,12 @@
SUBROUTINE h5rdereference_object_f(dset_id, ref, obj_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5rdereference_object_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference
@@ -259,6 +277,12 @@
SUBROUTINE h5rdereference_region_f(dset_id, ref, obj_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5rdereference_region_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Object reference
@@ -319,6 +343,12 @@
SUBROUTINE h5rget_region_region_f(dset_id, ref, space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5rget_region_region_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
TYPE(hdset_reg_ref_t_f), INTENT(IN) :: ref ! Dataset region reference
@@ -381,6 +411,12 @@
SUBROUTINE h5rget_object_type_obj_f(dset_id, ref, obj_type, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5rget_object_type_obj_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
TYPE(hobj_ref_t_f), INTENT(IN) :: ref ! Object reference
diff --git a/fortran/src/H5Sff.f90 b/fortran/src/H5Sff.f90
index 881f5da..4ff5bb2 100644
--- a/fortran/src/H5Sff.f90
+++ b/fortran/src/H5Sff.f90
@@ -33,6 +33,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5screate_simple_f(rank, dims, space_id, hdferr, maxdims)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5screate_simple_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER, INTENT(IN) :: rank ! Number of dataspace dimensions
@@ -100,6 +106,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sclose_f(space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sclose_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -146,6 +158,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5screate_f(classtype, space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5screate_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER, INTENT(IN) :: classtype ! The type of the dataspace
@@ -198,6 +216,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5scopy_f(space_id, new_space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5scopy_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -247,6 +271,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5sget_select_hyper_nblocks_f(space_id, num_blocks, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_select_hyper_nblocks_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -301,6 +331,12 @@
SUBROUTINE h5sget_select_hyper_blocklist_f(space_id, startblock, &
num_blocks, buf, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_select_hyper_blocklist_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -325,7 +361,7 @@
!MS$ATTRIBUTES C,reference,alias:'_H5SGET_SELECT_HYPER_BLOCKLIST_C'::h5sget_select_hyper_blocklist_c
INTEGER(HID_T), INTENT(IN) :: space_id
INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: startblock
- INTEGER(HSSIZE_T), INTENT(OUT) :: num_blocks
+ INTEGER(HSSIZE_T), INTENT(IN) :: num_blocks
INTEGER(HSIZE_T), DIMENSION(*), INTENT(OUT) :: buf
END FUNCTION h5sget_select_hyper_blocklist_c
END INTERFACE
@@ -364,6 +400,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sget_select_bounds_f(space_id, start, end, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_select_bounds_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -418,6 +460,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5sget_select_elem_npoints_f(space_id, num_points, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_select_elem_npoints_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -472,6 +520,12 @@
SUBROUTINE h5sget_select_elem_pointlist_f(space_id, startpoint, &
num_points, buf, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_select_elem_pointlist_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
INTEGER(HSIZE_T),DIMENSION(*), INTENT(IN) :: startpoint
@@ -534,6 +588,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sselect_elements_f(space_id, operator, rank, &
num_elements, coord, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sselect_elements_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
@@ -561,7 +621,7 @@
!MS$ATTRIBUTES C,reference,alias:'_H5SSELECT_ELEMENTS_C'::h5sselect_elements_c
INTEGER(HID_T), INTENT(IN) :: space_id
INTEGER, INTENT(IN) :: operator
- INTEGER, INTENT(IN) :: num_elements
+ INTEGER(SIZE_T), INTENT(IN) :: num_elements
INTEGER(HSSIZE_T),DIMENSION(*) :: c_c_coord
END FUNCTION h5sselect_elements_c
END INTERFACE
@@ -606,6 +666,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sselect_all_f(space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sselect_all_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -651,6 +717,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sselect_none_f(space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sselect_none_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -697,6 +769,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5sselect_valid_f(space_id, status, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sselect_valid_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -750,6 +828,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sget_simple_extent_npoints_f(space_id, npoints, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_simple_extent_npoints_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -799,6 +883,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sget_select_npoints_f(space_id, npoints, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_select_npoints_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -848,6 +938,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sget_simple_extent_ndims_f(space_id, rank, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_simple_extent_ndims_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -898,6 +994,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sget_simple_extent_dims_f(space_id, dims, maxdims, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_simple_extent_dims_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -956,6 +1058,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sget_simple_extent_type_f(space_id, classtype, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sget_simple_extent_type_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -1012,6 +1120,12 @@
SUBROUTINE h5sset_extent_simple_f(space_id, rank, current_size, &
maximum_size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sset_extent_simple_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -1072,6 +1186,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sis_simple_f(space_id, status, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sis_simple_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -1125,6 +1245,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5soffset_simple_f(space_id, offset, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5soffset_simple_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -1177,6 +1303,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5sextent_copy_f(dest_space_id, source_space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sextent_copy_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dest_space_id ! Identifier of destination
@@ -1225,6 +1357,12 @@
! Comment:
!----------------------------------------------------------------------
SUBROUTINE h5sset_extent_none_f(space_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sset_extent_none_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
@@ -1279,6 +1417,12 @@
SUBROUTINE h5sselect_hyperslab_f(space_id, operator, start, count, &
hdferr, stride, block)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5sselect_hyperslab_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: space_id ! Dataspace identifier
INTEGER, INTENT(IN) :: operator ! Flag, valid values are:
diff --git a/fortran/src/H5Tff.f90 b/fortran/src/H5Tff.f90
index 42a60d2..bdcda24 100644
--- a/fortran/src/H5Tff.f90
+++ b/fortran/src/H5Tff.f90
@@ -34,6 +34,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5topen_f(loc_id, name, type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5topen_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
CHARACTER(LEN=*), INTENT(IN) :: name
@@ -90,6 +96,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tcommit_f(loc_id, name, type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tcommit_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
CHARACTER(LEN=*), INTENT(IN) :: name
@@ -144,6 +156,12 @@
SUBROUTINE h5tcopy_f(type_id, new_type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tcopy_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(HID_T), INTENT(OUT) :: new_type_id
@@ -194,6 +212,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tequal_f(type1_id, type2_id, flag, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tequal_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type1_id ! Datatype identifier
INTEGER(HID_T), INTENT(IN) :: type2_id ! Datatype identifier
@@ -245,6 +269,12 @@
SUBROUTINE h5tclose_f(type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tclose_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -300,6 +330,12 @@
SUBROUTINE h5tget_class_f(type_id, class, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_class_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: class
@@ -358,6 +394,12 @@
SUBROUTINE h5tget_size_f(type_id, size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_size_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(OUT) :: size ! Datatype size
@@ -371,7 +413,7 @@
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5TGET_SIZE_C'::h5tget_size_c
INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(OUT) :: size
+ INTEGER(SIZE_T), INTENT(OUT) :: size
END FUNCTION h5tget_size_c
END INTERFACE
@@ -405,6 +447,12 @@
SUBROUTINE h5tset_size_f(type_id, size, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_size_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(IN) :: size ! Datatype size
@@ -418,7 +466,7 @@
USE H5GLOBAL
!MS$ATTRIBUTES C,reference,alias:'_H5TSET_SIZE_C'::h5tset_size_c
INTEGER(HID_T), INTENT(IN) :: type_id
- INTEGER, INTENT(IN) :: size
+ INTEGER(SIZE_T), INTENT(IN) :: size
END FUNCTION h5tset_size_c
END INTERFACE
@@ -456,6 +504,12 @@
SUBROUTINE h5tget_order_f(type_id, order, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_order_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: order
@@ -511,6 +565,12 @@
SUBROUTINE h5tset_order_f(type_id, order, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_order_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: order ! Datatype byte order, bossible values
@@ -562,6 +622,12 @@
SUBROUTINE h5tget_precision_f(type_id, precision, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_precision_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(OUT) :: precision ! Datatype precision
@@ -608,6 +674,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_precision_f(type_id, precision, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_precision_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(IN) :: precision ! Datatype precision
@@ -654,6 +726,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_offset_f(type_id, offset, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_offset_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(OUT) :: offset ! Datatype bit offset of the
@@ -701,6 +779,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_offset_f(type_id, offset, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_offset_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(IN) :: offset ! Datatype bit offset of the
@@ -756,6 +840,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_pad_f(type_id, lsbpad, msbpad, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_pad_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: lsbpad ! padding type of the
@@ -820,6 +910,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_pad_f(type_id, lsbpad, msbpad, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_pad_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: lsbpad ! padding type of the
@@ -881,6 +977,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_sign_f(type_id, sign, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_sign_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: sign ! sign type for an integer type
@@ -937,6 +1039,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_sign_f(type_id, sign, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_sign_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: sign !sign type for an integer type
@@ -991,6 +1099,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_fields_f(type_id, epos, esize, mpos, msize, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_fields_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: epos ! exponent bit-position
@@ -1047,6 +1161,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_fields_f(type_id, epos, esize, mpos, msize, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_fields_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: epos ! exponent bit-position
@@ -1099,6 +1219,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_ebias_f(type_id, ebias, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_ebias_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(OUT) :: ebias ! Datatype exponent bias of a floating-point type
@@ -1146,6 +1272,12 @@
SUBROUTINE h5tset_ebias_f(type_id, ebias, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_ebias_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER(SIZE_T), INTENT(IN) :: ebias !Datatype exponent bias of a floating-point type
@@ -1196,6 +1328,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_norm_f(type_id, norm, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_norm_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: norm !mantissa normalization of a floating-point datatype
@@ -1251,6 +1389,12 @@
SUBROUTINE h5tset_norm_f(type_id, norm, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_norm_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: norm !mantissa normalization of a floating-point datatype
@@ -1307,6 +1451,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_inpad_f(type_id, padtype, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_inpad_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: padtype ! padding type for unused bits
@@ -1363,6 +1513,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_inpad_f(type_id, padtype, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_inpad_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: padtype ! padding type for unused bits
@@ -1416,6 +1572,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_cset_f(type_id, cset, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_cset_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: cset ! character set type of a string datatype
@@ -1466,6 +1628,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_cset_f(type_id, cset, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_cset_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: cset !character set type of a string datatype
@@ -1519,6 +1687,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_strpad_f(type_id, strpad, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_strpad_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: strpad
@@ -1570,6 +1744,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_strpad_f(type_id, strpad, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_strpad_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: strpad ! string padding method for a string datatype
@@ -1617,6 +1797,12 @@
SUBROUTINE h5tget_nmembers_f(type_id, num_members, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_nmembers_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: num_members !number of fields in a compound datatype
@@ -1665,6 +1851,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_member_name_f(type_id,index, member_name, namelen, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_member_name_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: index !Field index (0-based) of the field name to retrieve
@@ -1718,6 +1910,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_member_offset_f(type_id, member_no, offset, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_member_offset_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: member_no !Number of the field
@@ -1731,7 +1929,7 @@
INTERFACE
INTEGER FUNCTION h5tget_member_offset_c(type_id, member_no, offset )
USE H5GLOBAL
- !MS$ATTRIBUTES C,reference,alias:'_H5Tget_member_offset_C'::h5tget_member_offset_c
+ !MS$ATTRIBUTES C,reference,alias:'_H5TGET_MEMBER_OFFSET_C'::h5tget_member_offset_c
INTEGER(HID_T), INTENT(IN) :: type_id
INTEGER, INTENT(IN) :: member_no
INTEGER(SIZE_T), INTENT(OUT) :: offset
@@ -1765,6 +1963,12 @@
!----------------------------------------------------------------------
! SUBROUTINE h5tget_member_dims_f(type_id, field_idx,dims, field_dims, perm, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_member_dims_f
+!DEC$endif
+!
! IMPLICIT NONE
! INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
! INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of
@@ -1808,6 +2012,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_array_dims_f(type_id, dims, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_array_dims_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Array datatype identifier
@@ -1857,6 +2067,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_array_ndims_f(type_id, ndims, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_array_ndims_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Array datatype identifier
@@ -1905,6 +2121,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_super_f(type_id, base_type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_super_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! datatype identifier
@@ -1956,6 +2178,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_member_type_f(type_id, field_idx, datatype, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_member_type_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: field_idx !Field index (0-based) of the field type to retrieve
@@ -2010,6 +2238,12 @@
SUBROUTINE h5tcreate_f(class, size, type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tcreate_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER, INTENT(IN) :: class ! Datatype class can be one of
! H5T_COMPOUND_F
@@ -2064,6 +2298,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tinsert_f(type_id, name, offset, field_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tinsert_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
CHARACTER(LEN=*), INTENT(IN) :: name !Name of the field to insert
@@ -2119,6 +2359,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tpack_f(type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tpack_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
@@ -2161,6 +2407,12 @@
!----------------------------------------------------------------------
! SUBROUTINE h5tinsert_array_f(parent_id,name,offset, ndims, dims, member_id, hdferr, perm)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tinsert_array_f
+!DEC$endif
+!
! IMPLICIT NONE
! INTEGER(HID_T), INTENT(IN) :: parent_id ! identifier of the parent compound datatype
! CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member
@@ -2215,6 +2467,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tarray_create_f(base_id, rank, dims, type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tarray_create_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: base_id ! identifier of array base datatype
INTEGER, INTENT(IN) :: rank ! Rank of the array
@@ -2268,6 +2526,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tenum_create_f(parent_id, new_type_id, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tenum_create_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: parent_id ! Datatype identifier for
! the base datatype
@@ -2316,6 +2580,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tenum_insert_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
CHARACTER(LEN=*), INTENT(IN) :: name !Name of the new member
@@ -2371,6 +2641,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tenum_nameof_f(type_id, value, namelen, name, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tenum_nameof_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
CHARACTER(LEN=*), INTENT(OUT) :: name !Name of the enumeration datatype.
@@ -2384,7 +2660,7 @@
INTERFACE
INTEGER FUNCTION h5tenum_nameof_c(type_id, value, name, namelen)
USE H5GLOBAL
- !MS$ATTRIBUTES C,reference,alias:'_H5Tenum_nameof_C'::h5tenum_nameof_c
+ !MS$ATTRIBUTES C,reference,alias:'_H5TENUM_NAMEOF_C'::h5tenum_nameof_c
!DEC$ATTRIBUTES reference :: name
INTEGER(HID_T), INTENT(IN) :: type_id
CHARACTER(LEN=*), INTENT(OUT) :: name
@@ -2424,6 +2700,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tenum_valueof_f(type_id, name, value, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tenum_valueof_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
CHARACTER(LEN=*), INTENT(IN) :: name !Name of the enumeration datatype.
@@ -2437,11 +2719,11 @@
INTERFACE
INTEGER FUNCTION h5tenum_valueof_c(type_id, name, namelen, value)
USE H5GLOBAL
- !MS$ATTRIBUTES C,reference,alias:'_H5Tenum_valueof_C'::h5tenum_valueof_c
+ !MS$ATTRIBUTES C,reference,alias:'_H5TENUM_VALUEOF_C'::h5tenum_valueof_c
!DEC$ATTRIBUTES reference :: name
INTEGER(HID_T), INTENT(IN) :: type_id
CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER(SIZE_T), INTENT(IN) :: namelen
+ INTEGER, INTENT(IN) :: namelen
INTEGER, INTENT(OUT) :: value
END FUNCTION h5tenum_valueof_c
END INTERFACE
@@ -2477,6 +2759,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_member_value_f(type_id, member_no, value, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_member_value_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
INTEGER, INTENT(IN) :: member_no !Number of the enumeration datatype member
@@ -2526,6 +2814,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tset_tag_f(type_id, tag, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tset_tag_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
CHARACTER(LEN=*), INTENT(IN) :: tag !Unique ASCII string with which
@@ -2578,6 +2872,12 @@
!----------------------------------------------------------------------
SUBROUTINE h5tget_tag_f(type_id, tag,taglen, hdferr)
+!
+!This definition is needed for Windows DLLs
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$attributes dllexport :: h5tget_tag_f
+!DEC$endif
+!
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier
CHARACTER(LEN=*), INTENT(OUT) :: tag !Unique ASCII string with which
diff --git a/fortran/src/H5f90global.f90 b/fortran/src/H5f90global.f90
index 94b1e20..a6e321c 100644
--- a/fortran/src/H5f90global.f90
+++ b/fortran/src/H5f90global.f90
@@ -78,12 +78,18 @@
! 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, &
@@ -102,6 +108,9 @@
! 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
@@ -113,6 +122,9 @@
!
INTEGER, PARAMETER :: H5F_FLAGS_LEN = 7
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
@@ -135,6 +147,9 @@
!
INTEGER, PARAMETER :: H5G_FLAGS_LEN = 8
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
@@ -160,6 +175,9 @@
INTEGER, PARAMETER :: H5D_FLAGS_LEN = 3
INTEGER H5D_flags(H5D_FLAGS_LEN)
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$ ATTRIBUTES DLLEXPORT :: /H5D_FLAGS/
+!DEC$endif
COMMON /H5D_FLAGS/ H5D_flags
INTEGER :: H5D_COMPACT_F
@@ -188,6 +206,9 @@
!
INTEGER, PARAMETER :: H5E_FLAGS_LEN = 24
INTEGER H5E_flags(H5E_FLAGS_LEN)
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$ ATTRIBUTES DLLEXPORT :: /H5E_FLAGS/
+!DEC$endif
COMMON /H5E_FLAGS/ H5E_flags
INTEGER :: H5E_NONE_MAJOR_F
@@ -245,6 +266,9 @@
!
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
@@ -268,6 +292,9 @@
!
INTEGER, PARAMETER :: H5P_FLAGS_LEN = 6
INTEGER H5P_flags(H5P_FLAGS_LEN)
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$ ATTRIBUTES DLLEXPORT :: /H5P_FLAGS/
+!DEC$endif
COMMON /H5P_FLAGS/ H5P_flags
INTEGER :: H5P_FILE_CREATE_F
@@ -289,6 +316,9 @@
!
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
@@ -302,6 +332,9 @@
!
INTEGER, PARAMETER :: H5S_FLAGS_LEN = 6
INTEGER H5S_flags(H5S_FLAGS_LEN)
+!DEC$if defined(BUILD_HDF5_DLL)
+!DEC$ ATTRIBUTES DLLEXPORT :: /H5S_FLAGS/
+!DEC$endif
COMMON /H5S_FLAGS/ H5S_flags
INTEGER :: H5S_SCALAR_F
@@ -323,6 +356,9 @@
!
INTEGER, PARAMETER :: H5T_FLAGS_LEN = 28
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
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 4ae677d..0265af9 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -2,9 +2,9 @@
#define _H5f90proto_H
#include "H5Git.h"
-extern int HD5c2fstr(char *str, int len);
-extern char * HD5fcstring (_fcd fdesc, int len);
-extern int HDpackFstring(char *src, char *dest, int len);
+__DLL__ int HD5c2fstr(char *str, int len);
+__DLL__ char * HD5fcstring (_fcd fdesc, int len);
+__DLL__ int HDpackFstring(char *src, char *dest, int len);
/*
* Functions from H5Ff.c
@@ -36,23 +36,23 @@ extern int HDpackFstring(char *src, char *dest, int len);
#endif /* DF_CAPFNAMES */
#endif /* H5Ff90_FNAMES */
-extern int_f nh5fcreate_c
+__DLL__ int_f nh5fcreate_c
(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *crt_prp, hid_t_f *acc_prp, hid_t_f *file_id);
-extern int_f nh5fopen_c
+__DLL__ int_f nh5fopen_c
(_fcd name, int_f *namelen, int_f *access_flags, hid_t_f *acc_prp, hid_t_f *file_id);
-extern int_f nh5fis_hdf5_c
+__DLL__ int_f nh5fis_hdf5_c
(_fcd name, int_f *namelen, int_f *flag);
-extern int_f nh5fclose_c (hid_t_f *file_id);
-extern int_f nh5fmount_c
+__DLL__ int_f nh5fclose_c (hid_t_f *file_id);
+__DLL__ int_f nh5fmount_c
(hid_t_f *loc_id, _fcd dsetname, int_f *namelen, hid_t_f *file_id, hid_t_f *acc_prp);
-extern int_f nh5funmount_c
+__DLL__ int_f nh5funmount_c
(hid_t_f *loc_id, _fcd dsetname, int_f *namelen);
-extern int_f nh5freopen_c (hid_t_f *file_id1, hid_t_f *file_id2);
-extern int_f nh5fget_create_plist_c (hid_t_f *file_id, hid_t_f *prop_id);
-extern int_f nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id);
+__DLL__ int_f nh5freopen_c (hid_t_f *file_id1, hid_t_f *file_id2);
+__DLL__ int_f nh5fget_create_plist_c (hid_t_f *file_id, hid_t_f *prop_id);
+__DLL__ int_f nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id);
/*
* Functions from H5Sf.c
*/
@@ -113,53 +113,53 @@ extern int_f nh5fget_access_plist_c (hid_t_f *file_id, hid_t_f *access_id);
#endif /* DF_CAPFNAMES */
#endif
-extern int_f nh5screate_simple_c
+__DLL__ int_f nh5screate_simple_c
( int_f *rank, hsize_t_f *dims, hsize_t_f *maxdims, hid_t_f *space_id );
-extern int_f nh5sclose_c ( hid_t_f *space_id );
+__DLL__ int_f nh5sclose_c ( hid_t_f *space_id );
-extern int_f nh5screate_c ( int_f *classtype, hid_t_f *space_id );
+__DLL__ int_f nh5screate_c ( int_f *classtype, hid_t_f *space_id );
-extern int_f nh5scopy_c ( hid_t_f *space_id , hid_t_f *new_space_id);
-extern int_f nh5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks);
-extern int_f nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, hsize_t_f * num_blocks, hsize_t_f * buf);
+__DLL__ int_f nh5scopy_c ( hid_t_f *space_id , hid_t_f *new_space_id);
+__DLL__ int_f nh5sget_select_hyper_nblocks_c( hid_t_f *space_id , hssize_t_f * num_blocks);
+__DLL__ int_f nh5sget_select_hyper_blocklist_c( hid_t_f *space_id ,hsize_t_f * startblock, hsize_t_f * num_blocks, hsize_t_f * buf);
-extern int_f nh5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end);
+__DLL__ int_f nh5sget_select_bounds_c( hid_t_f *space_id , hsize_t_f * start, hsize_t_f * end);
-extern int_f nh5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points);
+__DLL__ int_f nh5sget_select_elem_npoints_c( hid_t_f *space_id , hssize_t_f * num_points);
-extern int_f nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, hsize_t_f * numpoints, hsize_t_f * buf);
-extern int_f nh5sselect_all_c ( hid_t_f *space_id );
+__DLL__ int_f nh5sget_select_elem_pointlist_c( hid_t_f *space_id ,hsize_t_f * startpoint, hsize_t_f * numpoints, hsize_t_f * buf);
+__DLL__ int_f nh5sselect_all_c ( hid_t_f *space_id );
-extern int_f nh5sselect_none_c ( hid_t_f *space_id );
+__DLL__ int_f nh5sselect_none_c ( hid_t_f *space_id );
-extern int_f nh5sselect_valid_c ( hid_t_f *space_id , int_f *flag );
+__DLL__ int_f nh5sselect_valid_c ( hid_t_f *space_id , int_f *flag );
-extern int_f nh5sget_simple_extent_npoints_c ( hid_t_f *space_id , hsize_t_f *npoints );
+__DLL__ int_f nh5sget_simple_extent_npoints_c ( hid_t_f *space_id , hsize_t_f *npoints );
-extern int_f nh5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints );
+__DLL__ int_f nh5sget_select_npoints_c ( hid_t_f *space_id , hssize_t_f *npoints );
-extern int_f nh5sget_simple_extent_ndims_c ( hid_t_f *space_id , int_f *ndims );
+__DLL__ int_f nh5sget_simple_extent_ndims_c ( hid_t_f *space_id , int_f *ndims );
-extern int_f nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype);
+__DLL__ int_f nh5sget_simple_extent_type_c ( hid_t_f *space_id , int_f *classtype);
-extern int_f nh5soffset_simple_c ( hid_t_f *space_id , hssize_t_f *offset);
+__DLL__ int_f nh5soffset_simple_c ( hid_t_f *space_id , hssize_t_f *offset);
-extern int_f nh5sset_extent_simple_c ( hid_t_f *space_id , int_f *rank, hsize_t_f * current_size, hsize_t_f *maximum_size);
+__DLL__ int_f nh5sset_extent_simple_c ( hid_t_f *space_id , int_f *rank, hsize_t_f * current_size, hsize_t_f *maximum_size);
-extern int_f nh5sis_simple_c ( hid_t_f *space_id , int_f *flag );
+__DLL__ int_f nh5sis_simple_c ( hid_t_f *space_id , int_f *flag );
-extern int_f nh5sextent_class_c ( hid_t_f *space_id , int_f *classtype);
+__DLL__ int_f nh5sextent_class_c ( hid_t_f *space_id , int_f *classtype);
-extern int_f nh5sget_simple_extent_dims_c ( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims);
+__DLL__ int_f nh5sget_simple_extent_dims_c ( hid_t_f *space_id , hsize_t_f *dims, hsize_t_f *maxdims);
-extern int_f nh5sextent_copy_c ( hid_t_f *dest_space_id , hid_t_f *source_space_id);
+__DLL__ int_f nh5sextent_copy_c ( hid_t_f *dest_space_id , hid_t_f *source_space_id);
-extern int_f nh5sset_extent_none_c ( hid_t_f *space_id );
+__DLL__ int_f nh5sset_extent_none_c ( hid_t_f *space_id );
-extern int_f nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hssize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block);
+__DLL__ int_f nh5sselect_hyperslab_c ( hid_t_f *space_id , int_f *op, hssize_t_f *start, hsize_t_f *count, hsize_t_f *stride, hsize_t_f *block);
-extern int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hssize_t_f *coord);
+__DLL__ int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *nelements, hssize_t_f *coord);
/*
@@ -203,45 +203,45 @@ extern int_f nh5sselect_elements_c ( hid_t_f *space_id , int_f *op, size_t_f *ne
#endif /* DF_CAPFNAMES */
#endif
-extern int_f nh5dcreate_c
+__DLL__ int_f nh5dcreate_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id, hid_t_f *crt_prp, hid_t_f *dset_id);
-extern int_f nh5dopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dset_id);
+__DLL__ int_f nh5dopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *dset_id);
-extern int_f nh5dclose_c ( hid_t_f *dset_id );
+__DLL__ int_f nh5dclose_c ( hid_t_f *dset_id );
-extern int_f nh5dwrite_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf);
+__DLL__ int_f nh5dwrite_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, int_f *dims);
-extern int_f nh5dwrite_ref_obj_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *n);
+__DLL__ int_f nh5dwrite_ref_obj_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims);
-extern int_f nh5dwrite_ref_reg_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *n);
+__DLL__ int_f nh5dwrite_ref_reg_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims);
-extern int_f nh5dwritec_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf);
+__DLL__ int_f nh5dwritec_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, int_f *dims);
-extern int_f nh5dread_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf);
+__DLL__ int_f nh5dread_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, void *buf, int_f *dims);
-extern int_f nh5dread_ref_obj_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *n);
+__DLL__ int_f nh5dread_ref_obj_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims);
-extern int_f nh5dread_ref_reg_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *n);
+__DLL__ int_f nh5dread_ref_reg_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, int_f *buf, int_f *dims);
-extern int_f nh5dreadc_c
-(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf);
+__DLL__ int_f nh5dreadc_c
+(hid_t_f *dset_id, hid_t_f *mem_type_id, hid_t_f *mem_space_id, hid_t_f *file_space_id, hid_t_f *xfer_prp, _fcd buf, int_f *dims);
-extern int_f nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id);
+__DLL__ int_f nh5dget_space_c ( hid_t_f *dset_id , hid_t_f *space_id);
-extern int_f nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id);
+__DLL__ int_f nh5dget_type_c ( hid_t_f *dset_id , hid_t_f *type_id);
-extern int_f nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id);
+__DLL__ int_f nh5dget_create_plist_c ( hid_t_f *dset_id , hid_t_f *plist_id);
-extern int_f nh5dextend_c ( hid_t_f *dset_id , hsize_t_f *dims);
+__DLL__ int_f nh5dextend_c ( hid_t_f *dset_id , hsize_t_f *dims);
/*
* Functions from H5Gf.c
*/
@@ -275,35 +275,35 @@ extern int_f nh5dextend_c ( hid_t_f *dset_id , hsize_t_f *dims);
#endif /* DF_CAPFNAMES */
#endif
-extern int_f nh5gcreate_c
+__DLL__ int_f nh5gcreate_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size_hint, hid_t_f *grp_id);
-extern int_f nh5gopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *grp_id);
+__DLL__ int_f nh5gopen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *grp_id);
-extern int_f nh5gclose_c ( hid_t_f *grp_id );
+__DLL__ int_f nh5gclose_c ( hid_t_f *grp_id );
-extern int_f nh5gget_obj_info_idx_c
+__DLL__ int_f nh5gget_obj_info_idx_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *idx, _fcd obj_name, int_f *obj_namelen, int_f *obj_type);
-extern int_f nh5gn_members_c
+__DLL__ int_f nh5gn_members_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, int_f *nmembers);
-extern int_f nh5glink_c
+__DLL__ int_f nh5glink_c
(hid_t_f *loc_id, int_f *link_type, _fcd current_name, int_f *current_namelen, _fcd new_name, int_f *new_namelen);
-extern int_f nh5gunlink_c
+__DLL__ int_f nh5gunlink_c
(hid_t_f *loc_id, _fcd name, int_f *namelen);
-extern int_f nh5gmove_c
+__DLL__ int_f nh5gmove_c
(hid_t_f *loc_id, _fcd src_name, int_f *src_namelen, _fcd dst_name, int_f *dst_namelen);
-extern int_f nh5gget_linkval_c
+__DLL__ int_f nh5gget_linkval_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *size, _fcd value );
-extern int_f nh5gset_comment_c
+__DLL__ int_f nh5gset_comment_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, _fcd comment, int_f *commentlen);
-extern int_f nh5gget_comment_c
+__DLL__ int_f nh5gget_comment_c
(hid_t_f *loc_id, _fcd name, int_f *namelen, size_t_f *bufsize, _fcd comment);
@@ -345,32 +345,32 @@ extern int_f nh5gget_comment_c
#endif
-extern int_f nh5acreate_c (hid_t_f *obj_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id, hid_t_f *crt_prp, hid_t_f *attr_id);
+__DLL__ int_f nh5acreate_c (hid_t_f *obj_id, _fcd name, int_f *namelen, hid_t_f *type_id, hid_t_f *space_id, hid_t_f *crt_prp, hid_t_f *attr_id);
-extern int_f
+__DLL__ int_f
nh5aopen_name_c (hid_t_f *obj_id, _fcd name, int_f *namelen, hid_t_f *attr_id);
-extern int_f nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf);
+__DLL__ int_f nh5awritec_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims);
-extern int_f nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf);
+__DLL__ int_f nh5awrite_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims);
-extern int_f nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf);
+__DLL__ int_f nh5areadc_c (hid_t_f *attr_id, hid_t_f *mem_type_id, _fcd buf, int_f *dims);
-extern int_f nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf);
+__DLL__ int_f nh5aread_c (hid_t_f *attr_id, hid_t_f *mem_type_id, void *buf, int_f *dims);
-extern int_f nh5aclose_c ( hid_t_f *attr_id );
+__DLL__ int_f nh5aclose_c ( hid_t_f *attr_id );
-extern int_f nh5adelete_c (hid_t_f *obj_id, _fcd name, int_f *namelen);
+__DLL__ int_f nh5adelete_c (hid_t_f *obj_id, _fcd name, int_f *namelen);
-extern int_f nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id);
+__DLL__ int_f nh5aopen_idx_c (hid_t_f *obj_id, int_f *idx, hid_t_f *attr_id);
-extern int_f nh5aget_space_c (hid_t_f *attr_id, hid_t_f *space_id);
+__DLL__ int_f nh5aget_space_c (hid_t_f *attr_id, hid_t_f *space_id);
-extern int_f nh5aget_type_c (hid_t_f *attr_id, hid_t_f *type_id);
+__DLL__ int_f nh5aget_type_c (hid_t_f *attr_id, hid_t_f *type_id);
-extern int_f nh5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num);
+__DLL__ int_f nh5aget_num_attrs_c (hid_t_f *obj_id, int_f *attr_num);
-extern int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
+__DLL__ int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
/*
* Functions form H5Tf.c file
@@ -487,83 +487,83 @@ extern int_f nh5aget_name_c(hid_t_f *attr_id, size_t_f *size, _fcd buf);
#endif
#endif
-extern int_f nh5tcreate_c(int_f *class, size_t_f *size, hid_t_f *type_id);
+__DLL__ int_f nh5tcreate_c(int_f *class, size_t_f *size, hid_t_f *type_id);
-extern int_f nh5topen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id);
+__DLL__ int_f nh5topen_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id);
-extern int_f
+__DLL__ int_f
nh5tcommit_c (hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *type_id);
-extern int_f nh5tclose_c ( hid_t_f *type_id );
+__DLL__ int_f nh5tclose_c ( hid_t_f *type_id );
-extern int_f nh5tequal_c ( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag);
+__DLL__ int_f nh5tequal_c ( hid_t_f *type1_id , hid_t_f *type2_id, int_f *c_flag);
-extern int_f nh5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id);
+__DLL__ int_f nh5tcopy_c ( hid_t_f *type_id , hid_t_f *new_type_id);
-extern int_f nh5tget_class_c ( hid_t_f *type_id , int_f *classtype);
+__DLL__ int_f nh5tget_class_c ( hid_t_f *type_id , int_f *classtype);
-extern int_f nh5tget_order_c ( hid_t_f *type_id , int_f *order);
+__DLL__ int_f nh5tget_order_c ( hid_t_f *type_id , int_f *order);
-extern int_f nh5tset_order_c ( hid_t_f *type_id , int_f *order);
+__DLL__ int_f nh5tset_order_c ( hid_t_f *type_id , int_f *order);
-extern int_f nh5tget_size_c ( hid_t_f *type_id , size_t_f *size);
+__DLL__ int_f nh5tget_size_c ( hid_t_f *type_id , size_t_f *size);
-extern int_f nh5tset_size_c ( hid_t_f *type_id , size_t_f *size);
-extern int_f nh5tcommitted_c (hid_t_f *type_id);
-extern int_f nh5tget_precision_c ( hid_t_f *type_id , size_t_f *precision);
-extern int_f nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision);
-extern int_f nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset);
-extern int_f nh5tset_offset_c ( hid_t_f *type_id , size_t_f *offset);
-extern int_f nh5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad);
-extern int_f nh5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f * msbpad );
-extern int_f nh5tget_sign_c ( hid_t_f *type_id , int_f* sign);
-extern int_f nh5tset_sign_c ( hid_t_f *type_id , int_f *sign);
-extern int_f nh5tget_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
-extern int_f nh5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
-extern int_f nh5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias);
+__DLL__ int_f nh5tset_size_c ( hid_t_f *type_id , size_t_f *size);
+__DLL__ int_f nh5tcommitted_c (hid_t_f *type_id);
+__DLL__ int_f nh5tget_precision_c ( hid_t_f *type_id , size_t_f *precision);
+__DLL__ int_f nh5tset_precision_c ( hid_t_f *type_id , size_t_f *precision);
+__DLL__ int_f nh5tget_offset_c ( hid_t_f *type_id , size_t_f *offset);
+__DLL__ int_f nh5tset_offset_c ( hid_t_f *type_id , size_t_f *offset);
+__DLL__ int_f nh5tget_pad_c ( hid_t_f *type_id , int_f * lsbpad, int_f * msbpad);
+__DLL__ int_f nh5tset_pad_c ( hid_t_f *type_id, int_f * lsbpad, int_f * msbpad );
+__DLL__ int_f nh5tget_sign_c ( hid_t_f *type_id , int_f* sign);
+__DLL__ int_f nh5tset_sign_c ( hid_t_f *type_id , int_f *sign);
+__DLL__ int_f nh5tget_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
+__DLL__ int_f nh5tset_fields_c ( hid_t_f *type_id, size_t_f *spos, size_t_f *epos, size_t_f* esize, size_t_f* mpos, size_t_f* msize);
+__DLL__ int_f nh5tget_ebias_c ( hid_t_f *type_id , size_t_f *ebias);
-extern int_f nh5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias);
-extern int_f nh5tget_norm_c ( hid_t_f *type_id , int_f *norm);
+__DLL__ int_f nh5tset_ebias_c ( hid_t_f *type_id , size_t_f *ebias);
+__DLL__ int_f nh5tget_norm_c ( hid_t_f *type_id , int_f *norm);
-extern int_f nh5tset_norm_c ( hid_t_f *type_id , int_f *norm);
-extern int_f nh5tget_inpad_c ( hid_t_f *type_id, int_f * padtype);
-extern int_f nh5tset_inpad_c ( hid_t_f *type_id, int_f * padtype);
-extern int_f nh5tget_cset_c ( hid_t_f *type_id, int_f * cset);
-extern int_f nh5tset_cset_c ( hid_t_f *type_id, int_f * cset);
-extern int_f nh5tget_strpad_c ( hid_t_f *type_id, int_f * strpad);
-extern int_f nh5tset_strpad_c ( hid_t_f *type_id, int_f * strpad);
-extern int_f nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members);
-extern int_f nh5tget_member_name_c ( hid_t_f *type_id ,int_f* index, _fcd member_name, int_f *namelen);
-extern int_f nh5tget_member_dims_c ( hid_t_f *type_id ,int_f* field_idx, int_f * dims, size_t_f * field_dims, int_f * perm );
-extern int_f nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f* offset);
-extern int_f nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype);
-extern int_f nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_t_f * field_id);
-extern int_f nh5tpack_c(hid_t_f * type_id);
+__DLL__ int_f nh5tset_norm_c ( hid_t_f *type_id , int_f *norm);
+__DLL__ int_f nh5tget_inpad_c ( hid_t_f *type_id, int_f * padtype);
+__DLL__ int_f nh5tset_inpad_c ( hid_t_f *type_id, int_f * padtype);
+__DLL__ int_f nh5tget_cset_c ( hid_t_f *type_id, int_f * cset);
+__DLL__ int_f nh5tset_cset_c ( hid_t_f *type_id, int_f * cset);
+__DLL__ int_f nh5tget_strpad_c ( hid_t_f *type_id, int_f * strpad);
+__DLL__ int_f nh5tset_strpad_c ( hid_t_f *type_id, int_f * strpad);
+__DLL__ int_f nh5tget_nmembers_c ( hid_t_f *type_id , int_f * num_members);
+__DLL__ int_f nh5tget_member_name_c ( hid_t_f *type_id ,int_f* index, _fcd member_name, int_f *namelen);
+__DLL__ int_f nh5tget_member_dims_c ( hid_t_f *type_id ,int_f* field_idx, int_f * dims, size_t_f * field_dims, int_f * perm );
+__DLL__ int_f nh5tget_member_offset_c ( hid_t_f *type_id ,int_f* member_no, size_t_f* offset);
+__DLL__ int_f nh5tget_member_type_c ( hid_t_f *type_id ,int_f* field_idx, hid_t_f * datatype);
+__DLL__ int_f nh5tinsert_c(hid_t_f *type_id, _fcd name, int_f* namelen, size_t_f *offset, hid_t_f * field_id);
+__DLL__ int_f nh5tpack_c(hid_t_f * type_id);
-extern int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id, int_f* perm );
+__DLL__ int_f nh5tinsert_array_c(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id, int_f* perm );
-extern int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id);
+__DLL__ int_f nh5tinsert_array_c2(hid_t_f * parent_id, _fcd name, int_f* namelen, size_t_f* offset, int_f* ndims, size_t_f* dims, hid_t_f* member_id);
-extern int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id);
+__DLL__ int_f nh5tenum_create_c ( hid_t_f *parent_id , hid_t_f *new_type_id);
-extern int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
-extern int_f
+__DLL__ int_f nh5tenum_insert_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
+__DLL__ int_f
nh5tenum_nameof_c(hid_t_f *type_id, int_f* value, _fcd name, size_t_f* namelen);
-extern int_f
+__DLL__ int_f
nh5tenum_valueof_c(hid_t_f *type_id, _fcd name, int_f* namelen, int_f* value);
-extern int_f
+__DLL__ int_f
nh5tget_member_value_c(hid_t_f *type_id, int_f* member_no, int_f* value);
-extern int_f
+__DLL__ int_f
nh5tset_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen);
-extern int_f
+__DLL__ int_f
nh5tget_tag_c(hid_t_f* type_id, _fcd tag, int_f* namelen);
-extern int_f
+__DLL__ int_f
nh5tarray_create_c(hid_t_f * base_id, int_f *rank, hsize_t_f* dims, hid_t_f* type_id);
-extern int_f
+__DLL__ int_f
nh5tget_array_dims_c ( hid_t_f *type_id , hsize_t_f * dims);
-extern int_f
+__DLL__ int_f
nh5tget_array_ndims_c ( hid_t_f *type_id , int_f * ndims);
-extern int_f
+__DLL__ int_f
nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id);
@@ -611,8 +611,8 @@ nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id);
# define nh5pget_cache_c FNAME(H5PGET_CACHE_C)
# define nh5pset_fapl_split_c FNAME(H5PSET_FAPL_SPLIT_C)
# define nh5pget_fapl_split_c FNAME(H5PGET_FAPL_SPLIT_C)
-# define nh5pset_gc_refernces_c FNAME(H5PSET_GC_REFERENCES_C)
-# define nh5pget_gc_refernces_c FNAME(H5PGET_GC_REFERENCES_C)
+# define nh5pset_gc_references_c FNAME(H5PSET_GC_REFERENCES_C)
+# define nh5pget_gc_references_c FNAME(H5PGET_GC_REFERENCES_C)
# define nh5pset_layout_c FNAME(H5PSET_LAYOUT_C)
# define nh5pget_layout_c FNAME(H5PGET_LAYOUT_C)
# define nh5pset_filter_c FNAME(H5PSET_FILTER_C)
@@ -690,120 +690,120 @@ nh5tget_super_c ( hid_t_f *type_id , hid_t_f *base_type_id);
#endif
#endif
-extern int_f nh5pcreate_c ( int_f *classtype, hid_t_f *prp_id );
+__DLL__ int_f nh5pcreate_c ( int_f *classtype, hid_t_f *prp_id );
-extern int_f nh5pclose_c ( hid_t_f *prp_id );
+__DLL__ int_f nh5pclose_c ( hid_t_f *prp_id );
-extern int_f nh5pcopy_c ( hid_t_f *prp_id , hid_t_f *new_prp_id);
+__DLL__ int_f nh5pcopy_c ( hid_t_f *prp_id , hid_t_f *new_prp_id);
-extern int_f nh5pget_class_c ( hid_t_f *prp_id , int_f *classtype);
+__DLL__ int_f nh5pget_class_c ( hid_t_f *prp_id , int_f *classtype);
-extern int_f nh5pset_deflate_c ( hid_t_f *prp_id , int_f *level);
+__DLL__ int_f nh5pset_deflate_c ( hid_t_f *prp_id , int_f *level);
-extern int_f nh5pset_chunk_c ( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims );
+__DLL__ int_f nh5pset_chunk_c ( hid_t_f *prp_id, int_f *rank, hsize_t_f *dims );
-extern int_f nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims );
+__DLL__ int_f nh5pget_chunk_c ( hid_t_f *prp_id, int_f *max_rank, hsize_t_f *dims );
-extern int_f
+__DLL__ int_f
nh5pset_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue);
-extern int_f
+__DLL__ int_f
nh5pset_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-extern int_f
+__DLL__ int_f
nh5pget_fill_valuec_c (hid_t_f *prp_id, hid_t_f *type_id, _fcd fillvalue);
-extern int_f
+__DLL__ int_f
nh5pget_fill_value_c (hid_t_f *prp_id, hid_t_f *type_id, void *fillvalue);
-extern int_f
+__DLL__ int_f
nh5pset_preserve_c ( hid_t_f *prp_id , int_f *flag);
-extern int_f
+__DLL__ int_f
nh5pget_preserve_c ( hid_t_f *prp_id , int_f *flag);
-extern int_f
+__DLL__ int_f
nh5pget_version_c (hid_t_f *prp_id, int_f * boot,int_f * freelist, int_f * stab, int_f *shhdr);
-extern int_f
+__DLL__ int_f
nh5pset_userblock_c (hid_t_f *prp_id, hsize_t_f * size);
-extern int_f
+__DLL__ int_f
nh5pget_userblock_c (hid_t_f *prp_id, hsize_t_f * size);
-extern int_f
+__DLL__ int_f
nh5pget_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size);
-extern int_f
+__DLL__ int_f
nh5pset_sizes_c (hid_t_f *prp_id, size_t_f * sizeof_addr, size_t_f * sizeof_size);
-extern int_f
+__DLL__ int_f
nh5pset_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk);
-extern int_f
+__DLL__ int_f
nh5pget_sym_k_c (hid_t_f *prp_id, int_f* ik, int_f* lk);
-extern int_f
+__DLL__ int_f
nh5pset_istore_k_c (hid_t_f *prp_id, int_f* ik);
-extern int_f
+__DLL__ int_f
nh5pget_istore_k_c (hid_t_f *prp_id, int_f* ik);
-extern int_f
+__DLL__ int_f
nh5pget_driver_c (hid_t_f *prp_id, hid_t_f*driver);
-extern int_f
+__DLL__ int_f
nh5pset_fapl_stdio_c (hid_t_f *prp_id);
-extern int_f
+__DLL__ int_f
nh5pget_fapl_stdio_c (hid_t_f *prp_id, int_f* io);
-extern int_f
+__DLL__ int_f
nh5pset_fapl_sec2_c (hid_t_f *prp_id);
-extern int_f
+__DLL__ int_f
nh5pget_fapl_sec2_c (hid_t_f *prp_id, int_f* sec2);
-extern int_f
+__DLL__ int_f
nh5pset_alignment_c(hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment);
-extern int_f
+__DLL__ int_f
nh5pget_alignment_c(hid_t_f *prp_id, hsize_t_f* threshold, hsize_t_f* alignment);
-extern int_f
+__DLL__ int_f
nh5pget_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag);
-extern int_f
+__DLL__ int_f
nh5pset_fapl_core_c (hid_t_f *prp_id, size_t_f* increment, int_f *flag);
-extern int_f
+__DLL__ int_f
nh5pset_fapl_family_c (hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist );
-extern int_f
+__DLL__ int_f
nh5pget_fapl_family_c (hid_t_f *prp_id, hsize_t_f* memb_size, hid_t_f* memb_plist );
-extern int_f
+__DLL__ int_f
nh5pset_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, int_f* rdcc_nelmts, size_t_f* rdcc_nbytes, real_f* rdcc_w0);
-extern int_f
+__DLL__ int_f
nh5pget_cache_c(hid_t_f *prp_id, int_f* mdc_nelmts, int_f* rdcc_nelmts, size_t_f* rdcc_nbytes, real_f* rdcc_w0);
-extern int_f
+__DLL__ int_f
nh5pget_fapl_split_c(hid_t_f *prp_id, size_t_f* meta_ext_size , _fcd meta_ext, hid_t_f* meta_plist, size_t_f* raw_ext_size, _fcd raw_ext, hid_t_f * raw_plist);
-extern int_f
+__DLL__ int_f
nh5pset_fapl_split_c(hid_t_f *prp_id, int_f* meta_len, _fcd meta_ext, hid_t_f* meta_plist, int_f* raw_len, _fcd raw_ext, hid_t_f * raw_plist);
-extern int_f
+__DLL__ int_f
nh5pset_gc_references_c(hid_t_f *prp_id, int_f* gc_references);
-extern int_f
+__DLL__ int_f
nh5pget_gc_references_c(hid_t_f *prp_id, int_f* gc_references);
-extern int_f
+__DLL__ int_f
nh5pset_layout_c (hid_t_f *prp_id, int_f* layout);
-extern int_f
+__DLL__ int_f
nh5pget_layout_c (hid_t_f *prp_id, int_f* layout);
-extern int_f
+__DLL__ int_f
nh5pset_filter_c (hid_t_f *prp_id, int_f* filter, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values );
-extern int_f
+__DLL__ int_f
nh5pget_nfilters_c (hid_t_f *prp_id, int_f* nfilters);
-extern int_f
+__DLL__ int_f
nh5pget_filter_c(hid_t_f *prp_id, int_f* filter_number, int_f* flags, size_t_f* cd_nelmts, int_f* cd_values, size_t_f *namelen, _fcd name, int_f* filter_id);
-extern int_f
+__DLL__ int_f
nh5pset_external_c (hid_t_f *prp_id, _fcd name, int_f* namelen, int_f* offset, hsize_t_f*bytes);
-extern int_f
+__DLL__ int_f
nh5pget_external_count_c (hid_t_f *prp_id, int_f* count);
-extern int_f
+__DLL__ int_f
nh5pget_external_c(hid_t_f *prp_id,int*idx, size_t_f* name_size, _fcd name, int_f* offset, hsize_t_f*bytes);
-extern int_f
+__DLL__ int_f
nh5pset_hyper_cache_c(hid_t_f *prp_id, int_f* cache, int_f* limit);
-extern int_f
+__DLL__ int_f
nh5pget_hyper_cache_c(hid_t_f *prp_id, int_f* cache, int_f* limit);
-extern int_f
+__DLL__ int_f
nh5pget_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right);
-extern int_f
+__DLL__ int_f
nh5pset_btree_ratios_c(hid_t_f *prp_id, real_f* left, real_f* middle, real_f* right);
-extern int_f
+__DLL__ int_f
nh5pget_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info);
-extern int_f
+__DLL__ int_f
nh5pset_fapl_mpio_c(hid_t_f *prp_id, int_f* comm, int_f* info);
-extern int_f
+__DLL__ int_f
nh5pget_dxpl_mpio_rc(hid_t_f *prp_id, int_f* data_xfer_mode);
-extern int_f
+__DLL__ int_f
nh5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode);
/*
@@ -828,23 +828,23 @@ nh5pset_dxpl_mpio_c(hid_t_f *prp_id, int_f* data_xfer_mode);
#endif /* DF_CAPFNAMES */
#endif /* H5Rf90_FNAMES */
-extern int_f
+__DLL__ int_f
nh5rcreate_object_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen);
-extern int_f
+__DLL__ int_f
nh5rcreate_region_c (int_f *ref, hid_t_f *loc_id, _fcd name, int_f *namelen, hid_t_f *space_id);
-extern int_f
+__DLL__ int_f
nh5rdereference_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id);
-extern int_f
+__DLL__ int_f
nh5rdereference_object_c (hid_t_f *dset_id, int_f *ref, hid_t_f *obj_id);
-extern int_f
+__DLL__ int_f
nh5rget_region_region_c (hid_t_f *dset_id, int_f *ref, hid_t_f *space_id);
-extern int_f
+__DLL__ int_f
nh5rget_object_type_obj_c (hid_t_f *dset_id, int_f *ref, int_f *obj_type);
/*
@@ -859,7 +859,7 @@ nh5rget_object_type_obj_c (hid_t_f *dset_id, int_f *ref, int_f *obj_type);
#endif
#endif
-extern int_f nh5iget_type_c(hid_t_f *obj_id, int_f *type);
+__DLL__ int_f nh5iget_type_c(hid_t_f *obj_id, int_f *type);
#ifndef H5Ef90_FNAMES
@@ -881,12 +881,12 @@ extern int_f nh5iget_type_c(hid_t_f *obj_id, int_f *type);
#endif
#endif
-extern int_f nh5eclear_c();
-extern int_f nh5eprint_c1(_fcd name, int_f* namelen);
-extern int_f nh5eprint_c2();
-extern int_f nh5eget_major_c(int_f* error_no, _fcd name);
-extern int_f nh5eget_minor_c(int_f* error_no, _fcd name);
-extern int_f nh5eset_auto_c(int_f* printflag);
+__DLL__ int_f nh5eclear_c();
+__DLL__ int_f nh5eprint_c1(_fcd name, int_f* namelen);
+__DLL__ int_f nh5eprint_c2();
+__DLL__ int_f nh5eget_major_c(int_f* error_no, _fcd name);
+__DLL__ int_f nh5eget_minor_c(int_f* error_no, _fcd name);
+__DLL__ int_f nh5eset_auto_c(int_f* printflag);
/*
* Functions from H5f.c
@@ -907,12 +907,12 @@ extern int_f nh5eset_auto_c(int_f* printflag);
# define nh5init_flags_c FNAME(h5init_flags_c)
#endif
#endif
-extern int_f nh5open_c(void);
-extern int_f nh5close_c(void);
-extern int_f nh5init_types_c(hid_t_f *types, hid_t_f * floatingtypes, hid_t_f * integertypes);
-extern int_f nh5close_types_c(hid_t_f *types, int_f *lentypes, hid_t_f * floatingtypes, int_f * floatinglen, hid_t_f * integertypes, int_f * integerlen);
+__DLL__ int_f nh5open_c(void);
+__DLL__ int_f nh5close_c(void);
+__DLL__ int_f nh5init_types_c(hid_t_f *types, hid_t_f * floatingtypes, hid_t_f * integertypes);
+__DLL__ int_f nh5close_types_c(hid_t_f *types, int_f *lentypes, hid_t_f * floatingtypes, int_f * floatinglen, hid_t_f * integertypes, int_f * integerlen);
-extern int_f nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags,
+__DLL__ int_f nh5init_flags_c( int_f *h5d_flags, int_f *h5e_flags, int_f *h5f_flags,
int_f *h5fd_flags, int_f *h5g_flags, int_f *h5i_flags,
int_f *h5p_flags, int_f *h5r_flags, int_f *h5s_flags,
int_f *h5t_flags);
diff --git a/fortran/src/H5ff.f90 b/fortran/src/H5ff.f90
index 0a17099..f9b6a22 100644
--- a/fortran/src/H5ff.f90
+++ b/fortran/src/H5ff.f90
@@ -36,40 +36,40 @@
!
INTERFACE
INTEGER FUNCTION h5open_c()
- !MS$ATTRIBUTES C,reference,alias:'_H5OPEN_C'::h5dopen_c
+ !MS$ATTRIBUTES C,reference,alias:'_H5OPEN_C'::h5open_c
END FUNCTION h5open_c
END INTERFACE
INTERFACE
- INTEGER FUNCTION h5init_types_c(predef_types, floating_types, integer_types)
+ INTEGER FUNCTION h5init_types_c(p_types, f_types, i_types)
USE H5GLOBAL
- INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
- INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types
- INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: integer_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
!MS$ATTRIBUTES C,reference,alias:'_H5INIT_TYPES_C'::h5init_types_c
END FUNCTION h5init_types_c
END INTERFACE
INTERFACE
- INTEGER FUNCTION h5init_flags_c(H5D_flags, &
- H5E_flags, &
- H5F_flags, &
- H5FD_flags, &
- H5G_flags, &
- H5I_flags, &
- H5P_flags, &
- H5R_flags, &
- H5S_flags, &
- H5T_flags )
+ INTEGER FUNCTION h5init_flags_c(i_H5D_flags, &
+ i_H5E_flags, &
+ i_H5F_flags, &
+ i_H5FD_flags, &
+ i_H5G_flags, &
+ i_H5I_flags, &
+ i_H5P_flags, &
+ i_H5R_flags, &
+ i_H5S_flags, &
+ i_H5T_flags )
USE H5GLOBAL
- INTEGER H5F_flags(H5F_FLAGS_LEN)
- INTEGER H5G_flags(H5G_FLAGS_LEN)
- INTEGER H5D_flags(H5D_FLAGS_LEN)
- INTEGER H5FD_flags(H5FD_FLAGS_LEN)
- INTEGER H5E_flags(H5E_FLAGS_LEN)
- INTEGER H5I_flags(H5I_FLAGS_LEN)
- INTEGER H5P_flags(H5P_FLAGS_LEN)
- INTEGER H5R_flags(H5R_FLAGS_LEN)
- INTEGER H5S_flags(H5S_FLAGS_LEN)
- INTEGER H5T_flags(H5T_FLAGS_LEN)
+ INTEGER i_H5F_flags(H5F_FLAGS_LEN)
+ INTEGER i_H5G_flags(H5G_FLAGS_LEN)
+ INTEGER i_H5D_flags(H5D_FLAGS_LEN)
+ INTEGER i_H5FD_flags(H5FD_FLAGS_LEN)
+ INTEGER i_H5E_flags(H5E_FLAGS_LEN)
+ INTEGER i_H5I_flags(H5I_FLAGS_LEN)
+ INTEGER i_H5P_flags(H5P_FLAGS_LEN)
+ INTEGER i_H5R_flags(H5R_FLAGS_LEN)
+ INTEGER i_H5S_flags(H5S_FLAGS_LEN)
+ INTEGER i_H5T_flags(H5T_FLAGS_LEN)
!MS$ATTRIBUTES C,reference,alias:'_H5INIT_FLAGS_C'::h5init_flags_c
END FUNCTION h5init_flags_c
@@ -126,16 +126,16 @@
END FUNCTION h5close_c
END INTERFACE
INTERFACE
- INTEGER FUNCTION h5close_types_c(predef_types, PREDEF_TYPES_LEN, &
- floating_types, FLOATING_TYPES_LEN, &
- integer_types, INTEGER_TYPES_LEN )
+ INTEGER FUNCTION h5close_types_c(p_types, P_TYPES_LEN, &
+ f_types, F_TYPES_LEN, &
+ i_types, I_TYPES_LEN )
USE H5GLOBAL
- INTEGER PREDEF_TYPES_LEN
- INTEGER FLOATING_TYPES_LEN
- INTEGER INTEGER_TYPES_LEN
- INTEGER(HID_T), DIMENSION(PREDEF_TYPES_LEN) :: predef_types
- INTEGER(HID_T), DIMENSION(FLOATING_TYPES_LEN) :: floating_types
- INTEGER(HID_T), DIMENSION(INTEGER_TYPES_LEN) :: integer_types
+ INTEGER P_TYPES_LEN
+ INTEGER F_TYPES_LEN
+ INTEGER I_TYPES_LEN
+ 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
!MS$ATTRIBUTES C,reference,alias:'_H5CLOSE_TYPES_C'::h5close_types_c
END FUNCTION h5close_types_c
END INTERFACE