summaryrefslogtreecommitdiffstats
path: root/src/H5HFtest.c
diff options
context:
space:
mode:
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() */