summaryrefslogtreecommitdiffstats
path: root/src/H5VLnative.c
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2012-05-21 22:42:33 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2012-05-21 22:42:33 (GMT)
commitbce79181a88b6b780f1d93ff5564f48f8d9d83cc (patch)
tree162e4b21df6cabcef1928ae9681669474082fed7 /src/H5VLnative.c
parent41c42d25f36519afdb603abf6c3ca76e39b20435 (diff)
downloadhdf5-bce79181a88b6b780f1d93ff5564f48f8d9d83cc.zip
hdf5-bce79181a88b6b780f1d93ff5564f48f8d9d83cc.tar.gz
hdf5-bce79181a88b6b780f1d93ff5564f48f8d9d83cc.tar.bz2
[svn-r22387] H5Fget_obj_counts/ids (iterate over all IDs and call corresponding VOL CBs)
Diffstat (limited to 'src/H5VLnative.c')
-rw-r--r--src/H5VLnative.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/H5VLnative.c b/src/H5VLnative.c
index 53d8be8..77c8679 100644
--- a/src/H5VLnative.c
+++ b/src/H5VLnative.c
@@ -1539,6 +1539,38 @@ H5VL_native_file_get(hid_t obj_id, H5VL_file_get_t get_type, hid_t UNUSED req, v
break;
}
+ /* H5Fget_obj_count */
+ case H5VL_FILE_GET_OBJ_COUNT:
+ {
+ ssize_t *ret = va_arg (arguments, ssize_t *);
+ unsigned types = va_arg (arguments, unsigned);
+ size_t obj_count = 0; /* Number of opened objects */
+
+ /* Perform the query */
+ if(H5F_get_obj_count(f, types, TRUE, &obj_count) < 0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_BADITER, FAIL, "H5F_get_obj_count failed")
+
+ /* Set the return value */
+ *ret = (ssize_t)obj_count;
+ break;
+ }
+ /* H5Fget_obj_ids */
+ case H5VL_FILE_GET_OBJ_IDS:
+ {
+ unsigned types = va_arg (arguments, unsigned);
+ size_t max_objs = va_arg (arguments, size_t);
+ hid_t *oid_list = va_arg (arguments, hid_t *);
+ ssize_t *ret = va_arg (arguments, ssize_t *);
+ size_t obj_count = 0; /* Number of opened objects */
+
+ /* Perform the query */
+ if(H5F_get_obj_ids(f, types, max_objs, oid_list, TRUE, &obj_count) < 0)
+ HGOTO_ERROR(H5E_INTERNAL, H5E_BADITER, FAIL, "H5F_get_obj_ids failed")
+
+ /* Set the return value */
+ *ret = (ssize_t)obj_count;
+ break;
+ }
/* H5Fget_filesize */
case H5VL_FILE_GET_SIZE:
{