summaryrefslogtreecommitdiffstats
path: root/src/H5Tpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2004-06-13 03:11:27 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2004-06-13 03:11:27 (GMT)
commitab989cd1a8d5b65120fe88a84b3b925f1b174db8 (patch)
treee03c7f4c28b4ab9ee6bde47f1d7d151b6cc58f27 /src/H5Tpkg.h
parent46e9134612e3d88ebdd6677dcfe9805ef4bc2f9f (diff)
downloadhdf5-ab989cd1a8d5b65120fe88a84b3b925f1b174db8.zip
hdf5-ab989cd1a8d5b65120fe88a84b3b925f1b174db8.tar.gz
hdf5-ab989cd1a8d5b65120fe88a84b3b925f1b174db8.tar.bz2
[svn-r8670] 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 13118e0..68789bb 100644
--- a/src/H5Tpkg.h
+++ b/src/H5Tpkg.h
@@ -144,6 +144,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);
@@ -165,6 +166,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 */