summaryrefslogtreecommitdiffstats
path: root/src/H5HFtest.c
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-05-22 16:43:45 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-05-22 16:43:45 (GMT)
commit5d2bddcd0654b9f1ad548799e6828780a30b506c (patch)
treeaf3981ebdedc3e92aff186ca1b06a67de197c7f2 /src/H5HFtest.c
parent4d3390afd97c82f91165677877469ee0911288c6 (diff)
downloadhdf5-5d2bddcd0654b9f1ad548799e6828780a30b506c.zip
hdf5-5d2bddcd0654b9f1ad548799e6828780a30b506c.tar.gz
hdf5-5d2bddcd0654b9f1ad548799e6828780a30b506c.tar.bz2
[svn-r12362] Purpose:
Code checkpoint Description: Update fractal heap code to allow objects to be deleted Fix bugs in fractal heap object insertion Improve free space manager code to allow sections to be merged and shrink the container Another try at making the Windows compilers happy... Platforms tested: FreeBSD 4.11 (sleipnir) Mac OS X.4/PPC (amazon) Linux 2.4 (chicago & heping) Solaris 2.9 (shanti) AIX 5.? (copper) w/parallel
Diffstat (limited to 'src/H5HFtest.c')
-rw-r--r--src/H5HFtest.c95
1 files changed, 80 insertions, 15 deletions
diff --git a/src/H5HFtest.c b/src/H5HFtest.c
index 2327fe6..a171acd 100644
--- a/src/H5HFtest.c
+++ b/src/H5HFtest.c
@@ -84,7 +84,7 @@
*-------------------------------------------------------------------------
*/
herr_t
-H5HF_get_cparam_test(H5HF_t *fh, H5HF_create_t *cparam)
+H5HF_get_cparam_test(const H5HF_t *fh, H5HF_create_t *cparam)
{
FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_get_cparam_test)
@@ -102,6 +102,68 @@ H5HF_get_cparam_test(H5HF_t *fh, H5HF_create_t *cparam)
/*-------------------------------------------------------------------------
+ * Function: H5HF_get_dblock_overhead
+ *
+ * Purpose: Retrieve the size of direct block overhead
+ *
+ * Return: Success: Size of direct block overhead
+ *
+ * Failure: 0
+ *
+ * Programmer: Quincey Koziol
+ * Tuesday, May 9, 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+size_t
+H5HF_get_dblock_overhead(const H5HF_t *fh)
+{
+ size_t ret_value; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_get_dblock_overhead)
+
+ /* Check arguments. */
+ HDassert(fh);
+
+ /* Return direct block overhead */
+ ret_value = H5HF_MAN_ABS_DIRECT_OVERHEAD(fh->hdr);
+
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* H5HF_get_dblock_overhead() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5HF_get_dblock_size_test
+ *
+ * Purpose: Retrieve the size of a direct block for a given row
+ *
+ * Return: Success: Size of direct block
+ *
+ * Failure: 0
+ *
+ * Programmer: Quincey Koziol
+ * Monday, May 15, 2006
+ *
+ *-------------------------------------------------------------------------
+ */
+hsize_t
+H5HF_get_dblock_size_test(const H5HF_t *fh, unsigned row)
+{
+ hsize_t ret_value; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_get_dblock_size_test)
+
+ /* Check arguments. */
+ HDassert(fh);
+
+ /* Return direct block free space */
+ ret_value = fh->hdr->man_dtable.row_block_size[row];
+
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* H5HF_get_dblock_size_test() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_get_dblock_free_test
*
* Purpose: Retrieve the size of direct block free space for a given
@@ -117,7 +179,7 @@ H5HF_get_cparam_test(H5HF_t *fh, H5HF_create_t *cparam)
*-------------------------------------------------------------------------
*/
hsize_t
-H5HF_get_dblock_free_test(H5HF_t *fh, unsigned row)
+H5HF_get_dblock_free_test(const H5HF_t *fh, unsigned row)
{
hsize_t ret_value; /* Return value */
@@ -134,32 +196,35 @@ H5HF_get_dblock_free_test(H5HF_t *fh, unsigned row)
/*-------------------------------------------------------------------------
- * Function: H5HF_get_dblock_overhead
+ * Function: H5HF_get_id_off_test
*
- * Purpose: Retrieve the size of direct block overhead
+ * Purpose: Retrieve the offset for a heap ID
*
- * Return: Success: Size of direct block overhead
+ * Return: Success: non-negative
*
- * Failure: 0
+ * Failure: negative
*
* Programmer: Quincey Koziol
- * Tuesday, May 9, 2006
+ * Monday, May 15, 2006
*
*-------------------------------------------------------------------------
*/
-size_t
-H5HF_get_dblock_overhead(H5HF_t *fh)
+herr_t
+H5HF_get_id_off_test(const H5HF_t *fh, const void *_id, hsize_t *obj_off)
{
- size_t ret_value; /* Return value */
+ const uint8_t *id = (const uint8_t *)_id; /* Object ID */
- FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_get_dblock_overhead)
+ FUNC_ENTER_NOAPI_NOINIT_NOFUNC(H5HF_get_id_off_test)
/* Check arguments. */
HDassert(fh);
+ HDassert(fh->hdr);
+ HDassert(id);
+ HDassert(obj_off);
- /* Return direct block overhead */
- ret_value = H5HF_MAN_ABS_DIRECT_OVERHEAD(fh->hdr);
+ /* Get the offset for a heap ID */
+ UINT64DECODE_VAR(id, *obj_off, fh->hdr->heap_off_size); \
- FUNC_LEAVE_NOAPI(ret_value)
-} /* H5HF_get_dblock_overhead() */
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* H5HF_get_id_off_test() */