summaryrefslogtreecommitdiffstats
path: root/src/H5VLpublic.h
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2013-06-21 13:54:45 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2013-06-21 13:54:45 (GMT)
commitb94be74cbf9206b20d357154eb95da17185c474c (patch)
treeda27789d93b1b97b808679bbbc35273826c2c657 /src/H5VLpublic.h
parent018ed55299f5e5c2c580c5a40704a61dc30c72c9 (diff)
downloadhdf5-b94be74cbf9206b20d357154eb95da17185c474c.zip
hdf5-b94be74cbf9206b20d357154eb95da17185c474c.tar.gz
hdf5-b94be74cbf9206b20d357154eb95da17185c474c.tar.bz2
[svn-r23803] Add VOL callback for H5Aiterate
Add VOL callback for H5T get routines Update Native implementation
Diffstat (limited to 'src/H5VLpublic.h')
-rw-r--r--src/H5VLpublic.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h
index 854c21f..2428dd3 100644
--- a/src/H5VLpublic.h
+++ b/src/H5VLpublic.h
@@ -23,6 +23,7 @@
#include "stdarg.h"
#include "H5public.h"
+#include "H5Apublic.h" /* Attributes */
#include "H5Fpublic.h"
#include "H5Lpublic.h"
#include "H5Opublic.h"
@@ -120,6 +121,11 @@ typedef enum H5VL_group_get_t {
H5VL_GROUP_GET_INFO = 1 /*group info */
} H5VL_group_get_t;
+/* types for all datatype get API routines */
+typedef enum H5VL_datatype_get_t {
+ H5VL_DATATYPE_GET_TCPL = 0 /*datatype creation property list */
+} H5VL_datatype_get_t;
+
/* link create types for VOL */
typedef enum H5VL_link_create_type_t {
H5VL_LINK_CREATE_HARD = 0,
@@ -214,6 +220,9 @@ typedef struct H5VL_attr_class_t {
void *(*open) (void *obj, H5VL_loc_params_t loc_params, const char *attr_name, hid_t aapl_id, hid_t dxpl_id, void **req);
herr_t (*read) (void *attr, hid_t mem_type_id, void *buf, hid_t dxpl_id, void **req);
herr_t (*write) (void *attr, hid_t mem_type_id, const void *buf, hid_t dxpl_id, void **req);
+ herr_t (*iterate) (void *obj, H5VL_loc_params_t loc_params,
+ H5_index_t idx_type, H5_iter_order_t order, hsize_t *n,
+ H5A_operator2_t op, void *op_data, hid_t dxpl_id, void **req);
herr_t (*get) (void *attr, H5VL_attr_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
herr_t (*remove)(void *obj, H5VL_loc_params_t loc_params, const char *attr_name, hid_t dxpl_id, void **req);
herr_t (*close) (void *attr, hid_t dxpl_id, void **req);
@@ -225,6 +234,7 @@ typedef struct H5VL_datatype_class_t {
hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id, void **req);
void *(*open) (void *obj, H5VL_loc_params_t loc_params, const char * name, hid_t tapl_id, hid_t dxpl_id, void **req);
ssize_t (*get_binary) (void *obj, unsigned char *buf, size_t size, hid_t dxpl_id, void **req);
+ herr_t (*get) (void *obj, H5VL_datatype_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
herr_t (*close) (void *dt, hid_t dxpl_id, void **req);
} H5VL_datatype_class_t;
@@ -344,6 +354,8 @@ H5_DLL void *H5VLattr_create(void *obj, H5VL_loc_params_t loc_params, H5VL_t *vo
H5_DLL void *H5VLattr_open(void *obj, H5VL_loc_params_t loc_params, H5VL_t *vol_plugin, const char *name, hid_t aapl_id, hid_t dxpl_id, void **req);
H5_DLL herr_t H5VLattr_read(void *attr, H5VL_t *vol_plugin, hid_t dtype_id, void *buf, hid_t dxpl_id, void **req);
H5_DLL herr_t H5VLattr_write(void *attr, H5VL_t *vol_plugin, hid_t dtype_id, const void *buf, hid_t dxpl_id, void **req);
+H5_DLL herr_t H5VLattr_iterate(void *obj, H5VL_loc_params_t loc_params, H5VL_t *vol_plugin,
+ H5_index_t idx_type, H5_iter_order_t order, hsize_t *n, H5A_operator2_t op, void *op_data, hid_t dxpl_id, void **req);
H5_DLL herr_t H5VLattr_get(void *attr, H5VL_t *vol_plugin, H5VL_attr_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
H5_DLL herr_t H5VLattr_remove(void *obj, H5VL_loc_params_t loc_params, H5VL_t *vol_plugin, const char *attr_name, hid_t dxpl_id, void **req);
H5_DLL herr_t H5VLattr_close(void *attr, H5VL_t *vol_plugin, hid_t dxpl_id, void **req);
@@ -361,6 +373,7 @@ H5_DLL herr_t H5VLdataset_close(void *dset, H5VL_t *vol_plugin, hid_t dxpl_id, v
H5_DLL void *H5VLdatatype_commit(void *obj, H5VL_loc_params_t loc_params, H5VL_t *vol_plugin, const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id, hid_t dxpl_id, void **req);
H5_DLL void *H5VLdatatype_open(void *obj, H5VL_loc_params_t loc_params, H5VL_t *vol_plugin, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req);
H5_DLL ssize_t H5VLdatatype_get_binary(void *obj, H5VL_t *vol_plugin, unsigned char *buf, size_t size, hid_t dxpl_id, void **req);
+H5_DLL herr_t H5VLdatatype_get(void *obj, H5VL_t *vol_plugin, H5VL_datatype_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
H5_DLL herr_t H5VLdatatype_close(void *dt, H5VL_t *vol_plugin, hid_t dxpl_id, void **req);
/* FILE OBJECT ROUTINES */