summaryrefslogtreecommitdiffstats
path: root/src/H5Tpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-06-13 03:12:17 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-06-13 03:12:17 (GMT)
commit6e2c92c082868c8cb7e612c91fd82371e91f2851 (patch)
treee4bd6e1829f9b2214d719831a90332ec4bedce1c /src/H5Tpkg.h
parent0a12b3ae336fdd244b48b73607b3dcb486da0452 (diff)
downloadhdf5-6e2c92c082868c8cb7e612c91fd82371e91f2851.zip
hdf5-6e2c92c082868c8cb7e612c91fd82371e91f2851.tar.gz
hdf5-6e2c92c082868c8cb7e612c91fd82371e91f2851.tar.bz2
[svn-r8671] Purpose:
Code optimization Description: Avoid a memory copy by directly reading from the variable-length sequence buffer when there is no type conversion on the way to disk. Platforms tested: Solaris 2.7 (arabica) FreeBSD 4.10 (sleipnir) w/parallel Too minor to require h5committest
Diffstat (limited to 'src/H5Tpkg.h')
-rw-r--r--src/H5Tpkg.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/H5Tpkg.h b/src/H5Tpkg.h
index 2a72f93..dda6481 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -133,6 +133,7 @@ typedef struct H5T_enum_t {
/* VL function pointers */
typedef hssize_t (*H5T_vlen_getlenfunc_t)(void *vl_addr);
+typedef void * (*H5T_vlen_getptrfunc_t)(void *vl_addr);
typedef htri_t (*H5T_vlen_isnullfunc_t)(H5F_t *f, void *vl_addr);
typedef herr_t (*H5T_vlen_readfunc_t)(H5F_t *f, hid_t dxpl_id, void *_vl, void *buf, size_t len);
typedef herr_t (*H5T_vlen_writefunc_t)(H5F_t *f, hid_t dxpl_id, const H5T_vlen_alloc_info_t *vl_alloc_info, void *_vl, void *buf, void *_bg, hsize_t seq_len, hsize_t base_size);
@@ -154,6 +155,7 @@ typedef struct H5T_vlen_t {
H5T_str_t pad; /* For VL string. space or null padding of
* extra bytes */
H5F_t *f; /* File ID (if VL data is on disk) */
+ H5T_vlen_getptrfunc_t getptr; /* Function to get VL sequence pointer */
H5T_vlen_getlenfunc_t getlen; /* Function to get VL sequence size (in element units, not bytes) */
H5T_vlen_isnullfunc_t isnull; /* Function to check if VL value is NIL */
H5T_vlen_readfunc_t read; /* Function to read VL sequence into buffer */