Reclaims variable-length (VL) datatype memory buffers

H5D_VLEN_RECLAIM(type_id, space_id, plist_id, buf)


Edit each block below with the corresponding language signature for this function.

If there is no implementation for a given language, simply remove the entire block (left click --> Remove) for that language signature.

herr_t H5Dvlen_reclaimhid_t type_idhid_t space_idhid_t plist_idvoid *buf ) 
 Fortran2003: SUBROUTINE h5dvlen_reclaim_f(type_id, space_id, plist_id, buf, hdferr)
    INTEGER(HID_T), INTENT(IN)    :: type_id
    INTEGER(HID_T), INTENT(IN)    :: space_id
    INTEGER(HID_T), INTENT(IN)    :: plist_id
    TYPE(C_PTR)   , INTENT(INOUT) :: buf
    INTEGER       , INTENT(OUT)   :: hdferr
hid_t type_idIN: Identifier of the datatype
hid_t space_id    IN: Identifier of the dataspace
hid_t plist_idIN: Identifier of the property list used to create the buffer
void *bufIN:Pointer to the buffer to be reclaimed

H5D_VLEN_RECLAIM reclaims memory buffers created to store VL datatypes.

The type_id must be the datatype stored in the buffer. The space_id describes the selection for the memory buffer to free the VL datatypes within. The plist_id is the dataset transfer property list which was used for the I/O transfer to create the buffer. And buf is the pointer to the buffer to be reclaimed.

The VL structures (hvl_t) in the user's buffer are modified to zero out the VL information after the memory has been reclaimed.

If nested VL datatypes were used to create the buffer, this routine frees them from the bottom up, releasing all the memory without creating memory leaks.

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


Coming Soon!

Release    Change
1.8.8Fortran interface added