Copies a link from one location to another
Procedure:
H5L_COPY(src_loc_id, src_name, dest_loc_id, dest_name, lcpl_id, lapl_id)
Signature:
herr_t H5Lcopy( hid_t src_loc_id, const char *src_name, hid_t dest_loc_id, const char *dest_name, hid_t lcpl_id, hid_t lapl_id )
SUBROUTINE h5lcopy_f(src_loc_id, src_name, dest_loc_id, dest_name, hdferr, &
lcpl_id, lapl_id)
IMPLICIT NONE
INTEGER(HID_T), INTENT(IN) :: src_loc_id
! Location identifier of the source link
CHARACTER(LEN=*), INTENT(IN) :: src_name
! Name of the link to be copied
INTEGER(HID_T), INTENT(IN) :: dest_loc_id
! Location identifier specifying the
! destination of the copy
CHARACTER(LEN=*), INTENT(IN) :: dest_name
! Name to be assigned to the new copy
INTEGER, INTENT(OUT) :: hdferr ! Error code:
! 0 on success and -1 on failure
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lcpl_id
! Link creation property list identifier
INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id
! Link access property list identifier
END SUBROUTINE h5lcopy_f
Parameters:
hid_t src_loc_id | IN: Location identifier of the source link; may be a file, group, dataset, named datatype or attribute identifier |
const char *src_name | IN: Name of the link to be copied |
hid_t dest_loc_id | IN: Location identifier specifying the destination of the copy; may be a file, group, dataset, named datatype or attribute identifier |
const char *dest_name | IN: Name to be assigned to the new copy |
hid_t lcpl_id | IN: Link creation property list identifier |
hid_t lapl_id | IN: Link access property list identifier |
Description:
H5L_COPY copies the link specified by src_name
from the file or group specified by src_loc_id
to the file or group specified by dest_loc_id
. The new copy of the link is created with the name dest_name
.
If dest_loc_id
is a file identifier, dest_name
will be interpreted relative to that file’s root group.
The new link is created with the creation and access property lists specified by lcpl_id
and lapl_id
. The interpretation of lcpl_id
is limited in the manner described in the next paragraph.
H5L_COPY retains the creation time and the target of the original link. However, since the link may be renamed, the character encoding is that specified in lcpl_id
rather than that of the original link. Other link creation properties are ignored.
If the link is a soft link, also known as a symbolic link, its target is interpreted relative to the location of the copy.
Several properties are available to govern the behavior of H5L_COPY. These properties are set in the link creation and access property lists, lcpl_id
and lapl_id
, respectively. The property controlling creation of missing intermediate groups is set in the link creation property list with H5P_SET_CREATE_INTERMEDIATE_GROUP; this function ignores any other properties in the link creation property list. Properties controlling character encoding, link traversals, and external link prefixes are set in the link access property list with H5P_SET_CHAR_ENCODING, H5P_SET_NLINKS, and H5P_SET_ELINK_PREFIX.
H5L_COPY does not affect the object that the link points to.
H5L_COPY cannot copy hard links across files as a hard link is not valid without a target object; to copy objects from one file to another, see H5O_COPY.
Returns:
Returns a non-negative value if successful; otherwise returns a negative value.
Example:
History:
Release | Change |
---|
1.8.0 | Function introduced in this release. |
--- Last Modified: April 25, 2019 | 12:35 PM