summaryrefslogtreecommitdiffstats
path: root/src/H5HLprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2003-04-14 05:00:20 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2003-04-14 05:00:20 (GMT)
commit4e4bdd91633a24a39450a236cc88ab7a3b3a17d4 (patch)
tree15e9fc18810de038a17ea03cb5a9246633136973 /src/H5HLprivate.h
parent1259957b5e6fb3c1e290cd310242da84c3683f2b (diff)
downloadhdf5-4e4bdd91633a24a39450a236cc88ab7a3b3a17d4.zip
hdf5-4e4bdd91633a24a39450a236cc88ab7a3b3a17d4.tar.gz
hdf5-4e4bdd91633a24a39450a236cc88ab7a3b3a17d4.tar.bz2
[svn-r6657] Purpose:
Code cleanup, bug fix & new feature. Description: The local heaps were missed in the last changes to the metadata "dirty" flag, making them operate incorrectly in the metadata cache. Fixed by changing to use "cache_info.dirty" flag instead. Track changes for internal metadata API, regarding marking metadata as clean without flushing it to the file. Added ability to delete a local heap in the file. Added ability to reduce the size of a local heap if there is a free-space block at the end of the heap and the free-space block is over half the size of the local heap. Some migration of package-specific information out of the private header and into the code module as well. Platforms tested: FreeBSD 4.8 (sleipnir) w/C++ Linux 2.4 (burrwhite) w/FORTRAN Solaris 2.7 (arabica) w/FORTRAN IRIX64 6.5 (modi4) w/parallel & FORTRAN (h5committest not run due to my ongoing difficulties with C++ on burrwhite).
Diffstat (limited to 'src/H5HLprivate.h')
-rw-r--r--src/H5HLprivate.h8
1 files changed, 1 insertions, 7 deletions
diff --git a/src/H5HLprivate.h b/src/H5HLprivate.h
index dce519b..23ac438 100644
--- a/src/H5HLprivate.h
+++ b/src/H5HLprivate.h
@@ -46,13 +46,6 @@
#define H5HL_ALIGN(X) (((X)+7)&(unsigned)(~0x07)) /*align on 8-byte boundary */
-#define H5HL_SIZEOF_HDR(F) \
- H5HL_ALIGN(H5HL_SIZEOF_MAGIC + /*heap signature */ \
- 4 + /*reserved */ \
- H5F_SIZEOF_SIZE (F) + /*data size */ \
- H5F_SIZEOF_SIZE (F) + /*free list head */ \
- H5F_SIZEOF_ADDR (F)) /*data address */
-
#define H5HL_SIZEOF_FREE(F) \
H5HL_ALIGN(H5F_SIZEOF_SIZE (F) + /*ptr to next free block */ \
H5F_SIZEOF_SIZE (F)) /*size of this free block */
@@ -69,6 +62,7 @@ H5_DLL size_t H5HL_insert(H5F_t *f, hid_t dxpl_id, haddr_t addr, size_t size,
H5_DLL herr_t H5HL_write(H5F_t *f, hid_t dxpl_id, haddr_t addr, size_t offset, size_t size,
const void *buf);
H5_DLL herr_t H5HL_remove(H5F_t *f, hid_t dxpl_id, haddr_t addr, size_t offset, size_t size);
+H5_DLL herr_t H5HL_delete(H5F_t *f, hid_t dxpl_id, haddr_t addr);
H5_DLL herr_t H5HL_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE * stream, int indent,
int fwidth);
#endif