summaryrefslogtreecommitdiffstats
path: root/src/H5Fprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-10-03 00:54:33 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-10-03 00:54:33 (GMT)
commite9ea7e8eaf0627f863d8a5f7805fdbb4334a67b0 (patch)
tree541b769b58cd16e4b297cd8f5abee0fb820a2802 /src/H5Fprivate.h
parent84a4166e72abac9eb08a7daa3f67c90227641cda (diff)
downloadhdf5-e9ea7e8eaf0627f863d8a5f7805fdbb4334a67b0.zip
hdf5-e9ea7e8eaf0627f863d8a5f7805fdbb4334a67b0.tar.gz
hdf5-e9ea7e8eaf0627f863d8a5f7805fdbb4334a67b0.tar.bz2
[svn-r12708] Description:
Add the "use the latest version of the format" support to datatype messages. And a regression test to check that it's working. Also, found that we have been over-allocating space for compound datatype messages (when they have array datatypes or can use the latest version of the format) and trimmed the size back. Clean up datatype & dataspace encode/decode routines by having them allocate & release "fake" file structures, which gets them out of needing to "know" about the internals of file structures. Other minor whitespace/formatting cleanups, etc. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5Fprivate.h')
-rw-r--r--src/H5Fprivate.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index bfba2e5..c0659d3 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -262,6 +262,7 @@ typedef struct H5F_t H5F_t;
/* Sieve buffer size for datasets */
#define H5F_SIEVE_BUF_SIZE(F) ((F)->shared->sieve_buf_size)
#define H5F_GC_REF(F) ((F)->shared->gc_ref)
+#define H5F_USE_LATEST_FORMAT(F) ((F)->shared->latest_format)
#else /* H5F_PACKAGE */
#define H5F_FCPL(F) (H5F_get_fcpl(F))
#define H5F_SIZEOF_ADDR(F) (H5F_sizeof_addr(F))
@@ -276,6 +277,7 @@ typedef struct H5F_t H5F_t;
#define H5F_BASE_ADDR(F) (H5F_get_base_addr(F))
#define H5F_SIEVE_BUF_SIZE(F) (H5F_sieve_buf_size(F))
#define H5F_GC_REF(F) (H5F_gc_ref(F))
+#define H5F_USE_LATEST_FORMAT(F) (H5F_use_latest_format(F))
#endif /* H5F_PACKAGE */
@@ -515,6 +517,7 @@ H5_DLL double H5F_rdcc_w0(const H5F_t *f);
H5_DLL struct H5RC_t *H5F_grp_btree_shared(const H5F_t *f);
H5_DLL size_t H5F_sieve_buf_size(const H5F_t *f);
H5_DLL unsigned H5F_gc_ref(const H5F_t *f);
+H5_DLL hbool_t H5F_use_latest_format(const H5F_t *f);
/* Functions that operate on blocks of bytes wrt super block */
H5_DLL herr_t H5F_block_read(const H5F_t *f, H5FD_mem_t type, haddr_t addr,
@@ -536,6 +539,10 @@ H5_DLL herr_t H5F_acs_copy(hid_t new_fapl_id, hid_t old_fapl_id,
/* Shared file list related routines */
H5_DLL herr_t H5F_sfile_assert_num(unsigned n);
+/* Routines for creating & destroying "fake" file structures */
+H5_DLL H5F_t *H5F_fake_alloc(size_t sizeof_size);
+H5_DLL herr_t H5F_fake_free(H5F_t *f);
+
/* Debugging functions */
H5_DLL herr_t H5F_debug(H5F_t *f, hid_t dxpl_id, FILE * stream, int indent, int fwidth);