summaryrefslogtreecommitdiffstats
path: root/fortran/src/H5Gff.f90
diff options
context:
space:
mode:
Diffstat (limited to 'fortran/src/H5Gff.f90')
-rw-r--r--fortran/src/H5Gff.f90636
1 files changed, 74 insertions, 562 deletions
diff --git a/fortran/src/H5Gff.f90 b/fortran/src/H5Gff.f90
index 6e4dd4f..5866539 100644
--- a/fortran/src/H5Gff.f90
+++ b/fortran/src/H5Gff.f90
@@ -16,18 +16,10 @@
!
! This file contains Fortran90 interfaces for H5F functions.
!
-MODULE H5G
- USE H5GLOBAL
-
-! PRIVATE :: h5gcreate1_f
-! PRIVATE :: h5gcreate2_f
-
-! INTERFACE h5gcreate_f
-! MODULE PROCEDURE h5gcreate1_f
-! MODULE PROCEDURE h5gcreate2_f
-! END INTERFACE
-
-CONTAINS
+ MODULE H5G
+ USE H5GLOBAL
+
+ CONTAINS
!----------------------------------------------------------------------
! Name: h5gcreate_f
@@ -43,12 +35,9 @@ CONTAINS
! Success: 0
! Failure: -1
! Optional parameters:
-! size_hint - a parameter indicating the number of bytes
+! size_hint - a parameter indicating the number of bytes
! to reserve for the names that will appear
! in the group
-! lcpl_id - Property list for link creation
-! gcpl_id - Property list for group creation
-! gapl_id - Property list for group access
!
! Programmer: Elena Pourmal
! August 12, 1999
@@ -57,170 +46,56 @@ CONTAINS
! called C functions (it is needed for Windows
! port). March 5, 2001
!
-! Added additional optional paramaters in 1.8
-! MSB - February 27, 2008
-!
! Comment:
!----------------------------------------------------------------------
- SUBROUTINE h5gcreate_f(loc_id, name, grp_id, hdferr, size_hint, lcpl_id, gcpl_id, gapl_id)
+ SUBROUTINE h5gcreate_f(loc_id, name, grp_id, hdferr, size_hint)
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$attributes dllexport :: h5gcreate_f
!DEC$endif
-!
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group
- INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(SIZE_T), OPTIONAL, INTENT(IN) :: size_hint
- ! Parameter indicating
- ! the number of bytes
- ! to reserve for the
- ! names that will appear
- ! in the group. Set to OBJECT_NAMELEN_DEFAULT_F
- ! if using any of the optional
- ! parameters lcpl_id, gcpl_id, and/or gapl_id when not
- ! using keywords in specifying the optional parameters
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Property list for link creation
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gcpl_id ! Property list for group creation
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gapl_id ! Property list for group access
-
- INTEGER(HID_T) :: lcpl_id_default
- INTEGER(HID_T) :: gcpl_id_default
- INTEGER(HID_T) :: gapl_id_default
-
- INTEGER :: namelen ! Length of the name character string
- INTEGER(SIZE_T) :: size_hint_default
+!
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group
+ INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+ INTEGER(SIZE_T), OPTIONAL, INTENT(IN) :: size_hint
+ ! Parameter indicating
+ ! the number of bytes
+ ! to reserve for the
+ ! names that will appear
+ ! in the group
+ INTEGER :: namelen ! Length of the name character string
+ INTEGER(SIZE_T) :: size_hint_default
+! INTEGER, EXTERNAL :: h5gcreate_c
! MS FORTRAN needs explicit interface for C functions called here.
!
- INTERFACE
- INTEGER FUNCTION h5gcreate_c(loc_id, name, namelen, &
- size_hint_default, grp_id, lcpl_id_default, gcpl_id_default, gapl_id_default)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GCREATE_C'::h5gcreate_c
- !DEC$ ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(SIZE_T) :: size_hint_default
- INTEGER(HID_T), INTENT(OUT) :: grp_id
- INTEGER(HID_T) :: lcpl_id_default
- INTEGER(HID_T) :: gcpl_id_default
- INTEGER(HID_T) :: gapl_id_default
- END FUNCTION h5gcreate_c
- END INTERFACE
-
- size_hint_default = OBJECT_NAMELEN_DEFAULT_F
- IF (PRESENT(size_hint)) size_hint_default = size_hint
- lcpl_id_default = H5P_DEFAULT_F
- IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
- gcpl_id_default = H5P_DEFAULT_F
- IF(PRESENT(gcpl_id)) gcpl_id_default = gcpl_id
- gapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(gapl_id)) gapl_id_default = gapl_id
-
- namelen = LEN(name)
-
- hdferr = h5gcreate_c(loc_id, name, namelen, size_hint_default, grp_id, &
- lcpl_id_default, gcpl_id_default, gapl_id_default)
-
- END SUBROUTINE h5gcreate_f
+ INTERFACE
+ INTEGER FUNCTION h5gcreate_c(loc_id, name, namelen, &
+ size_hint_default, grp_id)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GCREATE_C'::h5gcreate_c
+ !DEC$ ENDIF
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(SIZE_T) :: size_hint_default
+ INTEGER(HID_T), INTENT(OUT) :: grp_id
+ END FUNCTION h5gcreate_c
+ END INTERFACE
-!!$!----------------------------------------------------------------------
-!!$! Name: h5gcreate2_f
-!!$!
-!!$! Purpose: Creates a new group.
-!!$!
-!!$! Inputs:
-!!$! loc_id - location identifier
-!!$! name - group name at the specified location
-!!$! Outputs:
-!!$! grp_id - group identifier
-!!$! hdferr: - error code
-!!$! Success: 0
-!!$! Failure: -1
-!!$! Optional parameters:
-!!$!
-!!$! lcpl_id - Property list for link creation
-!!$! gcpl_id - Property list for group creation
-!!$! gapl_id - Property list for group access
-!!$!
-!!$! Programmer: M.S. BREITENFELD
-!!$! February 27, 2008
-!!$!
-!!$! Modifications:
-!!$!
-!!$! Comment: Needed to switch the first 2 arguments to avoid conflect
-!!$! with h5gcreate1_f
-!!$!----------------------------------------------------------------------
-!!$
-!!$ SUBROUTINE h5gcreate2_f(name, loc_id, grp_id, hdferr, &
-!!$ lcpl_id, gcpl_id, gapl_id)
-!!$!
-!!$!This definition is needed for Windows DLLs
-!!$!DEC$if defined(BUILD_HDF5_DLL)
-!!$!DEC$attributes dllexport :: h5gcreate_f
-!!$!DEC$endif
-!!$!
-!!$ IMPLICIT NONE
-!!$ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group
-!!$ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
-!!$ INTEGER, INTENT(OUT) :: hdferr ! Error code
-!!$ INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier
-!!$
-!!$ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Property list for link creation
-!!$ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gcpl_id ! Property list for group creation
-!!$ INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gapl_id ! Property list for group access
-!!$
-!!$ INTEGER(HID_T) :: lcpl_id_default
-!!$ INTEGER(HID_T) :: gcpl_id_default
-!!$ INTEGER(HID_T) :: gapl_id_default
-!!$
-!!$ INTEGER(SIZE_T) :: OBJECT_NAMELEN_DEFAULT ! Dummy argument to pass to c call
-!!$ INTEGER :: namelen ! Length of the name character string
-!!$
-!!$! MS FORTRAN needs explicit interface for C functions called here.
-!!$!
-!!$ INTERFACE
-!!$ INTEGER FUNCTION h5gcreate_c(loc_id, name, namelen, &
-!!$ OBJECT_NAMELEN_DEFAULT, grp_id, lcpl_id_default, gcpl_id_default, gapl_id_default)
-!!$ USE H5GLOBAL
-!!$ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
-!!$ !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GCREATE_C'::h5gcreate_c
-!!$ !DEC$ ENDIF
-!!$ !DEC$ATTRIBUTES reference :: name
-!!$ INTEGER(HID_T), INTENT(IN) :: loc_id
-!!$ CHARACTER(LEN=*), INTENT(IN) :: name
-!!$ INTEGER :: namelen
-!!$ INTEGER(SIZE_T) :: OBJECT_NAMELEN_DEFAULT
-!!$ INTEGER(HID_T) :: lcpl_id_default
-!!$ INTEGER(HID_T) :: gcpl_id_default
-!!$ INTEGER(HID_T) :: gapl_id_default
-!!$ INTEGER(HID_T), INTENT(OUT) :: grp_id
-!!$ END FUNCTION h5gcreate_c
-!!$ END INTERFACE
-!!$
-!!$ namelen = LEN(name)
-!!$ OBJECT_NAMELEN_DEFAULT = OBJECT_NAMELEN_DEFAULT_F
-!!$
-!!$ lcpl_id_default = H5P_DEFAULT_F
-!!$ IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
-!!$ gcpl_id_default = H5P_DEFAULT_F
-!!$ IF(PRESENT(gcpl_id)) gcpl_id_default = gcpl_id
-!!$ gapl_id_default = H5P_DEFAULT_F
-!!$ IF(PRESENT(gapl_id)) gapl_id_default = gapl_id
-!!$
-!!$
-!!$ hdferr = h5gcreate_c(loc_id, name, namelen, OBJECT_NAMELEN_DEFAULT, grp_id, &
-!!$ lcpl_id_default, gcpl_id_default, gapl_id_default)
-!!$
-!!$ END SUBROUTINE h5gcreate2_f
+ size_hint_default = OBJECT_NAMELEN_DEFAULT_F
+ if (present(size_hint)) size_hint_default = size_hint
+ namelen = LEN(name)
+ hdferr = h5gcreate_c(loc_id, name, namelen, size_hint_default, &
+ grp_id)
+ END SUBROUTINE h5gcreate_f
!----------------------------------------------------------------------
! Name: h5gopen_f
@@ -236,62 +111,54 @@ CONTAINS
! Success: 0
! Failure: -1
! Optional parameters:
-! gapl_id - Group access property list identifier
+! NONE
!
! Programmer: Elena Pourmal
! August 12, 1999
!
! Modifications: Explicit Fortran interfaces were added for
! called C functions (it is needed for Windows
-! port). March 5, 2001
-!
-! Added 1.8 (optional) parameter gapl_id
-! February, 2008 M.S. Breitenfeld
+! port). March 5, 2001
!
! Comment:
!----------------------------------------------------------------------
- SUBROUTINE h5gopen_f(loc_id, name, grp_id, hdferr, gapl_id)
+ SUBROUTINE h5gopen_f(loc_id, name, grp_id, hdferr)
!
!This definition is needed for Windows DLLs
!DEC$if defined(BUILD_HDF5_DLL)
!DEC$attributes dllexport :: h5gopen_f
!DEC$endif
!
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group
- INTEGER(HID_T), INTENT(OUT) :: grp_id ! File identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gapl_id ! Group access property list identifier
-
- INTEGER(HID_T) :: gapl_id_default
- INTEGER :: namelen ! Length of the name character string
-
+
+ IMPLICIT NONE
+ INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
+ CHARACTER(LEN=*), INTENT(IN) :: name ! Name of the group
+ INTEGER(HID_T), INTENT(OUT) :: grp_id ! File identifier
+ INTEGER, INTENT(OUT) :: hdferr ! Error code
+
+ INTEGER :: namelen ! Length of the name character string
+
! INTEGER, EXTERNAL :: h5gopen_c
! MS FORTRAN needs explicit interface for C functions called here.
!
- INTERFACE
- INTEGER FUNCTION h5gopen_c(loc_id, name, namelen, gapl_id_default, grp_id)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GOPEN_C'::h5gopen_c
- !DEC$ ENDIF
- !DEC$ATTRIBUTES reference :: name
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: name
- INTEGER :: namelen
- INTEGER(HID_T), INTENT(IN) :: gapl_id_default
- INTEGER(HID_T), INTENT(OUT) :: grp_id
- END FUNCTION h5gopen_c
- END INTERFACE
-
- gapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(gapl_id)) gapl_id_default = gapl_id
+ INTERFACE
+ INTEGER FUNCTION h5gopen_c(loc_id, name, namelen, grp_id)
+ USE H5GLOBAL
+ !DEC$ IF DEFINED(HDF5F90_WINDOWS)
+ !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GOPEN_C'::h5gopen_c
+ !DEC$ ENDIF
+ !DEC$ATTRIBUTES reference :: name
+ INTEGER(HID_T), INTENT(IN) :: loc_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ INTEGER :: namelen
+ INTEGER(HID_T), INTENT(OUT) :: grp_id
+ END FUNCTION h5gopen_c
+ END INTERFACE
- namelen = LEN(name)
- hdferr = h5gopen_c(loc_id, name, namelen, gapl_id_default, grp_id)
-
- END SUBROUTINE h5gopen_f
+ namelen = LEN(name)
+ hdferr = h5gopen_c(loc_id, name, namelen, grp_id)
+
+ END SUBROUTINE h5gopen_f
!----------------------------------------------------------------------
! Name: h5gclose_f
@@ -1062,362 +929,7 @@ CONTAINS
namelen = LEN(name)
hdferr = h5gget_comment_c(loc_id, name, namelen, size, buffer)
- END SUBROUTINE h5gget_comment_f
-
-!----------------------------------------------------------------------
-! Name: H5Gcreate_anon_f
-!
-! Purpose: Creates a new empty group without linking it into the file structure.
-!
-! Inputs:
-! loc_id - Location identifier
-! Outputs:
-! grp_id - group identifier
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-! gcpl_id - Group creation property list identifier
-! gapl_id - Group access property list identifier
-!
-! Programmer: M.S. Breitenfeld
-! February 15, 2008
-!
-! Modifications:
-!
-! Comment:
-!----------------------------------------------------------------------
- SUBROUTINE h5Gcreate_anon_f(loc_id, grp_id, hdferr, gcpl_id, gapl_id)
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5gcreate_anon_f
-!DEC$endif
-!
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier
- INTEGER, INTENT(OUT) :: hdferr ! Error code
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gcpl_id ! Property list for group creation
- INTEGER(HID_T), OPTIONAL, INTENT(IN) :: gapl_id ! Property list for group access
-
- INTEGER(HID_T) :: gcpl_id_default
- INTEGER(HID_T) :: gapl_id_default
-
- INTERFACE
- INTEGER FUNCTION h5gcreate_anon_c(loc_id, gcpl_id_default, gapl_id_default, grp_id)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GCREATE_ANON_C'::h5gcreate_anon_c
- !DEC$ ENDIF
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- INTEGER(HID_T), INTENT(IN) :: gcpl_id_default ! Property list for group creation
- INTEGER(HID_T), INTENT(IN) :: gapl_id_default ! Property list for group access
- INTEGER(HID_T), INTENT(OUT) :: grp_id ! Group identifier
- END FUNCTION h5gcreate_anon_c
- END INTERFACE
-
- gcpl_id_default = H5P_DEFAULT_F
- gapl_id_default = H5P_DEFAULT_F
-
- IF(PRESENT(gcpl_id)) gcpl_id_default = gcpl_id
- IF(PRESENT(gapl_id)) gapl_id_default = gapl_id
-
- hdferr = h5gcreate_anon_c(loc_id, gcpl_id_default, gapl_id_default, grp_id)
-
- END SUBROUTINE h5Gcreate_anon_f
-
-!----------------------------------------------------------------------
-! Name: H5Gget_create_plist_f
-!
-! Purpose: Gets a group creation property list identifier.
-!
-! Inputs:
-! grp_id - group identifier
-! Outputs:
-! gcpl_id - Group creation property list identifier
-! hdferr: - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-!
-! Programmer: M.S. Breitenfeld
-! February 15, 2008
-!
-! Modifications:
-!
-! Comment:
-!----------------------------------------------------------------------
- SUBROUTINE h5gget_create_plist_f(grp_id, gcpl_id, hdferr)
-!
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5gget_create_plist_f
-!DEC$endif
-!
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: grp_id ! Group identifier
- INTEGER(HID_T), INTENT(OUT) :: gcpl_id ! Property list for group creation
- INTEGER, INTENT(OUT) :: hdferr ! Error code
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5gget_create_plist_c(grp_id, gcpl_id )
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GGET_CREATE_PLIST_C'::h5gget_create_plist_c
- !DEC$ ENDIF
- INTEGER(HID_T), INTENT(IN) :: grp_id
- INTEGER(HID_T), INTENT(OUT) :: gcpl_id
- END FUNCTION h5gget_create_plist_c
- END INTERFACE
-
- hdferr = h5gget_create_plist_c(grp_id, gcpl_id )
-
- END SUBROUTINE h5gget_create_plist_f
-
-!----------------------------------------------------------------------
-! Name: h5gget_info_f
-!
-! Purpose: Retrieves information about a group
-!
-! Inputs:
-! group_id - Group identifier
-!
-! Outputs: NOTE: In C it is defined as a structure: H5G_info_t
-!
-! storage_type - Type of storage for links in group
-! H5G_STORAGE_TYPE_COMPACT: Compact storage
-! H5G_STORAGE_TYPE_DENSE: Indexed storage
-! H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original HDF5 structure
-! nlinks - Number of links in group
-! max_corder - Current maximum creation order value for group
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-! NONE
-!
-! Programmer: M. S. Breitenfeld
-! February 15, 2008
-!
-! Modifications: N/A
-!
-!----------------------------------------------------------------------
-
- SUBROUTINE h5gget_info_f(group_id, storage_type, nlinks, max_corder, hdferr)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5gget_info_f
-!DEC$endif
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: group_id ! Group identifier
-
- INTEGER, INTENT(OUT) :: storage_type ! Type of storage for links in group:
- ! H5G_STORAGE_TYPE_COMPACT_F: Compact storage
- ! H5G_STORAGE_TYPE_DENSE_F: Indexed storage
- ! H5G_STORAGE_TYPE_SYMBOL_TABLE_F: Symbol tables, the original HDF5 structure
- INTEGER, INTENT(OUT) :: nlinks ! Number of links in group
- INTEGER, INTENT(OUT) :: max_corder ! Current maximum creation order value for group
- INTEGER, INTENT(OUT) :: hdferr ! Error code:
- ! 0 on success and -1 on failure
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5gget_info_c(group_id, storage_type, nlinks, max_corder)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GGET_INFO_C'::h5gget_info_c
- !DEC$ ENDIF
- INTEGER(HID_T), INTENT(IN) :: group_id
- INTEGER, INTENT(OUT) :: storage_type
- INTEGER, INTENT(OUT) :: nlinks
- INTEGER, INTENT(OUT) :: max_corder
- END FUNCTION h5gget_info_c
- END INTERFACE
-
- hdferr = h5gget_info_c(group_id, storage_type, nlinks, max_corder)
-
- END SUBROUTINE h5gget_info_f
-
-!----------------------------------------------------------------------
-! Name: h5gget_info_by_idx_f
-!
-! Purpose: Retrieves information about a group, according to the group’s position within an index.
-!
-! Inputs:
-! loc_id - File or group identifier
-! group_name - Name of group containing group for which information is to be retrieved
-! index_type - Index type
-! order - Order of the count in the index
-! n - Position in the index of the group for which information is retrieved
-!
-! Outputs: NOTE: In C the following are defined as a structure: H5G_info_t
-!
-! storage_type - Type of storage for links in group
-! H5G_STORAGE_TYPE_COMPACT: Compact storage
-! H5G_STORAGE_TYPE_DENSE: Indexed storage
-! H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original HDF5 structure
-! nlinks - Number of links in group
-! max_corder - Current maximum creation order value for group
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-! lapl_id - Link access property list
-!
-! Programmer: M. S. Breitenfeld
-! February 18, 2008
-!
-! Modifications: N/A
-!
-!----------------------------------------------------------------------
-
- SUBROUTINE h5gget_info_by_idx_f(loc_id, group_name, index_type, order, n, &
- storage_type, nlinks, max_corder, hdferr, lapl_id)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5gget_info_by_idx_f
-!DEC$endif
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of group containing group for which information is to be retrieved
- INTEGER(HID_T), INTENT(IN) :: index_type ! Index type
- INTEGER(HID_T), INTENT(IN) :: order ! Order of the count in the index
- INTEGER(HSIZE_T), INTENT(IN) :: n ! Position in the index of the group for which information is retrieved
-
- INTEGER, INTENT(OUT) :: storage_type ! Type of storage for links in group:
- ! H5G_STORAGE_TYPE_COMPACT_F: Compact storage
- ! H5G_STORAGE_TYPE_DENSE_F: Indexed storage
- ! H5G_STORAGE_TYPE_SYMBOL_TABLE_F: Symbol tables, the original HDF5 structure
- INTEGER, INTENT(OUT) :: nlinks ! Number of links in group
- INTEGER, INTENT(OUT) :: max_corder ! Current maximum creation order value for group
- 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
-
- INTEGER(HID_T) :: lapl_id_default
- INTEGER(SIZE_T) :: group_name_len ! length of group name
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5gget_info_by_idx_c(loc_id, group_name, group_name_len, index_type, order, n, lapl_id_default, &
- storage_type, nlinks, max_corder)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GGET_INFO_BY_IDX_C'::h5gget_info_by_idx_c
- !DEC$ ENDIF
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
- INTEGER(HID_T), INTENT(IN) :: index_type
- INTEGER(HID_T), INTENT(IN) :: order
- INTEGER(HSIZE_T), INTENT(IN) :: n
- INTEGER(HID_T) :: lapl_id_default
- INTEGER, INTENT(OUT) :: storage_type
- INTEGER, INTENT(OUT) :: nlinks
- INTEGER, INTENT(OUT) :: max_corder
-
- INTEGER(SIZE_T) :: group_name_len
-
- END FUNCTION h5gget_info_by_idx_c
- END INTERFACE
-
- group_name_len = LEN(group_name)
-
- lapl_id_default = H5P_DEFAULT_F
- IF(present(lapl_id)) lapl_id_default = lapl_id
-
- hdferr = h5gget_info_by_idx_c(loc_id, group_name, group_name_len, &
- index_type, order, n, lapl_id_default, &
- storage_type, nlinks, max_corder)
-
- END SUBROUTINE h5gget_info_by_idx_f
-
-!----------------------------------------------------------------------
-! Name: h5gget_info_by_name_f
-!
-! Purpose: Retrieves information about a group.
-!
-! Inputs:
-! loc_id - File or group identifier
-! group_name - Name of group containing group for which information is to be retrieved
-!
-! Outputs: NOTE: In C the following are defined as a structure: H5G_info_t
-!
-! storage_type - Type of storage for links in group
-! H5G_STORAGE_TYPE_COMPACT: Compact storage
-! H5G_STORAGE_TYPE_DENSE: Indexed storage
-! H5G_STORAGE_TYPE_SYMBOL_TABLE: Symbol tables, the original HDF5 structure
-! nlinks - Number of links in group
-! max_corder - Current maximum creation order value for group
-! hdferr - error code
-! Success: 0
-! Failure: -1
-! Optional parameters:
-! lapl_id - Link access property list
-!
-! Programmer: M. S. Breitenfeld
-! February 18, 2008
-!
-! Modifications: N/A
-!
-!----------------------------------------------------------------------
-
- SUBROUTINE h5gget_info_by_name_f(loc_id, group_name, &
- storage_type, nlinks, max_corder, hdferr, lapl_id)
-!This definition is needed for Windows DLLs
-!DEC$if defined(BUILD_HDF5_DLL)
-!DEC$attributes dllexport :: h5gget_info_by_name_f
-!DEC$endif
- IMPLICIT NONE
- INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
- CHARACTER(LEN=*), INTENT(IN) :: group_name ! Name of group containing group for which information is to be retrieved
-
- INTEGER, INTENT(OUT) :: storage_type ! Type of storage for links in group:
- ! H5G_STORAGE_TYPE_COMPACT_F: Compact storage
- ! H5G_STORAGE_TYPE_DENSE_F: Indexed storage
- ! H5G_STORAGE_TYPE_SYMBOL_TABLE_F: Symbol tables, the original HDF5 structure
- INTEGER, INTENT(OUT) :: nlinks ! Number of links in group
- INTEGER, INTENT(OUT) :: max_corder ! Current maximum creation order value for group
- 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
-
- INTEGER(HID_T) :: lapl_id_default
- INTEGER(SIZE_T) :: group_name_len ! length of group name
-
-! MS FORTRAN needs explicit interface for C functions called here.
-!
- INTERFACE
- INTEGER FUNCTION h5gget_info_by_name_c(loc_id, group_name, group_name_len, lapl_id_default, &
- storage_type, nlinks, max_corder)
- USE H5GLOBAL
- !DEC$ IF DEFINED(HDF5F90_WINDOWS)
- !DEC$ ATTRIBUTES C,reference,decorate,alias:'H5GGET_INFO_BY_NAME_C'::h5gget_info_by_name_c
- !DEC$ ENDIF
- INTEGER(HID_T), INTENT(IN) :: loc_id
- CHARACTER(LEN=*), INTENT(IN) :: group_name
- INTEGER(HID_T), INTENT(IN) :: lapl_id_default
- INTEGER, INTENT(OUT) :: storage_type
- INTEGER, INTENT(OUT) :: nlinks
- INTEGER, INTENT(OUT) :: max_corder
-
- INTEGER(SIZE_T) :: group_name_len
-
- END FUNCTION h5gget_info_by_name_c
- END INTERFACE
-
- group_name_len = LEN(group_name)
-
- lapl_id_default = H5P_DEFAULT_F
- IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
+ END SUBROUTINE h5gget_comment_f
- hdferr = h5gget_info_by_name_c(loc_id, group_name, group_name_len, lapl_id_default, &
- storage_type, nlinks, max_corder)
-
- END SUBROUTINE h5gget_info_by_name_f
-END MODULE H5G
+ END MODULE H5G