HDF5 FORTRAN Developer's Guide

## H5L (F03)

[ Top ] [ Modules ]

NAME

      H5L_PROVISIONAL

FILE

      src/fortran/src/H5Lff_F03.f90

PURPOSE

      This file contains Fortran 90 and Fortran 2003 interfaces for H5L functions.
      It contains the same functions as H5Lff_DEPRECIATE.f90 but includes the
      Fortran 2003 functions and the interface listings. This file will be compiled
      instead of H5Lff_DEPRECIATE.f90 if Fortran 2003 functions are enabled.

NOTES

                             *** IMPORTANT ***
      If you add a new H5A function you must add the function name to the
      Windows dll file 'hdf5_fortrandll.def' in the fortran/src directory.
      This is needed for Windows based operating systems.

## h5literate_by_name_f

[ Top ] [ H5L (F03) ] [ Subroutines ]

NAME

      h5literate_by_name_f

PURPOSE

      Iterates through links in a group.

INPUTS

      loc_id        - File or group identifier specifying location of subject group
      group_name    - Name of subject group
      index_type    - Type of index which determines the order
      order         - Order within index
      idx           - Iteration position at which to start
      op            - Callback function passing data regarding the link to the calling application
      op_data       - User-defined pointer to data required by the application for its processing of the link

OUTPUTS

      idx      - Position at which an interrupted iteration may be restarted
      hdferr   - Error code:
                   Success:  0
                   Failure: -1

OPTIONAL PARAMETERS

      lapl_id  - Link access property list

AUTHOR

      M. Scot Breitenfeld
      Augest 18, 2008

SOURCE

      SUBROUTINE h5literate_by_name_f(loc_id, group_name, index_type, order, idx, op, op_data, return_value, hdferr, lapl_id)
        USE ISO_C_BINDING
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: loc_id    ! Identifier specifying subject group
        CHARACTER(LEN=*) :: group_name          ! Name of subject group
        INTEGER, INTENT(IN) :: index_type       ! Type of index which determines the order:
                                                    ! H5_INDEX_NAME_F - Alpha-numeric index on name
                                                    ! H5_INDEX_CRT_ORDER_F - Index on creation order
        INTEGER, INTENT(IN) :: order            ! Order within index:
                                                    ! H5_ITER_INC_F - Increasing order
                                                    ! H5_ITER_DEC_F - Decreasing order
                                                    ! H5_ITER_NATIVE_F - Fastest available order
        INTEGER(HSIZE_T), INTENT(INOUT) :: idx  ! IN : Iteration position at which to start
                                                ! OUT: Position at which an interrupted iteration may be restarted

        TYPE(C_FUNPTR):: op      ! Callback function passing data regarding the link to the calling application
        TYPE(C_PTR)   :: op_data ! User-defined pointer to data required by the application for its processing of the link

        INTEGER, INTENT(OUT) :: return_value ! Success:   The return value of the first operator that
                                             !            returns non-zero, or zero if all members were
                                             !            processed with no operator returning non-zero.

                                             ! Failure:   Negative if something goes wrong within the
                                             !            library, or the negative value returned by one
                                             !            of the operators.

        INTEGER, INTENT(OUT) :: hdferr       ! Error code:
                                             ! 0 on success and -1 on failure

        INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Link access property list

## h5literate_f

[ Top ] [ H5L (F03) ] [ Subroutines ]

NAME

      h5literate_f

PURPOSE

      Iterates through links in a group.

INPUTS

      group_id      - Identifier specifying subject group
      index_type    - Type of index which determines the order
      order         - Order within index
      idx           - Iteration position at which to start
      op            - Callback function passing data regarding the link to the calling application
      op_data       - User-defined pointer to data required by the application for its processing of the link

OUTPUTS

      idx           - Position at which an interrupted iteration may be restarted
      hdferr        - Error code:
                        Success:  0
                        Failure: -1

AUTHOR

      M. Scot Breitenfeld
      July 8, 2008

SOURCE

      SUBROUTINE h5literate_f(group_id, index_type, order, idx, op, op_data, return_value, hdferr)
        USE ISO_C_BINDING
        IMPLICIT NONE
        INTEGER(HID_T), INTENT(IN) :: group_id  ! Identifier specifying subject group
        INTEGER, INTENT(IN) :: index_type       ! Type of index which determines the order:
                                                    ! H5_INDEX_NAME_F - Alpha-numeric index on name
                                                    ! H5_INDEX_CRT_ORDER_F - Index on creation order
        INTEGER, INTENT(IN) :: order            ! Order within index:
                                                    ! H5_ITER_INC_F - Increasing order
                                                    ! H5_ITER_DEC_F - Decreasing order
                                                    ! H5_ITER_NATIVE_F - Fastest available order
        INTEGER(HSIZE_T), INTENT(INOUT) :: idx  ! IN : Iteration position at which to start
                                                ! OUT: Position at which an interrupted iteration may be restarted

        TYPE(C_FUNPTR):: op      ! Callback function passing data regarding the link to the calling application
        TYPE(C_PTR)   :: op_data ! User-defined pointer to data required by the application for its processing of the link

        INTEGER, INTENT(OUT) :: return_value ! Success:   The return value of the first operator that
                                             !            returns non-zero, or zero if all members were
                                             !            processed with no operator returning non-zero.

                                             ! Failure:   Negative if something goes wrong within the
                                             !            library, or the negative value returned by one
                                             !            of the operators.

        INTEGER, INTENT(OUT) :: hdferr       ! Error code:
                                             ! 0 on success and -1 on failure