summaryrefslogtreecommitdiffstats
path: root/src/H5CXprivate.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/H5CXprivate.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/H5CXprivate.h')
-rw-r--r--src/H5CXprivate.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/H5CXprivate.h b/src/H5CXprivate.h
index 51ee96b..80f1ac4 100644
--- a/src/H5CXprivate.h
+++ b/src/H5CXprivate.h
@@ -39,6 +39,19 @@
/* Library Private Typedefs */
/****************************/
+/* API context state */
+typedef struct H5CX_state_t {
+ hid_t dxpl_id; /* DXPL for operation */
+ hid_t lapl_id; /* LAPL for operation */
+ void *vol_wrap_ctx; /* VOL connector's "wrap context" for creating IDs */
+ H5VL_connector_prop_t vol_connector_prop; /* VOL connector property */
+
+#ifdef H5_HAVE_PARALLEL
+ /* Internal: Parallel I/O settings */
+ hbool_t coll_metadata_read; /* Whether to use collective I/O for metadata read */
+#endif /* H5_HAVE_PARALLEL */
+} H5CX_state_t;
+
/*****************************/
/* Library-private Variables */
@@ -57,6 +70,11 @@ H5_DLL herr_t H5CX_pop(void);
H5_DLL void H5CX_push_special(void);
H5_DLL hbool_t H5CX_is_def_dxpl(void);
+/* API context state routines */
+H5_DLL herr_t H5CX_retrieve_state(H5CX_state_t **api_state);
+H5_DLL herr_t H5CX_restore_state(const H5CX_state_t *api_state);
+H5_DLL herr_t H5CX_free_state(H5CX_state_t *api_state);
+
/* "Setter" routines for API context info */
H5_DLL void H5CX_set_dxpl(hid_t dxpl_id);
H5_DLL void H5CX_set_lapl(hid_t lapl_id);