summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-06-03 20:34:58 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-06-03 20:34:58 (GMT)
commit79380c228cb804bb7ed9bb1ac7b3f36706719c20 (patch)
tree24e7905fd80682e481e5ab9b342dd20862095f01 /src/H5Oprivate.h
parenta9fa9a4a3715b8bd0dce83911548b88f30329c62 (diff)
downloadhdf5-79380c228cb804bb7ed9bb1ac7b3f36706719c20.zip
hdf5-79380c228cb804bb7ed9bb1ac7b3f36706719c20.tar.gz
hdf5-79380c228cb804bb7ed9bb1ac7b3f36706719c20.tar.bz2
[svn-r15132] Description:
Bring back revision 15131 from trunk: Finish omnibus chunked dataset I/O refactoring, to separate general actions on chunked datasets from actions that are specific to using the v1 B-tree index. Cleaned up a few bugs and added some additional tests also. Tested on: Mac OS X/32 10.5.3 (amazon) Linux/32 2.4 (chicago)
Diffstat (limited to 'src/H5Oprivate.h')
-rw-r--r--src/H5Oprivate.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index 3c5204f..36ff226 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -326,6 +326,10 @@ typedef struct H5O_efl_t {
*/
#define H5O_LAYOUT_NDIMS (H5S_MAX_RANK+1)
+/* Forward declaration of structs used below */
+struct H5D_layout_ops_t; /* Defined in H5Dpkg.h */
+struct H5D_chunk_ops_t; /* Defined in H5Dpkg.h */
+
typedef struct H5O_layout_contig_t {
haddr_t addr; /* File address of data */
hsize_t size; /* Size of data in bytes */
@@ -337,6 +341,7 @@ typedef struct H5O_layout_chunk_t {
uint32_t dim[H5O_LAYOUT_NDIMS]; /* Size of chunk in elements */
uint32_t size; /* Size of chunk in bytes */
H5RC_t *btree_shared; /* Ref-counted info for B-tree nodes */
+ const struct H5D_chunk_ops_t *ops; /* Pointer to chunked layout operations */
} H5O_layout_chunk_t;
typedef struct H5O_layout_compact_t {
@@ -348,6 +353,7 @@ typedef struct H5O_layout_compact_t {
typedef struct H5O_layout_t {
H5D_layout_t type; /* Type of layout */
unsigned version; /* Version of message */
+ const struct H5D_layout_ops_t *ops; /* Pointer to data layout I/O operations */
union {
H5O_layout_contig_t contig; /* Information for contiguous layout */
H5O_layout_chunk_t chunk; /* Information for chunked layout */