summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/CMakeLists.txt1
-rw-r--r--examples/Makefile.am7
-rw-r--r--examples/h5_vol_external_log_native.c498
3 files changed, 2 insertions, 504 deletions
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
index 9956b06..2239d64 100644
--- a/examples/CMakeLists.txt
+++ b/examples/CMakeLists.txt
@@ -37,7 +37,6 @@ set (examples
h5_vds-percival
h5_vds-percival-unlim
h5_vds-percival-unlim-maxmin
- h5_vol_external_log_native
)
foreach (example ${examples})
diff --git a/examples/Makefile.am b/examples/Makefile.am
index ae6c092..554ee44 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -37,8 +37,7 @@ EXAMPLE_PROG = h5_write h5_read h5_extend_write h5_chunk_read h5_compound \
h5_group h5_select h5_attribute h5_mount h5_reference h5_drivers \
h5_ref2reg h5_extlink h5_elink_unix2win h5_shared_mesg h5_vds h5_vds-exc \
h5_vds-exclim h5_vds-eiger h5_vds-simpleIO h5_vds-percival \
- h5_vds-percival-unlim h5_vds-percival-unlim-maxmin \
- h5_vol_external_log_native
+ h5_vds-percival-unlim h5_vds-percival-unlim-maxmin
TEST_SCRIPT=testh5cc.sh
TEST_EXAMPLES_SCRIPT=$(INSTALL_SCRIPT_FILES)
@@ -51,8 +50,7 @@ INSTALL_FILES = h5_write.c h5_read.c h5_extend_write.c h5_chunk_read.c \
h5_reference.c h5_drivers.c h5_extlink.c h5_elink_unix2win.c \
h5_ref2reg.c h5_shared_mesg.c ph5example.c h5_vds.c h5_vds-exc.c \
h5_vds-exclim.c h5_vds-eiger.c h5_vds-simpleIO.c h5_vds-percival.c \
- h5_vds-percival-unlim.c h5_vds-percival-unlim-maxmin.c \
- h5_vol_external_log_native.c
+ h5_vds-percival-unlim.c h5_vds-percival-unlim-maxmin.c
@@ -129,7 +127,6 @@ h5_vds-simpleIO: $(srcdir)/h5_vds-simpleIO.c
h5_vds-percival: $(srcdir)/h5_vds-percival.c
h5_vds-percival-unlim: $(srcdir)/h5_vds-percival-unlim.c
h5_vds-percival-unlim-maxmin: $(srcdir)/h5_vds-percival-unlim-maxmin.c
-h5_vol_external_log_native: $(srcdir)/h5_vol_external_log_native.c
if BUILD_SHARED_SZIP_CONDITIONAL
LD_LIBRARY_PATH=$(LL_PATH)
diff --git a/examples/h5_vol_external_log_native.c b/examples/h5_vol_external_log_native.c
deleted file mode 100644
index 24fc254..0000000
--- a/examples/h5_vol_external_log_native.c
+++ /dev/null
@@ -1,498 +0,0 @@
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <assert.h>
-#include "hdf5.h"
-
-#define LOG 502
-
-static herr_t H5VL_log_init(hid_t vipl_id);
-static herr_t H5VL_log_term(void);
-
-/* Datatype callbacks */
-static void *H5VL_log_datatype_commit(void *obj, const 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);
-static void *H5VL_log_datatype_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req);
-static herr_t H5VL_log_datatype_get(void *dt, H5VL_datatype_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
-static herr_t H5VL_log_datatype_close(void *dt, hid_t dxpl_id, void **req);
-
-/* Dataset callbacks */
-static void *H5VL_log_dataset_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void **req);
-static void *H5VL_log_dataset_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t dapl_id, hid_t dxpl_id, void **req);
-static herr_t H5VL_log_dataset_read(void *dset, hid_t mem_type_id, hid_t mem_space_id,
- hid_t file_space_id, hid_t plist_id, void *buf, void **req);
-static herr_t H5VL_log_dataset_write(void *dset, hid_t mem_type_id, hid_t mem_space_id,
- hid_t file_space_id, hid_t plist_id, const void *buf, void **req);
-static herr_t H5VL_log_dataset_close(void *dset, hid_t dxpl_id, void **req);
-
-/* File callbacks */
-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);
-static void *H5VL_log_file_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req);
-static herr_t H5VL_log_file_get(void *file, H5VL_file_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
-static herr_t H5VL_log_file_close(void *file, hid_t dxpl_id, void **req);
-
-/* Group callbacks */
-static void *H5VL_log_group_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void **req);
-static herr_t H5VL_log_group_close(void *grp, hid_t dxpl_id, void **req);
-
-/* Link callbacks */
-
-/* Object callbacks */
-static void *H5VL_log_object_open(void *obj, const 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, const H5VL_loc_params_t *loc_params, H5VL_object_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
-
-hid_t native_connector_id = -1;
-
-static const H5VL_class_t H5VL_log_g = {
- 0, /* VOL class struct version */
- LOG, /* ID of connector */
- "log", /* Name of connector */
- 0, /* capability flags */
- H5VL_log_init, /* initialize */
- H5VL_log_term, /* terminate */
- sizeof(hid_t), /* info size */
- NULL, /* info copy */
- NULL, /* info compare */
- NULL, /* info free */
- NULL, /* info to str */
- NULL, /* str to info */
- 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 */
- NULL, /* H5VL_log_attr_read, */ /* read */
- NULL, /* H5VL_log_attr_write, */ /* write */
- NULL, /* H5VL_log_attr_get, */ /* get */
- NULL, /* H5VL_log_attr_specific, */ /* specific */
- NULL, /* H5VL_log_attr_optional, */ /* optional */
- NULL /* H5VL_log_attr_close */ /* close */
- },
- { /* dataset_cls */
- H5VL_log_dataset_create, /* create */
- H5VL_log_dataset_open, /* open */
- H5VL_log_dataset_read, /* read */
- H5VL_log_dataset_write, /* write */
- NULL, /* H5VL_log_dataset_get, */ /* get */
- NULL, /* H5VL_log_dataset_specific, */ /* specific */
- NULL, /* H5VL_log_dataset_optional, */ /* optional */
- H5VL_log_dataset_close /* close */
- },
- { /* datatype_cls */
- H5VL_log_datatype_commit, /* commit */
- H5VL_log_datatype_open, /* open */
- H5VL_log_datatype_get, /* get_size */
- NULL, /* H5VL_log_datatype_specific, */ /* specific */
- NULL, /* H5VL_log_datatype_optional, */ /* optional */
- H5VL_log_datatype_close /* close */
- },
- { /* file_cls */
- H5VL_log_file_create, /* create */
- H5VL_log_file_open, /* open */
- H5VL_log_file_get, /* get */
- NULL, /* H5VL_log_file_specific, */ /* specific */
- NULL, /* H5VL_log_file_optional, */ /* optional */
- H5VL_log_file_close /* close */
- },
- { /* group_cls */
- H5VL_log_group_create, /* create */
- NULL, /* H5VL_log_group_open, */ /* open */
- NULL, /* H5VL_log_group_get, */ /* get */
- NULL, /* H5VL_log_group_specific, */ /* specific */
- NULL, /* H5VL_log_group_optional, */ /* optional */
- H5VL_log_group_close /* close */
- },
- { /* link_cls */
- NULL, /* H5VL_log_link_create, */ /* create */
- NULL, /* H5VL_log_link_copy, */ /* copy */
- NULL, /* H5VL_log_link_move, */ /* move */
- NULL, /* H5VL_log_link_get, */ /* get */
- NULL, /* H5VL_log_link_specific, */ /* specific */
- NULL /* H5VL_log_link_optional, */ /* optional */
- },
- { /* object_cls */
- H5VL_log_object_open, /* open */
- NULL, /* H5VL_log_object_copy, */ /* copy */
- NULL, /* H5VL_log_object_get, */ /* get */
- H5VL_log_object_specific, /* specific */
- NULL /* H5VL_log_object_optional, */ /* optional */
- },
- { /* request_cls */
- NULL, /* wait */
- NULL, /* notify */
- NULL, /* cancel */
- NULL, /* specific */
- NULL, /* optional */
- NULL /* free */
- },
- NULL
-};
-
-typedef struct H5VL_log_t {
- void *under_object;
-} H5VL_log_t;
-
-static herr_t
-visit_cb(hid_t oid, const char *name, const H5O_info_t *oinfo, void *udata)
-{
- ssize_t len;
- char n[25];
-
- if(H5Iget_type(oid) == H5I_GROUP) {
- len = H5VLget_connector_name(oid, n, 50);
- printf("Visiting GROUP VOL name = %s %zd\n", n, len);
- }
- if(H5Iget_type(oid) == H5I_DATASET)
- printf("visiting dataset\n");
- if(H5Iget_type(oid) == H5I_DATATYPE)
- printf("visiting datatype\n");
-
- return 1;
-}
-
-int
-main(int argc, char **argv)
-{
- const char file_name[]="large_dataset.h5";
- const char group_name[]="/Group";
- const char dataset_name[]="Data";
- char fullpath[500];
- hid_t file_id;
- hid_t group_id;
- hid_t dataspaceId;
- hid_t datasetId;
- hid_t acc_tpl;
- hid_t under_fapl;
- hid_t vol_id, vol_id2;
- hid_t int_id;
- hid_t attr;
- hid_t space;
- const unsigned int nelem=60;
- int *data;
- unsigned int i;
- hsize_t dims[1];
- ssize_t len;
- char name[25];
- static hsize_t ds_size[2] = {10, 20};
-
- under_fapl = H5Pcreate(H5P_FILE_ACCESS);
- H5Pset_fapl_native(under_fapl);
- assert(H5VLis_connector_registered("native") == 1);
-
- vol_id = H5VLregister_connector(&H5VL_log_g, H5P_DEFAULT);
- assert(vol_id > 0);
- assert(H5VLis_connector_registered("log") == 1);
-
- vol_id2 = H5VLget_connector_id("log");
- H5VLclose(vol_id2);
-
- native_connector_id = H5VLget_connector_id("native");
- assert(native_connector_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_connector_name(file_id, name, 25);
- printf("FILE VOL name = %s %zd\n", name, len);
-
- group_id = H5Gcreate2(file_id, group_name, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- len = H5VLget_connector_name(group_id, name, 50);
- printf("GROUP VOL name = %s %zd\n", name, len);
-
- int_id = H5Tcopy(H5T_NATIVE_INT);
- H5Tcommit2(file_id, "int", int_id, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT);
- len = H5VLget_connector_name(int_id, name, 50);
- printf("DT COMMIT name = %s %zd\n", name, len);
- H5Tclose(int_id);
-
- int_id = H5Topen2(file_id, "int", H5P_DEFAULT);
- len = H5VLget_connector_name(int_id, name, 50);
- printf("DT OPEN name = %s %zd\n", name, len);
- H5Tclose(int_id);
-
- int_id = H5Oopen(file_id,"int",H5P_DEFAULT);
- len = H5VLget_connector_name(int_id, name, 50);
- printf("DT OOPEN name = %s %zd\n", name, len);
-
- len = H5Fget_name(file_id, name, 50);
- printf("name = %lu %s\n", (unsigned long)len, name);
-
- data = malloc(sizeof(int)*nelem);
- for(i = 0; i < nelem; ++i)
- data[i] = i;
-
- dims [0] = 60;
- dataspaceId = H5Screate_simple(1, dims, NULL);
- space = H5Screate_simple (2, ds_size, ds_size);
-
- sprintf(fullpath,"%s/%s",group_name,dataset_name);
- datasetId = H5Dcreate2(file_id,fullpath,H5T_NATIVE_INT,dataspaceId,H5P_DEFAULT,H5P_DEFAULT,H5P_DEFAULT);
- H5Sclose(dataspaceId);
-
- len = H5VLget_connector_name(datasetId, name, 50);
- printf("DSET name = %s %zd\n", name, len);
-
- H5Dwrite(datasetId, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, data);
- H5Dclose(datasetId);
-
- H5Ovisit2(file_id, H5_INDEX_NAME, H5_ITER_NATIVE, visit_cb, NULL, H5O_INFO_ALL);
-
- free(data);
- H5Oclose(int_id);
- H5Sclose (space);
- H5Gclose(group_id);
- H5Fclose(file_id);
- H5Pclose(acc_tpl);
- H5Pclose(under_fapl);
-
- H5VLclose(native_connector_id);
- H5VLunregister_connector(vol_id);
- assert(H5VLis_connector_registered("log") == 0);
-
- return EXIT_SUCCESS;
-}
-
-static herr_t
-H5VL_log_init(hid_t vipl_id)
-{
- printf("------- LOG INIT\n");
- return 1;
-}
-
-static herr_t
-H5VL_log_term(void)
-{
- printf("------- LOG TERM\n");
- return 1;
-}
-
-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 = -1;
- H5VL_log_t *file;
-
- file = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- 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");
- return (void *)file;
-}
-
-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 = -1;
- H5VL_log_t *file;
-
- file = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- H5Pget_vol_info(fapl_id, &under_fapl);
- file->under_object = H5VLfile_open(name, flags, under_fapl, dxpl_id, req);
-
- printf("------- LOG H5Fopen\n");
- return (void *)file;
-}
-
-static herr_t
-H5VL_log_file_get(void *file, H5VL_file_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
-{
- H5VL_log_t *f = (H5VL_log_t *)file;
-
- H5VLfile_get(f->under_object, native_connector_id, get_type, dxpl_id, req, arguments);
-
- printf("------- LOG H5Fget %d\n", get_type);
- return 1;
-}
-
-static herr_t
-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_connector_id, dxpl_id, req);
- free(f);
-
- printf("------- LOG H5Fclose\n");
- return 1;
-}
-
-static void *
-H5VL_log_group_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name,
- hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void **req)
-{
- H5VL_log_t *group;
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- group = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- group->under_object = H5VLgroup_create(o->under_object, loc_params, native_connector_id, name, gcpl_id, gapl_id, dxpl_id, req);
-
- printf("------- LOG H5Gcreate\n");
- return (void *)group;
-}
-
-static herr_t
-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_connector_id, dxpl_id, req);
- free(g);
-
- printf("------- LOG H5Gclose\n");
- return 1;
-}
-
-static void *
-H5VL_log_datatype_commit(void *obj, const 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)
-{
- H5VL_log_t *dt;
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- dt = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- dt->under_object = H5VLdatatype_commit(o->under_object, loc_params, native_connector_id, name,
- type_id, lcpl_id, tcpl_id, tapl_id, dxpl_id, req);
-
- printf("------- LOG H5Tcommit\n");
- return dt;
-}
-
-static void *
-H5VL_log_datatype_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req)
-{
- H5VL_log_t *dt;
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- dt = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- dt->under_object = H5VLdatatype_open(o->under_object, loc_params, native_connector_id, name, tapl_id, dxpl_id, req);
-
- printf("------- LOG H5Topen\n");
- return (void *)dt;
-}
-
-static herr_t
-H5VL_log_datatype_get(void *dt, H5VL_datatype_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
-{
- H5VL_log_t *o = (H5VL_log_t *)dt;
- herr_t ret_value;
-
- ret_value = H5VLdatatype_get(o->under_object, native_connector_id, get_type, dxpl_id, req, arguments);
-
- printf("------- LOG datatype get\n");
- return ret_value;
-}
-
-static herr_t
-H5VL_log_datatype_close(void *dt, hid_t dxpl_id, void **req)
-{
- H5VL_log_t *type = (H5VL_log_t *)dt;
-
- assert(type->under_object);
-
- H5VLdatatype_close(type->under_object, native_connector_id, dxpl_id, req);
- free(type);
-
- printf("------- LOG H5Tclose\n");
- return 1;
-}
-
-static void *
-H5VL_log_object_open(void *obj, const H5VL_loc_params_t *loc_params, H5I_type_t *opened_type, hid_t dxpl_id, void **req)
-{
- H5VL_log_t *new_obj;
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- new_obj = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- new_obj->under_object = H5VLobject_open(o->under_object, loc_params, native_connector_id, opened_type, dxpl_id, req);
-
- printf("------- LOG H5Oopen\n");
- return (void *)new_obj;
-}
-
-static herr_t
-H5VL_log_object_specific(void *obj, const H5VL_loc_params_t *loc_params, H5VL_object_specific_t specific_type,
- hid_t dxpl_id, void **req, va_list arguments)
-{
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- H5VLobject_specific(o->under_object, loc_params, native_connector_id, specific_type, dxpl_id, req, arguments);
-
- printf("------- LOG Object specific\n");
- return 1;
-}
-
-static void *
-H5VL_log_dataset_create(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void **req)
-{
- H5VL_log_t *dset;
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- dset = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- dset->under_object = H5VLdataset_create(o->under_object, loc_params, native_connector_id, name, dcpl_id, dapl_id, dxpl_id, req);
-
- printf("------- LOG H5Dcreate\n");
- return (void *)dset;
-}
-
-static void *
-H5VL_log_dataset_open(void *obj, const H5VL_loc_params_t *loc_params, const char *name, hid_t dapl_id, hid_t dxpl_id, void **req)
-{
- H5VL_log_t *dset;
- H5VL_log_t *o = (H5VL_log_t *)obj;
-
- dset = (H5VL_log_t *)calloc(1, sizeof(H5VL_log_t));
-
- dset->under_object = H5VLdataset_open(o->under_object, loc_params, native_connector_id, name, dapl_id, dxpl_id, req);
-
- printf("------- LOG H5Dopen\n");
- return (void *)dset;
-}
-
-static herr_t
-H5VL_log_dataset_read(void *dset, hid_t mem_type_id, hid_t mem_space_id,
- hid_t file_space_id, hid_t plist_id, void *buf, void **req)
-{
- H5VL_log_t *d = (H5VL_log_t *)dset;
-
- H5VLdataset_read(d->under_object, native_connector_id, mem_type_id, mem_space_id, file_space_id,
- plist_id, buf, req);
-
- printf("------- LOG H5Dread\n");
- return 1;
-}
-
-static herr_t
-H5VL_log_dataset_write(void *dset, hid_t mem_type_id, hid_t mem_space_id,
- hid_t file_space_id, hid_t plist_id, const void *buf, void **req)
-{
- H5VL_log_t *d = (H5VL_log_t *)dset;
-
- H5VLdataset_write(d->under_object, native_connector_id, mem_type_id, mem_space_id, file_space_id,
- plist_id, buf, req);
-
- printf("------- LOG H5Dwrite\n");
- return 1;
-}
-
-static herr_t
-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_connector_id, dxpl_id, req);
- free(d);
-
- printf("------- LOG H5Dclose\n");
- return 1;
-}
-