summaryrefslogtreecommitdiffstats
path: root/fortran
diff options
context:
space:
mode:
authorElena Pourmal <epourmal@hdfgroup.org>2001-02-28 20:49:07 (GMT)
committerElena Pourmal <epourmal@hdfgroup.org>2001-02-28 20:49:07 (GMT)
commita2d934b56a05f9fc8c81c00995c690db6af2f730 (patch)
tree123844e512d70964c672b65f5b0690abce84476a /fortran
parent705c721120d4e2e9ce3383871d82a35edd8e57a5 (diff)
downloadhdf5-a2d934b56a05f9fc8c81c00995c690db6af2f730.zip
hdf5-a2d934b56a05f9fc8c81c00995c690db6af2f730.tar.gz
hdf5-a2d934b56a05f9fc8c81c00995c690db6af2f730.tar.bz2
[svn-r3527]
Purpose: Windows port and maintenance Description: Windows Fortran requires interface bocks for each C function called from F90 stub. I also added comment blocks for each F90 API. Solution: Added interface blocks. Platforms tested: Linux (eirene) to test that things are still working on UNIX.
Diffstat (limited to 'fortran')
-rw-r--r--fortran/src/H5Dff.f901807
1 files changed, 1718 insertions, 89 deletions
diff --git a/fortran/src/H5Dff.f90 b/fortran/src/H5Dff.f90
index 4fd234e..8f8c424 100644
--- a/fortran/src/H5Dff.f90
+++ b/fortran/src/H5Dff.f90
@@ -88,6 +88,33 @@
CONTAINS
+!----------------------------------------------------------------------
+! Name: h5dcreate_f
+!
+! Purpose: Creates a dataset at the specified location
+!
+! Inputs:
+! loc_id - file or group identifier
+! name - dataset name
+! type_id - dataset datatype identifier
+! space_id - dataset dataspace identifier
+! Outputs:
+! dset_id - dataset identifier
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! createion_prp - dataset creation property list identifier
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
SUBROUTINE h5dcreate_f(loc_id, name, type_id, space_id, dset_id, &
hdferr, creation_prp)
@@ -103,7 +130,25 @@
! list identifier
INTEGER :: creation_prp_default
INTEGER :: namelen ! Name length
- INTEGER, EXTERNAL :: h5dcreate_c
+
+! INTEGER, EXTERNAL :: h5dcreate_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dcreate_c(loc_id, name, namelen, type_id, &
+ space_id, creation_prp_default, dset_id)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DCREATE_C'::h5dcreate_c
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER :: creation_prp_default
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dcreate_c
+ END INTERFACE
creation_prp_default = H5P_DEFAULT_F
if (present(creation_prp)) creation_prp_default = creation_prp
@@ -112,6 +157,32 @@
creation_prp_default, dset_id)
END SUBROUTINE h5dcreate_f
+!----------------------------------------------------------------------
+! Name: h5dopen_f
+!
+! Purpose: Opens an existing dataset.
+!
+! Inputs:
+! loc_id - file or group identifier
+! name - dataset name
+! Outputs:
+! dset_id - dataset identifier
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5dopen_f(loc_id, name, dset_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
@@ -119,23 +190,109 @@
INTEGER(HID_T), INTENT(OUT) :: dset_id ! Dataset identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: namelen ! Name length
- INTEGER, EXTERNAL :: h5dopen_c
+
+! INTEGER, EXTERNAL :: h5dopen_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dopen_c(loc_id, name, namelen, dset_id)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DOPEN_C'::h5dopen_c
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(OUT) :: dset_id
+ END FUNCTION h5dopen_c
+ END INTERFACE
+
namelen = LEN(name)
hdferr = h5dopen_c(loc_id, name, namelen, dset_id)
END SUBROUTINE h5dopen_f
+!----------------------------------------------------------------------
+! Name: h5dclose_f
+!
+! Purpose: Closes a dataset.
+!
+! Inputs:
+! dset_id - dataset identifier
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
SUBROUTINE h5dclose_f(dset_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5dclose_c
+
+! INTEGER, EXTERNAL :: h5dclose_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dclose_c(dset_id)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DCLOSE_C'::h5dclose_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ END FUNCTION h5dclose_c
+ END INTERFACE
hdferr = h5dclose_c(dset_id)
END SUBROUTINE h5dclose_f
+!----------------------------------------------------------------------
+! Name: h5dwrite_f
+!
+! Purpose: Reads raw data from the specified dataset into buf,
+! converting from file datatype and dataspace to memory
+! datatype and dataspace.
+!
+! Inputs:
+! 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.
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! mem_space_id - memory dataspace identifier
+! file_space_id - file dataspace identifier
+! xfer_prp - trasfer property list identifier
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment: This function is overloaded to write 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 h5dwrite_reference_obj(dset_id, mem_type_id, buf, n, hdferr, &
mem_space_id, file_space_id, xfer_prp)
@@ -157,7 +314,25 @@
INTEGER(HID_T) :: file_space_id_default
INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER :: i,j
- INTEGER, EXTERNAL :: h5dwrite_ref_obj_c
+
+! INTEGER, EXTERNAL :: h5dwrite_ref_obj_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ 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)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REF_OBJ_C'::h5dwrite_ref_obj_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_ref_obj_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -205,7 +380,26 @@
INTEGER(HID_T) :: file_space_id_default
INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER :: i,j
- INTEGER, EXTERNAL :: h5dwrite_ref_reg_c
+
+! INTEGER, EXTERNAL :: h5dwrite_ref_reg_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ 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)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_REF_REG_C'::h5dwrite_ref_reg_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_ref_reg_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -251,7 +445,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(IN) :: buf
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -284,7 +497,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -317,7 +549,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -351,7 +602,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -385,7 +655,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -418,7 +707,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -453,7 +761,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -487,7 +814,25 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -522,7 +867,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ CHARACTER(LEN=*), INTENT(IN) :: buf
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -556,7 +921,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -589,7 +974,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -622,7 +1027,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -655,7 +1080,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -688,7 +1133,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -721,7 +1186,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -754,7 +1239,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwritec_c
+
+! INTEGER, EXTERNAL :: h5dwritec_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwritec_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITEC_C'::h5dwritec_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwritec_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -783,12 +1287,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ REAL, INTENT(IN) :: buf
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -815,12 +1337,31 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -848,12 +1389,31 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -881,12 +1441,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -914,13 +1492,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
-
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -948,12 +1543,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -981,12 +1594,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -1014,12 +1645,29 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dwrite_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -1052,7 +1700,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ DOUBLE PRECISION, INTENT(IN) :: buf
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1085,7 +1752,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1118,7 +1804,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1151,7 +1856,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1184,7 +1908,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1217,7 +1960,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1251,7 +2013,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1285,7 +2066,25 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dwrite_c
+
+! INTEGER, EXTERNAL :: h5dwrite_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dwrite_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DWRITE_C'::h5dwrite_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dwrite_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1300,6 +2099,42 @@
END SUBROUTINE h5dwrite_double_7
+!----------------------------------------------------------------------
+! Name: h5dread_f
+!
+! Purpose: Reads raw data from the specified dataset into buf,
+! converting from file datatype and dataspace to memory
+! datatype and dataspace.
+!
+! 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.
+! Outputs:
+! buf - buffer to read data in
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! mem_space_id - memory dataspace identifier
+! file_space_id - file dataspace identifier
+! xfer_prp - trasfer property list identifier
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 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, &
mem_space_id, file_space_id, xfer_prp)
@@ -1319,9 +2154,28 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_ref_obj_c
INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER :: i,j
+
+! INTEGER, EXTERNAL :: h5dread_ref_obj_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ 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)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REF_OBJ_C'::h5dread_ref_obj_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_ref_obj_c
+ END INTERFACE
+
allocate(ref_buf(REF_OBJ_BUF_LEN*n), stat=hdferr)
if (hdferr .NE. 0) then
hdferr = -1
@@ -1367,7 +2221,26 @@
INTEGER(HID_T) :: file_space_id_default
INTEGER, ALLOCATABLE, DIMENSION(:) :: ref_buf
INTEGER :: i,j
- INTEGER, EXTERNAL :: h5dread_ref_reg_c
+
+! INTEGER, EXTERNAL :: h5dread_ref_reg_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ 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)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_REF_REG_C'::h5dread_ref_reg_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_ref_reg_c
+ END INTERFACE
+
allocate(ref_buf(REF_REG_BUF_LEN*n), stat=hdferr)
if (hdferr .NE. 0) then
hdferr = -1
@@ -1412,7 +2285,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER, INTENT(OUT) :: buf
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1445,7 +2337,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1478,7 +2389,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1512,7 +2442,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1546,7 +2495,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1580,7 +2548,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1614,7 +2601,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1648,7 +2654,25 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1682,7 +2706,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ CHARACTER(LEN=*), INTENT(OUT) :: buf
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1715,7 +2759,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1748,7 +2812,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1781,7 +2865,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1814,7 +2918,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1847,7 +2971,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1880,7 +3024,27 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1913,7 +3077,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dreadc_c
+
+! INTEGER, EXTERNAL :: h5dreadc_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dreadc_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREADC_C'::h5dreadc_c
+ !DEC$ATTRIBUTES reference :: buf
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dreadc_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -1942,12 +3125,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ REAL, INTENT(OUT) :: buf
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -1975,12 +3176,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2008,12 +3227,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2041,12 +3278,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2074,12 +3329,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2107,12 +3380,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2140,12 +3431,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
-
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2173,12 +3482,30 @@
! File dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
! Transfer property list identifier
- INTEGER, EXTERNAL :: h5dread_c
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
file_space_id_default = H5S_ALL_F
@@ -2210,7 +3537,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ INTEGER(HID_T) :: xfer_prp_default
+ DOUBLE PRECISION, INTENT(OUT) :: buf
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2243,7 +3589,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2276,7 +3641,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2309,7 +3693,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2343,7 +3746,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2376,7 +3798,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2410,7 +3851,26 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
+
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2444,7 +3904,25 @@
INTEGER(HID_T) :: xfer_prp_default
INTEGER(HID_T) :: mem_space_id_default
INTEGER(HID_T) :: file_space_id_default
- INTEGER, EXTERNAL :: h5dread_c
+
+! INTEGER, EXTERNAL :: h5dread_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dread_c(dset_id, mem_type_id, &
+ mem_space_id_default, &
+ file_space_id_default, &
+ xfer_prp_default, buf)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DREAD_C'::h5dread_c
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id
+ 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
+ END FUNCTION h5dread_c
+ END INTERFACE
xfer_prp_default = H5P_DEFAULT_F
mem_space_id_default = H5S_ALL_F
@@ -2459,25 +3937,125 @@
END SUBROUTINE h5dread_double_7
+!----------------------------------------------------------------------
+! Name: h5dget_space_f
+!
+! Purpose: Returns an identifier for a copy of the dataspace for a
+! dataset.
+!
+! Inputs:
+! dataset_id - dataset identifier
+! Outputs:
+! dataspace_id - dataspace identifier
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
SUBROUTINE h5dget_space_f(dataset_id, dataspace_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: dataspace_id ! Dataspace identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5dget_space_c
+
+! INTEGER, EXTERNAL :: h5dget_space_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dget_space_c(dataset_id, dataspace_id)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DGET_SPACE_C'::h5dget_space_c
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: dataspace_id
+ END FUNCTION h5dget_space_c
+ END INTERFACE
+
hdferr = h5dget_space_c(dataset_id, dataspace_id)
END SUBROUTINE h5dget_space_f
+!----------------------------------------------------------------------
+! Name: h5dget_type_f
+!
+! Purpose: Returns an identifier for a copy of the datatype for a
+! dataset.
+!
+! Inputs:
+! dataset_id - dataset identifier
+! Outputs:
+! datatype_id - dataspace identifier
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
SUBROUTINE h5dget_type_f(dataset_id, datatype_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: datatype_id ! Datatype identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5dget_type_c
+! INTEGER, EXTERNAL :: h5dget_type_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dget_type_c (dataset_id, datatype_id)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DGET_TYPE_C'::h5dget_type_c
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: datatype_id
+ END FUNCTION h5dget_type_c
+ END INTERFACE
+
hdferr = h5dget_type_c (dataset_id, datatype_id)
END SUBROUTINE h5dget_type_f
+!----------------------------------------------------------------------
+! Name: h5dextend_f
+!
+! Purpose: Extends a dataset with unlimited dimension.
+!
+! Inputs:
+! dataset_id - dataset identifier
+! size - array containing the new magnitude of
+! each dimension
+! Outputs:
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
+
SUBROUTINE h5dextend_f(dataset_id, size, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
@@ -2485,18 +4063,69 @@
! Array containing
! dimensions' sizes
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5dextend_c
+
+! INTEGER, EXTERNAL :: h5dextend_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dextend_c(dataset_id, size)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DEXTEND_C'::h5dextend_c
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: size
+ END FUNCTION h5dextend_c
+ END INTERFACE
+
hdferr = h5dextend_c(dataset_id, size)
END SUBROUTINE h5dextend_f
+!----------------------------------------------------------------------
+! Name: h5dget_create_plist_f
+!
+! Purpose: Returns an identifier for a copy of the dataset creation
+! property list for a dataset.
+!
+! Inputs:
+! dataset_id - dataset identifier
+! Outputs:
+! plist_id - creation property list identifier
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! Optional parameters:
+! NONE
+!
+! Programmer: Elena Pourmal
+! August 12, 1999
+!
+! Modifications: Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). February 28, 2001
+!
+! Comment:
+!----------------------------------------------------------------------
+
+
SUBROUTINE h5dget_create_plist_f(dataset_id, plist_id, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dataset_id ! Dataset identifier
INTEGER(HID_T), INTENT(OUT) :: plist_id ! Dataset creation
! property list identifier
INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER, EXTERNAL :: h5dget_create_plist_c
+
+! INTEGER, EXTERNAL :: h5dget_create_plist_c
+! MS FORTRAN needs explicit interface for C functions called here.
+!
+ INTERFACE
+ INTEGER FUNCTION h5dget_create_plist_c(dataset_id, plist_id)
+ USE H5GLOBAL
+ !MS$ATTRIBUTES C,reference,alias:'_H5DGET_CREATE_PLIST_C'::h5dget_create_plist_c
+ INTEGER(HID_T), INTENT(IN) :: dataset_id
+ INTEGER(HID_T), INTENT(OUT) :: plist_id
+ END FUNCTION h5dget_create_plist_c
+ END INTERFACE
+
hdferr = h5dget_create_plist_c(dataset_id, plist_id)
END SUBROUTINE h5dget_create_plist_f