diff options
author | Quincey Koziol <koziol@koziol.gov> | 2019-04-21 19:45:54 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@koziol.gov> | 2019-04-21 19:45:54 (GMT) |
commit | 62198c2436ac3787afb49fa990d1ba8204264dba (patch) | |
tree | ce6f47307d75ffa61f49de88fdf72a014adfd1fb /src/H5VLpublic.h | |
parent | 500f6cccbd4bfe01b67f2bd02f74df58edef045f (diff) | |
download | hdf5-62198c2436ac3787afb49fa990d1ba8204264dba.zip hdf5-62198c2436ac3787afb49fa990d1ba8204264dba.tar.gz hdf5-62198c2436ac3787afb49fa990d1ba8204264dba.tar.bz2 |
Add an 'unwrap' VOL callback, so that connectors can unwrap an underlying
object without closing it. (Especially needed for pass-through connectors)
Diffstat (limited to 'src/H5VLpublic.h')
-rw-r--r-- | src/H5VLpublic.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/H5VLpublic.h b/src/H5VLpublic.h index da31a97..56e703c 100644 --- a/src/H5VLpublic.h +++ b/src/H5VLpublic.h @@ -253,6 +253,7 @@ typedef struct H5VL_wrap_class_t { void * (*get_object)(const void *obj); /* Callback to retrieve underlying object */ herr_t (*get_wrap_ctx)(const void *obj, void **wrap_ctx); /* Callback to retrieve the object wrapping context for the connector */ void * (*wrap_object)(void *obj, H5I_type_t obj_type, void *wrap_ctx); /* Callback to wrap a library object */ + void * (*unwrap_object)(void *obj); /* Callback to unwrap a library object */ herr_t (*free_wrap_ctx)(void *wrap_ctx); /* Callback to release the object wrapping context for the connector */ } H5VL_wrap_class_t; @@ -472,6 +473,7 @@ H5_DLL void *H5VLget_object(void *obj, hid_t connector_id); H5_DLL herr_t H5VLget_wrap_ctx(void *obj, hid_t connector_id, void **wrap_ctx); H5_DLL void *H5VLwrap_object(void *obj, H5I_type_t obj_type, hid_t connector_id, void *wrap_ctx); +H5_DLL void *H5VLunwrap_object(void *obj, hid_t connector_id); H5_DLL herr_t H5VLfree_wrap_ctx(void *wrap_ctx, hid_t connector_id); /* Public wrappers for attribute callbacks */ |