summaryrefslogtreecommitdiffstats
path: root/src/H5Dprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2000-10-10 07:43:38 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2000-10-10 07:43:38 (GMT)
commitba28c64ba7b36ee8a98c2f312f87fa1424f9a07c (patch)
tree3e890bc815dc7417676b608423d39f2b4294ce82 /src/H5Dprivate.h
parent428f04e82a7bff2e4a7600db9616ff3a5ecd07a8 (diff)
downloadhdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.zip
hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.tar.gz
hdf5-ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c.tar.bz2
[svn-r2652] Purpose:
Maintainance & performance enhancements Description: Re-arranged header files to protect private symbols better. Changed optimized regular hyperslab I/O to compute the offsets more efficiently from previous method of using matrix operations. Added sequential I/O operations at a more abstract level (at the same level as H5F_arr_read/write), to support the optimized hyperslab I/O. Platforms tested: Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
Diffstat (limited to 'src/H5Dprivate.h')
-rw-r--r--src/H5Dprivate.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/H5Dprivate.h b/src/H5Dprivate.h
index 4fc441e..5efe8e6 100644
--- a/src/H5Dprivate.h
+++ b/src/H5Dprivate.h
@@ -22,6 +22,7 @@
#include <H5private.h>
#include <H5Fprivate.h> /*for the H5F_t type */
#include <H5Gprivate.h> /*symbol tables */
+#include <H5MMpublic.h> /*for H5MM_allocate_t and H5MM_free_t types */
#include <H5Oprivate.h> /*object Headers */
#include <H5Sprivate.h> /*for the H5S_t type */
#include <H5Tprivate.h> /*for the H5T_t type */
@@ -50,9 +51,32 @@ typedef struct H5D_create_t {
H5O_pline_t pline; /*data filter pipeline */
} H5D_create_t;
+/* Data transfer property list */
+typedef struct H5D_xfer_t {
+ size_t buf_size; /*max temp buffer size */
+ void *tconv_buf; /*type conversion buffer or null */
+ void *bkg_buf; /*background buffer or null */
+ H5T_bkg_t need_bkg; /*type of background buffer needed */
+ double split_ratios[3];/*B-tree node splitting ratios */
+ uintn cache_hyper; /*cache hyperslab blocks during I/O? */
+ uintn block_limit; /*largest hyperslab block to cache */
+ 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 */
+ hid_t driver_id; /*File driver ID */
+ void *driver_info; /*File driver specific information */
+#ifdef COALESCE_READS
+ uintn gather_reads; /*coalesce single reads into a read */
+ /*transaction */
+#endif
+} H5D_xfer_t;
+
typedef struct H5D_t H5D_t;
+/* library variables */
__DLLVAR__ const H5D_create_t H5D_create_dflt;
+__DLLVAR__ H5D_xfer_t H5D_xfer_dflt;
/* Functions defined in H5D.c */
__DLL__ herr_t H5D_init(void);