diff options
author | Quincey Koziol <koziol@lbl.gov> | 2019-03-12 16:48:11 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@lbl.gov> | 2019-03-12 16:48:11 (GMT) |
commit | 07baf44a86de400c170006557e7595ea6ba9c20a (patch) | |
tree | 449fbf063728fa602c311ec44ece4a4053bb24c8 /src/H5CXprivate.h | |
parent | 679b49d43d744f0cc34054944e827326f17a6f3d (diff) | |
parent | 86598573641dfa27278c9e29df0fa79bd7d8e07f (diff) | |
download | hdf5-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.h | 18 |
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); |