HDF5  1.12.0
H5VLconnector_passthru.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * All rights reserved. *
4  * *
5  * This file is part of HDF5. The full HDF5 copyright notice, including *
6  * terms governing use, modification, and redistribution, is contained in *
7  * the COPYING file, which can be found at the root of the source code *
8  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
9  * If you do not have access to either file, you may request a copy from *
10  * help@hdfgroup.org. *
11  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
12 
13 /*
14  * This file contains public declarations for authoring VOL connectors
15  * which act as "passthrough" connectors that forward their API calls to
16  * an underlying connector.
17  *
18  * An example of this might be a logging connector, which creates log messages
19  * and then passes the call on to an underlying VOL connector.
20  *
21  * The functionality required to implement such a connector is specialized
22  * and non-trivial so it has been split into this header in an effort to keep
23  * the H5VLconnector.h header easier to understand.
24  */
25 
26 #ifndef _H5VLconnector_passthru_H
27 #define _H5VLconnector_passthru_H
28 
29 /* Public headers needed by this file */
30 #include "H5public.h" /* Generic Functions */
31 #include "H5Ipublic.h" /* IDs */
32 #include "H5VLpublic.h" /* Virtual Object Layer */
33 
34 /* Semi-public headers mainly for VOL connector authors */
35 #include "H5VLconnector.h"
36 
37 
38 /*****************/
39 /* Public Macros */
40 /*****************/
41 
42 /*******************/
43 /* Public Typedefs */
44 /*******************/
45 
46 /********************/
47 /* Public Variables */
48 /********************/
49 
50 /*********************/
51 /* Public Prototypes */
52 /*********************/
53 
54 #ifdef __cplusplus
55 extern "C" {
56 #endif
57 
58 /* Helper routines for VOL connector authors */
59 H5_DLL herr_t H5VLcmp_connector_cls(int *cmp, hid_t connector_id1, hid_t connector_id2);
60 H5_DLL hid_t H5VLwrap_register(void *obj, H5I_type_t type);
62 H5_DLL herr_t H5VLrestore_lib_state(const void *state);
64 H5_DLL herr_t H5VLfree_lib_state(void *state);
65 
66 /* Pass-through callbacks */
67 H5_DLL void *H5VLget_object(void *obj, hid_t connector_id);
68 H5_DLL herr_t H5VLget_wrap_ctx(void *obj, hid_t connector_id, void **wrap_ctx);
69 H5_DLL void *H5VLwrap_object(void *obj, H5I_type_t obj_type, hid_t connector_id,
70  void *wrap_ctx);
71 H5_DLL void *H5VLunwrap_object(void *obj, hid_t connector_id);
72 H5_DLL herr_t H5VLfree_wrap_ctx(void *wrap_ctx, hid_t connector_id);
73 
74 /* Public wrappers for generic callbacks */
75 H5_DLL herr_t H5VLinitialize(hid_t connector_id, hid_t vipl_id);
76 H5_DLL herr_t H5VLterminate(hid_t connector_id);
77 H5_DLL herr_t H5VLget_cap_flags(hid_t connector_id, unsigned *cap_flags);
78 H5_DLL herr_t H5VLget_value(hid_t connector_id, H5VL_class_value_t *conn_value);
79 
80 /* Public wrappers for info fields and callbacks */
81 H5_DLL herr_t H5VLcopy_connector_info(hid_t connector_id, void **dst_vol_info, void *src_vol_info);
82 H5_DLL herr_t H5VLcmp_connector_info(int *cmp, hid_t connector_id, const void *info1,
83  const void *info2);
84 H5_DLL herr_t H5VLfree_connector_info(hid_t connector_id, void *vol_info);
85 H5_DLL herr_t H5VLconnector_info_to_str(const void *info, hid_t connector_id, char **str);
86 H5_DLL herr_t H5VLconnector_str_to_info(const char *str, hid_t connector_id, void **info);
87 
88 /* Public wrappers for attribute callbacks */
89 H5_DLL void *H5VLattr_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t dxpl_id, void **req);
90 H5_DLL void *H5VLattr_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t aapl_id, hid_t dxpl_id, void **req);
91 H5_DLL herr_t H5VLattr_read(void *attr, hid_t connector_id, hid_t dtype_id, void *buf, hid_t dxpl_id, void **req);
92 H5_DLL herr_t H5VLattr_write(void *attr, hid_t connector_id, hid_t dtype_id, const void *buf, hid_t dxpl_id, void **req);
93 H5_DLL herr_t H5VLattr_get(void *obj, hid_t connector_id, H5VL_attr_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
94 H5_DLL herr_t H5VLattr_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_attr_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
95 H5_DLL herr_t H5VLattr_optional(void *obj, hid_t connector_id, H5VL_attr_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
96 H5_DLL herr_t H5VLattr_close(void *attr, hid_t connector_id, hid_t dxpl_id, void **req);
97 
98 /* Public wrappers for dataset callbacks */
99 H5_DLL void *H5VLdataset_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void **req);
100 H5_DLL void *H5VLdataset_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t dapl_id, hid_t dxpl_id, void **req);
101 H5_DLL herr_t H5VLdataset_read(void *dset, hid_t connector_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf, void **req);
102 H5_DLL herr_t H5VLdataset_write(void *dset, hid_t connector_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, const void *buf, void **req);
103 H5_DLL herr_t H5VLdataset_get(void *dset, hid_t connector_id, H5VL_dataset_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
104 H5_DLL herr_t H5VLdataset_specific(void *obj, hid_t connector_id, H5VL_dataset_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
105 H5_DLL herr_t H5VLdataset_optional(void *obj, hid_t connector_id, H5VL_dataset_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
106 H5_DLL herr_t H5VLdataset_close(void *dset, hid_t connector_id, hid_t dxpl_id, void **req);
107 
108 /* Public wrappers for named datatype callbacks */
109 H5_DLL void *H5VLdatatype_commit(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, 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);
110 H5_DLL void *H5VLdatatype_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req);
111 H5_DLL herr_t H5VLdatatype_get(void *dt, hid_t connector_id, H5VL_datatype_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
112 H5_DLL herr_t H5VLdatatype_specific(void *obj, hid_t connector_id, H5VL_datatype_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
113 H5_DLL herr_t H5VLdatatype_optional(void *obj, hid_t connector_id, H5VL_datatype_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
114 H5_DLL herr_t H5VLdatatype_close(void *dt, hid_t connector_id, hid_t dxpl_id, void **req);
115 
116 /* Public wrappers for file callbacks */
117 H5_DLL void *H5VLfile_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void **req);
118 H5_DLL void *H5VLfile_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req);
119 H5_DLL herr_t H5VLfile_get(void *file, hid_t connector_id, H5VL_file_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
120 H5_DLL herr_t H5VLfile_specific(void *obj, hid_t connector_id, H5VL_file_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
121 H5_DLL herr_t H5VLfile_optional(void *obj, hid_t connector_id, H5VL_file_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
122 H5_DLL herr_t H5VLfile_close(void *file, hid_t connector_id, hid_t dxpl_id, void **req);
123 
124 /* Public wrappers for group callbacks */
125 H5_DLL void *H5VLgroup_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void **req);
126 H5_DLL void *H5VLgroup_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t gapl_id, hid_t dxpl_id, void **req);
127 H5_DLL herr_t H5VLgroup_get(void *obj, hid_t connector_id, H5VL_group_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
128 H5_DLL herr_t H5VLgroup_specific(void *obj, hid_t connector_id, H5VL_group_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
129 H5_DLL herr_t H5VLgroup_optional(void *obj, hid_t connector_id, H5VL_group_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
130 H5_DLL herr_t H5VLgroup_close(void *grp, hid_t connector_id, hid_t dxpl_id, void **req);
131 
132 /* Public wrappers for link callbacks */
133 H5_DLL herr_t H5VLlink_create(H5VL_link_create_type_t create_type, void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req, va_list arguments);
134 H5_DLL herr_t H5VLlink_copy(void *src_obj, const H5VL_loc_params_t *loc_params1,
135  void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t connector_id,
136  hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req);
137 H5_DLL herr_t H5VLlink_move(void *src_obj, const H5VL_loc_params_t *loc_params1,
138  void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t connector_id,
139  hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req);
140 H5_DLL herr_t H5VLlink_get(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_link_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
141 H5_DLL herr_t H5VLlink_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_link_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
142 H5_DLL herr_t H5VLlink_optional(void *obj, hid_t connector_id, H5VL_link_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
143 
144 /* Public wrappers for object callbacks */
145 H5_DLL void *H5VLobject_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5I_type_t *opened_type, hid_t dxpl_id, void **req);
146 H5_DLL herr_t H5VLobject_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, const char *src_name,
147  void *dst_obj, const H5VL_loc_params_t *loc_params2, const char *dst_name,
148  hid_t connector_id, hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id, void **req);
149 H5_DLL herr_t H5VLobject_get(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_object_get_t get_type, hid_t dxpl_id, void **req, va_list arguments);
150 H5_DLL herr_t H5VLobject_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_object_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments);
151 H5_DLL herr_t H5VLobject_optional(void *obj, hid_t connector_id, H5VL_object_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments);
152 
153 /* Public wrappers for connector/container introspection callbacks */
154 H5_DLL herr_t H5VLintrospect_get_conn_cls(void *obj, hid_t connector_id,
155  H5VL_get_conn_lvl_t lvl, const H5VL_class_t **conn_cls);
156 H5_DLL herr_t H5VLintrospect_opt_query(void *obj, hid_t connector_id,
157  H5VL_subclass_t subcls, int opt_type, hbool_t *supported);
158 
159 /* Public wrappers for asynchronous request callbacks */
160 H5_DLL herr_t H5VLrequest_wait(void *req, hid_t connector_id, uint64_t timeout, H5ES_status_t *status);
161 H5_DLL herr_t H5VLrequest_notify(void *req, hid_t connector_id, H5VL_request_notify_t cb, void *ctx);
162 H5_DLL herr_t H5VLrequest_cancel(void *req, hid_t connector_id);
163 H5_DLL herr_t H5VLrequest_specific(void *req, hid_t connector_id, H5VL_request_specific_t specific_type, va_list arguments);
164 H5_DLL herr_t H5VLrequest_optional(void *req, hid_t connector_id, H5VL_request_optional_t opt_type, va_list arguments);
165 H5_DLL herr_t H5VLrequest_free(void *req, hid_t connector_id);
166 
167 /* Public wrappers for blob callbacks */
168 H5_DLL herr_t H5VLblob_put(void *obj, hid_t connector_id, const void *buf, size_t size, void *blob_id, void *ctx);
169 H5_DLL herr_t H5VLblob_get(void *obj, hid_t connector_id, const void *blob_id, void *buf, size_t size, void *ctx);
170 H5_DLL herr_t H5VLblob_specific(void *obj, hid_t connector_id, void *blob_id, H5VL_blob_specific_t specific_type, va_list arguments);
171 H5_DLL herr_t H5VLblob_optional(void *obj, hid_t connector_id, void *blob_id, H5VL_blob_optional_t opt_type, va_list arguments);
172 
173 /* Public wrappers for token callbacks */
174 H5_DLL herr_t H5VLtoken_cmp(void *obj, hid_t connector_id, const H5O_token_t *token1, const H5O_token_t *token2, int *cmp_value);
175 H5_DLL herr_t H5VLtoken_to_str(void *obj, H5I_type_t obj_type, hid_t connector_id, const H5O_token_t *token, char **token_str);
176 H5_DLL herr_t H5VLtoken_from_str(void *obj, H5I_type_t obj_type, hid_t connector_id, const char *token_str, H5O_token_t *token);
177 
178 /* Public wrappers for generic 'optional' callback */
179 H5_DLL herr_t H5VLoptional(void *obj, hid_t connector_id, int op_type, hid_t dxpl_id,
180  void **req, va_list arguments);
181 
182 #ifdef __cplusplus
183 }
184 #endif
185 
186 #endif /* _H5VLconnector_passthru_H */
187 
H5public.h
H5VL_get_conn_lvl_t
H5VL_get_conn_lvl_t
Definition: H5VLconnector.h:421
H5VL_loc_params_t
Definition: H5VLconnector.h:270
H5VL_group_specific_t
H5VL_group_specific_t
Definition: H5VLconnector.h:159
H5VLdataset_get
H5_DLL herr_t H5VLdataset_get(void *dset, hid_t connector_id, H5VL_dataset_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:2320
H5VLdataset_read
H5_DLL herr_t H5VLdataset_read(void *dset, hid_t connector_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, void *buf, void **req)
Definition: H5VLcallback.c:2102
H5VLgroup_create
H5_DLL void * H5VLgroup_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:4103
H5VLattr_write
H5_DLL herr_t H5VLattr_write(void *attr, hid_t connector_id, hid_t dtype_id, const void *buf, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1356
H5Ipublic.h
H5VLdataset_optional
H5_DLL herr_t H5VLdataset_optional(void *obj, hid_t connector_id, H5VL_dataset_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:2544
H5VL_group_optional_t
int H5VL_group_optional_t
Definition: H5VLconnector.h:165
size
iblock size
Definition: H5EAcache.c:787
H5VLattr_read
H5_DLL herr_t H5VLattr_read(void *attr, hid_t connector_id, hid_t dtype_id, void *buf, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1254
H5VLgroup_optional
H5_DLL herr_t H5VLgroup_optional(void *obj, hid_t connector_id, H5VL_group_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:4544
H5VLgroup_get
H5_DLL herr_t H5VLgroup_get(void *obj, hid_t connector_id, H5VL_group_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:4320
H5VLdatatype_get
H5_DLL herr_t H5VLdatatype_get(void *dt, hid_t connector_id, H5VL_datatype_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:2977
H5VL_link_specific_t
H5VL_link_specific_t
Definition: H5VLconnector.h:182
H5VLblob_put
H5_DLL herr_t H5VLblob_put(void *obj, hid_t connector_id, const void *buf, size_t size, void *blob_id, void *ctx)
Definition: H5VLcallback.c:6912
H5I_type_t
H5I_type_t
Definition: H5Ipublic.h:33
H5VLdataset_close
H5_DLL herr_t H5VLdataset_close(void *dset, hid_t connector_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:2656
H5VLfree_lib_state
H5_DLL herr_t H5VLfree_lib_state(void *state)
Definition: H5VL.c:897
H5VLfile_create
H5_DLL void * H5VLfile_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:3411
H5VLconnector.h
H5VLrequest_notify
H5_DLL herr_t H5VLrequest_notify(void *req, hid_t connector_id, H5VL_request_notify_t cb, void *ctx)
Definition: H5VLcallback.c:6353
H5VLtoken_from_str
H5_DLL herr_t H5VLtoken_from_str(void *obj, H5I_type_t obj_type, hid_t connector_id, const char *token_str, H5O_token_t *token)
Definition: H5VLcallback.c:7637
H5VL_file_optional_t
int H5VL_file_optional_t
Definition: H5VLconnector.h:150
H5VLdatatype_commit
H5_DLL void * H5VLdatatype_commit(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, 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)
Definition: H5VLcallback.c:2760
H5VLlink_specific
H5_DLL herr_t H5VLlink_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_link_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:5224
H5VLfile_optional
H5_DLL herr_t H5VLfile_optional(void *obj, hid_t connector_id, H5VL_file_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:3893
H5VL_subclass_t
H5VL_subclass_t
Definition: H5VLconnector.h:53
H5VLobject_open
H5_DLL void * H5VLobject_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5I_type_t *opened_type, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:5440
H5VLrequest_optional
H5_DLL herr_t H5VLrequest_optional(void *req, hid_t connector_id, H5VL_request_optional_t opt_type, va_list arguments)
Definition: H5VLcallback.c:6696
H5VLreset_lib_state
H5_DLL herr_t H5VLreset_lib_state(void)
Definition: H5VL.c:860
H5VLget_object
H5_DLL void * H5VLget_object(void *obj, hid_t connector_id)
Definition: H5VLcallback.c:665
H5ES_status_t
H5ES_status_t
Definition: H5ESpublic.h:28
H5VLattr_create
H5_DLL void * H5VLattr_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1045
H5VLrestore_lib_state
H5_DLL herr_t H5VLrestore_lib_state(const void *state)
Definition: H5VL.c:817
H5VL_object_specific_t
H5VL_object_specific_t
Definition: H5VLconnector.h:201
H5VL_request_specific_t
H5VL_request_specific_t
Definition: H5VLconnector.h:214
H5VLget_wrap_ctx
H5_DLL herr_t H5VLget_wrap_ctx(void *obj, hid_t connector_id, void **wrap_ctx)
Definition: H5VLcallback.c:740
H5VLpublic.h
H5VL_object_optional_t
int H5VL_object_optional_t
Definition: H5VLconnector.h:211
H5VLobject_copy
H5_DLL herr_t H5VLobject_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, const char *src_name, void *dst_obj, const H5VL_loc_params_t *loc_params2, const char *dst_name, hid_t connector_id, hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:5552
H5VLobject_get
H5_DLL herr_t H5VLobject_get(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_object_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:5667
H5VL_datatype_optional_t
int H5VL_datatype_optional_t
Definition: H5VLconnector.h:123
H5VLinitialize
H5_DLL herr_t H5VLinitialize(hid_t connector_id, hid_t vipl_id)
Definition: H5VLcallback.c:228
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5VLfile_open
H5_DLL void * H5VLfile_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:3518
H5VLdataset_write
H5_DLL herr_t H5VLdataset_write(void *dset, hid_t connector_id, hid_t mem_type_id, hid_t mem_space_id, hid_t file_space_id, hid_t plist_id, const void *buf, void **req)
Definition: H5VLcallback.c:2208
H5VLdataset_open
H5_DLL void * H5VLdataset_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t dapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1996
H5VLgroup_open
H5_DLL void * H5VLgroup_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t gapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:4208
H5VLconnector_info_to_str
H5_DLL herr_t H5VLconnector_info_to_str(const void *info, hid_t connector_id, char **str)
Definition: H5VLcallback.c:596
H5VLunwrap_object
H5_DLL void * H5VLunwrap_object(void *obj, hid_t connector_id)
Definition: H5VLcallback.c:877
H5VL_link_get_t
H5VL_link_get_t
Definition: H5VLconnector.h:175
H5VLfile_get
H5_DLL herr_t H5VLfile_get(void *file, hid_t connector_id, H5VL_file_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:3635
H5VL_class_value_t
int H5VL_class_value_t
Definition: H5VLpublic.h:49
H5VLcopy_connector_info
H5_DLL herr_t H5VLcopy_connector_info(hid_t connector_id, void **dst_vol_info, void *src_vol_info)
Definition: H5VLcallback.c:402
H5VLattr_specific
H5_DLL herr_t H5VLattr_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_attr_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:1580
H5VLwrap_object
H5_DLL void * H5VLwrap_object(void *obj, H5I_type_t obj_type, hid_t connector_id, void *wrap_ctx)
Definition: H5VLcallback.c:808
H5VLgroup_specific
H5_DLL herr_t H5VLgroup_specific(void *obj, hid_t connector_id, H5VL_group_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:4432
H5VLfree_wrap_ctx
H5_DLL herr_t H5VLfree_wrap_ctx(void *wrap_ctx, hid_t connector_id)
Definition: H5VLcallback.c:943
H5VL_request_notify_t
herr_t(* H5VL_request_notify_t)(void *ctx, H5ES_status_t status)
Definition: H5VLconnector.h:418
H5VL_link_optional_t
int H5VL_link_optional_t
Definition: H5VLconnector.h:189
H5VLrequest_cancel
H5_DLL herr_t H5VLrequest_cancel(void *req, hid_t connector_id)
Definition: H5VLcallback.c:6465
H5VLdatatype_specific
H5_DLL herr_t H5VLdatatype_specific(void *obj, hid_t connector_id, H5VL_datatype_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:3093
H5VLcmp_connector_info
H5_DLL herr_t H5VLcmp_connector_info(int *cmp, hid_t connector_id, const void *info1, const void *info2)
Definition: H5VLcallback.c:496
H5VLblob_specific
H5_DLL herr_t H5VLblob_specific(void *obj, hid_t connector_id, void *blob_id, H5VL_blob_specific_t specific_type, va_list arguments)
Definition: H5VLcallback.c:7143
H5VLdatatype_close
H5_DLL herr_t H5VLdatatype_close(void *dt, hid_t connector_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:3308
H5VLattr_optional
H5_DLL herr_t H5VLattr_optional(void *obj, hid_t connector_id, H5VL_attr_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:1692
H5VLrequest_free
H5_DLL herr_t H5VLrequest_free(void *req, hid_t connector_id)
Definition: H5VLcallback.c:6802
uint64_t
uint64_t
Definition: H5overflow.txt:39
H5VL_datatype_specific_t
H5VL_datatype_specific_t
Definition: H5VLconnector.h:117
H5VLlink_move
H5_DLL herr_t H5VLlink_move(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t connector_id, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:5001
H5VL_dataset_specific_t
H5VL_dataset_specific_t
Definition: H5VLconnector.h:101
H5VLattr_get
H5_DLL herr_t H5VLattr_get(void *obj, hid_t connector_id, H5VL_attr_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:1467
H5VLfree_connector_info
H5_DLL herr_t H5VLfree_connector_info(hid_t connector_id, void *vol_info)
Definition: H5VLcallback.c:569
H5VLtoken_to_str
H5_DLL herr_t H5VLtoken_to_str(void *obj, H5I_type_t obj_type, hid_t connector_id, const H5O_token_t *token, char **token_str)
Definition: H5VLcallback.c:7517
H5VLblob_get
H5_DLL herr_t H5VLblob_get(void *obj, hid_t connector_id, const void *blob_id, void *buf, size_t size, void *ctx)
Definition: H5VLcallback.c:7022
H5VLlink_copy
H5_DLL herr_t H5VLlink_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj, const H5VL_loc_params_t *loc_params2, hid_t connector_id, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:4892
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5VL_datatype_get_t
H5VL_datatype_get_t
Definition: H5VLconnector.h:111
H5VLlink_create
H5_DLL herr_t H5VLlink_create(H5VL_link_create_type_t create_type, void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:4783
H5VLget_cap_flags
H5_DLL herr_t H5VLget_cap_flags(hid_t connector_id, unsigned *cap_flags)
Definition: H5VLcallback.c:292
H5VL_class_t
Definition: H5VLconnector.h:463
H5VLrequest_specific
H5_DLL herr_t H5VLrequest_specific(void *req, hid_t connector_id, H5VL_request_specific_t specific_type, va_list arguments)
Definition: H5VLcallback.c:6580
H5VLget_value
H5_DLL herr_t H5VLget_value(hid_t connector_id, H5VL_class_value_t *conn_value)
Definition: H5VLcallback.c:324
H5VL_blob_optional_t
int H5VL_blob_optional_t
Definition: H5VLconnector.h:233
H5VLdatatype_optional
H5_DLL herr_t H5VLdatatype_optional(void *obj, hid_t connector_id, H5VL_datatype_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:3205
H5VLfile_specific
H5_DLL herr_t H5VLfile_specific(void *obj, hid_t connector_id, H5VL_file_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:3783
H5VLterminate
H5_DLL herr_t H5VLterminate(hid_t connector_id)
Definition: H5VLcallback.c:260
H5VLcmp_connector_cls
H5_DLL herr_t H5VLcmp_connector_cls(int *cmp, hid_t connector_id1, hid_t connector_id2)
Definition: H5VL.c:572
H5VLobject_optional
H5_DLL herr_t H5VLobject_optional(void *obj, hid_t connector_id, H5VL_object_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:5896
H5VL_group_get_t
H5VL_group_get_t
Definition: H5VLconnector.h:153
H5VLintrospect_opt_query
H5_DLL herr_t H5VLintrospect_opt_query(void *obj, hid_t connector_id, H5VL_subclass_t subcls, int opt_type, hbool_t *supported)
Definition: H5VLcallback.c:6119
H5VL_link_create_type_t
H5VL_link_create_type_t
Definition: H5VLconnector.h:168
H5VL_dataset_get_t
H5VL_dataset_get_t
Definition: H5VLconnector.h:91
H5VLattr_close
H5_DLL herr_t H5VLattr_close(void *attr, hid_t connector_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1787
H5VLlink_optional
H5_DLL herr_t H5VLlink_optional(void *obj, hid_t connector_id, H5VL_link_optional_t opt_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:5336
H5VLgroup_close
H5_DLL herr_t H5VLgroup_close(void *grp, hid_t connector_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:4650
H5VLobject_specific
H5_DLL herr_t H5VLobject_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_object_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:5780
H5VLintrospect_get_conn_cls
H5_DLL herr_t H5VLintrospect_get_conn_cls(void *obj, hid_t connector_id, H5VL_get_conn_lvl_t lvl, const H5VL_class_t **conn_cls)
Definition: H5VLcallback.c:6009
H5VLdatatype_open
H5_DLL void * H5VLdatatype_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t tapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:2865
herr_t
int herr_t
Definition: H5public.h:128
H5VL_blob_specific_t
H5VL_blob_specific_t
Definition: H5VLconnector.h:225
H5VLblob_optional
H5_DLL herr_t H5VLblob_optional(void *obj, hid_t connector_id, void *blob_id, H5VL_blob_optional_t opt_type, va_list arguments)
Definition: H5VLcallback.c:7264
H5VLtoken_cmp
H5_DLL herr_t H5VLtoken_cmp(void *obj, hid_t connector_id, const H5O_token_t *token1, const H5O_token_t *token2, int *cmp_value)
Definition: H5VLcallback.c:7399
hbool_t
bool hbool_t
Definition: H5public.h:159
H5VLconnector_str_to_info
H5_DLL herr_t H5VLconnector_str_to_info(const char *str, hid_t connector_id, void **info)
Definition: H5VLcallback.c:638
H5VLattr_open
H5_DLL void * H5VLattr_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t aapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1150
H5VL_dataset_optional_t
int H5VL_dataset_optional_t
Definition: H5VLconnector.h:108
H5O_token_t
Definition: H5public.h:339
H5VLdataset_create
H5_DLL void * H5VLdataset_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, const char *name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id, hid_t dapl_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:1891
H5VL_attr_get_t
H5VL_attr_get_t
Definition: H5VLconnector.h:70
H5VL_object_get_t
H5VL_object_get_t
Definition: H5VLconnector.h:193
H5VL_file_get_t
H5VL_file_get_t
Definition: H5VLconnector.h:127
H5VLdataset_specific
H5_DLL herr_t H5VLdataset_specific(void *obj, hid_t connector_id, H5VL_dataset_specific_t specific_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:2432
H5VLfile_close
H5_DLL herr_t H5VLfile_close(void *file, hid_t connector_id, hid_t dxpl_id, void **req)
Definition: H5VLcallback.c:3999
H5VL_file_specific_t
H5VL_file_specific_t
Definition: H5VLconnector.h:139
H5VLrequest_wait
H5_DLL herr_t H5VLrequest_wait(void *req, hid_t connector_id, uint64_t timeout, H5ES_status_t *status)
Definition: H5VLcallback.c:6237
H5VL_attr_specific_t
H5VL_attr_specific_t
Definition: H5VLconnector.h:80
H5VLretrieve_lib_state
H5_DLL herr_t H5VLretrieve_lib_state(void **state)
Definition: H5VL.c:779
H5VLoptional
H5_DLL herr_t H5VLoptional(void *obj, hid_t connector_id, int op_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:7752
H5VLlink_get
H5_DLL herr_t H5VLlink_get(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id, H5VL_link_get_t get_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLcallback.c:5112
H5VL_request_optional_t
int H5VL_request_optional_t
Definition: H5VLconnector.h:221
H5VLwrap_register
H5_DLL hid_t H5VLwrap_register(void *obj, H5I_type_t type)
Definition: H5VL.c:614
H5VL_attr_optional_t
int H5VL_attr_optional_t
Definition: H5VLconnector.h:88