summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2018-10-25 04:52:47 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2018-10-25 04:52:47 (GMT)
commit0df6e44a6e68da1614cf80b50ed7b208edaa5df7 (patch)
treef734083b478d38e09b0aecb8e8f3db838cf0b785 /examples
parent1e8ef703cdc057211b3587be776a6e9f62e8f76f (diff)
downloadhdf5-0df6e44a6e68da1614cf80b50ed7b208edaa5df7.zip
hdf5-0df6e44a6e68da1614cf80b50ed7b208edaa5df7.tar.gz
hdf5-0df6e44a6e68da1614cf80b50ed7b208edaa5df7.tar.bz2
Squashed commit of private branch changes to support stackable VOL plugins.
modified: test/dsets.c
Diffstat (limited to 'examples')
-rw-r--r--examples/h5_extlink.c4
-rw-r--r--examples/h5_vol_external_log_native.c95
2 files changed, 50 insertions, 49 deletions
diff --git a/examples/h5_extlink.c b/examples/h5_extlink.c
index 1a07656..229e465 100644
--- a/examples/h5_extlink.c
+++ b/examples/h5_extlink.c
@@ -208,7 +208,7 @@ static void extlink_prefix_example(void)
* that a path was supplied in the udata.
*/
static hid_t UD_soft_traverse(const char *link_name, hid_t cur_group,
- const void *udata, size_t udata_size, hid_t lapl_id);
+ const void *udata, size_t udata_size, hid_t lapl_id, hid_t dxpl_id);
static void soft_link_example(void)
{
@@ -277,7 +277,7 @@ static void soft_link_example(void)
*/
static hid_t UD_soft_traverse(const char *link_name, hid_t cur_group,
- const void *udata, size_t udata_size, hid_t lapl_id)
+ const void *udata, size_t udata_size, hid_t lapl_id, hid_t dxpl_id)
{
const char *target = (const char *) udata;
hid_t ret_value;
diff --git a/examples/h5_vol_external_log_native.c b/examples/h5_vol_external_log_native.c
index 945588a..3f819e7 100644
--- a/examples/h5_vol_external_log_native.c
+++ b/examples/h5_vol_external_log_native.c
@@ -7,7 +7,7 @@
#define LOG 502
static herr_t H5VL_log_init(hid_t vipl_id);
-static herr_t H5VL_log_term(hid_t vtpl_id);
+static herr_t H5VL_log_term(void);
/* Datatype callbacks */
static void *H5VL_log_datatype_commit(void *obj, H5VL_loc_params_t loc_params, 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);
@@ -40,17 +40,23 @@ static herr_t H5VL_log_group_close(void *grp, hid_t dxpl_id, void **req);
static void *H5VL_log_object_open(void *obj, H5VL_loc_params_t loc_params, H5I_type_t *opened_type, hid_t dxpl_id, void **req);
static herr_t H5VL_log_object_specific(void *obj, H5VL_loc_params_t loc_params, H5VL_object_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
-hid_t native_driver_id = -1;
+hid_t native_plugin_id = -1;
static const H5VL_class_t H5VL_log_g = {
- 0,
- LOG,
- "log", /* name */
+ 0, /* VOL class struct version */
+ LOG, /* ID of plugin */
+ "log", /* Name of plugin */
+ 0, /* capability flags */
H5VL_log_init, /* initialize */
H5VL_log_term, /* terminate */
- sizeof(hid_t),
- NULL,
- NULL,
+ sizeof(hid_t), /* info size */
+ NULL, /* info copy */
+ NULL, /* info compare */
+ NULL, /* info free */
+ NULL, /* get_object */
+ NULL, /* get_wrap_ctx */
+ NULL, /* free_wrap_ctx */
+ NULL, /* wrap_object */
{ /* attribute_cls */
NULL, //H5VL_log_attr_create, /* create */
NULL, //H5VL_log_attr_open, /* open */
@@ -130,7 +136,7 @@ visit_cb(hid_t oid, const char *name,
char n[25];
if(H5Iget_type(oid) == H5I_GROUP) {
- len = H5VLget_driver_name(oid, n, 50);
+ len = H5VLget_plugin_name(oid, n, 50);
printf ("Visiting GROUP VOL name = %s %d\n", n, len);
}
if(H5Iget_type(oid) == H5I_DATASET)
@@ -152,7 +158,7 @@ int main(int argc, char **argv) {
hid_t datasetId;
hid_t acc_tpl;
hid_t under_fapl;
- hid_t vol_id, vol_id2;
+ hid_t vol_id;
hid_t int_id;
hid_t attr;
hid_t space;
@@ -168,41 +174,37 @@ int main(int argc, char **argv) {
H5Pset_fapl_native(under_fapl);
assert(H5VLis_registered("native") == 1);
- vol_id = H5VLregister (&H5VL_log_g);
+ vol_id = H5VLregister (&H5VL_log_g, H5P_DEFAULT);
assert(vol_id > 0);
assert(H5VLis_registered("log") == 1);
- vol_id2 = H5VLget_driver_id("log");
- H5VLinitialize(vol_id2, H5P_DEFAULT);
- H5VLclose(vol_id2);
-
- native_driver_id = H5VLget_driver_id("native");
- assert(native_driver_id > 0);
+ native_plugin_id = H5VLget_plugin_id("native");
+ assert(native_plugin_id > 0);
acc_tpl = H5Pcreate (H5P_FILE_ACCESS);
H5Pset_vol(acc_tpl, vol_id, &under_fapl);
file_id = H5Fcreate(file_name, H5F_ACC_TRUNC, H5P_DEFAULT, acc_tpl);
- len = H5VLget_driver_name(file_id, name, 25);
+ len = H5VLget_plugin_name(file_id, name, 25);
printf ("FILE VOL name = %s %d\n", name, len);
group_id = H5Gcreate2(file_id, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- len = H5VLget_driver_name(group_id, name, 50);
+ len = H5VLget_plugin_name(group_id, name, 50);
printf ("GROUP VOL name = %s %d\n", name, len);
int_id = H5Tcopy(H5T_NATIVE_INT);
H5Tcommit2(file_id, "int", int_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- len = H5VLget_driver_name(int_id, name, 50);
+ len = H5VLget_plugin_name(int_id, name, 50);
printf ("DT COMMIT name = %s %d\n", name, len);
H5Tclose(int_id);
int_id = H5Topen2(file_id, "int", H5P_DEFAULT);
- len = H5VLget_driver_name(int_id, name, 50);
+ len = H5VLget_plugin_name(int_id, name, 50);
printf ("DT OPEN name = %s %d\n", name, len);
H5Tclose(int_id);
int_id = H5Oopen(file_id,"int",H5P_DEFAULT);
- len = H5VLget_driver_name(int_id, name, 50);
+ len = H5VLget_plugin_name(int_id, name, 50);
printf ("DT OOPEN name = %s %d\n", name, len);
len = H5Fget_name(file_id, name, 50);
@@ -220,7 +222,7 @@ int main(int argc, char **argv) {
datasetId = H5Dcreate2(file_id,fullpath,H5T_NATIVE_INT,dataspaceId,H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT);
H5Sclose(dataspaceId);
- len = H5VLget_driver_name(datasetId, name, 50);
+ len = H5VLget_plugin_name(datasetId, name, 50);
printf ("DSET name = %s %d\n", name, len);
H5Dwrite(datasetId, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data);
@@ -236,13 +238,13 @@ int main(int argc, char **argv) {
attr = H5Acreate2(group_id, "attr1", int_id, space, H5P_DEFAULT, H5P_DEFAULT);
int_id = H5Aget_type(attr);
- len = H5VLget_driver_name(int_id, name, 50);
+ len = H5VLget_plugin_name(int_id, name, 50);
printf ("DT OPEN name = %s %d\n", name, len);
H5Aclose (attr);
int_id = H5Oopen(file_id,"int",H5P_DEFAULT);
- len = H5VLget_driver_name(int_id, name, 50);
+ len = H5VLget_plugin_name(int_id, name, 50);
printf ("DT OOPEN name = %s %d\n", name, len);
H5Oclose(int_id);
@@ -256,8 +258,7 @@ int main(int argc, char **argv) {
H5Pclose(acc_tpl);
H5Pclose(under_fapl);
- H5VLclose(native_driver_id);
- H5VLterminate(vol_id, H5P_DEFAULT);
+ H5VLunregister(native_plugin_id);
H5VLunregister (vol_id);
assert(H5VLis_registered("log") == 0);
return 0;
@@ -269,7 +270,7 @@ static herr_t H5VL_log_init(hid_t vipl_id)
return 0;
}
-static herr_t H5VL_log_term(hid_t vtpl_id)
+static herr_t H5VL_log_term(void)
{
printf("------- LOG TERM\n");
return 0;
@@ -278,12 +279,12 @@ static herr_t H5VL_log_term(hid_t vtpl_id)
static void *
H5VL_log_file_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void **req)
{
- hid_t under_fapl;
+ hid_t under_fapl = -1;
H5VL_log_t *file;
file = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- under_fapl = *((hid_t *)H5Pget_vol_info(fapl_id));
+ H5Pget_vol_info(fapl_id, &under_fapl);
file->under_object = H5VLfile_create(name, flags, fcpl_id, under_fapl, dxpl_id, req);
printf("------- LOG H5Fcreate\n");
@@ -293,12 +294,12 @@ H5VL_log_file_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl
static void *
H5VL_log_file_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req)
{
- hid_t under_fapl;
+ hid_t under_fapl = -1;
H5VL_log_t *file;
file = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- under_fapl = *((hid_t *)H5Pget_vol_info(fapl_id));
+ H5Pget_vol_info(fapl_id, &under_fapl);
file->under_object = H5VLfile_open(name, flags, under_fapl, dxpl_id, req);
printf("------- LOG H5Fopen\n");
@@ -310,7 +311,7 @@ H5VL_log_file_get(void *file, H5VL_file_get_t get_type, hid_t dxpl_id, void **re
{
H5VL_log_t *f = (H5VL_log_t *)file;
- H5VLfile_get(f->under_object, native_driver_id, get_type, dxpl_id, req, arguments);
+ H5VLfile_get(f->under_object, native_plugin_id, get_type, dxpl_id, req, arguments);
printf("------- LOG H5Fget %d\n", get_type);
return 1;
@@ -320,7 +321,7 @@ H5VL_log_file_close(void *file, hid_t dxpl_id, void **req)
{
H5VL_log_t *f = (H5VL_log_t *)file;
- H5VLfile_close(f->under_object, native_driver_id, dxpl_id, req);
+ H5VLfile_close(f->under_object, native_plugin_id, dxpl_id, req);
free(f);
printf("------- LOG H5Fclose\n");
@@ -336,7 +337,7 @@ H5VL_log_group_create(void *obj, H5VL_loc_params_t loc_params, const char *name,
group = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- group->under_object = H5VLgroup_create(o->under_object, loc_params, native_driver_id, name, gcpl_id, gapl_id, dxpl_id, req);
+ group->under_object = H5VLgroup_create(o->under_object, loc_params, native_plugin_id, name, gcpl_id, gapl_id, dxpl_id, req);
printf("------- LOG H5Gcreate\n");
return (void *)group;
@@ -347,7 +348,7 @@ H5VL_log_group_close(void *grp, hid_t dxpl_id, void **req)
{
H5VL_log_t *g = (H5VL_log_t *)grp;
- H5VLgroup_close(g->under_object, native_driver_id, dxpl_id, req);
+ H5VLgroup_close(g->under_object, native_plugin_id, dxpl_id, req);
free(g);
printf("------- LOG H5Gclose\n");
@@ -363,7 +364,7 @@ H5VL_log_datatype_commit(void *obj, H5VL_loc_params_t loc_params, const char *na
dt = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- dt->under_object = H5VLdatatype_commit(o->under_object, loc_params, native_driver_id, name,
+ dt->under_object = H5VLdatatype_commit(o->under_object, loc_params, native_plugin_id, name,
type_id, lcpl_id, tcpl_id, tapl_id, dxpl_id, req);
printf("------- LOG H5Tcommit\n");
@@ -377,7 +378,7 @@ H5VL_log_datatype_open(void *obj, H5VL_loc_params_t loc_params, const char *name
dt = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- dt->under_object = H5VLdatatype_open(o->under_object, loc_params, native_driver_id, name, tapl_id, dxpl_id, req);
+ dt->under_object = H5VLdatatype_open(o->under_object, loc_params, native_plugin_id, name, tapl_id, dxpl_id, req);
printf("------- LOG H5Topen\n");
return (void *)dt;
@@ -389,7 +390,7 @@ H5VL_log_datatype_get(void *dt, H5VL_datatype_get_t get_type, hid_t dxpl_id, voi
H5VL_log_t *o = (H5VL_log_t *)dt;
herr_t ret_value;
- ret_value = H5VLdatatype_get(o->under_object, native_driver_id, get_type, dxpl_id, req, arguments);
+ ret_value = H5VLdatatype_get(o->under_object, native_plugin_id, get_type, dxpl_id, req, arguments);
printf("------- LOG datatype get\n");
return ret_value;
@@ -402,7 +403,7 @@ H5VL_log_datatype_close(void *dt, hid_t dxpl_id, void **req)
assert(type->under_object);
- H5VLdatatype_close(type->under_object, native_driver_id, dxpl_id, req);
+ H5VLdatatype_close(type->under_object, native_plugin_id, dxpl_id, req);
free(type);
printf("------- LOG H5Tclose\n");
@@ -417,7 +418,7 @@ H5VL_log_object_open(void *obj, H5VL_loc_params_t loc_params, H5I_type_t *opened
new_obj = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- new_obj->under_object = H5VLobject_open(o->under_object, loc_params, native_driver_id, opened_type, dxpl_id, req);
+ new_obj->under_object = H5VLobject_open(o->under_object, loc_params, native_plugin_id, opened_type, dxpl_id, req);
printf("------- LOG H5Oopen\n");
return (void *)new_obj;
@@ -429,7 +430,7 @@ H5VL_log_object_specific(void *obj, H5VL_loc_params_t loc_params, H5VL_object_sp
{
H5VL_log_t *o = (H5VL_log_t *)obj;
- H5VLobject_specific(o->under_object, loc_params, native_driver_id, specific_type, dxpl_id, req, arguments);
+ H5VLobject_specific(o->under_object, loc_params, native_plugin_id, specific_type, dxpl_id, req, arguments);
printf("------- LOG Object specific\n");
return 1;
@@ -443,7 +444,7 @@ H5VL_log_dataset_create(void *obj, H5VL_loc_params_t loc_params, const char *nam
dset = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- dset->under_object = H5VLdataset_create(o->under_object, loc_params, native_driver_id, name, dcpl_id, dapl_id, dxpl_id, req);
+ dset->under_object = H5VLdataset_create(o->under_object, loc_params, native_plugin_id, name, dcpl_id, dapl_id, dxpl_id, req);
printf("------- LOG H5Dcreate\n");
return (void *)dset;
@@ -457,7 +458,7 @@ H5VL_log_dataset_open(void *obj, H5VL_loc_params_t loc_params, const char *name,
dset = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
- dset->under_object = H5VLdataset_open(o->under_object, loc_params, native_driver_id, name, dapl_id, dxpl_id, req);
+ dset->under_object = H5VLdataset_open(o->under_object, loc_params, native_plugin_id, name, dapl_id, dxpl_id, req);
printf("------- LOG H5Dopen\n");
return (void *)dset;
@@ -469,7 +470,7 @@ H5VL_log_dataset_read(void *dset, hid_t mem_type_id, hid_t mem_space_id,
{
H5VL_log_t *d = (H5VL_log_t *)dset;
- H5VLdataset_read(d->under_object, native_driver_id, mem_type_id, mem_space_id, file_space_id,
+ H5VLdataset_read(d->under_object, native_plugin_id, mem_type_id, mem_space_id, file_space_id,
plist_id, buf, req);
printf("------- LOG H5Dread\n");
@@ -481,7 +482,7 @@ H5VL_log_dataset_write(void *dset, hid_t mem_type_id, hid_t mem_space_id,
{
H5VL_log_t *d = (H5VL_log_t *)dset;
- H5VLdataset_write(d->under_object, native_driver_id, mem_type_id, mem_space_id, file_space_id,
+ H5VLdataset_write(d->under_object, native_plugin_id, mem_type_id, mem_space_id, file_space_id,
plist_id, buf, req);
printf("------- LOG H5Dwrite\n");
@@ -492,7 +493,7 @@ H5VL_log_dataset_close(void *dset, hid_t dxpl_id, void **req)
{
H5VL_log_t *d = (H5VL_log_t *)dset;
- H5VLdataset_close(d->under_object, native_driver_id, dxpl_id, req);
+ H5VLdataset_close(d->under_object, native_plugin_id, dxpl_id, req);
free(d);
printf("------- LOG H5Dclose\n");