summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fortran/src/H5Dff.F90275
-rw-r--r--fortran/src/H5Pff.F90124
-rw-r--r--fortran/src/hdf5_fortrandll.def.in112
3 files changed, 450 insertions, 61 deletions
diff --git a/fortran/src/H5Dff.F90 b/fortran/src/H5Dff.F90
index 5dee749..00f3975 100644
--- a/fortran/src/H5Dff.F90
+++ b/fortran/src/H5Dff.F90
@@ -101,7 +101,6 @@ MODULE H5D
END INTERFACE
INTERFACE h5dwrite_f
-
MODULE PROCEDURE h5dwrite_reference_obj
MODULE PROCEDURE h5dwrite_reference_dsetreg
MODULE PROCEDURE h5dwrite_integer_scalar
@@ -144,15 +143,12 @@ MODULE H5D
MODULE PROCEDURE h5dwrite_c_long_double_5
MODULE PROCEDURE h5dwrite_c_long_double_6
MODULE PROCEDURE h5dwrite_c_long_double_7
-
! This is the preferred way to call h5dwrite
! by passing an address
MODULE PROCEDURE h5dwrite_ptr
-
END INTERFACE
INTERFACE h5dread_f
-
MODULE PROCEDURE h5dread_reference_obj
MODULE PROCEDURE h5dread_reference_dsetreg
MODULE PROCEDURE h5dread_integer_scalar
@@ -195,7 +191,6 @@ MODULE H5D
MODULE PROCEDURE h5dread_c_long_double_5
MODULE PROCEDURE h5dread_c_long_double_6
MODULE PROCEDURE h5dread_c_long_double_7
-
! This is the preferred way to call h5dread
! by passing an address
MODULE PROCEDURE h5dread_ptr
@@ -247,6 +242,7 @@ MODULE H5D
MODULE PROCEDURE h5dfill_integer
MODULE PROCEDURE h5dfill_c_float
MODULE PROCEDURE h5dfill_c_double
+ MODULE PROCEDURE h5dfill_c_long_double
MODULE PROCEDURE h5dfill_char
END INTERFACE
@@ -3947,6 +3943,39 @@ CONTAINS
END SUBROUTINE h5dwrite_c_double_7
+ SUBROUTINE h5dwrite_c_long_double_scalar(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: buf ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf)
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_scalar
SUBROUTINE h5dwrite_c_long_double_1(dset_id, mem_type_id, buf, dims, hdferr, &
mem_space_id, file_space_id, xfer_prp)
@@ -3983,6 +4012,218 @@ CONTAINS
END SUBROUTINE h5dwrite_c_long_double_1
+ SUBROUTINE h5dwrite_c_long_double_2(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), &
+ DIMENSION(dims(1),dims(2)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1,1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_2
+
+ SUBROUTINE h5dwrite_c_long_double_3(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1,1,1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_3
+
+ SUBROUTINE h5dwrite_c_long_double_4(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1,1,1,1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_4
+
+ SUBROUTINE h5dwrite_c_long_double_5(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5)), TARGET :: buf
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1,1,1,1,1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_5
+
+ SUBROUTINE h5dwrite_c_long_double_6(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6)), TARGET :: buf
+ ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1,1,1,1,1,1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_6
+
+ SUBROUTINE h5dwrite_c_long_double_7(dset_id, mem_type_id, buf, dims, hdferr, &
+ mem_space_id, file_space_id, xfer_prp)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id ! Dataset identifier
+ INTEGER(HID_T), INTENT(IN) :: mem_type_id ! Memory datatype identifier
+ INTEGER(HSIZE_T), INTENT(IN), DIMENSION(*) :: dims
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), &
+ DIMENSION(dims(1),dims(2),dims(3),dims(4),dims(5),dims(6),dims(7)), TARGET :: buf
+ ! Data buffer
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: mem_space_id
+ ! Memory dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: file_space_id
+ ! File dataspace identfier
+ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: xfer_prp
+ ! Transfer property list identifier
+
+ INTEGER(HID_T) :: xfer_prp_default
+ INTEGER(HID_T) :: mem_space_id_default
+ INTEGER(HID_T) :: file_space_id_default
+ TYPE(C_PTR) :: f_ptr
+
+ xfer_prp_default = H5P_DEFAULT_F
+ mem_space_id_default = H5S_ALL_F
+ file_space_id_default = H5S_ALL_F
+
+ if (present(xfer_prp)) xfer_prp_default = xfer_prp
+ if (present(mem_space_id)) mem_space_id_default = mem_space_id
+ if (present(file_space_id)) file_space_id_default = file_space_id
+ f_ptr = C_LOC(buf(1,1,1,1,1,1,1))
+
+ hdferr = h5dwrite_f_c(dset_id, mem_type_id, mem_space_id_default, &
+ file_space_id_default, xfer_prp_default, f_ptr)
+
+ END SUBROUTINE h5dwrite_c_long_double_7
+
!****s* H5D (F03)/h5dwrite_f_F03
!
! NAME
@@ -4261,6 +4502,30 @@ CONTAINS
END SUBROUTINE h5dfill_c_double
+ SUBROUTINE h5dfill_c_long_double(fill_value, space_id, buf, hdferr)
+ IMPLICIT NONE
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: fill_value ! Fill value
+ INTEGER(HID_T), INTENT(IN) :: space_id ! Memory dataspace selection identifier
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), DIMENSION(*), TARGET :: buf ! Memory buffer to fill in
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER(HID_T) :: fill_type_id ! Fill value datatype identifier
+ INTEGER(HID_T) :: mem_type_id ! Buffer dadtype identifier
+
+ TYPE(C_PTR) :: f_ptr_fill_valuer ! C pointer to fill_value
+ TYPE(C_PTR) :: f_ptr_buf ! C pointer to buf
+
+ f_ptr_fill_valuer = C_LOC(fill_value)
+ f_ptr_buf = C_LOC(buf(1))
+
+ fill_type_id = H5T_NATIVE_DOUBLE
+ mem_type_id = H5T_NATIVE_DOUBLE
+
+ hdferr = h5dfill_c(f_ptr_fill_valuer, fill_type_id, space_id, &
+ f_ptr_buf, mem_type_id)
+
+ END SUBROUTINE h5dfill_c_long_double
+
!
! NAME
! h5dfill_char
diff --git a/fortran/src/H5Pff.F90 b/fortran/src/H5Pff.F90
index 8da1a3d..4b5fc66 100644
--- a/fortran/src/H5Pff.F90
+++ b/fortran/src/H5Pff.F90
@@ -67,6 +67,7 @@ MODULE H5P
MODULE PROCEDURE h5pset_integer
MODULE PROCEDURE h5pset_c_float
MODULE PROCEDURE h5pset_c_double
+ MODULE PROCEDURE h5pset_c_long_double
MODULE PROCEDURE h5pset_char
! Recommended procedure:
MODULE PROCEDURE h5pset_ptr
@@ -77,6 +78,7 @@ MODULE H5P
MODULE PROCEDURE h5pget_integer
MODULE PROCEDURE h5pget_c_float
MODULE PROCEDURE h5pget_c_double
+ MODULE PROCEDURE h5pget_c_long_double
! Recommended procedure:
MODULE PROCEDURE h5pget_ptr
END INTERFACE
@@ -85,6 +87,7 @@ MODULE H5P
MODULE PROCEDURE h5pregister_integer
MODULE PROCEDURE h5pregister_c_float
MODULE PROCEDURE h5pregister_c_double
+ MODULE PROCEDURE h5pregister_c_long_double
! Recommended procedure:
MODULE PROCEDURE h5pregister_ptr
END INTERFACE
@@ -6581,6 +6584,43 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
END SUBROUTINE h5pset_c_double
+!
+!****s* H5P (F90)/h5pset_c_long_double
+!
+! NAME
+! h5pset_c_long_double
+!
+! PURPOSE
+! Sets a property list value
+!
+! INPUTS
+! prp_id - iproperty list identifier to modify
+! name - name of property to modify
+! value - value to set property to
+! OUTPUTS
+! hdferr: - error code
+! Success: 0
+! Failure: -1
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+! SOURCE
+ SUBROUTINE h5pset_c_long_double(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTEGER :: name_len
+ TYPE(C_PTR) :: f_ptr ! C address
+
+ f_ptr = C_LOC(value)
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
+
+ END SUBROUTINE h5pset_c_long_double
SUBROUTINE h5pset_char(prp_id, name, value, hdferr)
IMPLICIT NONE
@@ -6717,6 +6757,43 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
END SUBROUTINE h5pget_c_double
+!****s* H5P (F90)/h5pget_c_long_double
+!
+! NAME
+! h5pget_c_long_double
+!
+! PURPOSE
+! Gets a property list value
+!
+! INPUTS
+! prp_id - iproperty list identifier to modify
+! name - name of property to modify
+! OUTPUTS
+! value - value of property
+! hdferr - error code
+! Success: 0
+! Failure: -1
+! AUTHOR
+! Elena Pourmal
+! October 9, 2002
+!
+! SOURCE
+ SUBROUTINE h5pget_c_long_double(prp_id, name, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to modify
+ REAL(KIND=C_LONG_DOUBLE), INTENT(OUT), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTEGER :: name_len
+ TYPE(C_PTR) :: f_ptr ! C address
+
+ f_ptr = C_LOC(value)
+
+ name_len = LEN(name)
+ hdferr = h5pget_c(prp_id, name, name_len, f_ptr)
+ END SUBROUTINE h5pget_c_long_double
+
SUBROUTINE h5pget_char(prp_id, name, value, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: prp_id ! Property list identifier
@@ -6828,8 +6905,6 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
hdferr = h5pget_c(prp_id, name, name_len, value)
END SUBROUTINE h5pget_ptr
-
-
!
!****s* H5P (F03)/h5pregister_f_F90
!
@@ -6934,7 +7009,6 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
INTEGER :: name_len
TYPE(C_PTR) :: f_ptr ! C address
-
f_ptr = C_LOC(value)
name_len = LEN(name)
@@ -6942,6 +7016,50 @@ SUBROUTINE h5pset_attr_phase_change_f(ocpl_id, max_compact, min_dense, hdferr)
END SUBROUTINE h5pregister_c_double
+
+!
+!****s* H5P/h5pregister_c_long_double
+!
+! NAME
+! h5pregister_c_long_double
+!
+! PURPOSE
+! Registers a permanent property with a property list class.
+!
+! INPUTS
+! class - property list class to register
+! permanent property within
+! name - name of property to register
+! size - size of property in bytes
+! value - default value for property in newly
+! created property lists
+! OUTPUTS
+! hdferr - error code
+! Success: 0
+! Failure: -1
+! AUTHOR
+! Elena Pourmal
+! October 10, 2002
+!
+! SOURCE
+ SUBROUTINE h5pregister_c_long_double(class, name, size, value, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of property to register
+ INTEGER(SIZE_T), INTENT(IN) :: size ! Size of the property value
+ REAL(KIND=C_LONG_DOUBLE), INTENT(IN), TARGET :: value ! Property value
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+!*****
+ INTEGER :: name_len
+ TYPE(C_PTR) :: f_ptr ! C address
+
+ f_ptr = C_LOC(value)
+
+ name_len = LEN(name)
+ hdferr = h5pregister_c(class, name, name_len, size, f_ptr)
+
+ END SUBROUTINE h5pregister_c_long_double
+
SUBROUTINE h5pregister_char(class, name, size, value, hdferr)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: class ! Property list class identifier
diff --git a/fortran/src/hdf5_fortrandll.def.in b/fortran/src/hdf5_fortrandll.def.in
index 10ae327..5626ecb 100644
--- a/fortran/src/hdf5_fortrandll.def.in
+++ b/fortran/src/hdf5_fortrandll.def.in
@@ -8,46 +8,6 @@ H5LIB_mp_H5GARBAGE_COLLECT_F
H5LIB_mp_H5DONT_ATEXIT_F
H5LIB_mp_H5KIND_TO_TYPE
H5LIB_mp_H5OFFSETOF
-; H5_DBLE_INTERFACE
-H5D_mp_H5DFILL_C_DOUBLE
-H5D_mp_H5DREAD_C_DOUBLE_SCALAR
-H5D_mp_H5DREAD_C_DOUBLE_1
-H5D_mp_H5DREAD_C_DOUBLE_2
-H5D_mp_H5DREAD_C_DOUBLE_3
-H5D_mp_H5DREAD_C_DOUBLE_4
-H5D_mp_H5DREAD_C_DOUBLE_5
-H5D_mp_H5DREAD_C_DOUBLE_6
-H5D_mp_H5DREAD_C_DOUBLE_7
-H5D_mp_H5DREAD_C_LONG_DOUBLE_SCALAR
-H5D_mp_H5DREAD_C_LONG_DOUBLE_1
-H5D_mp_H5DREAD_C_LONG_DOUBLE_2
-H5D_mp_H5DREAD_C_LONG_DOUBLE_3
-H5D_mp_H5DREAD_C_LONG_DOUBLE_4
-H5D_mp_H5DREAD_C_LONG_DOUBLE_5
-H5D_mp_H5DREAD_C_LONG_DOUBLE_6
-H5D_mp_H5DREAD_C_LONG_DOUBLE_7
-H5D_mp_H5DWRITE_C_DOUBLE_SCALAR
-H5D_mp_H5DWRITE_C_DOUBLE_1
-H5D_mp_H5DWRITE_C_DOUBLE_2
-H5D_mp_H5DWRITE_C_DOUBLE_3
-H5D_mp_H5DWRITE_C_DOUBLE_4
-H5D_mp_H5DWRITE_C_DOUBLE_5
-H5D_mp_H5DWRITE_C_DOUBLE_6
-H5D_mp_H5DWRITE_C_DOUBLE_7
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_SCALAR
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_1
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_2
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_3
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_4
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_5
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_6
-H5D_mp_H5DWRITE_C_LONG_DOUBLE_7
-H5P_mp_H5PGET_C_DOUBLE
-H5P_mp_H5PSET_C_DOUBLE
-H5P_mp_H5PSET_FILL_VALUE_C_DOUBLE
-H5P_mp_H5PGET_FILL_VALUE_C_DOUBLE
-H5P_mp_H5PINSERT_C_DOUBLE
-H5P_mp_H5PREGISTER_C_DOUBLE
; H5A
H5A_mp_H5AWRITE_INTEGER_SCALAR
H5A_mp_H5AWRITE_INTEGER_1
@@ -184,6 +144,22 @@ H5D_mp_H5DWRITE_C_FLOAT_4
H5D_mp_H5DWRITE_C_FLOAT_5
H5D_mp_H5DWRITE_C_FLOAT_6
H5D_mp_H5DWRITE_C_FLOAT_7
+H5D_mp_H5DWRITE_C_DOUBLE_SCALAR
+H5D_mp_H5DWRITE_C_DOUBLE_1
+H5D_mp_H5DWRITE_C_DOUBLE_2
+H5D_mp_H5DWRITE_C_DOUBLE_3
+H5D_mp_H5DWRITE_C_DOUBLE_4
+H5D_mp_H5DWRITE_C_DOUBLE_5
+H5D_mp_H5DWRITE_C_DOUBLE_6
+H5D_mp_H5DWRITE_C_DOUBLE_7
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_SCALAR
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_1
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_2
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_3
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_4
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_5
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_6
+H5D_mp_H5DWRITE_C_LONG_DOUBLE_7
H5D_mp_H5DREAD_REFERENCE_OBJ
H5D_mp_H5DREAD_REFERENCE_DSETREG
H5D_mp_H5DREAD_INTEGER_SCALAR
@@ -210,6 +186,22 @@ H5D_mp_H5DREAD_C_FLOAT_4
H5D_mp_H5DREAD_C_FLOAT_5
H5D_mp_H5DREAD_C_FLOAT_6
H5D_mp_H5DREAD_C_FLOAT_7
+H5D_mp_H5DREAD_C_DOUBLE_SCALAR
+H5D_mp_H5DREAD_C_DOUBLE_1
+H5D_mp_H5DREAD_C_DOUBLE_2
+H5D_mp_H5DREAD_C_DOUBLE_3
+H5D_mp_H5DREAD_C_DOUBLE_4
+H5D_mp_H5DREAD_C_DOUBLE_5
+H5D_mp_H5DREAD_C_DOUBLE_6
+H5D_mp_H5DREAD_C_DOUBLE_7
+H5D_mp_H5DREAD_C_LONG_DOUBLE_SCALAR
+H5D_mp_H5DREAD_C_LONG_DOUBLE_1
+H5D_mp_H5DREAD_C_LONG_DOUBLE_2
+H5D_mp_H5DREAD_C_LONG_DOUBLE_3
+H5D_mp_H5DREAD_C_LONG_DOUBLE_4
+H5D_mp_H5DREAD_C_LONG_DOUBLE_5
+H5D_mp_H5DREAD_C_LONG_DOUBLE_6
+H5D_mp_H5DREAD_C_LONG_DOUBLE_7
H5D_mp_H5DGET_SPACE_F
H5D_mp_H5DGET_TYPE_F
H5D_mp_H5DSET_EXTENT_F
@@ -222,9 +214,11 @@ H5D_mp_H5DWRITE_VL_REAL
H5D_mp_H5DREAD_VL_REAL
H5D_mp_H5DWRITE_VL_STRING
H5D_mp_H5DREAD_VL_STRING
-H5D_mp_H5DFILL_INTEGER
-H5D_mp_H5DFILL_REAL
H5D_mp_H5DFILL_CHAR
+H5D_mp_H5DFILL_INTEGER
+H5D_mp_H5DFILL_C_FLOAT
+H5D_mp_H5DFILL_C_DOUBLE
+H5D_mp_H5DFILL_C_LONG_DOUBLE
H5D_mp_H5DGET_SPACE_STATUS_F
H5D_mp_H5DCREATE_ANON_F
H5D_mp_H5DGET_SPACE_F
@@ -352,12 +346,16 @@ H5P_mp_H5PCLOSE_F
H5P_mp_H5PSET_CHUNK_F
H5P_mp_H5PGET_CHUNK_F
H5P_mp_H5PSET_DEFLATE_F
-H5P_mp_H5PSET_FILL_VALUE_INTEGER
-H5P_mp_H5PGET_FILL_VALUE_INTEGER
-H5P_mp_H5PSET_FILL_VALUE_REAL
-H5P_mp_H5PGET_FILL_VALUE_REAL
H5P_mp_H5PSET_FILL_VALUE_CHAR
H5P_mp_H5PGET_FILL_VALUE_CHAR
+H5P_mp_H5PSET_FILL_VALUE_INTEGER
+H5P_mp_H5PGET_FILL_VALUE_INTEGER
+H5P_mp_H5PSET_FILL_VALUE_C_FLOAT
+H5P_mp_H5PGET_FILL_VALUE_C_FLOAT
+H5P_mp_H5PSET_FILL_VALUE_C_DOUBLE
+H5P_mp_H5PGET_FILL_VALUE_C_DOUBLE
+H5P_mp_H5PSET_FILL_VALUE_C_LONG_DOUBLE
+H5P_mp_H5PGET_FILL_VALUE_C_LONG_DOUBLE
H5P_mp_H5PGET_VERSION_F
H5P_mp_H5PSET_USERBLOCK_F
H5P_mp_H5PGET_USERBLOCK_F
@@ -409,12 +407,16 @@ H5P_mp_H5PSET_SMALL_DATA_BLOCK_SIZE_F
H5P_mp_H5PGET_SMALL_DATA_BLOCK_SIZE_F
H5P_mp_H5PSET_HYPER_VECTOR_SIZE_F
H5P_mp_H5PGET_HYPER_VECTOR_SIZE_F
-H5P_mp_H5PSET_INTEGER
-H5P_mp_H5PSET_REAL
H5P_mp_H5PSET_CHAR
-H5P_mp_H5PGET_INTEGER
-H5P_mp_H5PGET_REAL
+H5P_mp_H5PSET_INTEGER
+H5P_mp_H5PSET_C_FLOAT
+H5P_mp_H5PSET_C_DOUBLE
+H5P_mp_H5PSET_C_LONG_DOUBLE
H5P_mp_H5PGET_CHAR
+H5P_mp_H5PGET_INTEGER
+H5P_mp_H5PGET_C_FLOAT
+H5P_mp_H5PGET_C_DOUBLE
+H5P_mp_H5PGET_C_LONG_DOUBLE
H5P_mp_H5PEXIST_F
H5P_mp_H5PGET_SIZE_F
H5P_mp_H5PGET_NPROPS_F
@@ -427,11 +429,15 @@ H5P_mp_H5PUNREGISTER_F
H5P_mp_H5PCLOSE_CLASS_F
H5P_mp_H5PCREATE_CLASS_F
H5P_mp_H5PREGISTER_INTEGER
-H5P_mp_H5PREGISTER_REAL
+H5P_mp_H5PREGISTER_C_FLOAT
+H5P_mp_H5PREGISTER_C_DOUBLE
+H5P_mp_H5PREGISTER_C_LONG_DOUBLE
H5P_mp_H5PREGISTER_CHAR
-H5P_mp_H5PINSERT_INTEGER
-H5P_mp_H5PINSERT_REAL
H5P_mp_H5PINSERT_CHAR
+H5P_mp_H5PINSERT_INTEGER
+H5P_mp_H5PINSERT_C_FLOAT
+H5P_mp_H5PINSERT_C_DOUBLE
+H5P_mp_H5PINSERT_C_LONG_DOUBLE
H5P_mp_H5PSET_SHUFFLE_F
H5P_mp_H5PSET_EDC_CHECK_F
H5P_mp_H5PGET_EDC_CHECK_F