summaryrefslogtreecommitdiffstats
path: root/fortran/src
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2011-10-14 18:39:47 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2011-10-14 18:39:47 (GMT)
commit76e215174ab2afc3612e92b719d788b7d6c7f26f (patch)
tree00e1b9e99a8b1c30ad46f2f2543e2627020f5854 /fortran/src
parentb92a7abb344f9965853464697c64503c5953ee49 (diff)
downloadhdf5-76e215174ab2afc3612e92b719d788b7d6c7f26f.zip
hdf5-76e215174ab2afc3612e92b719d788b7d6c7f26f.tar.gz
hdf5-76e215174ab2afc3612e92b719d788b7d6c7f26f.tar.bz2
[svn-r21568] Description:
Merged robodoc headers from trunk in the 1.8 branch, remove functions that should have not been merged into the 1.8 branch, removed the robodoc docomentation. Tested: jam (gnu, intel, pgi)
Diffstat (limited to 'fortran/src')
-rw-r--r--fortran/src/H5Aff_F03.f90242
-rw-r--r--fortran/src/H5Dff_F03.f90283
-rw-r--r--fortran/src/H5Ef.c160
-rw-r--r--fortran/src/H5Eff_F03.f90138
-rw-r--r--fortran/src/H5Pff_F03.f90683
-rw-r--r--fortran/src/H5Tff_F03.f9018
-rw-r--r--fortran/src/H5_ff_F03.f904
-rw-r--r--fortran/src/H5f90proto.h4
8 files changed, 739 insertions, 793 deletions
diff --git a/fortran/src/H5Aff_F03.f90 b/fortran/src/H5Aff_F03.f90
index e43e457..b9e6c92 100644
--- a/fortran/src/H5Aff_F03.f90
+++ b/fortran/src/H5Aff_F03.f90
@@ -173,6 +173,57 @@ MODULE H5A_PROVISIONAL
CONTAINS
+!****s* H5A (F03)/h5awrite_f_F90
+!
+! NAME
+! h5awrite_f_F90
+!
+! PURPOSE
+! Writes an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! dims - Array to hold corresponding dimension sizes of data buffer buf;
+! dim(k) has value of the k-th dimension of buffer buf;
+! values are ignored if buf is a scalar
+! buf - Data buffer; may be a scalar or an array
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
+! Changed buf intent to INOUT to be consistant
+! with how the C functions handles it. The pg
+! compiler will return 0 if a buf value is not set.
+! February, 2008
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, DOUBLE PRECISION and CHARACTER buffers
+! up to 7 dimensions.
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, dims, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE , INTENT(IN) :: buf
+!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+
SUBROUTINE h5awrite_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -201,8 +252,8 @@ CONTAINS
DIMENSION(dims(1)), TARGET :: buf ! Attribute data
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
-
- f_ptr = C_LOC(buf)
+
+ f_ptr = C_LOC(buf(1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5awrite_integer_1
@@ -221,7 +272,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -238,7 +289,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -257,7 +308,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -276,7 +327,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -295,7 +346,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5awrite_integer_6
@@ -313,7 +364,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -348,7 +399,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -368,7 +419,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
@@ -388,7 +439,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5awrite_real_3
@@ -407,7 +458,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5awrite_real_4
@@ -445,7 +496,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5awrite_real_6
@@ -463,7 +514,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5awrite_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5awrite_real_7
@@ -500,8 +551,6 @@ CONTAINS
END SUBROUTINE h5awrite_char_scalar_fix
-
-
SUBROUTINE h5awrite_char_1(attr_id, memtype_id, buf, dims, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -626,22 +675,75 @@ CONTAINS
END SUBROUTINE h5awrite_char_7
-!****s* H5A (F03)/h5aread_f
+!****s* H5A (F03)/h5awrite_f_F03
!
! NAME
-! h5aread_f
+! h5awrite_f_F03
+!
+! PURPOSE
+! Writes an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! buf - Data buffer; may be a scalar or an array
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, DOUBLE PRECISION and CHARACTER buffers
+! up to 7 dimensions.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5awrite_f(attr_id, memtype_id, buf, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+ SUBROUTINE h5awrite_ptr(attr_id, mem_type_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ TYPE(C_PTR), INTENT(IN), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ hdferr = h5awrite_f_c(attr_id, mem_type_id, buf)
+
+ END SUBROUTINE h5awrite_ptr
+
+!****s* H5A (F03)/h5aread_f_F90
+!
+! NAME
+! h5aread_f_F90
!
! PURPOSE
! Reads an attribute.
!
! Inputs:
-! attr_id - attribute identifier
-! memtype_id - attribute memory type identifier
-! dims - 1D array of size 7, stores sizes of the
-! - buf array dimensions.
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+! dims - Array to hold corresponding dimension sizes of data buffer buf;
+! dim(k) has value of the k-th dimension of buffer buf;
+! values are ignored if buf is a scalar
+!
! Outputs:
-! buf - buffer to read attribute data in
-! hdferr - Returns 0 if successful and -1 if fails
+! buf - Data buffer; may be a scalar or an array
+! hdferr - Returns 0 if successful and -1 if fails
+!
! AUTHOR
! Elena Pourmal
! August 12, 1999
@@ -663,7 +765,13 @@ CONTAINS
! This function is overloaded to write INTEGER,
! REAL, DOUBLE PRECISION and CHARACTER buffers
! up to 7 dimensions.
-!
+! Fortran90 Interface:
+!! SUBROUTINE h5aread_f(attr_id, memtype_id, buf, dims, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE , INTENT(INOUT) :: buf
+!! INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+!! INTEGER , INTENT(OUT) :: hdferr
!*****
SUBROUTINE h5aread_integer_scalar(attr_id, memtype_id, buf, dims, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
@@ -692,7 +800,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_1
@@ -709,7 +817,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_2
@@ -727,7 +835,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_3
@@ -745,7 +853,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_4
@@ -763,7 +871,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_5
@@ -781,7 +889,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_6
@@ -799,7 +907,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_integer_7
@@ -833,7 +941,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_1
@@ -851,7 +959,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_2
@@ -870,7 +978,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_3
@@ -888,7 +996,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_4
@@ -906,7 +1014,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_5
@@ -924,7 +1032,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_6
@@ -942,7 +1050,7 @@ CONTAINS
INTEGER, INTENT(OUT) :: hdferr ! Error code
TYPE(C_PTR) :: f_ptr
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5aread_f_c(attr_id, memtype_id, f_ptr)
END SUBROUTINE h5aread_real_7
@@ -1103,24 +1211,58 @@ CONTAINS
END SUBROUTINE h5aread_char_7
- SUBROUTINE h5awrite_ptr(attr_id, mem_type_id, buf, hdferr)
- USE, INTRINSIC :: ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
- INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(IN), TARGET :: buf
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- hdferr = h5awrite_f_c(attr_id, mem_type_id, buf)
-
- END SUBROUTINE h5awrite_ptr
+!****s* H5A (F03)/h5aread_f_F03
+!
+! NAME
+! h5aread_f_F03
+!
+! PURPOSE
+! Reads an attribute.
+!
+! Inputs:
+! attr_id - Attribute identifier
+! memtype_id - Attribute datatype identifier (in memory)
+!
+! Outputs:
+! buf - Data buffer; may be a scalar or an array
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+! Explicit Fortran interfaces are added for
+! called C functions (it is needed for Windows
+! port). February 27, 2001
+!
+! dims parameter was added to make code portable;
+! Aprile 4, 2001
+!
+! Changed buf intent to INOUT to be consistant
+! with how the C functions handles it. The pg
+! compiler will return 0 if a buf value is not set.
+! February, 2008
+!
+! NOTES
+! This function is overloaded to write INTEGER,
+! REAL, DOUBLE PRECISION and CHARACTER buffers
+! up to 7 dimensions.
+! Fortran2003 Interface:
+!! SUBROUTINE h5aread_f(attr_id, memtype_id, buf, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: attr_id
+!! INTEGER(HID_T) , INTENT(IN) :: memtype_id
+!! TYPE(C_PTR) , INTENT(INOUT) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5aread_ptr(attr_id, mem_type_id, buf, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: attr_id ! Attribute identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(IN), TARGET :: buf
+ TYPE(C_PTR), INTENT(INOUT), TARGET :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
hdferr = h5aread_f_c(attr_id, mem_type_id, buf)
diff --git a/fortran/src/H5Dff_F03.f90 b/fortran/src/H5Dff_F03.f90
index d99d31b..61d5dfc 100644
--- a/fortran/src/H5Dff_F03.f90
+++ b/fortran/src/H5Dff_F03.f90
@@ -5,9 +5,9 @@
!
! PURPOSE
! This file contains Fortran 90 and Fortran 2003 interfaces for H5D functions.
-! It contains the same functions as H5Dff_DEPRECIATE.f90 but includes the
+! It contains the same functions as H5Dff_F90.f90 but includes the
! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Dff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
+! instead of H5Dff_F90.f90 if Fortran 2003 functions are enabled.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -37,8 +37,8 @@
! (i.e. integer, dimension(*) :: ... )
! (i.e. real , dimension(*) :: ... ) etc...
!
-! (3) Could not place the USE ISO_C_BINDING in the module header because it may
-! conflict with the USE ISO_C_BINDING included in the user's program. Moved
+! (3) Could not place the USE, INTRINSIC :: ISO_C_BINDING in the module header because it may
+! conflict with the USE, INTRINSIC :: ISO_C_BINDING included in the user's program. Moved
! the statement instead to each subroutine.
!
!
@@ -71,7 +71,7 @@
! CHARACTER(LEN=1), TARGET :: chr
! or
! CHARACTER, TARGET :: chr
-! (B)
+!
! *** IMPORTANT ***
! If you add a new H5D function you must add the function name to the
! Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
@@ -225,7 +225,7 @@ CONTAINS
SUBROUTINE h5dwrite_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -258,7 +258,7 @@ CONTAINS
SUBROUTINE h5dwrite_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -321,7 +321,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -352,7 +352,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -376,7 +376,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -385,7 +385,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -408,7 +408,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -417,7 +417,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -440,7 +440,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -449,7 +449,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -472,7 +472,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -481,7 +481,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -505,7 +505,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -514,7 +514,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -538,7 +538,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -547,7 +547,7 @@ CONTAINS
SUBROUTINE h5dwrite_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -571,7 +571,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -580,7 +580,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -598,7 +598,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -631,7 +631,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -664,7 +664,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -698,7 +698,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -732,7 +732,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -765,7 +765,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -797,7 +797,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -831,7 +831,7 @@ CONTAINS
SUBROUTINE h5dwrite_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -866,7 +866,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -897,7 +897,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -920,7 +920,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -929,7 +929,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -953,7 +953,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -962,7 +962,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -985,7 +985,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -994,7 +994,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1017,7 +1017,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1026,7 +1026,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1049,7 +1049,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1058,7 +1058,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1081,7 +1081,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1090,7 +1090,7 @@ CONTAINS
SUBROUTINE h5dwrite_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1113,7 +1113,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1167,7 +1167,7 @@ CONTAINS
!
SUBROUTINE h5dread_reference_obj(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1200,7 +1200,7 @@ CONTAINS
SUBROUTINE h5dread_reference_dsetreg(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1265,7 +1265,7 @@ CONTAINS
SUBROUTINE h5dread_integer_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1297,7 +1297,7 @@ CONTAINS
SUBROUTINE h5dread_integer_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1320,7 +1320,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1329,7 +1329,7 @@ CONTAINS
SUBROUTINE h5dread_integer_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1352,7 +1352,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1361,7 +1361,7 @@ CONTAINS
SUBROUTINE h5dread_integer_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1385,7 +1385,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1394,7 +1394,7 @@ CONTAINS
SUBROUTINE h5dread_integer_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1417,7 +1417,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1426,7 +1426,7 @@ CONTAINS
SUBROUTINE h5dread_integer_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1450,7 +1450,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1459,7 +1459,7 @@ CONTAINS
SUBROUTINE h5dread_integer_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1482,7 +1482,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1491,7 +1491,7 @@ CONTAINS
SUBROUTINE h5dread_integer_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1514,7 +1514,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1523,7 +1523,7 @@ CONTAINS
SUBROUTINE h5dread_char_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1545,7 +1545,7 @@ CONTAINS
SUBROUTINE h5dread_char_scalar_fix(dset_id, mem_type_id, buf, buf_len, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1579,7 +1579,7 @@ CONTAINS
SUBROUTINE h5dread_char_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1612,7 +1612,7 @@ CONTAINS
SUBROUTINE h5dread_char_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1646,7 +1646,7 @@ CONTAINS
SUBROUTINE h5dread_char_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1679,7 +1679,7 @@ CONTAINS
SUBROUTINE h5dread_char_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1714,7 +1714,7 @@ CONTAINS
SUBROUTINE h5dread_char_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1748,7 +1748,7 @@ CONTAINS
SUBROUTINE h5dread_char_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1783,7 +1783,7 @@ CONTAINS
SUBROUTINE h5dread_char_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1818,7 +1818,7 @@ CONTAINS
SUBROUTINE h5dread_real_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1849,7 +1849,7 @@ CONTAINS
SUBROUTINE h5dread_real_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1872,7 +1872,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1881,7 +1881,7 @@ CONTAINS
SUBROUTINE h5dread_real_2(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1904,7 +1904,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1913,7 +1913,7 @@ CONTAINS
SUBROUTINE h5dread_real_3(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1936,7 +1936,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1945,7 +1945,7 @@ CONTAINS
SUBROUTINE h5dread_real_4(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -1968,7 +1968,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -1977,7 +1977,7 @@ CONTAINS
SUBROUTINE h5dread_real_5(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -2000,7 +2000,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -2010,7 +2010,7 @@ CONTAINS
SUBROUTINE h5dread_real_6(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -2033,7 +2033,7 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
@@ -2042,7 +2042,7 @@ CONTAINS
SUBROUTINE h5dread_real_7(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
@@ -2066,20 +2066,56 @@ CONTAINS
IF(PRESENT(xfer_prp)) xfer_prp_default = xfer_prp
IF(PRESENT(mem_space_id)) mem_space_id_default = mem_space_id
IF(PRESENT(file_space_id)) file_space_id_default = file_space_id
- f_ptr = C_LOC(buf)
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
hdferr = h5dread_f_c(dset_id, mem_type_id, mem_space_id_default, &
file_space_id_default, xfer_prp_default, f_ptr)
END SUBROUTINE h5dread_real_7
+!****s* H5D (F03)/h5dwrite_f_F03
+!
+! NAME
+! h5dwrite_f_F03
+!
+! PURPOSE
+! Writes raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset to write to.
+! mem_type_id - Identifier of the memory datatype.
+! buf - Buffer with data to be written to the file.
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dwrite_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(IN) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
SUBROUTINE h5dwrite_ptr(dset_id, mem_type_id, buf, hdferr, &
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
- TYPE(C_PTR), INTENT(INOUT) :: buf
+ TYPE(C_PTR), INTENT(IN) :: buf
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id ! Memory dataspace identfier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id ! File dataspace identfier
@@ -2101,7 +2137,42 @@ CONTAINS
file_space_id_default, xfer_prp_default, buf)
END SUBROUTINE h5dwrite_ptr
-
+!****s* H5D (F03)/h5dread_f_F03
+!
+! NAME
+! h5dread_f_F03
+!
+! PURPOSE
+! Reads raw data from a dataset into a buffer.
+!
+! Inputs:
+! dset_id - Identifier of the dataset read from.
+! mem_type_id - Identifier of the memory datatype.
+!
+! Outputs:
+! buf - Buffer to receive data read from file.
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! Optional parameters:
+! mem_space_id - Identifier of the memory dataspace.
+! file_space_id - Identifier of the dataset's dataspace in the file.
+! xfer_prp - Identifier of a transfer property list for this I/O operation.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! September 17, 2011
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5dread_f(dset_id, mem_type_id, buf, hdferr, &
+!! mem_space_id, file_space_id, xfer_prp)
+!! INTEGER(HID_T), INTENT(IN) :: dset_id
+!! INTEGER(HID_T), INTENT(IN) :: mem_type_id
+!! TYPE(C_PTR) , INTENT(INOUT) :: buf
+!! INTEGER , INTENT(OUT) :: hdferr
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: mem_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: file_space_id
+!! INTEGER(HID_T), INTENT(IN) , OPTIONAL :: xfer_prp
+!*****
SUBROUTINE h5dread_ptr(dset_id, mem_type_id, buf, hdferr, &
mem_space_id, file_space_id, xfer_prp)
USE, INTRINSIC :: ISO_C_BINDING
@@ -2158,7 +2229,7 @@ CONTAINS
!
SUBROUTINE h5dfill_integer(fill_value, space_id, buf, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER, INTENT(IN), TARGET :: fill_value ! Fill value
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
@@ -2208,7 +2279,7 @@ CONTAINS
! March 12, 2003
!
SUBROUTINE h5dfill_real(fill_valuer, space_id, buf, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
REAL, INTENT(IN), TARGET :: fill_valuer ! Fill value
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
@@ -2257,7 +2328,7 @@ CONTAINS
! March 12, 2003
!
SUBROUTINE h5dfill_char(fill_value, space_id, buf, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
CHARACTER, INTENT(IN), TARGET :: fill_value ! Fill value
INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
@@ -2278,9 +2349,9 @@ CONTAINS
END SUBROUTINE h5dfill_char
!
-!****s* H5D/h5dvlen_reclaim
+!****s* H5D (F03)/h5dvlen_reclaim_f
! NAME
-! h5dvlen_reclaim
+! h5dvlen_reclaim_f
!
! PURPOSE
! Reclaims VL datatype memory buffers.
@@ -2290,28 +2361,24 @@ CONTAINS
! type_id - Identifier of the datatype.
! space_id - Identifier of the dataspace.
! plist_id - Identifier of the property list used to create the buffer.
-! buf - Pointer to the buffer to be reclaimed.
+! buf - Pointer to the buffer to be reclaimed.
!
! Outputs:
-! hdferr - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
!
! AUTHOR
! M. Scot Breitenfeld
! January 11, 2011
!
-! Signature:
- SUBROUTINE H5Dvlen_reclaim_f(type_id, space_id, plist_id, buf, hdferr)
-
- USE ISO_C_BINDING
+! Fortran2003 Interface:
+ SUBROUTINE h5dvlen_reclaim_f(type_id, space_id, plist_id, buf, hdferr)
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
-
- INTEGER(HID_T), INTENT(IN) :: type_id ! Identifier of the datatype.
- INTEGER(HID_T), INTENT(IN) :: space_id ! Identifier of the dataspace.
- INTEGER(HID_T), INTENT(IN) :: plist_id ! Identifier of the property list used to create the buffer.
- TYPE(C_PTR), INTENT(INOUT) :: buf ! Pointer to the buffer to be reclaimed.
- INTEGER, INTENT(OUT) :: hdferr ! Error code.
+ INTEGER(HID_T), INTENT(IN) :: type_id
+ INTEGER(HID_T), INTENT(IN) :: space_id
+ INTEGER(HID_T), INTENT(IN) :: plist_id
+ TYPE(C_PTR) , INTENT(INOUT) :: buf
+ INTEGER , INTENT(OUT) :: hdferr
!*****
INTERFACE
diff --git a/fortran/src/H5Ef.c b/fortran/src/H5Ef.c
index 875b59f..64ecdc4 100644
--- a/fortran/src/H5Ef.c
+++ b/fortran/src/H5Ef.c
@@ -289,17 +289,6 @@ done:
* July 22, 2009
* SOURCE
*/
-/* int_f */
-/* nh5eset_auto2_c(hid_t_f *estack_id, H5E_auto2_t *func, void *client_data) */
-/* /\******\/ */
-/* { */
-/* int ret_val = -1; */
-/* herr_t status = -1; */
-
-/* status = H5Eset_auto2((hid_t)*estack_id, *func, client_data); */
-/* if (status >= 0) ret_val = 0; */
-/* return ret_val; */
-/* } */
int_f
nh5eset_auto2_c(int_f *printflag, hid_t_f *estack_id, H5E_auto2_t func, void *client_data)
@@ -318,152 +307,3 @@ nh5eset_auto2_c(int_f *printflag, hid_t_f *estack_id, H5E_auto2_t func, void *cl
return ret_val;
}
-
-
-int_f
-H5Eget_auto3(void **client_data)
-{
- int *i;
-
- i = (int*)client_data;
-
- *i = 1000;
- printf(" Buffer In (C) = %d \n", *i);
-
- return 0;
-
-}
-
-int_f nprocess_buffer(hid_t_f *estack_id, void **buffer)
-{
- int status;
- int *i;
- H5E_auto2_t func_c;
-
- status = H5Eget_auto2((hid_t)*estack_id, &func_c, buffer);
-/* status = H5Eget_auto3(buffer); */
-
- i = (int*)buffer;
-
- printf(" Buffer In (C) = %d \n", *i);
- return;
-}
-/****if* H5Ef/h5eget_auto_c
- * NAME
- * h5eget_auto_c
- * PURPOSE
- * Calls H5Eget_auto2
- * INPUTS
- * estack_id - Error stack identifier
- * OUTPUTS
- * func - The function currently set to be called upon an error condition.
- * client_data - Data currently set to be passed to the error function.
- * RETURNS
- * 0 on success, -1 on failure
- * AUTHOR
- * M. Scot Breitenfeld
- * July 10, 2009
- * NOTE
- * if func is the default H5Eprint or H5Eprint2 then need to use the Fortran callback function
- * associated with H5Eprint*.
- * SOURCE
-*/
-int_f
-nh5eget_auto_c(hid_t_f *estack_id, H5E_auto2_t *func, void **client_data, int_f *ret_func)
-/******/
-{
- int ret_val = -1;
- herr_t status = -1;
- hid_t dataset;
- H5E_auto2_t func_c;
- void *client_data_c=NULL;
- void **data_c;
- int *i;
-
-/* status = H5Eget_auto3(client_data); */
-/* i = (int*)client_data; */
-
-/* printf(" Buffer In (C3) = %d \n", *i); */
-
-/* return 0; */
-
-/* *ret_func = -1; */
-
- status = H5Eget_auto2((hid_t)*estack_id, &func_c, &client_data_c);
-
-/* status = H5Eget_auto2((hid_t)*estack_id, &func_c, client_data); */
-
- i = (int*)*client_data;
-
-/* *i = 1000; */
-
-
-/* i = (int*)client_data_c; */
-/* *i = 100; */
-
-/* *client_data = client_data_c; */
-/* *data_c = client_data_c; */
-
- printf("aa %d \n",*((int*)client_data_c));
-/* printf("bb %d \n",**((int**)client_data)); */
-/* printf("cc %d \n",**((int**)data_c)); */
-
-/* printf("a %p \n",client_data_c); */
-/* printf("b %p \n",*client_data); */
-/* printf("c %p \n",*data_c); */
-
-/* i = (int*)client_data_c; */
-/* **client_data = *((int*)client_data_c);*/
-
-/* *i = 200; */
-
-/* if(client_data == NULL) */
-/* printf("error \n"); */
-
-/* if(func == NULL) */
-/* printf("error \n"); */
-
-/* #ifdef H5_USE_16_API */
-/* if (func == (H5E_auto_t)H5Eprint) */
-/* *ret_func = 0; */
-/* #else /\* H5_USE_16_API *\/ */
-/* if (func == (H5E_auto2_t)H5Eprint2) */
-/* *ret_func = 0; */
-/* #endif /\* H5_USE_16_API *\/ */
-
-/* #ifdef H5_USE_16_API */
-/* if (func == (H5E_auto_t)H5Eprint) */
-/* *ret_func = 0; */
-/* #else /\* H5_USE_16_API *\/ */
-/* if (func == (H5E_auto2_t)H5Eprint2) */
-/* *ret_func = 0; */ /* printf("%p %p \n",func,(H5E_auto2_t)H5Eprint2); */
-/* #endif /\* H5_USE_16_API *\/ */
-
-/* printf(" ret %d \n", ret_val); */
- if (status >= 0) ret_val = 0;
- ret_func = 0;
- return ret_val;
-}
-
-void*
-nh5eget_auto_c2(hid_t_f *estack_id, H5E_auto2_t *func, int_f *ret_func)
-/******/
-{
- int ret_val = -1;
- herr_t status = -1;
- hid_t dataset;
- H5E_auto2_t func_c;
- void *client_data_c=NULL;
- void **data_c;
- int *i;
-
- status = H5Eget_auto2((hid_t)*estack_id, &func_c, &client_data_c);
-
- printf("a %p \n",client_data_c);
-
-
- if (status >= 0) ret_val = 0;
- ret_func = 0;
- return client_data_c;
-}
-
diff --git a/fortran/src/H5Eff_F03.f90 b/fortran/src/H5Eff_F03.f90
index bf4797f..3a40a55 100644
--- a/fortran/src/H5Eff_F03.f90
+++ b/fortran/src/H5Eff_F03.f90
@@ -44,20 +44,6 @@ MODULE H5E_PROVISIONAL
CONTAINS
- INTEGER FUNCTION h5eprint_def() bind(C)
-
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER :: hdferr
-
- PRINT*,'Inside h5eprint_def'
-! STOP
-
-!!$ CALL h5eprint_f(hdferr)
-!!$ h5eprint_def = hdferr
-
- END FUNCTION h5eprint_def
-
!****s* H5E/h5eset_auto2_f
!
! NAME
@@ -121,128 +107,4 @@ CONTAINS
hdferr = h5eset_auto2_c(printflag, estack_id_default, func_default, client_data_default)
END SUBROUTINE h5eset_auto_f
-!****s* H5E/h5eget_auto_f
-!
-! NAME
-! h5eget_auto_f
-!
-! PURPOSE
-! Returns the settings for the automatic error stack traversal function and its data.
-!
-! Inputs:
-! estack_id - Error stack identifier. H5E_DEFAULT_F indicates the current stack.
-! Outputs:
-! func - The function currently set to be called upon an error condition.
-! client_data - Data currently set to be passed to the error function.
-! hdferr - Returns 0 if successful and -1 if fails.
-!
-! AUTHOR
-! M. Scot Breitenfeld
-! July 10, 2009
-!
-! Signature:
- SUBROUTINE h5eget_auto_f(estack_id, op, client_data, hdferr)
- USE ISO_C_BINDING
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: estack_id
-!!$ TYPE(C_FUNPTR) :: op_f
-!!$ TYPE(C_PTR) :: client_data_f
- TYPE(C_FUNPTR) :: op
- TYPE(C_PTR), VALUE :: client_data
- INTEGER, INTENT(OUT) :: hdferr
-!*****
- INTEGER :: ret_func2
- !INTEGER(C_INT), DIMENSION(:), POINTER :: ptr_data
- INTEGER, DIMENSION(1:1) :: array_shape
- TYPE(C_PTR), TARGET :: f_ptr1
- INTEGER(C_INT) :: ptr_data
- INTEGER(C_INT) :: i
- TYPE(C_PTR) :: test
- INTEGER, POINTER :: a
-
- INTEGER, TARGET :: j
- TYPE(C_PTR) :: f_ptr2
-
- INTERFACE
- INTEGER FUNCTION h5eget_auto_c(estack_id, op, client_data, ret_func2)
- USE ISO_C_BINDING
- USE H5GLOBAL
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5EGET_AUTO_C'::h5eget_auto_c
- !DEC$ENDIF
- INTEGER(HID_T) :: estack_id
- TYPE(C_FUNPTR) :: op
- TYPE(C_PTR) :: client_data
- INTEGER :: ret_func2
- END FUNCTION h5eget_auto_c
-
-!!$ TYPE(C_PTR) FUNCTION h5eget_auto_c2(estack_id, op, ret_func2)
-!!$ USE ISO_C_BINDING
-!!$ USE H5GLOBAL
-!!$ IMPLICIT NONE
-!!$ !DEC$IF DEFINED(HDF5F90_WINDOWS)
-!!$ !DEC$ATTRIBUTES C,reference,decorate,alias:'H5EGET_AUTO_C'::h5eget_auto_c
-!!$ !DEC$ENDIF
-!!$ INTEGER(HID_T) :: estack_id
-!!$ TYPE(C_FUNPTR) :: op
-!!$ INTEGER :: ret_func2
-!!$ END FUNCTION h5eget_auto_c2
-
-!!$ SUBROUTINE process_buffer(estack_id, buffer)
-!!$ USE, INTRINSIC :: ISO_C_BINDING
-!!$ USE H5GLOBAL
-!!$ INTEGER(HID_T) :: estack_id
-!!$ TYPE(C_PTR) :: buffer
-!!$ END SUBROUTINE process_buffer
-
- END INTERFACE
-
-! j = -9999
-
-
- f_ptr2 = c_loc(j)
-! CALL process_buffer(estack_id,f_ptr2)
-
- hdferr = h5eget_auto_c(estack_id, op, f_ptr2, ret_func2)
-
-!!!!! PRINT*,c_associated(f_ptr2)
-!!$ hdferr = h5eget_auto_c(estack_id, op, client_data, ret_func2)
-
- PRINT*,'fortran',j
- stop
-
-! client_data = h5eget_auto_c2(estack_id, op, ret_func2)
-
-! PRINT*,'Is client_data associated',C_associated(client_data)
-! PRINT*,'Is op_data associated',C_associated(op)
-
-! ALLOCATE(i(1:1))
-! CALL c_f_pointer(f_ptr2,a,[1])
-! CALL c_f_pointer(f_ptr2,i)
-! PRINT*,i
-! PRINT*,"Buffer in (F) = ", a(1)
-
-! stop
-
-! ALLOCATE(ptr_data(1:2))
-! ptr_data = 0
-! array_shape(1) = 1
-! CALL C_F_POINTER(client_data, ptr_data, array_shape)
-! CALL C_F_POINTER(f_ptr2, i,(/ 1 /))
-
-! ptr_data => f_ptr1(1)
-
-! PRINT*,'value in fortran',i
-
-
-! Check to see if the user created their own function,
-! otherwise we have to create a fortran version of the default
-
-!!$ IF(ret_func2.EQ.0)THEN
-!!$ op = c_funloc(h5eprint_def)
-!!$ END IF
-
- END SUBROUTINE h5eget_auto_f
-
END MODULE H5E_PROVISIONAL
diff --git a/fortran/src/H5Pff_F03.f90 b/fortran/src/H5Pff_F03.f90
index cd635bc..b601e69 100644
--- a/fortran/src/H5Pff_F03.f90
+++ b/fortran/src/H5Pff_F03.f90
@@ -5,9 +5,9 @@
!
! PURPOSE
! This file contains Fortran 90 and Fortran 2003 interfaces for H5P functions.
-! It contains the same functions as H5Pff_DEPRECIATE.f90 but includes the
+! It contains the same functions as H5Pff_F90.f90 but includes the
! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Pff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
+! instead of H5Pff_F90.f90 if Fortran 2003 functions are enabled.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -41,7 +41,6 @@ MODULE H5P_PROVISIONAL
MODULE PROCEDURE h5pset_fill_value_integer
MODULE PROCEDURE h5pset_fill_value_real
MODULE PROCEDURE h5pset_fill_value_char
-
! Recommended procedure:
MODULE PROCEDURE h5pset_fill_value_ptr
@@ -51,7 +50,6 @@ MODULE H5P_PROVISIONAL
MODULE PROCEDURE h5pget_fill_value_integer
MODULE PROCEDURE h5pget_fill_value_real
MODULE PROCEDURE h5pget_fill_value_char
-
! Recommended procedure:
MODULE PROCEDURE h5pget_fill_value_ptr
@@ -136,7 +134,7 @@ MODULE H5P_PROVISIONAL
INTERFACE
INTEGER FUNCTION h5pget_c(prp_id, name, name_len, value)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
USE H5GLOBAL
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5PGET_C'::h5pget_c
@@ -183,24 +181,22 @@ MODULE H5P_PROVISIONAL
CONTAINS
!
-!****s* H5P (F03)/h5pset(get)fill_value_f
+!****s* H5P (F03)/h5pset_fill_value_f_F90
!
! NAME
-! h5pset(get)fill_value_f
+! h5pset_fill_value_f
!
! PURPOSE
-! Sets(gets) fill value for a dataset creation property list
+! Sets fill value for a dataset creation property list
!
! Inputs:
-! prp_id - dataset creation property list identifier
-! type_id - datatype identifier for fill value
-! fillvalue - fill value
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+! fillvalue - Fillvalue
+!
! Outputs:
-! type_id - datatype identifier for fill value
-! fillvalue - fill value
-! hdferr: - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
+!
! AUTHOR
! Elena Pourmal
! August 12, 1999
@@ -219,7 +215,16 @@ CONTAINS
! h5pset(get)fill_value_f function is overloaded to support
! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
!
-! Signature:
+! Fortran90 Interface:
+!! SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! IMPLICIT NONE
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(VOID) , INTENT(IN) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
+
SUBROUTINE h5pset_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -229,7 +234,6 @@ CONTAINS
! (in memory)
INTEGER, INTENT(IN), TARGET :: fillvalue ! Fillvalue
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
TYPE(C_PTR) :: f_ptr ! C address
f_ptr = C_LOC(fillvalue)
@@ -237,6 +241,48 @@ CONTAINS
hdferr = h5pset_fill_value_c(prp_id, type_id, f_ptr)
END SUBROUTINE h5pset_fill_value_integer
+!
+!****s* H5P (F03)/h5pget_fill_value_f_F90
+!
+! NAME
+! h5pget_fill_value_f
+!
+! PURPOSE
+! Gets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+!
+! Outputs:
+! fillvalue - Fillvalue
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pget(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(VOID) , INTENT(OUT) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pget_fill_value_integer(prp_id, type_id, fillvalue, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
@@ -333,7 +379,7 @@ CONTAINS
RETURN
ENDIF
- f_ptr = C_LOC(chr)
+ f_ptr = C_LOC(chr(1)(1:1))
hdferr = h5pget_fill_value_c(prp_id, type_id, f_ptr)
@@ -342,23 +388,107 @@ CONTAINS
ENDDO
DEALLOCATE(chr)
-
END SUBROUTINE h5pget_fill_value_char
+!
+!****s* H5P (F03)/h5pset_fill_value_f_F03
+!
+! NAME
+! h5pset_fill_value_f
+!
+! PURPOSE
+! Sets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+! fillvalue - Fillvalue
+!
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pset(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pset_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(C_PTR) , INTENT(IN) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pset_fill_value_ptr(prp_id, type_id, fillvalue, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
- ! of fillvalue datatype
- ! (in memory)
- TYPE(C_PTR), VALUE :: fillvalue ! Fillvalue
- INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ INTEGER(HID_T), INTENT(IN) :: type_id ! Datatype identifier of
+ ! of fillvalue datatype
+ ! (in memory)
+ TYPE(C_PTR), INTENT(IN) :: fillvalue ! Fillvalue
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
hdferr = h5pset_fill_value_c(prp_id, type_id, fillvalue)
END SUBROUTINE h5pset_fill_value_ptr
+!
+!****s* H5P (F03)/h5pget_fill_value_f_F03
+!
+! NAME
+! h5pget_fill_value_f
+!
+! PURPOSE
+! Gets fill value for a dataset creation property list
+!
+! Inputs:
+! prp_id - Property list identifier
+! type_id - Datatype identifier of fill value datatype (in memory)
+!
+! Outputs:
+! fillvalue - Fillvalue
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! August 12, 1999
+!
+! HISTORY
+!
+! Explicit Fortran interfaces were added for
+! called C functions (it is needed for Windows
+! port). March 14, 2001
+!
+! Added the recommended way of passing fillvalue
+! and that is by passing the C address, all other
+! ways are obsolete and should be avoided. June, 2008 MSB
+!
+! NOTES
+! h5pget(get)fill_value_f function is overloaded to support
+! INTEGER, REAL, DOUBLE PRECISION and CHARACTER dtatypes.
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pget_fill_value_f(prp_id, type_id, fillvalue, hdferr)
+!! INTEGER(HID_T), INTENT(IN) :: prp_id
+!! INTEGER(HID_T), INTENT(IN) :: type_id
+!! TYPE(C_PTR) , INTENT(OUT) :: fillvalue
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
SUBROUTINE h5pget_fill_value_ptr(prp_id, type_id, fillvalue, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -374,26 +504,36 @@ CONTAINS
END SUBROUTINE h5pget_fill_value_ptr
!
-!****s* H5P (F03)/h5pset_integer
+!****s* H5P (F03)/h5pset_f_F90
!
! NAME
-! h5pset_integer
+! h5pset_f
!
! PURPOSE
! Sets a property list value
!
! Inputs:
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
+! prp_id - Property list identifier to modify
+! name - Name of property to modify
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
+!
! AUTHOR
! Elena Pourmal
! October 9, 2002
-! Signature:
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pset_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pset_integer(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -401,7 +541,7 @@ CONTAINS
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
INTEGER, INTENT(IN), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
+
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr
@@ -412,27 +552,6 @@ CONTAINS
END SUBROUTINE h5pset_integer
-!
-!****s* H5P (F03)/h5pset_real
-!
-! NAME
-! h5pset_real
-!
-! PURPOSE
-! Sets a property list value
-!
-! Inputs:
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-! Signature:
SUBROUTINE h5pset_real(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -440,7 +559,6 @@ CONTAINS
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
REAL, INTENT(IN), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr
@@ -451,30 +569,6 @@ CONTAINS
END SUBROUTINE h5pset_real
-!
-!****s* H5P (F03)/h5pset_char
-!
-! NAME
-! h5pset_char
-!
-! PURPOSE
-! Sets a property list value
-!
-! Inputs:
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! value - value to set property to
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-! NONE
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-! Signature:
SUBROUTINE h5pset_char(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -482,7 +576,6 @@ CONTAINS
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
INTEGER :: i
@@ -504,7 +597,7 @@ CONTAINS
chr(i) = value(i:i)
ENDDO
- f_ptr = C_LOC(chr)
+ f_ptr = C_LOC(chr(1)(1:1))
name_len = LEN(name)
hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
@@ -512,28 +605,38 @@ CONTAINS
DEALLOCATE(chr)
END SUBROUTINE h5pset_char
-
!
-!****s* H5P (F03)/h5pget_integer
+!****s* H5P (F03)/h5pget_f_F90
!
! NAME
-! h5pget_integer
+! h5pget_f
!
! PURPOSE
-! Gets a property list value
+! Queries the value of a property.
!
! Inputs:
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
+! prp_id - Property list identifier to modify
+! name - Name of property to get
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
! Outputs:
-! value - value of property
-! hdferr: - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
+!
! AUTHOR
! Elena Pourmal
! October 9, 2002
-! Signature:
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pget_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE , INTENT(OUT) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
SUBROUTINE h5pget_integer(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -541,7 +644,6 @@ CONTAINS
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
INTEGER, INTENT(OUT), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr
@@ -552,28 +654,6 @@ CONTAINS
END SUBROUTINE h5pget_integer
-!
-!****s* H5P (F03)/h5pget_real
-!
-! NAME
-! h5pget_real
-!
-! PURPOSE
-! Gets a property list value
-!
-! Inputs:
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! Outputs:
-! value - value of property
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-!
-! AUTHOR
-! Elena Pourmal
-! October 9, 2002
-! Signature:
SUBROUTINE h5pget_real(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -581,7 +661,6 @@ CONTAINS
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
REAL, INTENT(OUT), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr
@@ -591,28 +670,6 @@ CONTAINS
hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
END SUBROUTINE h5pget_real
-!
-!****s* H5P (F03)/h5pget_char
-!
-! NAME
-! h5pget_char
-!
-! PURPOSE
-! Gets a property list value
-!
-! Inputs:
-! prp_id - iproperty list identifier to modify
-! name - name of property to modify
-! Outputs:
-! value - value of property
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-!
-! Elena Pourmal
-! October 9, 2002
-! Signature:
SUBROUTINE h5pget_char(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -620,7 +677,6 @@ CONTAINS
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
CHARACTER(LEN=*), INTENT(OUT) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
INTEGER :: i
@@ -634,7 +690,7 @@ CONTAINS
hdferr = -1
RETURN
ENDIF
- f_ptr = C_LOC(chr)
+ f_ptr = C_LOC(chr(1)(1:1))
name_len = LEN(name)
hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
@@ -647,12 +703,40 @@ CONTAINS
END SUBROUTINE h5pget_char
+
+!
+!****s* H5P (F03)/h5pset_f_F03
+!
+! NAME
+! h5pset_f
+!
+! PURPOSE
+! Sets a property list value
+!
+! Inputs:
+! prp_id - Property list identifier to modify
+! name - Name of property to modify
+! value - Pointer to value to set the property to
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pset_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE(C_PTR) , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pset_ptr(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
- TYPE(C_PTR), INTENT(OUT) :: value ! Property value
+ TYPE(C_PTR), INTENT(IN) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
INTEGER :: name_len
@@ -660,7 +744,33 @@ CONTAINS
hdferr = h5pset_c(prp_id, name, name_len, value)
END SUBROUTINE h5pset_ptr
-
+!
+!****s* H5P (F03)/h5pget_f_F03
+!
+! NAME
+! h5pget_f (F03)
+!
+! PURPOSE
+! Queries the value of a property.
+!
+! Inputs:
+! prp_id - Property list identifier to modify
+! name - Name of property to get
+! value - Pointer to a location to which to copy the value of of the property
+! Outputs:
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pget_f(plid, name, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: plid
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! TYPE(C_PTR) , INTENT(OUT) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pget_ptr(prp_id, name, value, hdferr)
USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
@@ -677,39 +787,47 @@ CONTAINS
!
-!****s* H5P (F03)/h5pregister_integer
+!****s* H5P (F03)/h5pregister_f_F90
!
! NAME
-! h5pregister_integer
+! h5pregister
!
! PURPOSE
! Registers a permanent property with a property list class.
!
! Inputs:
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
+! class - Property list class identifier
+! name - Name of property to register
+! size - Size of the property value
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
+!
! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
+!
! AUTHOR
! Elena Pourmal
! October 10, 2002
!
-! Signature:
+! Fortran90 Interface:
+!! SUBROUTINE h5pregister_f(class, name, size, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: class
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pregister_integer(class, name, size, value, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
INTEGER, INTENT(IN), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr
@@ -720,39 +838,14 @@ CONTAINS
END SUBROUTINE h5pregister_integer
-!
-!****s* H5P (F03)/h5pregister_real
-!
-! NAME
-! h5pregister_real
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! Inputs:
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! Signature:
SUBROUTINE h5pregister_real(class, name, size, value, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
REAL, INTENT(IN), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr
@@ -763,40 +856,14 @@ CONTAINS
END SUBROUTINE h5pregister_real
-!
-!****s* H5P (F03)/h5pregister_char
-!
-! NAME
-! h5pregister_char
-!
-! PURPOSE
-! Registers a permanent property with a property list class.
-!
-! Inputs:
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-!
-! Signature:
SUBROUTINE h5pregister_char(class, name, size, value, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
INTEGER(SIZE_T), INTENT(IN) :: size ! size of the property value
CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
INTEGER :: i
@@ -818,46 +885,51 @@ CONTAINS
chr(i) = value(i:i)
ENDDO
- f_ptr = C_LOC(chr)
+ f_ptr = C_LOC(chr(1)(1:1))
name_len = LEN(name)
hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
DEALLOCATE(chr)
END SUBROUTINE h5pregister_char
-
!
-!****s* H5P (F03)/h5pregister_ptr
+!****s* H5P (F03)/h5pregister_f_F03
!
! NAME
-! h5pregister_ptr
+! h5pregister (F03)
!
! PURPOSE
! Registers a permanent property with a property list class.
!
! Inputs:
-! class - property list class to register
-! permanent property within
-! name - name of property to register
-! size - size of property in bytes
-! value - default value for property in newly
-! created property lists
+! class - Property list class identifier
+! name - Name of property to register
+! size - Size of the property value
+! value - Pointer to value to set the property to
+!
! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
+!
! AUTHOR
! M. Scot Breitenfeld
! June 24, 2008
-! Signature:
+!
+! Fortran2003 Interface:
+!! SUBROUTINE h5pregister_f(class, name, size, value, hdferr)
+!! INTEGER(HID_T) , INTENT(IN) :: class
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE(C_PTR) , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
+
SUBROUTINE h5pregister_ptr(class, name, size, value, hdferr)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
TYPE(C_PTR), INTENT(IN) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
name_len = LEN(name)
@@ -865,28 +937,37 @@ CONTAINS
END SUBROUTINE h5pregister_ptr
!
-!****s* H5P (F03)/h5pinsert_integer
+!****s* H5P (F03)/h5pinsert_f_F90
!
! NAME
-! h5pinsert_integer
+! h5pinsert (f90)
!
! PURPOSE
! Registers a temporary property with a property list class.
!
! Inputs:
-! plist - property list identifier
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
+! plist - Property list class identifier
+! name - Name of property to insert
+! size - Size of the property value
+! value - Property value, supported types are:
+! INTEGER
+! REAL
+! DOUBLE PRECISION
+! CHARACTER(LEN=*)
! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
+! hdferr - Returns 0 if successful and -1 if fails
! AUTHOR
! Elena Pourmal
! October 10, 2002
!
-! Signature:
+! Fortran90 Interface:
+!! SUBROUTINE h5pinsert_f
+!! INTEGER(HID_T) , INTENT(IN) :: plist
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pinsert_integer(plist, name, size, value, hdferr)
USE iso_c_binding
IMPLICIT NONE
@@ -895,7 +976,6 @@ CONTAINS
INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
INTEGER, INTENT(IN), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(c_ptr) :: f_ptr
@@ -905,29 +985,6 @@ CONTAINS
hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
END SUBROUTINE h5pinsert_integer
-!
-!****s* H5P (F03)/h5pinsert_real
-!
-! NAME
-! h5pinsert_real
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! Inputs:
-! plist - property list identifier
-! permanent property within
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! Signature:
SUBROUTINE h5pinsert_real(plist, name, size, value, hdferr)
USE iso_c_binding
IMPLICIT NONE
@@ -936,7 +993,6 @@ CONTAINS
INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
REAL, INTENT(IN), TARGET :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
TYPE(c_ptr) :: f_ptr
@@ -947,29 +1003,6 @@ CONTAINS
END SUBROUTINE h5pinsert_real
-!
-!****s* H5P (F03)/h5pinsert_char
-!
-! NAME
-! h5pinsert_char
-!
-! PURPOSE
-! Registers a temporary property with a property list class.
-!
-! Inputs:
-! plist - property list identifier
-! permanent property within
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
-! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
-! Elena Pourmal
-! October 10, 2002
-! Signature:
SUBROUTINE h5pinsert_char(plist, name, size, value, hdferr)
USE iso_c_binding
IMPLICIT NONE
@@ -978,7 +1011,6 @@ CONTAINS
INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
CHARACTER(LEN=*), INTENT(IN) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
INTEGER :: i
@@ -1000,7 +1032,7 @@ CONTAINS
chr(i) = value(i:i)
ENDDO
- f_ptr = C_LOC(chr)
+ f_ptr = C_LOC(chr(1)(1:1))
name_len = LEN(name)
hdferr = h5pinsert_c(plist, name , name_len, size, f_ptr)
@@ -1010,28 +1042,35 @@ CONTAINS
END SUBROUTINE h5pinsert_char
!
-!****s* H5P (F03)/h5pinsert_ptr
+!****s* H5P (F03)/h5pinsert_f_F03
!
! NAME
-! h5pinsert_ptr
+! h5pinsert (f03)
!
! PURPOSE
! Registers a temporary property with a property list class.
!
! Inputs:
-! plist - property list identifier
-! permanent property within
-! name - name of property to insert
-! size - size of property in bytes
-! value - initial value for the property
+! plist - Property list class identifier
+! name - Name of property to insert
+! size - Size of the property value
+! value - Pointer to new value pointer for the property being modified
+!
! Outputs:
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! AUTHOR
+! hdferr - Returns 0 if successful and -1 if fails
+!
+! AUTHOR
! M. Scot Breitenfeld
! June 24, 2008
-! Signature:
+!
+! Fortran90 Interface:
+!! SUBROUTINE h5pinsert_f
+!! INTEGER(HID_T) , INTENT(IN) :: plist
+!! CHARACTER(LEN=*), INTENT(IN) :: name
+!! INTEGER(SIZE_T) , INTENT(IN) :: size
+!! TYPE(C_PTR) , INTENT(IN) :: value
+!! INTEGER , INTENT(OUT) :: hdferr
+!*****
SUBROUTINE h5pinsert_ptr(plist, name, size, value, hdferr)
USE iso_c_binding
IMPLICIT NONE
@@ -1040,15 +1079,13 @@ CONTAINS
INTEGER(SIZE_T), INTENT(IN) :: size ! Size of property value
TYPE(c_ptr), INTENT(IN) :: value ! Property value
INTEGER, INTENT(OUT) :: hdferr ! Error code
-!*****
INTEGER :: name_len
name_len = LEN(name)
hdferr = h5pinsert_c(plist, name , name_len, size, value)
END SUBROUTINE h5pinsert_ptr
-
!
-!****s* H5P (F03)/h5pcreate_class_f
+!****s* H5P (F03)/h5pcreate_class_f_F03
!
! NAME
! h5pcreate_class_f
@@ -1057,21 +1094,20 @@ CONTAINS
! Create a new property list class
!
! Inputs:
-! parent - Property list identifier of the parent class
-! Possible values include:
-! H5P_ROOT_F
-! H5P_FILE_CREATE_F
-! H5P_FILE_ACCESS_F
-! H5P_DATASET_CREATE_F
-! H5P_DATASET_XFER_F
-! H5P_FILE_MOUNT_F
-! name - name of the class we are creating
+! parent - Parent property list class identifier
+! Possible values include:
+! H5P_ROOT_F
+! H5P_FILE_CREATE_F
+! H5P_FILE_ACCESS_F
+! H5P_DATASET_CREATE_F
+! H5P_DATASET_XFER_F
+! H5P_FILE_MOUNT_F
+! name - Name of property to create
+!
! Outputs:
-! class - porperty list class identifier
-! hdferr: - error code
+! class - Property list class identifier
+! hdferr - Returns 0 if successful and -1 if fails
!
-! Success: 0
-! Failure: -1
! Optional parameters:
! H5P_cls_create_func_t (create) - Callback routine called when a property list is created
! create_data - User pointer to any class creation information needed
@@ -1088,16 +1124,16 @@ CONTAINS
! Added callback arguments
! M. Scot Breitenfeld, July 3, 2008
!
-! Signature:
+! Fortran2003 Interface:
SUBROUTINE h5pcreate_class_f(parent, name, class, hdferr, create, create_data, copy, copy_data, close, close_data)
USE iso_c_binding
IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: parent ! parent property list class identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! name of property tocreate
- INTEGER(HID_T), INTENT(OUT) :: class ! property list class identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- TYPE(C_PTR), OPTIONAL :: create_data, copy_data, close_data
- TYPE(C_FUNPTR), OPTIONAL :: create, copy, close
+ INTEGER(HID_T) , INTENT(IN) :: parent
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER(HID_T) , INTENT(OUT) :: class
+ INTEGER , INTENT(OUT) :: hdferr
+ TYPE(C_PTR) , OPTIONAL :: create_data, copy_data, close_data
+ TYPE(C_FUNPTR) , OPTIONAL :: create, copy, close
!*****
INTEGER :: name_len
TYPE(C_PTR) :: create_data_default, copy_data_default, close_data_default
@@ -1143,7 +1179,6 @@ CONTAINS
copy_default, copy_data_default, &
close_default, close_data_default)
-
END SUBROUTINE h5pcreate_class_f
END MODULE H5P_PROVISIONAL
diff --git a/fortran/src/H5Tff_F03.f90 b/fortran/src/H5Tff_F03.f90
index 01600a0..902e2ac 100644
--- a/fortran/src/H5Tff_F03.f90
+++ b/fortran/src/H5Tff_F03.f90
@@ -5,9 +5,9 @@
!
! PURPOSE
! This file contains Fortran 90 and Fortran 2003 interfaces for H5T functions.
-! It contains the same functions as H5Tff_DEPRECIATE.f90 but includes the
+! It contains the same functions as H5Tff_F90.f90 but includes the
! Fortran 2003 functions and the interface listings. This file will be compiled
-! instead of H5Tff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.
+! instead of H5Tff_F90.f90 if Fortran 2003 functions are enabled.
!
! COPYRIGHT
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
@@ -36,16 +36,20 @@
MODULE H5T_PROVISIONAL
USE H5GLOBAL
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
+!****t* H5T (F03)/hvl_t
+! Fortran2003 Derived Type:
TYPE hvl_t
INTEGER(size_t) :: len ! Length of VL data (in base type units)
TYPE(C_PTR) :: p ! Pointer to VL data
END TYPE hvl_t
+!*****
+
CONTAINS
-!****s* H5T (F03)/H5Tconvert_f
+!****s* H5T (F03)/H5Tconvert_f_F03
!
! NAME
! H5Tconvert_f
@@ -69,9 +73,9 @@ CONTAINS
! M. Scot Breitenfeld
! Decemember 8, 2008
!
-! Signature:
+! Fortran2003 Interface:
SUBROUTINE h5tconvert_f(src_id, dst_id, nelmts, buf, hdferr, background, plist_id)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
IMPLICIT NONE
INTEGER(HID_T) , INTENT(IN) :: src_id
INTEGER(HID_T) , INTENT(IN) :: dst_id
@@ -86,7 +90,7 @@ CONTAINS
INTERFACE
INTEGER FUNCTION h5tconvert_c(src_id, dst_id, nelmts, buf, background, plist_id)
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
USE H5GLOBAL
!DEC$IF DEFINED(HDF5F90_WINDOWS)
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5TCONVERT_C'::H5Tconvert_c
diff --git a/fortran/src/H5_ff_F03.f90 b/fortran/src/H5_ff_F03.f90
index 3a1bc59..504f385 100644
--- a/fortran/src/H5_ff_F03.f90
+++ b/fortran/src/H5_ff_F03.f90
@@ -47,13 +47,13 @@ CONTAINS
! end - ending pointer address
!
! Outputs:
-! offset - offset
+! offset - offset of a member within the derived type
!
! AUTHOR
! M. Scot Breitenfeld
! Augest 25, 2008
!
-! Signature:
+! Fortran2003 Interface:
FUNCTION h5offsetof(start,end) RESULT(offset)
USE, INTRINSIC :: ISO_C_BINDING
USE H5GLOBAL
diff --git a/fortran/src/H5f90proto.h b/fortran/src/H5f90proto.h
index 7f45ff9..c9319d5 100644
--- a/fortran/src/H5f90proto.h
+++ b/fortran/src/H5f90proto.h
@@ -1144,8 +1144,6 @@ H5_FCDLL int_f nh5iis_valid_c(hid_t_f *obj_id, int_f *c_valid);
#define nh5eget_minor_c H5_FC_FUNC_(h5eget_minor_c, H5EGET_MINOR_C)
#define nh5eset_auto_c H5_FC_FUNC_(h5eset_auto_c, H5ESET_AUTO_C)
#define nh5eset_auto2_c H5_FC_FUNC_(h5eset_auto2_c, H5ESET_AUTO2_C)
-#define nh5eget_auto_c H5_FC_FUNC_(h5eget_auto_c, H5EGET_AUTO_C)
-#define nh5eget_auto_c2 H5_FC_FUNC_(h5eget_auto_c2, H5EGET_AUTO_C2)
#define nprocess_buffer H5_FC_FUNC_(process_buffer, PROCESS_BUFFER)
@@ -1156,8 +1154,6 @@ H5_FCDLL int_f nh5eget_major_c(int_f* error_no, _fcd name, size_t_f* namelen);
H5_FCDLL int_f nh5eget_minor_c(int_f* error_no, _fcd name, size_t_f* namelen);
H5_FCDLL int_f nh5eset_auto_c(int_f* printflag);
H5_FCDLL int_f nh5eset_auto2_c(int_f* printflag, hid_t_f *estack_id, H5E_auto2_t func, void *client_data);
-H5_FCDLL int_f nh5eget_auto_c(hid_t_f *estack_id, H5E_auto2_t *func, void **client_data, int_f* ret_func);
-H5_FCDLL void* nh5eget_auto_c2(hid_t_f *estack_id, H5E_auto2_t *func, int_f* ret_func);
H5_FCDLL int_f nprocess_buffer(hid_t_f *estack_id,void **buffer);
/*