summaryrefslogtreecommitdiffstats
path: root/src/H5HFman.c
diff options
context:
space:
mode:
authorRaymond Lu <songyulu@hdfgroup.org>2012-09-05 18:13:15 (GMT)
committerRaymond Lu <songyulu@hdfgroup.org>2012-09-05 18:13:15 (GMT)
commit9ce6dadd4848ad1371d32f99d320efa87de32050 (patch)
tree1d301a6b3b50dda6b3f9490291c96c9cc0ec1f77 /src/H5HFman.c
parent60daa9be2b660c4583f581c85ea2177b060c4fcb (diff)
parent1c9e159ffe6cf85a5c076f747758dc47eb7a111a (diff)
downloadhdf5-9ce6dadd4848ad1371d32f99d320efa87de32050.zip
hdf5-9ce6dadd4848ad1371d32f99d320efa87de32050.tar.gz
hdf5-9ce6dadd4848ad1371d32f99d320efa87de32050.tar.bz2
[svn-r22739] ported revisions 22615 to 22737 from the trunk
Diffstat (limited to 'src/H5HFman.c')
-rw-r--r--src/H5HFman.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/H5HFman.c b/src/H5HFman.c
index 62f5580..58e3318 100644
--- a/src/H5HFman.c
+++ b/src/H5HFman.c
@@ -218,6 +218,44 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5HF_man_get_obj_len
+ *
+ * Purpose: Get the size of a managed heap object
+ *
+ * Return: SUCCEED (Can't fail)
+ *
+ * Programmer: Dana Robinson (derobins@hdfgroup.org)
+ * August 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5HF_man_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
+{
+
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ /*
+ * Check arguments.
+ */
+ HDassert(hdr);
+ HDassert(id);
+ HDassert(obj_len_p);
+
+ /* Skip over the flag byte */
+ id++;
+
+ /* Skip over object offset */
+ id += hdr->heap_off_size;
+
+ /* Retrieve the entry length */
+ UINT64DECODE_VAR(id, *obj_len_p, hdr->heap_len_size);
+
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5HF_man_get_obj_len() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5HF_man_op_real
*
* Purpose: Internal routine to perform an operation on a managed heap