summaryrefslogtreecommitdiffstats
path: root/src/H5VLprivate.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@lbl.gov>2019-03-12 16:48:11 (GMT)
committerQuincey Koziol <koziol@lbl.gov>2019-03-12 16:48:11 (GMT)
commit07baf44a86de400c170006557e7595ea6ba9c20a (patch)
tree449fbf063728fa602c311ec44ece4a4053bb24c8 /src/H5VLprivate.h
parent679b49d43d744f0cc34054944e827326f17a6f3d (diff)
parent86598573641dfa27278c9e29df0fa79bd7d8e07f (diff)
downloadhdf5-07baf44a86de400c170006557e7595ea6ba9c20a.zip
hdf5-07baf44a86de400c170006557e7595ea6ba9c20a.tar.gz
hdf5-07baf44a86de400c170006557e7595ea6ba9c20a.tar.bz2
Merge pull request #1599 in HDFFV/hdf5 from preserve_lib_state to develop
* commit '86598573641dfa27278c9e29df0fa79bd7d8e07f': Add API routines to retrieve, restore, reset, and free library state.
Diffstat (limited to 'src/H5VLprivate.h')
-rw-r--r--src/H5VLprivate.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/H5VLprivate.h b/src/H5VLprivate.h
index 283c77a..ac77ee0 100644
--- a/src/H5VLprivate.h
+++ b/src/H5VLprivate.h
@@ -41,8 +41,8 @@ typedef struct H5VL_object_t {
/* Internal structure to hold the connector ID & info for FAPLs */
typedef struct H5VL_connector_prop_t {
- hid_t connector_id; /* VOL connector's ID */
- const void *connector_info; /* VOL connector info, for open callbacks */
+ hid_t connector_id; /* VOL connector's ID */
+ void *connector_info; /* VOL connector info, for open callbacks */
} H5VL_connector_prop_t;
/* Which kind of VOL connector field to use for searching */
@@ -92,11 +92,19 @@ H5_DLL herr_t H5VL_free_object(H5VL_object_t *obj);
H5_DLL herr_t H5VL_get_wrap_ctx(const H5VL_class_t *connector, void *obj,
void **wrap_ctx);
H5_DLL herr_t H5VL_free_wrap_ctx(const H5VL_class_t *connector, void *wrap_ctx);
-H5_DLL herr_t H5VL_set_vol_wrapper(void *obj, const H5VL_t *vol_connector);
+H5_DLL herr_t H5VL_set_vol_wrapper(void *obj, H5VL_t *vol_connector);
+H5_DLL herr_t H5VL_inc_vol_wrapper(void *vol_wrap_ctx);
+H5_DLL herr_t H5VL_dec_vol_wrapper(void *vol_wrap_ctx);
H5_DLL herr_t H5VL_reset_vol_wrapper(void);
H5_DLL void * H5VL_wrap_object(const H5VL_class_t *connector, void *wrap_ctx,
void *obj, H5I_type_t obj_type);
+/* Library state functions */
+H5_DLL herr_t H5VL_retrieve_lib_state(void **state);
+H5_DLL herr_t H5VL_restore_lib_state(const void *state);
+H5_DLL herr_t H5VL_reset_lib_state(void);
+H5_DLL herr_t H5VL_free_lib_state(void *state);
+
/* ID registration functions */
H5_DLL hid_t H5VL_register(H5I_type_t type, void *object, H5VL_t *vol_connector, hbool_t app_ref);
H5_DLL hid_t H5VL_wrap_register(H5I_type_t type, void *obj, hbool_t app_ref);