diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2000-10-10 07:43:38 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2000-10-10 07:43:38 (GMT) |
commit | ba28c64ba7b36ee8a98c2f312f87fa1424f9a07c (patch) | |
tree | 3e890bc815dc7417676b608423d39f2b4294ce82 /src/H5Dprivate.h | |
parent | 428f04e82a7bff2e4a7600db9616ff3a5ecd07a8 (diff) | |
download | hdf5-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.h | 24 |
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); |