2011-08-18 22:32:47 +08:00
|
|
|
|
!****h* ROBODoc/H5O
|
|
|
|
|
!
|
|
|
|
|
! NAME
|
|
|
|
|
! MODULE H5O
|
|
|
|
|
!
|
|
|
|
|
! FILE
|
|
|
|
|
! fortran/src/H5Off.f90
|
|
|
|
|
!
|
|
|
|
|
! PURPOSE
|
|
|
|
|
! This file contains Fortran interfaces for H5O functions. It includes
|
|
|
|
|
! all the functions that are independent on whether the Fortran 2003 functions
|
|
|
|
|
! are enabled or disabled.
|
|
|
|
|
!
|
|
|
|
|
!
|
|
|
|
|
! COPYRIGHT
|
2010-01-30 12:29:13 +08:00
|
|
|
|
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
2008-05-04 07:39:37 +08:00
|
|
|
|
! Copyright by The HDF Group. *
|
|
|
|
|
! Copyright by the Board of Trustees of the University of Illinois. *
|
|
|
|
|
! 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 files COPYING and Copyright.html. COPYING can be found at the root *
|
|
|
|
|
! of the source code distribution tree; Copyright.html can be found at the *
|
|
|
|
|
! root level of an installed copy of the electronic HDF5 document set and *
|
|
|
|
|
! is linked from the top-level documents page. It can also be found at *
|
|
|
|
|
! http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
|
|
|
|
|
! access to either file, you may request a copy from help@hdfgroup.org. *
|
2010-01-30 12:29:13 +08:00
|
|
|
|
! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
|
2008-05-04 07:39:37 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
! NOTES
|
|
|
|
|
! *** IMPORTANT ***
|
|
|
|
|
! If you add a new H5O 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.
|
2008-05-04 07:39:37 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
!*****
|
|
|
|
|
|
2008-05-04 07:39:37 +08:00
|
|
|
|
MODULE H5O
|
2010-01-30 12:29:13 +08:00
|
|
|
|
|
2008-05-04 07:39:37 +08:00
|
|
|
|
USE H5GLOBAL
|
2010-01-30 12:29:13 +08:00
|
|
|
|
|
2008-05-04 07:39:37 +08:00
|
|
|
|
CONTAINS
|
|
|
|
|
|
2011-08-18 22:32:47 +08:00
|
|
|
|
!****s* H5O/h5olink_f
|
|
|
|
|
!
|
|
|
|
|
! NAME
|
|
|
|
|
! h5olink_f
|
|
|
|
|
!
|
|
|
|
|
! PURPOSE
|
|
|
|
|
! Creates a hard link to an object in an HDF5 file.
|
|
|
|
|
! INPUTS
|
|
|
|
|
! object_id - Object to be linked.
|
|
|
|
|
! new_loc_id - File or group identifier specifying location at which object is to be linked.
|
|
|
|
|
! new_link_name - Name of link to be created, relative to new_loc_id.
|
|
|
|
|
! OUTPUTS
|
|
|
|
|
! hdferr: - error code
|
|
|
|
|
! Success: 0
|
|
|
|
|
! Failure: -1
|
|
|
|
|
! OPTIONAL PARAMETERS
|
|
|
|
|
! lcpl_id - Link creation property list identifier.
|
|
|
|
|
! lapl_id - Link access property list identifier.
|
|
|
|
|
! AUTHOR
|
|
|
|
|
! M. Scot Breitenfeld
|
|
|
|
|
! April 21, 2008
|
|
|
|
|
!
|
|
|
|
|
! SOURCE
|
2008-09-08 23:02:44 +08:00
|
|
|
|
SUBROUTINE h5olink_f(object_id, new_loc_id, new_link_name, hdferr, lcpl_id, lapl_id)
|
2008-05-04 07:39:37 +08:00
|
|
|
|
IMPLICIT NONE
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: object_id ! Object to be linked
|
2010-01-30 12:29:13 +08:00
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: new_loc_id ! File or group identifier specifying
|
2008-05-04 07:39:37 +08:00
|
|
|
|
! location at which object is to be linked.
|
|
|
|
|
CHARACTER(LEN=*), INTENT(IN) :: new_link_name ! Name of link to be created, relative to new_loc_id.
|
2010-01-30 12:29:13 +08:00
|
|
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
2008-05-04 07:39:37 +08:00
|
|
|
|
! Success: 0
|
2010-01-30 12:29:13 +08:00
|
|
|
|
! Failure: -1
|
|
|
|
|
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id ! Link creation property list identifier.
|
2008-05-04 07:39:37 +08:00
|
|
|
|
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Link creation property list identifier.
|
2011-08-18 22:32:47 +08:00
|
|
|
|
!*****
|
2008-05-04 07:39:37 +08:00
|
|
|
|
INTEGER(HID_T) :: lapl_id_default
|
|
|
|
|
INTEGER(HID_T) :: lcpl_id_default
|
|
|
|
|
|
|
|
|
|
INTEGER(SIZE_T) :: new_link_namelen
|
|
|
|
|
|
|
|
|
|
INTERFACE
|
|
|
|
|
INTEGER FUNCTION h5olink_c(object_id, new_loc_id, new_link_name, new_link_namelen, &
|
|
|
|
|
lcpl_id_default, lapl_id_default)
|
|
|
|
|
USE H5GLOBAL
|
2009-04-07 23:16:42 +08:00
|
|
|
|
!DEC$IF DEFINED(HDF5F90_WINDOWS)
|
|
|
|
|
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5OLINK_C'::h5olink_c
|
|
|
|
|
!DEC$ENDIF
|
2008-12-16 01:46:54 +08:00
|
|
|
|
!DEC$ATTRIBUTES reference :: new_link_name
|
2008-05-04 07:39:37 +08:00
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: object_id
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: new_loc_id
|
|
|
|
|
CHARACTER(LEN=*), INTENT(IN) :: new_link_name
|
|
|
|
|
INTEGER(SIZE_T) :: new_link_namelen
|
|
|
|
|
INTEGER(HID_T) :: lapl_id_default
|
|
|
|
|
INTEGER(HID_T) :: lcpl_id_default
|
|
|
|
|
END FUNCTION h5olink_c
|
|
|
|
|
END INTERFACE
|
|
|
|
|
|
|
|
|
|
new_link_namelen = LEN(new_link_name)
|
|
|
|
|
|
|
|
|
|
lapl_id_default = H5P_DEFAULT_F
|
|
|
|
|
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
|
|
|
|
|
lcpl_id_default = H5P_DEFAULT_F
|
|
|
|
|
IF(PRESENT(lcpl_id)) lcpl_id_default = lcpl_id
|
|
|
|
|
|
|
|
|
|
hdferr = h5olink_c(object_id, new_loc_id, new_link_name, new_link_namelen, &
|
|
|
|
|
lcpl_id_default, lapl_id_default)
|
|
|
|
|
|
|
|
|
|
END SUBROUTINE h5olink_f
|
|
|
|
|
|
2011-08-18 22:32:47 +08:00
|
|
|
|
!****s* H5O/h5oopen_f
|
|
|
|
|
!
|
|
|
|
|
! NAME
|
|
|
|
|
! h5oopen_f
|
|
|
|
|
! PURPOSE
|
|
|
|
|
! Opens an object in an HDF5 file by location identifier and path name.
|
|
|
|
|
!
|
|
|
|
|
! INPUTS
|
|
|
|
|
! loc_id - File or group identifier
|
|
|
|
|
! name - Path to the object, relative to loc_id.
|
|
|
|
|
! OUTPUTS
|
|
|
|
|
! obj_id - Object identifier for the opened object
|
|
|
|
|
! hdferr: - error code
|
|
|
|
|
! Success: 0
|
|
|
|
|
! Failure: -1
|
|
|
|
|
! OPTIONAL PARAMETERS
|
|
|
|
|
! lapl_id - Access property list identifier for the link pointing to the object
|
|
|
|
|
!
|
|
|
|
|
! AUTHOR
|
|
|
|
|
! M. Scot Breitenfeld
|
|
|
|
|
! April 18, 2008
|
|
|
|
|
! SOURCE
|
2008-09-08 23:02:44 +08:00
|
|
|
|
SUBROUTINE h5oopen_f(loc_id, name, obj_id, hdferr, lapl_id)
|
2008-05-04 07:39:37 +08:00
|
|
|
|
IMPLICIT NONE
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
|
|
|
|
|
CHARACTER(LEN=*), INTENT(IN) :: name ! Path to the object, relative to loc_id
|
|
|
|
|
INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object identifier for the opened object
|
2010-01-30 12:29:13 +08:00
|
|
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code
|
2008-05-04 07:39:37 +08:00
|
|
|
|
! Success: 0
|
2010-01-30 12:29:13 +08:00
|
|
|
|
! Failure: -1
|
2008-05-04 07:39:37 +08:00
|
|
|
|
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id ! Attribute access property list
|
2011-08-18 22:32:47 +08:00
|
|
|
|
!*****
|
2008-05-04 07:39:37 +08:00
|
|
|
|
INTEGER(HID_T) :: lapl_id_default
|
|
|
|
|
INTEGER(SIZE_T) :: namelen
|
|
|
|
|
|
|
|
|
|
INTERFACE
|
|
|
|
|
INTEGER FUNCTION h5oopen_c(loc_id, name, namelen, lapl_id_default, obj_id)
|
|
|
|
|
USE H5GLOBAL
|
2009-04-07 23:16:42 +08:00
|
|
|
|
!DEC$IF DEFINED(HDF5F90_WINDOWS)
|
|
|
|
|
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5OOPEN_C'::h5oopen_c
|
|
|
|
|
!DEC$ENDIF
|
2008-12-16 01:46:54 +08:00
|
|
|
|
!DEC$ATTRIBUTES reference :: name
|
2008-05-04 07:39:37 +08:00
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: loc_id
|
|
|
|
|
CHARACTER(LEN=*), INTENT(IN) :: name
|
|
|
|
|
INTEGER(HID_T) :: lapl_id_default
|
|
|
|
|
INTEGER(SIZE_T) :: namelen
|
|
|
|
|
INTEGER(HID_T), INTENT(OUT) :: obj_id
|
|
|
|
|
END FUNCTION h5oopen_c
|
|
|
|
|
END INTERFACE
|
|
|
|
|
|
|
|
|
|
namelen = LEN(name)
|
|
|
|
|
|
|
|
|
|
lapl_id_default = H5P_DEFAULT_F
|
|
|
|
|
IF(PRESENT(lapl_id)) lapl_id_default = lapl_id
|
|
|
|
|
|
|
|
|
|
hdferr = h5oopen_c(loc_id, name, namelen, lapl_id_default, obj_id)
|
|
|
|
|
|
|
|
|
|
END SUBROUTINE h5oopen_f
|
2009-09-16 04:19:02 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
!****s* H5O/h5oclose_f
|
|
|
|
|
!
|
|
|
|
|
! NAME
|
|
|
|
|
! h5oclose_f
|
2009-09-16 04:19:02 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
! PURPOSE
|
|
|
|
|
! Closes an object in an HDF5 file.
|
2009-09-16 04:19:02 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
! INPUTS
|
|
|
|
|
! object_id - Object identifier
|
|
|
|
|
! OUTPUTS
|
|
|
|
|
! hdferr - Returns 0 if successful and -1 if fails
|
2009-09-16 04:19:02 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
! AUTHOR
|
|
|
|
|
! M. Scot Breitenfeld
|
|
|
|
|
! December 17, 2008
|
2009-09-16 04:19:02 +08:00
|
|
|
|
!
|
2011-08-18 22:32:47 +08:00
|
|
|
|
! SOURCE
|
|
|
|
|
SUBROUTINE h5oclose_f(object_id, hdferr)
|
|
|
|
|
IMPLICIT NONE
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: object_id
|
|
|
|
|
INTEGER, INTENT(OUT) :: hdferr
|
|
|
|
|
!*****
|
|
|
|
|
INTERFACE
|
|
|
|
|
INTEGER FUNCTION h5oclose_c(object_id)
|
|
|
|
|
USE H5GLOBAL
|
|
|
|
|
!DEC$IF DEFINED(HDF5F90_WINDOWS)
|
|
|
|
|
!DEC$OBJECTIBUTES C,reference,decorate,alias:'H5OCLOSE_C'::h5oclose_c
|
|
|
|
|
!DEC$ENDIF
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: object_id
|
|
|
|
|
END FUNCTION h5oclose_c
|
|
|
|
|
END INTERFACE
|
2009-09-16 04:19:02 +08:00
|
|
|
|
|
2011-08-18 22:32:47 +08:00
|
|
|
|
hdferr = h5oclose_c(object_id)
|
|
|
|
|
END SUBROUTINE h5oclose_f
|
|
|
|
|
|
|
|
|
|
!
|
|
|
|
|
!****s* H5O/h5open_by_addr_f
|
|
|
|
|
! NAME
|
|
|
|
|
! h5oopen_by_addr_f
|
|
|
|
|
!
|
|
|
|
|
! PURPOSE
|
|
|
|
|
! Opens an object using its address within an HDF5 file.
|
|
|
|
|
!
|
|
|
|
|
! INPUTS
|
|
|
|
|
! loc_id - File or group identifier
|
|
|
|
|
! addr - Object’s address in the file
|
|
|
|
|
! OUTPUTS:
|
|
|
|
|
! obj_id - Object identifier for the opened object
|
|
|
|
|
! hdferr - Returns 0 if successful and -1 if fails
|
|
|
|
|
!
|
|
|
|
|
! AUTHOR
|
|
|
|
|
! M. Scot Breitenfeld
|
|
|
|
|
! September 14, 2009
|
|
|
|
|
!
|
|
|
|
|
! SOURCE
|
2009-09-16 04:19:02 +08:00
|
|
|
|
SUBROUTINE h5oopen_by_addr_f(loc_id, addr, obj_id, hdferr)
|
|
|
|
|
IMPLICIT NONE
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: loc_id ! File or group identifier
|
|
|
|
|
INTEGER(HADDR_T), INTENT(IN) :: addr ! Object’s address in the file
|
|
|
|
|
INTEGER(HID_T), INTENT(OUT) :: obj_id ! Object identifier for the opened object
|
2011-08-18 22:32:47 +08:00
|
|
|
|
INTEGER, INTENT(OUT) :: hdferr ! Error code:
|
|
|
|
|
! 0 on success and -1 on failure
|
|
|
|
|
!*****
|
2009-09-16 04:19:02 +08:00
|
|
|
|
INTERFACE
|
|
|
|
|
INTEGER FUNCTION h5oopen_by_addr_c(loc_id, addr, obj_id)
|
|
|
|
|
USE H5GLOBAL
|
|
|
|
|
!DEC$IF DEFINED(HDF5F90_WINDOWS)
|
|
|
|
|
!DEC$ATTRIBUTES C,reference,decorate,alias:'H5OOPEN_BY_ADDR_C'::h5oopen_by_addr_c
|
|
|
|
|
!DEC$ENDIF
|
|
|
|
|
INTEGER(HID_T), INTENT(IN) :: loc_id
|
|
|
|
|
INTEGER(HADDR_T), INTENT(IN) :: addr
|
|
|
|
|
INTEGER(HID_T), INTENT(OUT) :: obj_id
|
|
|
|
|
END FUNCTION h5oopen_by_addr_c
|
|
|
|
|
END INTERFACE
|
|
|
|
|
|
|
|
|
|
hdferr = h5oopen_by_addr_c(loc_id, addr, obj_id)
|
|
|
|
|
|
|
|
|
|
END SUBROUTINE h5oopen_by_addr_f
|
2008-05-04 07:39:37 +08:00
|
|
|
|
|
|
|
|
|
END MODULE H5O
|
2011-08-18 22:32:47 +08:00
|
|
|
|
|