diff options
Diffstat (limited to 'fortran/src/H5Dff.F90')
-rw-r--r-- | fortran/src/H5Dff.F90 | 43 |
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 |