Page tree

The license could not be verified: License Certificate has expired!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

 

JAVA

FORTRAN

C++

C

 

Link

H5L_MOVE

Moves a link within an HDF5 file. 

Procedure:

H5L_MOVE(src_loc_id, src_name, dest_loc_id, dest_name, lcpl_id, lapl_id)

Signature:

herr_t H5Lmove( 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 h5lmove_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  
                                        ! Original file or group identifier.
  CHARACTER(LEN=*), INTENT(IN) :: src_name  
                                        ! Original link name.
  INTEGER(HID_T), INTENT(IN) :: dest_loc_id 
                                        ! Destination file or group identifier.
  CHARACTER(LEN=*), INTENT(IN) :: dest_name 
                                        ! New link name.
  INTEGER(HID_T), 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 
                                        ! to be associated with the new link.
  INTEGER(HID_T), OPTIONAL, INTENT(IN) :: lapl_id 
                                        ! Link access property list identifier 
                                        ! to be associated with the new link.
END SUBROUTINE h5lmove_f

Parameters:
hid_t src_loc_idIN: Original file or group identifier.
const char *src_name    IN: Original link name.
hid_t dest_loc_idIN: Destination file or group identifier.
const char *dest_nameIN: New link name.
hid_t lcpl_idIN: Link creation property list identifier to be associated with the new link.
hid_t lapl_idIN: Link access property list identifier to be associated with the new link.

Description:

H5Lmove 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_loc_id and src_name identify the original link. src_loc_id is either a file or group identifier; src_name is the path to the link and is interpreted relative to src_loc_id.

dest_loc_id and 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 dest_loc_id.

Note that H5Lmove 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 H5Lmove.

lcpl_id and lapl_id are the link creation and link access property lists, respectively, associated with the new link, dest_name.

Through these property lists, several properties are available to govern the behavior of H5Lmove. The property controlling creation of missing intermediate groups is set in the link creation property list with H5Pset_create_intermediate_groupH5Lmove 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 H5Pset_char_encodingH5Pset_nlinks, and H5Pset_elink_prefix, respectively.

Exercise care in moving links as it is possible to render data in a file inaccessible with H5Lmove. If the link being moved is on the only path leading to an HDF5 object, that object may become permanently inaccessible in the file.

Returns:

Returns a non-negative value if successful; otherwise returns a negative value. 

Example:

examples / h5_subset.c [32:42]  1.10/master  HDFFV/hdf5
int
main (void)
{
    hsize_t     dims[2], dimsm[2];   
    int         data[DIM0][DIM1];           /* data to write */
    int         sdata[DIM0_SUB][DIM1_SUB];  /* subset to write */
    int         rdata[DIM0][DIM1];          /* buffer for read */
 
    hid_t       file_id, dataset_id;        /* handles */
    hid_t       dataspace_id, memspace_id; 

     PROGRAM COMPOUNDEXAMPLE

     USE HDF5 ! This module contains all necessary modules

     IMPLICIT NONE

     CHARACTER(LEN=11), PARAMETER :: filename = "compound.h5" ! File name
     CHARACTER(LEN=8), PARAMETER :: dsetname = "Compound"     ! Dataset name
     INTEGER, PARAMETER :: dimsize = 6 ! Size of the dataset

     INTEGER(HID_T) :: file_id       ! File identifier

c++ / examples / create.cpp [33:43]  1.10/master  HDFFV/hdf5
int main (void)
{
   /*
    * Data initialization.
    */
   int i, j;
   int data[NX][NY];          // buffer for data to write
   for (j = 0; j < NX; j++)
   {
      for (i = 0; i < NY; i++)

public class H5Ex_D_Chunk {
    private static String FILENAME = "H5Ex_D_Chunk.h5";
    private static String DATASETNAME = "DS1";
    private static final int DIM_X = 6;
    private static final int DIM_Y = 8;
    private static final int CHUNK_X = 4;
    private static final int CHUNK_Y = 4;
    private static final int RANK = 2;
    private static final int NDIMS = 2;

History:
Release    C
1.8.0Function introduced in this release.

--- Last Modified: November 14, 2017 | 09:35 AM