diff options
author | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-05-21 22:42:33 (GMT) |
---|---|---|
committer | Mohamad Chaarawi <chaarawi@hdfgroup.org> | 2012-05-21 22:42:33 (GMT) |
commit | bce79181a88b6b780f1d93ff5564f48f8d9d83cc (patch) | |
tree | 162e4b21df6cabcef1928ae9681669474082fed7 /src/H5VLnative.c | |
parent | 41c42d25f36519afdb603abf6c3ca76e39b20435 (diff) | |
download | hdf5-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.c | 32 |
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: { |