H5L_MOVE moves a link within an HDF5 file. The original link,
src_name, is removed from
src_loc_id and the new link,
dest_name, is inserted at
dest_loc_id. This change is accomplished as an atomic operation.
src_name identify the original link.
src_loc_id is the original location identifier;
src_name is the path to the link and is interpreted relative to
dest_name identify the new link.
dest_loc_id is either a file or group identifier;
dest_name is the path to the link and is interpreted relative to
Note that H5L_MOVE does not modify the value of the link; the new link points to the same object as the original link pointed to. Furthermore, if the object pointed to by the original link was already open with a valid object identifier, that identifier will remain valid after the call to H5L_MOVE.
lapl_id are the link creation and link access property lists, respectively, associated with the new link,
Through these property lists, several properties are available to govern the behavior of H5L_MOVE. The property controlling creation of missing intermediate groups is set in the link creation property list with H5P_SET_CREATE_INTERMEDIATE_GROUP; H5L_MOVE 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, respectively.
Exercise care in moving links as it is possible to render data in a file inaccessible with H5L_MOVE. If the link being moved is on the only path leading to an HDF5 object, that object may become permanently inaccessible in the file.