summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Dff.F90
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src/H5Dff.F90')
-rw-r--r--fortran/src/H5Dff.F9043
1 files changed, 41 insertions, 2 deletions
diff --git a/fortran/src/H5Dff.F90 b/fortran/src/H5Dff.F90
index b70c091..3a0d149 100644
--- a/fortran/src/H5Dff.F90
+++ b/fortran/src/H5Dff.F90
@@ -293,8 +293,6 @@ CONTAINS
INTEGER :: namelen ! Name length
-! MS FORTRAN needs explicit interface for C functions called here.
-!
INTERFACE
INTEGER FUNCTION h5dcreate_c(loc_id, name, namelen, type_id, &
space_id, lcpl_id_default, dcpl_id_default, dapl_id_default, dset_id) &
@@ -1101,6 +1099,47 @@ CONTAINS
END SUBROUTINE h5dread_vl_string
!
+!****s* H5D/h5dget_offset_f
+!
+! NAME
+! h5dget_offset_f
+!
+! PURPOSE
+! Returns dataset address in file.
+!
+! INPUTS
+! dataset_id - Dataset identifier.
+! OUTPUTS
+! offset - The offset in bytes.
+! hdferr - Returns 0 if successful and -1 if fails.
+!
+! AUTHOR
+! M. Scot Breitenfeld
+! April 16, 2015
+!
+! SOURCE
+ SUBROUTINE h5dget_offset_f(dset_id, offset, hdferr)
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: dset_id
+ INTEGER(HADDR_T), INTENT(OUT) :: offset
+ INTEGER, INTENT(OUT) :: hdferr
+!*****
+ INTERFACE
+ INTEGER(HADDR_T) FUNCTION h5dget_offset(dset_id) BIND(C,NAME='H5Dget_offset')
+ IMPORT :: HID_T, HADDR_T
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN), VALUE :: dset_id
+ END FUNCTION h5dget_offset
+ END INTERFACE
+
+ offset = h5dget_offset(dset_id)
+
+ hdferr = 0
+ IF(offset .LT. 0) hdferr = -1
+
+ END SUBROUTINE h5dget_offset_f
+
+!
!****s* H5D/h5dget_space_f
!
! NAME