summaryrefslogtreecommitdiffstats
path: root/src/H5Fprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>1999-07-03 10:31:26 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>1999-07-03 10:31:26 (GMT)
commit650e29cff6b23b99318f70699af08cfdb57ea924 (patch)
treee37bc1ece43cbbad2504adbea63a5ef9241d2453 /src/H5Fprivate.h
parent1b20703c2048cf176df2d5c792de56da92ae03e2 (diff)
downloadhdf5-650e29cff6b23b99318f70699af08cfdb57ea924.zip
hdf5-650e29cff6b23b99318f70699af08cfdb57ea924.tar.gz
hdf5-650e29cff6b23b99318f70699af08cfdb57ea924.tar.bz2
[svn-r1418] Modified H5Tconvert to require a dataset transfer property list ID as the
final parameter (so that VL datatypes have a way to pass in the custom memory allocation routines). Fixed a conversion bug when VL fields were part of a compound datatype that was causing the no-op conversion routine to be used instead of the vlen routine. Added the H5Pset_vlen_mem_manager and H5Pget_vlen_mem_manager routines to allow users to provide their own custom memory allocation routines for VL data read in from the file and reclaimed with H5Dvlen_reclaim. Finished coding on H5Dvlen_reclaim so it works now.
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r--src/H5Fprivate.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index 2110bd3..ae0d0a6 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -23,6 +23,7 @@
/* This is a near top-level header! Try not to include much! */
#include <H5private.h>
#include <H5Dpublic.h> /*for the H5D_transfer_t type */
+#include <H5MMpublic.h> /*for the H5MM_allocate_t and H5MM_free_t types */
/*
* Feature: Define this constant to be non-zero if you want to enable code
@@ -342,6 +343,10 @@ typedef struct H5F_xfer_t {
uintn cache_hyper; /*cache hyperslab blocks during I/O? */
uintn block_limit; /*largest hyperslab block to cache */
H5D_transfer_t xfer_mode; /*independent or collective transfer */
+ H5MM_allocate_t vlen_alloc; /* VL datatype allocation function */
+ void * alloc_info; /* VL datatype allocation information */
+ H5MM_free_t vlen_free; /* VL datatype free function */
+ void * free_info; /* VL datatype free information */
} H5F_xfer_t;
/*