diff options
Diffstat (limited to 'src/H5HFtest.c')
-rw-r--r-- | src/H5HFtest.c | 95 |
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() */ |