summaryrefslogtreecommitdiffstats
path: root/src/H5Oprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2008-06-03 19:44:12 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2008-06-03 19:44:12 (GMT)
commit771bae88881f4ae8102c9553fd10e0938aa3094c (patch)
tree62ac7bce1e109e1b0b8899ea14da603a2b6e6ffc /src/H5Oprivate.h
parentd36f67c0e27a39a54f870c4f917ab2c1754e80d6 (diff)
downloadhdf5-771bae88881f4ae8102c9553fd10e0938aa3094c.zip
hdf5-771bae88881f4ae8102c9553fd10e0938aa3094c.tar.gz
hdf5-771bae88881f4ae8102c9553fd10e0938aa3094c.tar.bz2
[svn-r15131] Description:
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: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.2 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
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 */