diff options
author | Scot Breitenfeld <brtnfld@hdfgroup.org> | 2023-09-07 22:25:07 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-09-07 22:25:07 (GMT) |
commit | 08e115b7d8f95551be8bede824847997d95d0cf1 (patch) | |
tree | a377c6607419278eaafc8cf3043608f93afe1ad7 /hl/fortran/src/H5DOff.F90 | |
parent | 8253ab9ebf6a082dc07eb931f27b169d6a45d577 (diff) | |
download | hdf5-08e115b7d8f95551be8bede824847997d95d0cf1.zip hdf5-08e115b7d8f95551be8bede824847997d95d0cf1.tar.gz hdf5-08e115b7d8f95551be8bede824847997d95d0cf1.tar.bz2 |
Added new Fortran API wrappers (#3511)
* Added new wrappers for
h5get_free_list_sizes_f
H5Sselect_intersect_block_f
H5Sselect_shape_same_f
h5pget_no_selection_io_cause_f
h5pget_mpio_no_collective_cause_f
H5Lvisit_by_name_f
H5Lvisit_f
H5Fget_info_f
h5dwrite_chunk_f
h5dread_chunk_f
* added h5pget_file_space_page_size_f, h5pset_file_space_page_size_f, h5pget_file_space_strategy_f, h5pset_file_space_strategy_f, h5info tests
* added fortran tests
* Update tH5F.F90
Diffstat (limited to 'hl/fortran/src/H5DOff.F90')
-rw-r--r-- | hl/fortran/src/H5DOff.F90 | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/hl/fortran/src/H5DOff.F90 b/hl/fortran/src/H5DOff.F90 new file mode 100644 index 0000000..df4157c --- /dev/null +++ b/hl/fortran/src/H5DOff.F90 @@ -0,0 +1,91 @@ +!> @defgroup FH5DO Fortran High Level Optimized Interface +!! +!! @see H5DO, C-HL API +!! +!! @see @ref H5DO_UG, User Guide +!! + +!> @ingroup FH5DO +!! +!! @brief This module contains Fortran interfaces for H5DO +! +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! Copyright by The HDF Group. * +! All rights reserved. * +! * +! This file is part of HDF5. The full HDF5 copyright notice, including * +! terms governing use, modification, and redistribution, is contained in * +! the COPYING file, which can be found at the root of the source code * +! distribution tree, or in https://www.hdfgroup.org/licenses. * +! If you do not have access to either file, you may request a copy from * +! help@hdfgroup.org. * +! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +! _____ __ __ _____ ____ _____ _______ _ _ _______ +! |_ _| \/ | __ \ / __ \| __ \__ __|/\ | \ | |__ __| +! **** | | | \ / | |__) | | | | |__) | | | / \ | \| | | | **** +! **** | | | |\/| | ___/| | | | _ / | | / /\ \ | . ` | | | **** +! **** _| |_| | | | | | |__| | | \ \ | |/ ____ \| |\ | | | **** +! |_____|_| |_|_| \____/|_| \_\ |_/_/ \_\_| \_| |_| +! +! 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 H5DO + + USE h5fortran_types + USE hdf5 + IMPLICIT NONE + +CONTAINS + +!> +!! \ingroup FH5DO +!! +!! \brief Appends data to a dataset along a specified dimension. +!! +!! \param dset_id Dataset identifier +!! \param dxpl_id Dataset transfer property list identifier +!! \param axis Dataset Dimension (0-based) for the append +!! \param extension Number of elements to append for the axis-th dimension +!! \param memtype The memory datatype identifier +!! \param buf Buffer with data for the append +!! \param errcode \fortran_error +!! +!! See C API: @ref H5DOappend() +!! + SUBROUTINE H5DOappend_f (dset_id, dxpl_id, axis, extension, memtype, buf, errcode) + + IMPLICIT NONE + + INTEGER(hid_t) , INTENT(IN) :: dset_id + INTEGER(hid_t) , INTENT(IN) :: dxpl_id + INTEGER , INTENT(IN) :: axis + INTEGER(SIZE_T), INTENT(IN) :: extension + INTEGER(hid_t) , INTENT(IN) :: memtype + TYPE(C_PTR) :: buf + INTEGER , INTENT(OUT) :: errcode + + INTERFACE + INTEGER(C_INT) FUNCTION H5DOappend(dset_id, dxpl_id, axis, extension, memtype, buf) & + BIND(C,NAME='H5DOappend') + + IMPORT :: C_INT, C_PTR + IMPORT :: HID_T, SIZE_T + IMPLICIT NONE + + INTEGER(hid_t) , VALUE :: dset_id + INTEGER(hid_t) , VALUE :: dxpl_id + INTEGER(C_INT) , VALUE :: axis + INTEGER(SIZE_T), VALUE :: extension + INTEGER(hid_t) , VALUE :: memtype + TYPE(C_PTR) , VALUE :: buf + END FUNCTION H5DOappend + END INTERFACE + + errcode = INT(H5DOappend(dset_id, dxpl_id, INT(axis,C_INT), extension, memtype, buf)) + + END SUBROUTINE H5DOappend_f + +END MODULE H5DO |