summaryrefslogtreecommitdiffstats
path: root/src/H5VLpublic.h
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2014-09-08 19:07:33 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2014-09-08 19:07:33 (GMT)
commit2f6965f07124e003b02b172c5d428d7863797d18 (patch)
tree7ccecbc701add138c428232e548545ad4b1b0b19 /src/H5VLpublic.h
parente424a22c1d2e839e7feab1f040dc0914fc416f1f (diff)
downloadhdf5-2f6965f07124e003b02b172c5d428d7863797d18.zip
hdf5-2f6965f07124e003b02b172c5d428d7863797d18.tar.gz
hdf5-2f6965f07124e003b02b172c5d428d7863797d18.tar.bz2
[svn-r25579] Add version number for VOL plugins in VOL Plugin structure.
Diffstat (limited to 'src/H5VLpublic.h')
-rw-r--r--src/H5VLpublic.h33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h
index c3face6..35c4c46 100644
--- a/src/H5VLpublic.h
+++ b/src/H5VLpublic.h
@@ -325,26 +325,27 @@ typedef enum H5VL_class_value_t {
/* Class information for each VOL driver */
typedef struct H5VL_class_t {
- H5VL_class_value_t value;
- const char *name;
- herr_t (*initialize)(hid_t vipl_id);
- herr_t (*terminate)(hid_t vtpl_id);
- size_t fapl_size;
- void * (*fapl_copy)(const void *info);
- herr_t (*fapl_free)(void *info);
+ unsigned version; /* Class version # */
+ H5VL_class_value_t value; /* value to identify plugin */
+ const char *name; /* Plugin name */
+ herr_t (*initialize)(hid_t vipl_id); /* Plugin initialization callback */
+ herr_t (*terminate)(hid_t vtpl_id); /* Plugin termination callback */
+ size_t fapl_size; /* size of the vol info in the fapl property */
+ void * (*fapl_copy)(const void *info); /* callback to create a copy of the vol info */
+ herr_t (*fapl_free)(void *info); /* callback to release the vol info copy */
/* Data Model */
- H5VL_attr_class_t attr_cls;
- H5VL_dataset_class_t dataset_cls;
- H5VL_datatype_class_t datatype_cls;
- H5VL_file_class_t file_cls;
- H5VL_group_class_t group_cls;
- H5VL_link_class_t link_cls;
- H5VL_object_class_t object_cls;
+ H5VL_attr_class_t attr_cls; /* attribute class callbacks */
+ H5VL_dataset_class_t dataset_cls; /* dataset class callbacks */
+ H5VL_datatype_class_t datatype_cls; /* datatype class callbacks */
+ H5VL_file_class_t file_cls; /* file class callbacks */
+ H5VL_group_class_t group_cls; /* group class callbacks */
+ H5VL_link_class_t link_cls; /* link class callbacks */
+ H5VL_object_class_t object_cls; /* object class callbacks */
/* Services */
- H5VL_async_class_t async_cls;
- herr_t (*optional)(void *obj, hid_t dxpl_id, void **req, va_list arguments);
+ H5VL_async_class_t async_cls; /* asynchronous class callbacks */
+ herr_t (*optional)(void *obj, hid_t dxpl_id, void **req, va_list arguments); /* Optional callback */
} H5VL_class_t;
#ifdef __cplusplus