summaryrefslogtreecommitdiffstats
path: root/hl/fortran/src/H5LTff.F90
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2015-04-23 20:12:13 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2015-04-23 20:12:13 (GMT)
commitf0c4d55f914d3d7ee27703fbeb54c99ffa1603eb (patch)
tree8ab3347ac0b507ebaac505a015b6f24198d2b08c /hl/fortran/src/H5LTff.F90
parent05a320e9eb464e7b905fcfd4fc3bb4f4d83793ed (diff)
downloadhdf5-f0c4d55f914d3d7ee27703fbeb54c99ffa1603eb.zip
hdf5-f0c4d55f914d3d7ee27703fbeb54c99ffa1603eb.tar.gz
hdf5-f0c4d55f914d3d7ee27703fbeb54c99ffa1603eb.tar.bz2
[svn-r26908] Added missing c_long_double interfaces, now handles promotion of reals and integers to 8 bytes, added C wrappers that take pointers from Fortran.
Diffstat (limited to 'hl/fortran/src/H5LTff.F90')
-rw-r--r--hl/fortran/src/H5LTff.F905390
1 files changed, 615 insertions, 4775 deletions
diff --git a/hl/fortran/src/H5LTff.F90 b/hl/fortran/src/H5LTff.F90
index 92f067d..0d05a36 100644
--- a/hl/fortran/src/H5LTff.F90
+++ b/hl/fortran/src/H5LTff.F90
@@ -14,11 +14,24 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! This file contains FORTRAN90 interfaces for H5LT functions
+! This file contains FORTRAN interfaces for H5LT functions
+!
+! NOTES
+!
+! _____ __ __ _____ ____ _____ _______ _ _ _______
+! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __|
+! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | ****
+! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | ****
+! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | ****
+! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_|
+!
+! If you add a new function here then you MUST add the function name to the
+! Windows dll file 'hdf5_hl_fortrandll.def.in' in the hl/fortran/src directory.
+! This is needed for Windows based operating systems.
!
MODULE h5lt
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
@@ -200,13 +213,81 @@ MODULE h5lt
MODULE PROCEDURE h5ltread_dataset_c_long_double_f_7
END INTERFACE
+ INTERFACE
+ INTEGER FUNCTION h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
+ BIND(C,NAME='h5ltmake_dataset_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: rank ! rank
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ END FUNCTION h5ltmake_dataset_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,buf,dims) &
+ BIND(C,NAME='h5ltread_dataset_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ END FUNCTION h5ltread_dataset_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf,dtype) &
+ BIND(C,NAME='h5ltset_attribute_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ INTEGER(size_t), INTENT(in) :: size ! size of attribute array
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the
+ ! the buffer:
+ ! R=Real, D=DOUBLE, I=Interger, C=Character
+ END FUNCTION h5ltset_attribute_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,dtype) &
+ BIND(C,NAME='h5ltget_attribute_c')
+ IMPORT :: C_CHAR, C_PTR
+ IMPORT :: HID_T, SIZE_T, HSIZE_T
+ IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: attrlen ! length of attr name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dtype ! flag indicating the datatype of the
+ ! the buffer:
+ ! R=Real, D=DOUBLE, I=Interger, C=Character
+ END FUNCTION h5ltget_attribute_c
+ END INTERFACE
+
CONTAINS
!-------------------------------------------------------------------------
! Make/Read dataset functions
!-------------------------------------------------------------------------
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int1
+ ! Function(s): h5ltmake_dataset_f_int(1-7)
!
! Purpose: Creates and writes a dataset of a type TYPE_ID
!
@@ -218,7 +299,7 @@ CONTAINS
!
! Comments:
!
- ! Modifications:
+ ! Modifications: Changed to passing C_PTR.
!
!-------------------------------------------------------------------------
@@ -231,61 +312,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int1_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int1_c
- END INTERFACE
-
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int1
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_int2(loc_id,&
dset_name,&
rank,&
@@ -295,63 +337,24 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int2_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_int3(loc_id,&
dset_name,&
rank,&
@@ -361,14 +364,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -377,59 +372,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int3_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_int4(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -438,59 +394,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int4_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_int5(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -499,59 +416,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int5_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_int6(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -560,59 +438,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int6_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_int7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_int7(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_int7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -621,33 +460,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_int7_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_int7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_int7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_int7
-
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float1
+ ! Function(s): h5ltmake_dataset_f_c_float(1-7)
!
! Purpose: Creates and writes a dataset of a type TYPE_ID
!
@@ -672,61 +496,23 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl1_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float1
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_float2(loc_id,&
dset_name,&
rank,&
@@ -736,14 +522,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -752,47 +530,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl2_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_float3(loc_id,&
dset_name,&
rank,&
@@ -802,14 +549,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -818,63 +557,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl3_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_FL3_C'::h5ltmake_dataset_fl3_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_float4(loc_id, dset_name, rank, dims,&
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -883,59 +579,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl4_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_float5(loc_id, dset_name, rank, dims,&
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -944,59 +601,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl5_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_float6(loc_id, dset_name, rank, dims,&
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1005,59 +623,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl6_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_float7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_float7(loc_id, dset_name, rank, dims,&
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_float7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1066,32 +645,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_fl7_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_fl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_fl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_float7
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double1
+ ! Function(s): h5ltmake_dataset_f_c_double(1-7)
!
! Purpose: Creates and writes a dataset of a type TYPE_ID
!
@@ -1116,65 +681,23 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl1_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double1
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_double2(loc_id,&
dset_name,&
rank,&
@@ -1184,14 +707,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1200,47 +715,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf ! data buffer
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl2_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_double3(loc_id,&
dset_name,&
rank,&
@@ -1250,14 +734,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1266,59 +742,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl3_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl3_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_double4(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1327,59 +763,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl4_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl4_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3), dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_double5(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1388,59 +784,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl5_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl5_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_double6(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1449,59 +805,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl6_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl6_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_double7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_double7(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_double7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1510,32 +826,17 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl7_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl7_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_double7
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double1
+ ! Function(s): h5ltmake_dataset_f_c_long_double(1-7)
!
! Purpose: Creates and writes a dataset of a type TYPE_ID
!
@@ -1560,65 +861,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl1_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_DL1_C'::h5ltmake_dataset_dl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl1_c
- END INTERFACE
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double1
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double2
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_long_double2(loc_id,&
dset_name,&
rank,&
@@ -1628,14 +886,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1644,47 +894,15 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl2_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl2_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double3
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 1, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_long_double3(loc_id,&
dset_name,&
rank,&
@@ -1694,14 +912,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1710,59 +920,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl3_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl3_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double4
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_long_double4(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1771,59 +941,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3), dims(4)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl4_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl4_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3), dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double5
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_long_double5(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1832,59 +962,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl5_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl5_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double5
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double6
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_long_double6(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1893,59 +982,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl6_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl6_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_f_c_long_double7
- !
- ! Purpose: Creates and writes a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 7, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_f_c_long_double7(loc_id, dset_name, rank, dims, &
type_id, buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_f_c_long_double7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -1954,32 +1003,17 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_dl7_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_dl7_c
- END INTERFACE
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_dl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,type_id,f_ptr)
END SUBROUTINE h5ltmake_dataset_f_c_long_double7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int1
+ ! Function(s): h5ltread_dataset_f_int(1-7)
!
! Purpose: Read a dataset of a type TYPE_ID
!
@@ -2003,39 +1037,19 @@ CONTAINS
errcode )
IMPLICIT NONE
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
+ INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
+ INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen
+ TYPE(C_PTR) :: f_ptr
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int1
- !DEC$endif
- !
-
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int1_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
- INTEGER(HID_T), INTENT(IN) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(IN) :: dset_name ! name of the dataset
- INTEGER(HSIZE_T), DIMENSION(*), INTENT(IN) :: dims ! size of the buffer buf
- INTEGER, INTENT(IN), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int1_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int1
@@ -2064,14 +1078,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2079,46 +1085,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int2_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int2_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_int3(loc_id,&
dset_name,&
type_id,&
@@ -2127,14 +1103,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2142,58 +1110,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int3_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int3_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_int4(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2201,58 +1131,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int4_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int4_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_int5(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2260,26 +1152,13 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int5_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int5_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int5
@@ -2304,14 +1183,6 @@ CONTAINS
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2319,58 +1190,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int6_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int6_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_int7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 12, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_int7(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_int7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2378,32 +1211,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_int7_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_int7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_int7_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_int7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float1
+ ! Function(s): h5ltread_dataset_f_c_float(1-7)
!
! Purpose: Read a dataset of a type TYPE_ID
!
@@ -2427,59 +1247,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl1_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float1
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_float2(loc_id,&
dset_name,&
type_id,&
@@ -2488,15 +1271,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float2
- !DEC$endif
- !
-
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2504,46 +1278,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl2_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_float3(loc_id,&
dset_name,&
type_id,&
@@ -2552,14 +1296,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2567,58 +1303,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl3_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_float4(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2626,58 +1324,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl4_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_float5(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2685,26 +1345,13 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl5_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float5
@@ -2729,14 +1376,6 @@ CONTAINS
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2744,58 +1383,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl6_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_float7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_float7(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_float7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2803,32 +1404,19 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_fl7_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_fl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_fl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_float7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double1
+ ! Function(s): h5ltread_dataset_f_c_double(1-7)
!
! Purpose: Read a dataset of a type TYPE_ID
!
@@ -2852,59 +1440,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport ::h5ltread_dataset_f_c_double1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_DOUBLE), INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl1_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double1
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_double2(loc_id,&
dset_name,&
type_id,&
@@ -2913,14 +1464,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_double2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2928,46 +1471,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl2_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_double3(loc_id,&
dset_name,&
type_id,&
@@ -2976,14 +1489,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_double3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -2991,58 +1496,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl3_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_double4(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_double4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3050,58 +1517,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl4_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_double5(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_double5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3109,58 +1538,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl5_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_double6(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_double6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3168,58 +1559,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl6_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_double7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_double7(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_double7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3227,31 +1580,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl7_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_double7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double1
+ ! Function(s): h5ltread_dataset_f_c_long_double(1-7)
!
! Purpose: Read a dataset of a type TYPE_ID
!
@@ -3275,59 +1615,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport ::h5ltread_dataset_f_c_long_double1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_LONG_DOUBLE), INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl1_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl1_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double1
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double2
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_long_double2(loc_id,&
dset_name,&
type_id,&
@@ -3336,14 +1639,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_long_double2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3351,46 +1646,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl2_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl2_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double3
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_long_double3(loc_id,&
dset_name,&
type_id,&
@@ -3399,14 +1664,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_long_double3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3414,58 +1671,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl3_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl3_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double4
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_long_double4(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_long_double4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3473,58 +1692,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl4_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl4_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double5
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_long_double5(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_long_double5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3532,58 +1713,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl5_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl5_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double6
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_long_double6(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_long_double6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3591,58 +1734,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl6_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl6_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_f_c_long_double7
- !
- ! Purpose: Read a dataset of a type TYPE_ID
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_f_c_long_double7(loc_id, dset_name, type_id, buf, &
dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_f_c_long_double7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
@@ -3650,26 +1755,13 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_dl7_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_dl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_dl7_c(loc_id,namelen,dset_name,type_id,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,type_id,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_f_c_long_double7
@@ -3698,60 +1790,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint1_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint1_c
- END INTERFACE
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint1_c(loc_id,namelen,dset_name,rank,dims,h5t_native_integer,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,h5t_native_integer,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_1
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_int_f_2 (loc_id,&
dset_name,&
rank,&
@@ -3760,14 +1814,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -3775,49 +1821,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint2_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_2
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_int_f_3 (loc_id,&
dset_name,&
rank,&
@@ -3826,14 +1839,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -3841,60 +1846,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint3_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_int_f_4(loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -3902,60 +1867,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint4_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_int_f_5(loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -3963,60 +1888,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint5_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_int_f_6(loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4024,96 +1909,41 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint6_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_int_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_INT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_int_f_7(loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_int_f_7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
-
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nint7_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nint7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nint7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_INTEGER,f_ptr)
END SUBROUTINE h5ltmake_dataset_int_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_1
+ ! Function(s): h5ltmake_dataset_c_float_f_(1-7)
!
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
+ ! Purpose: Creates and writes a dataset of H5T_NATIVE_REAL type
!
! Return: Success: 0, Failure: -1
!
@@ -4135,64 +1965,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl1_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- !DEC$IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ATTRIBUTES C,reference,decorate,alias:'H5LTMAKE_DATASET_NFL1_C'::h5ltmake_dataset_nfl1_c
- !DEC$ENDIF
- !DEC$ATTRIBUTES reference :: dset_name
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl1_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_1
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_float_f_2 (loc_id,&
dset_name,&
rank,&
@@ -4201,14 +1989,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4216,47 +1996,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl2_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_float_f_3 (loc_id,&
dset_name,&
rank,&
@@ -4265,14 +2014,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4280,59 +2021,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl3_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_float_f_4 (loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4340,59 +2042,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl4_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_float_f_5 (loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4400,59 +2063,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl5_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_float_f_6 (loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4460,59 +2084,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl6_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_float_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_C_FLOAT type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_float_f_7 (loc_id, dset_name, rank, dims, &
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_float_f_7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4520,32 +2105,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_nfl7_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_nfl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_nfl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_REAL,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_float_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_1
+ ! Function9s): h5ltmake_dataset_c_double_f_(1-7)
!
! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
!
@@ -4569,14 +2140,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4584,48 +2147,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1)) :: buf ! data buffer
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl1_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_double_f_2 (loc_id,&
dset_name,&
rank,&
@@ -4634,14 +2165,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4649,47 +2172,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl2_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_double_f_3 (loc_id,&
dset_name,&
rank,&
@@ -4698,14 +2190,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4713,59 +2197,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl3_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_double_f_4 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4773,59 +2218,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl4_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_double_f_5 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4833,59 +2239,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl5_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_double_f_6 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4893,59 +2260,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl6_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_double_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_double_f_7 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -4953,32 +2281,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl7_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_double_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_1
+ ! Function(s): h5ltmake_dataset_c_long_double_f_(1-7)
!
! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
!
@@ -5002,14 +2316,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5017,48 +2323,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1)) :: buf ! data buffer
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl1_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl1_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_2
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_long_double_f_2 (loc_id,&
dset_name,&
rank,&
@@ -5067,14 +2341,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5082,47 +2348,16 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl2_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl2_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_3
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_long_double_f_3 (loc_id,&
dset_name,&
rank,&
@@ -5131,14 +2366,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5146,59 +2373,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl3_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl3_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_4
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_long_double_f_4 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5206,59 +2394,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl4_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl4_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_5
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_long_double_f_5 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5266,59 +2415,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl5_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl5_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_6
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_long_double_f_6 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5326,59 +2436,20 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl6_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl6_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltmake_dataset_c_long_double_f_7
- !
- ! Purpose: Creates and writes a dataset of H5T_NATIVE_DOUBLE type
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltmake_dataset_c_long_double_f_7 (loc_id, dset_name, rank, dims,&
buf, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_c_long_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(in) :: rank ! rank
@@ -5386,32 +2457,18 @@ CONTAINS
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,type_id,buf) &
- BIND(C,NAME='h5ltmake_dataset_ndl7_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: rank ! rank
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(in), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltmake_dataset_ndl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltmake_dataset_ndl7_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,buf)
+ errcode = h5ltmake_dataset_c(loc_id,namelen,dset_name,rank,dims,H5T_NATIVE_DOUBLE,f_ptr)
END SUBROUTINE h5ltmake_dataset_c_long_double_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_1
+ ! Function(s): h5ltread_dataset_int_f_(1-7)
!
! Purpose: Read a dataset
!
@@ -5434,61 +2491,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_1
- !DEC$endif
- !
-
INTEGER(HID_T), INTENT(IN) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint1_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint1_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_int_f_2(loc_id,&
dset_name,&
buf,&
@@ -5496,60 +2514,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint2_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint2_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_int_f_3(loc_id,&
dset_name,&
buf,&
@@ -5557,274 +2537,101 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint3_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint3_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_int_f_4(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint4_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint4_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_int_f_5(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint5_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint5_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_int_f_6(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint6_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint6_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_int_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_int_f_7(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_int_f_7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nint7_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- INTEGER, INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nint7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nint7_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_INTEGER,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_int_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_1
+ ! Function(s): h5ltread_dataset_c_float_f_(1-7)
!
! Purpose: Read a dataset
!
@@ -5847,61 +2654,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl1_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl1_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_float_f_2(loc_id,&
dset_name,&
buf,&
@@ -5909,60 +2677,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl2_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl2_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_float_f_3(loc_id,&
dset_name,&
buf,&
@@ -5970,273 +2700,100 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl3_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl3_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_float_f_4(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl4_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl4_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_float_f_5(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl5_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl5_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_float_f_6(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl6_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl6_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_float_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_float_f_7(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_float_f_7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_nfl7_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_FLOAT), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_nfl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_nfl7_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_REAL,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_float_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_1
+ ! Function(s): h5ltread_dataset_c_double_f_(1-7)
!
! Purpose: Read a dataset
!
@@ -6259,61 +2816,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl1_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_double_f_2(loc_id,&
dset_name,&
buf,&
@@ -6321,60 +2839,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl2_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_double_f_3(loc_id,&
dset_name,&
buf,&
@@ -6382,273 +2862,100 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl3_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_double_f_4(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl4_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_double_f_5(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl5_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_double_f_6(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl6_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_double_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_double_f_7(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_double_f_7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl7_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_double_f_7
!-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_1
+ ! Function9s): h5ltread_dataset_c_long_double_f_(1-7)
!
! Purpose: Read a dataset
!
@@ -6671,61 +2978,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_1
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
+ DIMENSION(dims(1)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl1_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl1_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl1_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_1
-
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_2
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_long_double_f_2(loc_id,&
dset_name,&
buf,&
@@ -6733,60 +3001,22 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_2
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl2_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl2_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl2_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_2
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_3
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: pvn@ncsa.uiuc.edu
- !
- ! Date: September 22, 2004
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_long_double_f_3(loc_id,&
dset_name,&
buf,&
@@ -6794,268 +3024,95 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_3
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl3_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl3_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl3_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_3
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_4
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_long_double_f_4(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_4
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl4_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl4_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl4_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_4
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_5
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_long_double_f_5(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_5
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl5_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl5_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl5_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_5
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_6
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_long_double_f_6(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_6
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl6_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl6_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl6_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_6
- !-------------------------------------------------------------------------
- ! Function: h5ltread_dataset_c_long_double_f_7
- !
- ! Purpose: Read a dataset
- !
- ! Return: Success: 0, Failure: -1
- !
- ! Programmer: M. Scot Breitenfeld
- !
- ! Date: March 8, 2011
- !
- ! Comments:
- !
- ! Modifications:
- !
- !-------------------------------------------------------------------------
-
SUBROUTINE h5ltread_dataset_c_long_double_f_7(loc_id, dset_name, buf, dims, errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_c_long_double_f_7
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,type_id,buf,dims) &
- BIND(C,NAME='h5ltread_dataset_ndl7_c')
- IMPORT :: C_CHAR, C_LONG_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(hid_t), INTENT(in) :: type_id ! datatype identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER(hsize_t), DIMENSION(*), INTENT(in) :: dims ! size of the buffer buf
- REAL(KIND=C_LONG_DOUBLE), INTENT(inout), &
- DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)) :: buf ! data buffer
- END FUNCTION h5ltread_dataset_ndl7_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
namelen = LEN(dset_name)
- errcode = h5ltread_dataset_ndl7_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,buf,dims)
+ errcode = h5ltread_dataset_c(loc_id,namelen,dset_name,H5T_NATIVE_DOUBLE,f_ptr,dims)
END SUBROUTINE h5ltread_dataset_c_long_double_f_7
@@ -7083,12 +3140,6 @@ CONTAINS
errcode )
IMPLICIT NONE
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltmake_dataset_string_f
- !DEC$endif
- !
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: buf ! data buffer
@@ -7102,11 +3153,11 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: buflen ! length of data buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ INTEGER(size_t) :: buflen ! length of data buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
END FUNCTION h5ltmake_dataset_string_c
END INTERFACE
@@ -7139,19 +3190,11 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltread_dataset_string_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(inout) :: buf ! data buffer
INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen ! name length
INTERFACE
INTEGER FUNCTION h5ltread_dataset_string_c(loc_id,namelen,dset_name,buf) &
@@ -7159,10 +3202,10 @@ CONTAINS
IMPORT :: C_CHAR
IMPORT :: HID_T, SIZE_T, HSIZE_T
IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf ! data buffer
+ INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
+ INTEGER(size_t) :: namelen ! length of name buffer
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(inout) :: buf ! data buffer
END FUNCTION h5ltread_dataset_string_c
END INTERFACE
@@ -7171,9 +3214,6 @@ CONTAINS
END SUBROUTINE h5ltread_dataset_string_f
-
-
-
!-------------------------------------------------------------------------
! Make/Read attribute functions
!-------------------------------------------------------------------------
@@ -7204,42 +3244,21 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_int_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER(size_t), INTENT(in) :: size ! size of attribute array
INTEGER :: errcode ! error code
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
+ INTEGER, DIMENSION(*), TARGET :: buf ! data buffer
INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) &
- BIND(C,NAME='h5ltset_attribute_int_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_int_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1:1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,f_ptr,'I'//C_NULL_CHAR)
END SUBROUTINE h5ltset_attribute_int_f
@@ -7268,42 +3287,21 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_c_float_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER(size_t), INTENT(in) :: size ! size of attribute array
INTEGER :: errcode ! error code
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) &
- BIND(C,NAME='h5ltset_attribute_float_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_float_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,f_ptr,'R'//C_NULL_CHAR)
END SUBROUTINE h5ltset_attribute_float_f
@@ -7332,42 +3330,21 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_double_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER(size_t), INTENT(in) :: size ! size of attribute array
INTEGER :: errcode ! error code
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf) &
- BIND(C,NAME='h5ltset_attribute_double_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER(size_t), INTENT(in) :: size ! size of attribute array
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_double_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
- errcode = h5ltset_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,size,buf)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,size,f_ptr,'D'//C_NULL_CHAR)
END SUBROUTINE h5ltset_attribute_double_f
@@ -7396,48 +3373,25 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltset_attribute_string_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER :: errcode ! error code
- CHARACTER(LEN=*), DIMENSION(*), INTENT(in) :: buf ! data buffer
+ CHARACTER(LEN=*), DIMENSION(*), INTENT(in), TARGET :: buf ! data buffer
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: attrlen ! name length
- INTEGER(size_t) :: buflen ! data buffer length
+ INTEGER(size_t) :: buflen ! data buffer length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf) &
- BIND(C,NAME='h5ltset_attribute_string_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- INTEGER(size_t) :: buflen ! data buffer length
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
- END FUNCTION h5ltset_attribute_string_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1)(1:1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
buflen = LEN(buf)
- errcode = h5ltset_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,buf)
+ errcode = h5ltset_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,buflen,f_ptr,'C'//C_NULL_CHAR)
END SUBROUTINE h5ltset_attribute_string_f
-
-
!-------------------------------------------------------------------------
! Function: h5ltget_attribute_int_f
!
@@ -7462,46 +3416,26 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_int_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER :: errcode ! error code
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer
+ INTEGER, INTENT(inout), DIMENSION(*), TARGET :: buf! data buffer
INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) &
- BIND(C,NAME='h5ltget_attribute_int_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- INTEGER, INTENT(inout), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltget_attribute_int_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_int_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'I'//C_NULL_CHAR)
END SUBROUTINE h5ltget_attribute_int_f
!-------------------------------------------------------------------------
- ! Function: h5ltget_attribute_c_float_f
+ ! Function: h5ltget_attribute_float_f
!
! Purpose: Reads an attribute named ATTR_NAME
!
@@ -7524,40 +3458,20 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_float_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER :: errcode ! error code
- REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*), TARGET :: buf
INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) &
- BIND(C,NAME='h5ltget_attribute_float_c')
- IMPORT :: C_CHAR, C_FLOAT
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- REAL(KIND=C_FLOAT), INTENT(inout), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltget_attribute_float_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_float_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'R'//C_NULL_CHAR)
END SUBROUTINE h5ltget_attribute_float_f
@@ -7585,40 +3499,20 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_double_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER :: errcode ! error code
- REAL(KIND=C_DOUBLE),INTENT(inout),DIMENSION(*) :: buf ! data buffer
+ REAL(KIND=C_DOUBLE),INTENT(inout),DIMENSION(*), TARGET :: buf
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: attrlen ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf) &
- BIND(C,NAME='h5ltget_attribute_double_c')
- IMPORT :: C_CHAR, C_DOUBLE
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- INTEGER(size_t) :: namelen ! length of name buffer
- INTEGER(size_t) :: attrlen ! length of attr name buffer
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: attr_name ! name of the attribute
- REAL(KIND=C_DOUBLE), INTENT(inout), DIMENSION(*) :: buf ! data buffer
- END FUNCTION h5ltget_attribute_double_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
attrlen = LEN(attr_name)
- errcode = h5ltget_attribute_double_c(loc_id,namelen,dset_name,attrlen,attr_name,buf)
+ errcode = h5ltget_attribute_c(loc_id,namelen,dset_name,attrlen,attr_name,f_ptr,'D'//C_NULL_CHAR)
END SUBROUTINE h5ltget_attribute_double_f
@@ -7646,24 +3540,16 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_string_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
INTEGER :: errcode ! error code
- CHARACTER(LEN=*), INTENT(inout) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: attrlen ! name length
- INTEGER(size_t) :: buf_size ! buf size
+ CHARACTER(LEN=*), INTENT(inout) :: buf
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: attrlen ! name length
+ INTEGER(size_t) :: buf_size ! buf size
- INTERFACE
+ INTERFACE
INTEGER FUNCTION h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size) &
BIND(C,NAME='h5ltget_attribute_string_c')
IMPORT :: C_CHAR
@@ -7679,8 +3565,8 @@ CONTAINS
END FUNCTION h5ltget_attribute_string_c
END INTERFACE
- namelen = LEN(dset_name)
- attrlen = LEN(attr_name)
+ namelen = LEN(dset_name)
+ attrlen = LEN(attr_name)
buf_size = LEN(buf)
errcode = h5ltget_attribute_string_c(loc_id,namelen,dset_name,attrlen,attr_name,buf,buf_size)
@@ -7714,14 +3600,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_dataset_ndims_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER, INTENT(inout) :: rank ! rank
@@ -7769,14 +3647,6 @@ CONTAINS
dset_name)
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltfind_dataset_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER :: errcode ! error code
@@ -7825,14 +3695,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_dataset_info_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
INTEGER(hsize_t),DIMENSION(*),INTENT(inout):: dims ! dimensions
@@ -7891,14 +3753,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_ndims_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
@@ -7955,14 +3809,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltget_attribute_info_f
- !DEC$endif
- !
-
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
CHARACTER(LEN=*), INTENT(in) :: attr_name ! name of the attribute
@@ -8016,12 +3862,6 @@ CONTAINS
SUBROUTINE h5ltpath_valid_f(loc_id, path, check_object_valid, path_valid, errcode)
IMPLICIT NONE
- !
- !This definition is needed for Windows DLLs
- !DEC$if defined(BUILD_HDF5_HL_DLL)
- !DEC$attributes dllexport :: h5ltpath_valid_f
- !DEC$endif
- !
INTEGER(hid_t) , INTENT(IN) :: loc_id ! An identifier of an object in the file.
CHARACTER(LEN=*), INTENT(IN) :: path ! Path to the object to check, relative to loc_id.
LOGICAL , INTENT(IN) :: check_object_valid ! Indicates whether to check if the final component