Page tree

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

Compare with Current View Page History

« Previous Version 3 Next »









Encodes the property values in a property list into a binary buffer


H5P_ENCODE (  plist_id, buf, nalloc )


herr_t H5Pencode(
            hid_t plist_id, 
            void *buf, 
            size_t *nalloc


Replace this text with the C++ Function Signature

Replace this text with the JAVA Function Signature

hid_t plist_id    IN: Identifier of the property list to be encoded
void *bufOUT: Buffer into which the property list will be encoded
If the provided buffer is NULL, the size of the buffer required is returned through nalloc; the function does nothing more.
size_t *nallocOUT: The size of the required buffer


H5P_ENCODE encodes the property list plist_id into the binary buffer buf.

If the required buffer size is unknown, buf can be passed in as NULL and the function will set the required buffer size in nalloc. The buffer can then be created and the property list encoded with a subsequent H5P_ENCODE call.

If the buffer passed in is not big enough to hold the encoded properties, the H5P_ENCODE call can be expected to fail with a segmentation fault.

Properties that do not have encode callbacks will be skipped. There is currently no mechanism to register an encode callback for a user-defined property, so user-defined properties cannot currently be encoded.

Some properties cannot be encoded, particularly properties that are reliant on local context.


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


examples / h5_subset.c [32:42]
 1.10/master  HDFFV/hdf5  Copy
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; 

fortran / examples / compound.f90 [25:35]
 1.10/master  HDFFV/hdf5  Copy

     USE HDF5 ! This module contains all necessary modules


     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  Copy
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;

Release    Change
1.10.0Function introduced in this release.

--- Last Modified: November 16, 2017 | 01:30 PM