summaryrefslogtreecommitdiffstats
path: root/hl
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
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')
-rw-r--r--hl/fortran/src/CMakeLists.txt10
-rw-r--r--hl/fortran/src/H5IMff.F90102
-rw-r--r--hl/fortran/src/H5LTf90proto.h1088
-rw-r--r--hl/fortran/src/H5LTfc.c1074
-rw-r--r--hl/fortran/src/H5LTff.F905390
-rw-r--r--hl/fortran/src/H5TBfc.c287
-rw-r--r--hl/fortran/src/H5TBff.F901230
-rw-r--r--hl/fortran/src/hdf5_hl_fortrandll.def.in16
-rw-r--r--hl/fortran/test/tstlite.f904
-rw-r--r--hl/fortran/test/tsttable.f901
10 files changed, 1085 insertions, 8117 deletions
diff --git a/hl/fortran/src/CMakeLists.txt b/hl/fortran/src/CMakeLists.txt
index c5ef916..e52855c 100644
--- a/hl/fortran/src/CMakeLists.txt
+++ b/hl/fortran/src/CMakeLists.txt
@@ -2,6 +2,16 @@ cmake_minimum_required (VERSION 3.1.0)
PROJECT(HDF5_HL_F90_SRC C CXX Fortran)
#-----------------------------------------------------------------------------
+# configure def file for shared libs on windows
+if (WIN32)
+ if (BUILD_SHARED_LIBS)
+ if (MSVC)
+ configure_file (${HDF5_HL_F90_SRC_SOURCE_DIR}/hdf5_hl_fortrandll.def.in ${HDF5_F90_SRC_BINARY_DIR}/hdf5_hl_fortrandll.def @ONLY)
+ endif (MSVC)
+ endif (BUILD_SHARED_LIBS)
+endif (WIN32)
+
+#-----------------------------------------------------------------------------
# Setup include Directories
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES (
diff --git a/hl/fortran/src/H5IMff.F90 b/hl/fortran/src/H5IMff.F90
index 64fc644..4408dda 100644
--- a/hl/fortran/src/H5IMff.F90
+++ b/hl/fortran/src/H5IMff.F90
@@ -14,11 +14,24 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! This file contains FORTRAN90 interfaces for H5IM functions
+! This file contains FORTRAN interfaces for H5IM 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 h5im
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
CONTAINS
@@ -49,13 +62,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_image_8bit_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), INTENT(in) :: width ! width of image
@@ -106,13 +112,7 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imread_image_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), DIMENSION(*) :: buf ! buffer
@@ -164,13 +164,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_image_24bit_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), INTENT(in) :: width ! width of image
@@ -234,13 +227,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_image_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), INTENT(inout) :: width ! width of image
@@ -298,13 +284,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imis_image_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
@@ -354,13 +333,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5immake_palette_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), INTENT(in), DIMENSION(*) :: pal_dims ! dimensions
@@ -411,12 +383,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imlink_palette_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) :: pal_name ! palette name
@@ -468,13 +434,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imunlink_palette_f
-!DEC$endif
-!
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
@@ -527,13 +486,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_npalettes_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), INTENT(inout) :: npals ! palettes
@@ -583,14 +535,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_palette_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
@@ -642,13 +586,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imget_palette_f
-!DEC$endif
-!
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(len=*), INTENT(in) :: dset_name ! name of the dataset
@@ -699,13 +636,6 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5imis_palette_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
diff --git a/hl/fortran/src/H5LTf90proto.h b/hl/fortran/src/H5LTf90proto.h
index 4714b83..834e63a 100644
--- a/hl/fortran/src/H5LTf90proto.h
+++ b/hl/fortran/src/H5LTf90proto.h
@@ -82,428 +82,6 @@ h5ltmake_dataset_c (hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-h5ltmake_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltmake_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
h5ltread_dataset_c (hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
@@ -511,453 +89,25 @@ h5ltread_dataset_c (hid_t_f *loc_id,
void *buf,
hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
HDF5_HL_F90CSTUBDLL
int_f
-h5ltread_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
+h5ltset_attribute_c(hid_t_f *loc_id,
+ size_t_f *namelen,
+ _fcd dsetname,
+ size_t_f *attrnamelen,
+ _fcd attrname,
+ size_t_f *size,
+ void *buf, char *dtype);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
HDF5_HL_F90CSTUBDLL
int_f
-h5ltread_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltread_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltset_attribute_int_c(hid_t_f *loc_id,
+h5ltget_attribute_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
_fcd attrname,
- size_t_f *size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltset_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltset_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltset_attribute_string_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- size_t_f *buflen,
- void *buf);
-
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltget_attribute_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltget_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5ltget_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf);
+ void *buf, char* dtype);
HDF5_HL_F90CSTUBDLL
int_f
@@ -1172,53 +322,7 @@ h5tbwrite_field_name_c(hid_t_f *loc_id,
size_t_f *type_size,
void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
HDF5_HL_F90CSTUBDLL
int_f
@@ -1232,53 +336,7 @@ h5tbread_field_name_c(hid_t_f *loc_id,
size_t_f *type_size,
void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
HDF5_HL_F90CSTUBDLL
int_f
@@ -1293,50 +351,6 @@ h5tbwrite_field_index_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-h5tbwrite_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbwrite_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
h5tbread_field_index_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
@@ -1348,50 +362,6 @@ h5tbread_field_index_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-h5tbread_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbread_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf);
-
-HDF5_HL_F90CSTUBDLL
-int_f
h5tbinsert_field_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
@@ -1403,46 +373,6 @@ h5tbinsert_field_c(hid_t_f *loc_id,
HDF5_HL_F90CSTUBDLL
int_f
-h5tbinsert_field_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbinsert_field_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbinsert_field_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
-h5tbinsert_field_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf);
-HDF5_HL_F90CSTUBDLL
-int_f
h5tbdelete_field_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd name,
diff --git a/hl/fortran/src/H5LTfc.c b/hl/fortran/src/H5LTfc.c
index f5e9153..b957d17 100644
--- a/hl/fortran/src/H5LTfc.c
+++ b/hl/fortran/src/H5LTfc.c
@@ -89,468 +89,6 @@ done:
return ret_value;
}
-int_f
-h5ltmake_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
-int_f
-h5ltmake_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *rank,
- hsize_t_f *dims,
- hid_t_f *type_id,
- void *buf)
-{
- return h5ltmake_dataset_c (loc_id, namelen, name, rank, dims, type_id, buf);
-}
/*-------------------------------------------------------------------------
* Function: H5LTread_dataset_c
*
@@ -611,426 +149,6 @@ done:
return ret_value;
}
-int_f
-h5ltread_dataset_int1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_int2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_int3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_int4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_int5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_int6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_int7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_fl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_dl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nint7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_nfl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl1_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl2_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl3_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl4_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl5_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl6_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
-int_f
-h5ltread_dataset_ndl7_c (hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- hid_t_f *type_id,
- void *buf,
- hsize_t_f *dims)
-{
- return h5ltread_dataset_c(loc_id, namelen, name, type_id, buf, dims);
-}
/*-------------------------------------------------------------------------
* Function: H5LTmake_dataset_string_c
*
@@ -1152,8 +270,6 @@ done:
return ret_value;
}
-
-
/*-------------------------------------------------------------------------
* Function: H5LTset_attribute_int_c
*
@@ -1174,19 +290,20 @@ done:
*/
int_f
-h5ltset_attribute_int_c(hid_t_f *loc_id,
+h5ltset_attribute_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
_fcd attrname,
size_t_f *size,
- void *buf)
+ void *buf, char *dtype)
{
int ret_value = -1;
herr_t ret;
hid_t c_loc_id;
char *c_name = NULL;
char *c_attrname = NULL;
+ char *c_buf = NULL;
size_t c_size;
/*
@@ -1206,17 +323,29 @@ h5ltset_attribute_int_c(hid_t_f *loc_id,
c_loc_id = (hid_t)*loc_id;
c_size = (size_t)*size;
- if (sizeof(int_f) == sizeof(int))
+ if( HDstrncmp(dtype,"I",1) == 0 ) {
+ if (sizeof(int_f) == sizeof(int))
ret = H5LTset_attribute_int(c_loc_id,c_name,c_attrname,(const int *)buf,c_size);
- else if (sizeof(int_f) == sizeof(long))
- ret = H5LTset_attribute_long(c_loc_id,c_name,c_attrname,(const long *)buf,c_size);
- else if (sizeof(int_f) == sizeof(long long))
+ else if (sizeof(int_f) == sizeof(long))
+ ret = H5LTset_attribute_long(c_loc_id,c_name,c_attrname,(const long *)buf,c_size);
+ else if (sizeof(int_f) == sizeof(long long))
ret = H5LTset_attribute_long_long(c_loc_id,c_name,c_attrname,(const long long *)buf,c_size);
- else
+ else
+ goto done;
+ } else if ( HDstrncmp(dtype,"R",1) == 0 ) {
+ ret = H5LTset_attribute_float(c_loc_id,c_name,c_attrname, (float *)buf,c_size);
+ } else if ( HDstrncmp(dtype,"D",1) == 0 ) {
+ ret = H5LTset_attribute_double(c_loc_id,c_name,c_attrname, (double *)buf,c_size);
+ } else if ( HDstrncmp(dtype,"C",1) == 0 ) {
+
+ c_buf = (char *)HD5f2cstring((_fcd)buf, c_size);
+ if (c_buf == NULL)
goto done;
+ ret = H5LTset_attribute_string(c_loc_id,c_name,c_attrname,c_buf);
+ }
if (ret < 0)
- goto done;
+ goto done;
ret_value = 0;
@@ -1225,6 +354,8 @@ done:
HDfree(c_name);
if(c_attrname!=NULL)
HDfree(c_attrname);
+ if(c_buf!=NULL)
+ HDfree(c_buf);
return ret_value;
}
@@ -1443,7 +574,7 @@ done:
}
/*-------------------------------------------------------------------------
-* Function: H5LTget_attribute_int_c
+* Function: H5LTget_attribute_c
*
* Purpose: Call H5LTget_attribute_int
*
@@ -1462,86 +593,12 @@ done:
*/
int_f
-h5ltget_attribute_int_c(hid_t_f *loc_id,
+h5ltget_attribute_c(hid_t_f *loc_id,
size_t_f *namelen,
_fcd dsetname,
size_t_f *attrnamelen,
_fcd attrname,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
-
- /*
- * convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- /*
- * call H5LTget_attribute_int function.
- */
- c_loc_id = (hid_t)*loc_id;
-
- if(sizeof(int_f) == sizeof(int))
- ret = H5LTget_attribute_int(c_loc_id,c_name,c_attrname,(int *)buf);
- else if (sizeof(int_f) == sizeof(long))
- ret = H5LTget_attribute_long(c_loc_id,c_name,c_attrname,(long *)buf);
- else if (sizeof(int_f) == sizeof(long long))
- ret = H5LTget_attribute_long_long(c_loc_id,c_name,c_attrname,(long long *)buf);
- else
- goto done;
-
- if (ret < 0)
- goto done;
-
- ret_value = 0;
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
-
-
- return ret_value;
-}
-
-
-/*-------------------------------------------------------------------------
-* Function: H5LTget_attribute_float_c
-*
-* Purpose: Call H5LTget_attribute_float
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-h5ltget_attribute_float_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf)
+ void *buf, char *dtype)
{
int ret_value = -1;
herr_t ret;
@@ -1565,79 +622,26 @@ h5ltget_attribute_float_c(hid_t_f *loc_id,
*/
c_loc_id = (hid_t)*loc_id;
- ret = H5LTget_attribute_float(c_loc_id,c_name,c_attrname,(float*)buf);
-
- if (ret < 0)
+ if( HDstrncmp(dtype,"I",1) == 0) {
+ if(sizeof(int_f) == sizeof(int))
+ ret = H5LTget_attribute_int(c_loc_id,c_name,c_attrname,(int *)buf);
+ else if (sizeof(int_f) == sizeof(long))
+ ret = H5LTget_attribute_long(c_loc_id,c_name,c_attrname,(long *)buf);
+ else if (sizeof(int_f) == sizeof(long long))
+ ret = H5LTget_attribute_long_long(c_loc_id,c_name,c_attrname,(long long *)buf);
+ else
goto done;
-
- ret_value = 0;
-
-done:
- if(c_name!=NULL)
- HDfree(c_name);
- if(c_attrname!=NULL)
- HDfree(c_attrname);
-
- return ret_value;
-}
-
-/*-------------------------------------------------------------------------
-* Function: H5LTget_attribute_double_c
-*
-* Purpose: Call H5LTget_attribute_double
-*
-* Return: Success: 0, Failure: -1
-*
-* Programmer: pvn@ncsa.uiuc.edu
-*
-* Date: October 05, 2004
-*
-* Comments:
-*
-* Modifications:
-*
-*
-*-------------------------------------------------------------------------
-*/
-
-int_f
-h5ltget_attribute_double_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd dsetname,
- size_t_f *attrnamelen,
- _fcd attrname,
- void *buf)
-{
- int ret_value = -1;
- herr_t ret;
- hid_t c_loc_id;
- char *c_name = NULL;
- char *c_attrname = NULL;
-
- /*
- * convert FORTRAN name to C name
- */
- c_name = (char *)HD5f2cstring(dsetname, (size_t)*namelen);
- if (c_name == NULL)
- goto done;
-
- c_attrname = (char *)HD5f2cstring(attrname, (size_t)*attrnamelen);
- if (c_attrname == NULL)
- goto done;
-
- /*
- * call H5LTget_attribute_int function.
- */
- c_loc_id = (hid_t)*loc_id;
-
- ret = H5LTget_attribute_double(c_loc_id,c_name,c_attrname,(double *)buf);
+ } else if ( HDstrncmp(dtype,"R",1) == 0 ) {
+ ret = H5LTget_attribute_float(c_loc_id,c_name,c_attrname,(float*)buf);
+ } else if ( HDstrncmp(dtype,"D",1) == 0 ) {
+ ret = H5LTget_attribute_double(c_loc_id,c_name,c_attrname,(double *)buf);
+ }
if (ret < 0)
goto done;
ret_value = 0;
-
done:
if(c_name!=NULL)
HDfree(c_name);
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
diff --git a/hl/fortran/src/H5TBfc.c b/hl/fortran/src/H5TBfc.c
index 7a8c40a..99a7800 100644
--- a/hl/fortran/src/H5TBfc.c
+++ b/hl/fortran/src/H5TBfc.c
@@ -190,65 +190,6 @@ done:
return ret_value;
}
-int_f
-h5tbwrite_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-h5tbwrite_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-h5tbwrite_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-h5tbwrite_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
/*-------------------------------------------------------------------------
* Function: h5tbread_field_name_c
@@ -305,66 +246,6 @@ done:
return ret_value;
}
-int_f
-h5tbread_field_name_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-h5tbread_field_name_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-h5tbread_field_name_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
-int_f
-h5tbread_field_name_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_name_c(loc_id, namelen, name, namelen1, field_name,
- start, nrecords, type_size, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbwrite_field_index_c
*
@@ -416,62 +297,6 @@ done:
return ret_value;
}
-int_f
-h5tbwrite_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-h5tbwrite_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-h5tbwrite_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-h5tbwrite_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbwrite_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbread_field_index_c
*
@@ -522,62 +347,6 @@ done:
return ret_value;
}
-int_f
-h5tbread_field_index_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-h5tbread_field_index_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-h5tbread_field_index_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
-int_f
-h5tbread_field_index_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- int_f *field_index,
- hsize_t_f *start,
- hsize_t_f *nrecords,
- size_t_f *type_size,
- void *buf)
-{
- return h5tbread_field_index_c(loc_id, namelen, name, field_index, start,
- nrecords, type_size, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbinsert_field_c
*
@@ -631,62 +400,6 @@ done:
return ret_value;
}
-int_f
-h5tbinsert_field_int_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return h5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
-int_f
-h5tbinsert_field_fl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return h5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
-int_f
-h5tbinsert_field_dl_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return h5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
-int_f
-h5tbinsert_field_st_c(hid_t_f *loc_id,
- size_t_f *namelen,
- _fcd name,
- size_t_f *namelen1,
- _fcd field_name,
- hid_t_f *field_type,
- int_f *position,
- void *buf)
-{
- return h5tbinsert_field_c(loc_id, namelen, name, namelen1, field_name,
- field_type, position, buf);
-}
-
/*-------------------------------------------------------------------------
* Function: h5tbdelete_field_c
*
diff --git a/hl/fortran/src/H5TBff.F90 b/hl/fortran/src/H5TBff.F90
index c62c4a2..26f80dc 100644
--- a/hl/fortran/src/H5TBff.F90
+++ b/hl/fortran/src/H5TBff.F90
@@ -14,12 +14,26 @@
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
!
!
-! This file contains FORTRAN90 interfaces for H5TB functions
+! This file contains FORTRAN interfaces for H5TB 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 h5tb
- USE ISO_C_BINDING
+ USE, INTRINSIC :: ISO_C_BINDING
USE h5fortran_types
USE hdf5
@@ -28,6 +42,7 @@ MODULE h5tb
MODULE PROCEDURE h5tbwrite_field_name_f_int
MODULE PROCEDURE h5tbwrite_field_name_f_c_float
MODULE PROCEDURE h5tbwrite_field_name_f_c_double
+ MODULE PROCEDURE h5tbwrite_field_name_f_c_long_double
MODULE PROCEDURE h5tbwrite_field_name_f_string
END INTERFACE
@@ -35,6 +50,7 @@ MODULE h5tb
MODULE PROCEDURE h5tbread_field_name_f_int
MODULE PROCEDURE h5tbread_field_name_f_c_float
MODULE PROCEDURE h5tbread_field_name_f_c_double
+ MODULE PROCEDURE h5tbread_field_name_f_c_long_double
MODULE PROCEDURE h5tbread_field_name_f_string
END INTERFACE
@@ -42,6 +58,7 @@ MODULE h5tb
MODULE PROCEDURE h5tbwrite_field_index_f_int
MODULE PROCEDURE h5tbwrite_field_index_f_c_float
MODULE PROCEDURE h5tbwrite_field_index_f_c_double
+ MODULE PROCEDURE h5tbwrite_field_index_f_c_long_double
MODULE PROCEDURE h5tbwrite_field_index_f_string
END INTERFACE
@@ -49,6 +66,7 @@ MODULE h5tb
MODULE PROCEDURE h5tbread_field_index_f_int
MODULE PROCEDURE h5tbread_field_index_f_c_float
MODULE PROCEDURE h5tbread_field_index_f_c_double
+ MODULE PROCEDURE h5tbread_field_index_f_c_long_double
MODULE PROCEDURE h5tbread_field_index_f_string
END INTERFACE
@@ -56,8 +74,107 @@ MODULE h5tb
MODULE PROCEDURE h5tbinsert_field_f_int
MODULE PROCEDURE h5tbinsert_field_f_c_float
MODULE PROCEDURE h5tbinsert_field_f_c_double
+ MODULE PROCEDURE h5tbinsert_field_f_c_long_double
MODULE PROCEDURE h5tbinsert_field_f_string
END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbwrite_field_name_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
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ END FUNCTION h5tbwrite_field_name_c
+ END INTERFACE
+
+
+ INTERFACE
+ INTEGER FUNCTION h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name, &
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbread_field_name_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
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ END FUNCTION h5tbread_field_name_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbwrite_field_index_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
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5tbwrite_field_index_c
+ END INTERFACE
+
+ INTERFACE
+ INTEGER FUNCTION h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,buf) &
+ BIND(C,NAME='h5tbread_field_index_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
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ INTEGER, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ END FUNCTION h5tbread_field_index_c
+ END INTERFACE
+
+
+ INTERFACE
+ INTEGER FUNCTION h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,buf) &
+ BIND(C,NAME='h5tbinsert_field_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
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
+ CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hid_t), INTENT(in) :: field_type ! field type
+ INTEGER, INTENT(in) :: field_index ! field_index
+ TYPE(C_PTR), VALUE :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length length
+ END FUNCTION h5tbinsert_field_c
+ END INTERFACE
CONTAINS
@@ -92,12 +209,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbmake_table_f
-!DEC$endif
-!
CHARACTER(LEN=*), INTENT(in) :: table_title ! name of the dataset
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
@@ -116,7 +227,6 @@ CONTAINS
INTEGER(size_t) :: max_char_size_field_names ! character len of field names
INTEGER(hsize_t) :: i ! general purpose integer
-
INTERFACE
INTEGER FUNCTION h5tbmake_table_c(namelen1,&
table_title,&
@@ -183,7 +293,6 @@ CONTAINS
END SUBROUTINE h5tbmake_table_f
-
!-------------------------------------------------------------------------
! Function: h5tbwrite_field_name_f_int
!
@@ -209,65 +318,26 @@ CONTAINS
errcode )
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_int
-!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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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
INTEGER(size_t) :: namelen1 ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_name_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_int_c
- END INTERFACE
-
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbwrite_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_name_f_int
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_c_float
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
SUBROUTINE h5tbwrite_field_name_f_c_float(loc_id,&
dset_name,&
@@ -279,66 +349,28 @@ CONTAINS
errcode )
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_c_float
-!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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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) :: namelen1 ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_name_fl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_fl_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbwrite_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_name_f_c_float
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_c_double
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbwrite_field_name_f_c_double(loc_id,&
dset_name,&
field_name,&
@@ -349,12 +381,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_c_double
-!DEC$endif
-!
INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
CHARACTER(LEN=*), INTENT(in) :: dset_name ! name of the dataset
@@ -362,53 +388,54 @@ CONTAINS
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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
- INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(size_t) :: namelen1
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_name_dl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_dl_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbwrite_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_name_f_c_double
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_name_f_string
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
+ SUBROUTINE h5tbwrite_field_name_f_c_long_double(loc_id,&
+ dset_name,&
+ field_name,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+
+ IMPLICIT NONE
+
+ 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) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbwrite_field_name_f_c_long_double
SUBROUTINE h5tbwrite_field_name_f_string(loc_id,&
dset_name,&
@@ -421,49 +448,25 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_name_f_string
-!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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_name_st_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbwrite_field_name_st_c
- END INTERFACE
+ INTEGER(size_t) :: namelen1
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbwrite_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_name_f_string
@@ -494,67 +497,28 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_int
-!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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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
- INTEGER(size_t) :: namelen1 ! name length
+ INTEGER(size_t) :: namelen1
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name, &
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_name_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_int_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1)) ! name length
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbread_field_name_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_name_f_int
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_c_float
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbread_field_name_f_c_float(loc_id,&
dset_name,&
field_name,&
@@ -565,68 +529,28 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_c_float
-!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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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) :: namelen1 ! name length
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_name_fl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_fl_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbread_field_name_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_name_f_c_float
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_c_double
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbread_field_name_f_c_double(loc_id,&
dset_name,&
field_name,&
@@ -637,69 +561,29 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_c_double
-!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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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
INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_name_dl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_dl_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbread_field_name_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_name_f_c_double
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_name_f_string
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbread_field_name_f_string(loc_id,&
+ SUBROUTINE h5tbread_field_name_f_c_long_double(loc_id,&
dset_name,&
field_name,&
start,&
@@ -709,50 +593,57 @@ 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
+ CHARACTER(LEN=*), INTENT(in) :: field_name ! name of the field
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_name_f_string
-!DEC$endif
-!
+ END SUBROUTINE h5tbread_field_name_f_c_long_double
+
+ SUBROUTINE h5tbread_field_name_f_string(loc_id,&
+ dset_name,&
+ field_name,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ errcode )
+ IMPLICIT NONE
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) :: field_name ! name of the field
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_name_st_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length
- END FUNCTION h5tbread_field_name_st_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbread_field_name_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_name_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_name_f_string
@@ -782,65 +673,26 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_int
-!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) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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 h5tbwrite_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_index_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_int_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5tbwrite_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_index_f_int
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_c_float
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbwrite_field_index_f_c_float(loc_id,&
dset_name,&
field_index,&
@@ -851,67 +703,26 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_c_float
-!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) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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
+ TYPE(C_PTR) :: f_ptr
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_index_fl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_fl_c
- END INTERFACE
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5tbwrite_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_index_f_c_float
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_c_double
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbwrite_field_index_f_c_double(loc_id,&
dset_name,&
field_index,&
@@ -922,66 +733,27 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_c_double
-!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) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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 h5tbwrite_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_index_dl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_dl_c
- END INTERFACE
-
+ f_ptr = C_LOC(buf(1))
+
namelen = LEN(dset_name)
- errcode = h5tbwrite_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_index_f_c_double
-!-------------------------------------------------------------------------
-! Function: h5tbwrite_field_index_f_string
-!
-! Purpose: Writes one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
+ SUBROUTINE h5tbwrite_field_index_f_c_long_double(loc_id,&
dset_name,&
field_index,&
start,&
@@ -991,47 +763,52 @@ 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, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbwrite_field_index_f_string
-!DEC$endif
-!
+ namelen = LEN(dset_name)
+
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
+
+ END SUBROUTINE h5tbwrite_field_index_f_c_long_double
+ SUBROUTINE h5tbwrite_field_index_f_string(loc_id,&
+ dset_name,&
+ field_index,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ 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, INTENT(in) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER :: errcode ! error code
INTEGER(size_t) :: namelen ! name length
-
- INTERFACE
- INTEGER FUNCTION h5tbwrite_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbwrite_field_index_st_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbwrite_field_index_st_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1)(1:1))
namelen = LEN(dset_name)
- errcode = h5tbwrite_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbwrite_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbwrite_field_index_f_string
@@ -1061,64 +838,25 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport ::h5tbread_field_index_f_int
-!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) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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 h5tbread_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_index_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_int_c
- END INTERFACE
-
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5tbread_field_index_int_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_index_f_int
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_c_float
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbread_field_index_f_c_float(loc_id,&
dset_name,&
field_index,&
@@ -1130,64 +868,25 @@ CONTAINS
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_index_f_c_float
-!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) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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
-
- INTERFACE
- INTEGER FUNCTION h5tbread_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_index_fl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_fl_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5tbread_field_index_fl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_index_f_c_float
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_c_double
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbread_field_index_f_c_double(loc_id,&
dset_name,&
field_index,&
@@ -1198,66 +897,26 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_index_f_c_double
-!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) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- 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 h5tbread_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_index_dl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_dl_c
- END INTERFACE
-
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
- errcode = h5tbread_field_index_dl_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_index_f_c_double
-!-------------------------------------------------------------------------
-! Function: h5tbread_field_index_f_string
-!
-! Purpose: Reads one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 12, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbread_field_index_f_string(loc_id,&
+ SUBROUTINE h5tbread_field_index_f_c_long_double(loc_id,&
dset_name,&
field_index,&
start,&
@@ -1267,52 +926,56 @@ 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, INTENT(in) :: field_index ! index
+ INTEGER(hsize_t), INTENT(in) :: start ! start record
+ INTEGER(hsize_t), INTENT(in) :: nrecords ! records
+ INTEGER(size_t), INTENT(in) :: type_size ! type size
+ REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER :: errcode ! error code
+ INTEGER(size_t) :: namelen ! name length
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
+ namelen = LEN(dset_name)
+
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbread_field_index_f_string
-!DEC$endif
-!
+ END SUBROUTINE h5tbread_field_index_f_c_long_double
+
+ SUBROUTINE h5tbread_field_index_f_string(loc_id,&
+ dset_name,&
+ field_index,&
+ start,&
+ nrecords,&
+ type_size,&
+ buf,&
+ 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, INTENT(in) :: field_index ! index
INTEGER(hsize_t), INTENT(in) :: start ! start record
INTEGER(hsize_t), INTENT(in) :: nrecords ! records
INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ CHARACTER(LEN=*), 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 h5tbread_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf) &
- BIND(C,NAME='h5tbread_field_index_st_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- INTEGER, INTENT(in) :: field_index ! index
- INTEGER(hsize_t), INTENT(in) :: start ! start record
- INTEGER(hsize_t), INTENT(in) :: nrecords ! records
- INTEGER(size_t), INTENT(in) :: type_size ! type size
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
- INTEGER :: errcode ! error code
- INTEGER(size_t) :: namelen ! name length
- END FUNCTION h5tbread_field_index_st_c
- END INTERFACE
-
+ f_ptr = C_LOC(buf(1)(1:1))
namelen = LEN(dset_name)
- errcode = h5tbread_field_index_st_c(loc_id,namelen,dset_name,field_index,&
- start,nrecords,type_size,buf)
+ errcode = h5tbread_field_index_c(loc_id,namelen,dset_name,field_index,&
+ start,nrecords,type_size,f_ptr)
END SUBROUTINE h5tbread_field_index_f_string
!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_int
+! Function: h5tbinsert_field_f
!
! Purpose: Inserts one field
!
@@ -1334,64 +997,26 @@ CONTAINS
buf,&
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_int
-!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) :: field_name ! name of the field
INTEGER(hid_t), INTENT(in) :: field_type ! field type
INTEGER, INTENT(in) :: field_index ! field_index
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
+ INTEGER, INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
INTEGER :: errcode ! error code
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf) &
- BIND(C,NAME='h5tbinsert_field_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- INTEGER, INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_int_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbinsert_field_int_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
END SUBROUTINE h5tbinsert_field_f_int
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_c_float
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
SUBROUTINE h5tbinsert_field_f_c_float(loc_id,&
dset_name,&
@@ -1401,67 +1026,27 @@ CONTAINS
buf,&
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_c_float
-!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) :: field_name ! name of the field
INTEGER(hid_t), INTENT(in) :: field_type ! field type
INTEGER, INTENT(in) :: field_index ! field_index
- 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) :: namelen1 ! name length
INTEGER :: errcode ! error code
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf) &
- BIND(C,NAME='h5tbinsert_field_fl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL(KIND=C_FLOAT), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_fl_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbinsert_field_fl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
END SUBROUTINE h5tbinsert_field_f_c_float
-
-
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_c_double
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
SUBROUTINE h5tbinsert_field_f_c_double(loc_id,&
dset_name,&
field_name,&
@@ -1470,67 +1055,28 @@ CONTAINS
buf,&
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_c_double
-!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) :: field_name ! name of the field
INTEGER(hid_t), INTENT(in) :: field_type ! field type
INTEGER, INTENT(in) :: field_index ! field_index
- 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) :: namelen1 ! name length
INTEGER :: errcode ! error code
-
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf) &
- BIND(C,NAME='h5tbinsert_field_dl_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
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- REAL(KIND=C_DOUBLE), INTENT(in), DIMENSION(*) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_dl_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+ f_ptr = C_LOC(buf(1))
+
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbinsert_field_dl_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
END SUBROUTINE h5tbinsert_field_f_c_double
-!-------------------------------------------------------------------------
-! Function: h5tbinsert_field_f_string
-!
-! Purpose: Inserts one field
-!
-! Programmer: pvn@ncsa.uiuc.edu
-!
-! Date: October 13, 2004
-!
-! Comments:
-!
-! Modifications:
-!
-!-------------------------------------------------------------------------
-
- SUBROUTINE h5tbinsert_field_f_string(loc_id,&
+ SUBROUTINE h5tbinsert_field_f_c_long_double(loc_id,&
dset_name,&
field_name,&
field_type,&
@@ -1538,47 +1084,53 @@ CONTAINS
buf,&
errcode )
IMPLICIT NONE
+ 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) :: field_name ! name of the field
+ INTEGER(hid_t), INTENT(in) :: field_type ! field type
+ INTEGER, INTENT(in) :: field_index ! field_index
+ REAL(KIND=C_LONG_DOUBLE), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
+ INTEGER(size_t) :: namelen ! name length
+ INTEGER(size_t) :: namelen1 ! name length
+ INTEGER :: errcode ! error code
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1))
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbinsert_field_f_string
-!DEC$endif
-!
+ namelen = LEN(dset_name)
+ namelen1 = LEN(field_name)
+
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
+
+ END SUBROUTINE h5tbinsert_field_f_c_long_double
+ SUBROUTINE h5tbinsert_field_f_string(loc_id,&
+ dset_name,&
+ field_name,&
+ field_type,&
+ field_index,&
+ buf,&
+ errcode )
+ IMPLICIT NONE
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) :: field_name ! name of the field
INTEGER(hid_t), INTENT(in) :: field_type ! field type
INTEGER, INTENT(in) :: field_index ! field_index
- CHARACTER(LEN=*), INTENT(in), DIMENSION(*) :: buf ! data buffer
+ CHARACTER(LEN=*), INTENT(in), DIMENSION(*), TARGET :: buf ! data buffer
INTEGER(size_t) :: namelen ! name length
INTEGER(size_t) :: namelen1 ! name length
INTEGER :: errcode ! error code
-
- INTERFACE
- INTEGER FUNCTION h5tbinsert_field_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf) &
- BIND(C,NAME='h5tbinsert_field_st_c')
- IMPORT :: C_CHAR
- IMPORT :: HID_T, SIZE_T, HSIZE_T
- IMPLICIT NONE
- INTEGER(hid_t), INTENT(in) :: loc_id ! file or group identifier
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: dset_name ! name of the dataset
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: field_name ! name of the field
- INTEGER(hid_t), INTENT(in) :: field_type ! field type
- INTEGER, INTENT(in) :: field_index ! field_index
- CHARACTER(KIND=C_CHAR), DIMENSION(*), INTENT(in) :: buf ! data buffer
- INTEGER(size_t) :: namelen ! name length
- INTEGER(size_t) :: namelen1 ! name length length
- END FUNCTION h5tbinsert_field_st_c
- END INTERFACE
+ TYPE(C_PTR) :: f_ptr
+
+ f_ptr = C_LOC(buf(1)(1:1))
namelen = LEN(dset_name)
namelen1 = LEN(field_name)
- errcode = h5tbinsert_field_st_c(loc_id,namelen,dset_name,namelen1,field_name,&
- field_type,field_index,buf)
+ errcode = h5tbinsert_field_c(loc_id,namelen,dset_name,namelen1,field_name,&
+ field_type,field_index,f_ptr)
END SUBROUTINE h5tbinsert_field_f_string
@@ -1602,14 +1154,6 @@ CONTAINS
field_name,&
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbdelete_field_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) :: field_name ! name of the field
@@ -1665,14 +1209,6 @@ CONTAINS
errcode )
IMPLICIT NONE
-
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbget_table_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), INTENT(inout):: nfields ! nfields
@@ -1729,12 +1265,6 @@ CONTAINS
errcode, maxlen_out )
IMPLICIT NONE
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_HL_DLL)
-!DEC$attributes dllexport :: h5tbget_field_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), INTENT(in) :: nfields ! nfields
diff --git a/hl/fortran/src/hdf5_hl_fortrandll.def.in b/hl/fortran/src/hdf5_hl_fortrandll.def.in
index e4a29a5..87276af 100644
--- a/hl/fortran/src/hdf5_hl_fortrandll.def.in
+++ b/hl/fortran/src/hdf5_hl_fortrandll.def.in
@@ -127,11 +127,18 @@ H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_3
H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_4
H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_5
H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_6
-H5LT_mp_H5LTREAD_DATASET_C_DOUBLE_F_7
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_7
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_1
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_2
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_3
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_4
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_5
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_6
+H5LT_mp_H5LTREAD_DATASET_C_LONG_DOUBLE_F_7
H5LT_mp_H5LTMAKE_DATASET_STRING_F
H5LT_mp_H5LTREAD_DATASET_STRING_F
H5LT_mp_H5LTSET_ATTRIBUTE_INT_F
-H5LT_mp_H5LTSET_ATTRIBUTE_C_FLOAT_F
+H5LT_mp_H5LTSET_ATTRIBUTE_FLOAT_F
H5LT_mp_H5LTSET_ATTRIBUTE_DOUBLE_F
H5LT_mp_H5LTSET_ATTRIBUTE_STRING_F
H5LT_mp_H5LTGET_ATTRIBUTE_INT_F
@@ -149,22 +156,27 @@ H5TB_mp_H5TBMAKE_TABLE_F
H5TB_mp_H5TBWRITE_FIELD_NAME_F_INT
H5TB_mp_H5TBWRITE_FIELD_NAME_F_C_FLOAT
H5TB_mp_H5TBWRITE_FIELD_NAME_F_C_DOUBLE
+H5TB_mp_H5TBWRITE_FIELD_NAME_F_C_LONG_DOUBLE
H5TB_mp_H5TBWRITE_FIELD_NAME_F_STRING
H5TB_mp_H5TBREAD_FIELD_NAME_F_INT
H5TB_mp_H5TBREAD_FIELD_NAME_F_C_FLOAT
H5TB_mp_H5TBREAD_FIELD_NAME_F_C_DOUBLE
+H5TB_mp_H5TBREAD_FIELD_NAME_F_C_LONG_DOUBLE
H5TB_mp_H5TBREAD_FIELD_NAME_F_STRING
H5TB_mp_H5TBWRITE_FIELD_INDEX_F_INT
H5TB_mp_H5TBWRITE_FIELD_INDEX_F_C_FLOAT
H5TB_mp_H5TBWRITE_FIELD_INDEX_F_C_DOUBLE
+H5TB_mp_H5TBWRITE_FIELD_INDEX_F_C_LONG_DOUBLE
H5TB_mp_H5TBWRITE_FIELD_INDEX_F_STRING
H5TB_mp_H5TBREAD_FIELD_INDEX_F_INT
H5TB_mp_H5TBREAD_FIELD_INDEX_F_C_FLOAT
H5TB_mp_H5TBREAD_FIELD_INDEX_F_C_DOUBLE
+H5TB_mp_H5TBREAD_FIELD_INDEX_F_C_LONG_DOUBLE
H5TB_mp_H5TBREAD_FIELD_INDEX_F_STRING
H5TB_mp_H5TBINSERT_FIELD_F_INT
H5TB_mp_H5TBINSERT_FIELD_F_C_FLOAT
H5TB_mp_H5TBINSERT_FIELD_F_C_DOUBLE
+H5TB_mp_H5TBINSERT_FIELD_F_C_LONG_DOUBLE
H5TB_mp_H5TBINSERT_FIELD_F_STRING
H5TB_mp_H5TBDELETE_FIELD_F
H5TB_mp_H5TBGET_TABLE_INFO_F
diff --git a/hl/fortran/test/tstlite.f90 b/hl/fortran/test/tstlite.f90
index 314bf09..60fc659 100644
--- a/hl/fortran/test/tstlite.f90
+++ b/hl/fortran/test/tstlite.f90
@@ -1361,8 +1361,8 @@ SUBROUTINE test_attributes()
INTEGER, DIMENSION(DIM1) :: bufr2 ! Data buffer
REAL(C_FLOAT), DIMENSION(DIM1) :: buf3 ! Data buffer
REAL(C_FLOAT), DIMENSION(DIM1) :: bufr3 ! Data buffer
- DOUBLE PRECISION, DIMENSION(DIM1) :: buf4 ! Data buffer
- DOUBLE PRECISION, DIMENSION(DIM1) :: bufr4 ! Data buffer
+ REAL(C_DOUBLE), DIMENSION(DIM1) :: buf4 ! Data buffer
+ REAL(C_DOUBLE), DIMENSION(DIM1) :: bufr4 ! Data buffer
INTEGER :: errcode ! Error flag
INTEGER :: i, n ! general purpose integer
INTEGER(SIZE_T) size ! size of attribute array
diff --git a/hl/fortran/test/tsttable.f90 b/hl/fortran/test/tsttable.f90
index bb88abf..f679982 100644
--- a/hl/fortran/test/tsttable.f90
+++ b/hl/fortran/test/tsttable.f90
@@ -21,7 +21,6 @@ PROGRAM table_test
CALL test_table1()
-
END PROGRAM table_test