File indexing completed on 2025-04-18 09:16:07
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef H5VLconnector_passthru_H
0027 #define H5VLconnector_passthru_H
0028
0029
0030 #include "H5public.h" /* Generic Functions */
0031 #include "H5Ipublic.h" /* IDs */
0032 #include "H5VLpublic.h" /* Virtual Object Layer */
0033
0034
0035 #include "H5VLconnector.h"
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053 #ifdef __cplusplus
0054 extern "C" {
0055 #endif
0056
0057
0058 H5_DLL herr_t H5VLcmp_connector_cls(int *cmp, hid_t connector_id1, hid_t connector_id2);
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083 H5_DLL hid_t H5VLwrap_register(void *obj, H5I_type_t type);
0084 H5_DLL herr_t H5VLretrieve_lib_state(void **state);
0085 H5_DLL herr_t H5VLstart_lib_state(void);
0086 H5_DLL herr_t H5VLrestore_lib_state(const void *state);
0087 H5_DLL herr_t H5VLfinish_lib_state(void);
0088 H5_DLL herr_t H5VLfree_lib_state(void *state);
0089
0090
0091 H5_DLL void *H5VLget_object(void *obj, hid_t connector_id);
0092 H5_DLL herr_t H5VLget_wrap_ctx(void *obj, hid_t connector_id, void **wrap_ctx);
0093 H5_DLL void *H5VLwrap_object(void *obj, H5I_type_t obj_type, hid_t connector_id, void *wrap_ctx);
0094 H5_DLL void *H5VLunwrap_object(void *obj, hid_t connector_id);
0095 H5_DLL herr_t H5VLfree_wrap_ctx(void *wrap_ctx, hid_t connector_id);
0096
0097
0098 H5_DLL herr_t H5VLinitialize(hid_t connector_id, hid_t vipl_id);
0099 H5_DLL herr_t H5VLterminate(hid_t connector_id);
0100 H5_DLL herr_t H5VLget_cap_flags(hid_t connector_id, uint64_t *cap_flags);
0101 H5_DLL herr_t H5VLget_value(hid_t connector_id, H5VL_class_value_t *conn_value);
0102
0103
0104 H5_DLL herr_t H5VLcopy_connector_info(hid_t connector_id, void **dst_vol_info, void *src_vol_info);
0105 H5_DLL herr_t H5VLcmp_connector_info(int *cmp, hid_t connector_id, const void *info1, const void *info2);
0106 H5_DLL herr_t H5VLfree_connector_info(hid_t connector_id, void *vol_info);
0107 H5_DLL herr_t H5VLconnector_info_to_str(const void *info, hid_t connector_id, char **str);
0108 H5_DLL herr_t H5VLconnector_str_to_info(const char *str, hid_t connector_id, void **info);
0109
0110
0111 H5_DLL void *H5VLattr_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0112 const char *attr_name, hid_t type_id, hid_t space_id, hid_t acpl_id,
0113 hid_t aapl_id, hid_t dxpl_id, void **req);
0114 H5_DLL void *H5VLattr_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0115 const char *name, hid_t aapl_id, hid_t dxpl_id, void **req);
0116 H5_DLL herr_t H5VLattr_read(void *attr, hid_t connector_id, hid_t dtype_id, void *buf, hid_t dxpl_id,
0117 void **req);
0118 H5_DLL herr_t H5VLattr_write(void *attr, hid_t connector_id, hid_t dtype_id, const void *buf, hid_t dxpl_id,
0119 void **req);
0120 H5_DLL herr_t H5VLattr_get(void *obj, hid_t connector_id, H5VL_attr_get_args_t *args, hid_t dxpl_id,
0121 void **req);
0122 H5_DLL herr_t H5VLattr_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0123 H5VL_attr_specific_args_t *args, hid_t dxpl_id, void **req);
0124 H5_DLL herr_t H5VLattr_optional(void *obj, hid_t connector_id, H5VL_optional_args_t *args, hid_t dxpl_id,
0125 void **req);
0126 H5_DLL herr_t H5VLattr_close(void *attr, hid_t connector_id, hid_t dxpl_id, void **req);
0127
0128
0129 H5_DLL void *H5VLdataset_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0130 const char *name, hid_t lcpl_id, hid_t type_id, hid_t space_id, hid_t dcpl_id,
0131 hid_t dapl_id, hid_t dxpl_id, void **req);
0132 H5_DLL void *H5VLdataset_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0133 const char *name, hid_t dapl_id, hid_t dxpl_id, void **req);
0134 H5_DLL herr_t H5VLdataset_read(size_t count, void *dset[], hid_t connector_id, hid_t mem_type_id[],
0135 hid_t mem_space_id[], hid_t file_space_id[], hid_t plist_id, void *buf[],
0136 void **req);
0137 H5_DLL herr_t H5VLdataset_write(size_t count, void *dset[], hid_t connector_id, hid_t mem_type_id[],
0138 hid_t mem_space_id[], hid_t file_space_id[], hid_t plist_id,
0139 const void *buf[], void **req);
0140 H5_DLL herr_t H5VLdataset_get(void *dset, hid_t connector_id, H5VL_dataset_get_args_t *args, hid_t dxpl_id,
0141 void **req);
0142 H5_DLL herr_t H5VLdataset_specific(void *obj, hid_t connector_id, H5VL_dataset_specific_args_t *args,
0143 hid_t dxpl_id, void **req);
0144 H5_DLL herr_t H5VLdataset_optional(void *obj, hid_t connector_id, H5VL_optional_args_t *args, hid_t dxpl_id,
0145 void **req);
0146 H5_DLL herr_t H5VLdataset_close(void *dset, hid_t connector_id, hid_t dxpl_id, void **req);
0147
0148
0149 H5_DLL void *H5VLdatatype_commit(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0150 const char *name, hid_t type_id, hid_t lcpl_id, hid_t tcpl_id, hid_t tapl_id,
0151 hid_t dxpl_id, void **req);
0152 H5_DLL void *H5VLdatatype_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0153 const char *name, hid_t tapl_id, hid_t dxpl_id, void **req);
0154 H5_DLL herr_t H5VLdatatype_get(void *dt, hid_t connector_id, H5VL_datatype_get_args_t *args, hid_t dxpl_id,
0155 void **req);
0156 H5_DLL herr_t H5VLdatatype_specific(void *obj, hid_t connector_id, H5VL_datatype_specific_args_t *args,
0157 hid_t dxpl_id, void **req);
0158 H5_DLL herr_t H5VLdatatype_optional(void *obj, hid_t connector_id, H5VL_optional_args_t *args, hid_t dxpl_id,
0159 void **req);
0160 H5_DLL herr_t H5VLdatatype_close(void *dt, hid_t connector_id, hid_t dxpl_id, void **req);
0161
0162
0163 H5_DLL void *H5VLfile_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id,
0164 void **req);
0165 H5_DLL void *H5VLfile_open(const char *name, unsigned flags, hid_t fapl_id, hid_t dxpl_id, void **req);
0166 H5_DLL herr_t H5VLfile_get(void *file, hid_t connector_id, H5VL_file_get_args_t *args, hid_t dxpl_id,
0167 void **req);
0168 H5_DLL herr_t H5VLfile_specific(void *obj, hid_t connector_id, H5VL_file_specific_args_t *args, hid_t dxpl_id,
0169 void **req);
0170 H5_DLL herr_t H5VLfile_optional(void *obj, hid_t connector_id, H5VL_optional_args_t *args, hid_t dxpl_id,
0171 void **req);
0172 H5_DLL herr_t H5VLfile_close(void *file, hid_t connector_id, hid_t dxpl_id, void **req);
0173
0174
0175 H5_DLL void *H5VLgroup_create(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0176 const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id, hid_t dxpl_id,
0177 void **req);
0178 H5_DLL void *H5VLgroup_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0179 const char *name, hid_t gapl_id, hid_t dxpl_id, void **req);
0180 H5_DLL herr_t H5VLgroup_get(void *obj, hid_t connector_id, H5VL_group_get_args_t *args, hid_t dxpl_id,
0181 void **req);
0182 H5_DLL herr_t H5VLgroup_specific(void *obj, hid_t connector_id, H5VL_group_specific_args_t *args,
0183 hid_t dxpl_id, void **req);
0184 H5_DLL herr_t H5VLgroup_optional(void *obj, hid_t connector_id, H5VL_optional_args_t *args, hid_t dxpl_id,
0185 void **req);
0186 H5_DLL herr_t H5VLgroup_close(void *grp, hid_t connector_id, hid_t dxpl_id, void **req);
0187
0188
0189 H5_DLL herr_t H5VLlink_create(H5VL_link_create_args_t *args, void *obj, const H5VL_loc_params_t *loc_params,
0190 hid_t connector_id, hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void **req);
0191 H5_DLL herr_t H5VLlink_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj,
0192 const H5VL_loc_params_t *loc_params2, hid_t connector_id, hid_t lcpl_id,
0193 hid_t lapl_id, hid_t dxpl_id, void **req);
0194 H5_DLL herr_t H5VLlink_move(void *src_obj, const H5VL_loc_params_t *loc_params1, void *dst_obj,
0195 const H5VL_loc_params_t *loc_params2, hid_t connector_id, hid_t lcpl_id,
0196 hid_t lapl_id, hid_t dxpl_id, void **req);
0197 H5_DLL herr_t H5VLlink_get(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0198 H5VL_link_get_args_t *args, hid_t dxpl_id, void **req);
0199 H5_DLL herr_t H5VLlink_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0200 H5VL_link_specific_args_t *args, hid_t dxpl_id, void **req);
0201 H5_DLL herr_t H5VLlink_optional(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0202 H5VL_optional_args_t *args, hid_t dxpl_id, void **req);
0203
0204
0205 H5_DLL void *H5VLobject_open(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0206 H5I_type_t *opened_type, hid_t dxpl_id, void **req);
0207 H5_DLL herr_t H5VLobject_copy(void *src_obj, const H5VL_loc_params_t *loc_params1, const char *src_name,
0208 void *dst_obj, const H5VL_loc_params_t *loc_params2, const char *dst_name,
0209 hid_t connector_id, hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id, void **req);
0210 H5_DLL herr_t H5VLobject_get(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0211 H5VL_object_get_args_t *args, hid_t dxpl_id, void **req);
0212 H5_DLL herr_t H5VLobject_specific(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0213 H5VL_object_specific_args_t *args, hid_t dxpl_id, void **req);
0214 H5_DLL herr_t H5VLobject_optional(void *obj, const H5VL_loc_params_t *loc_params, hid_t connector_id,
0215 H5VL_optional_args_t *args, hid_t dxpl_id, void **req);
0216
0217
0218 H5_DLL herr_t H5VLintrospect_get_conn_cls(void *obj, hid_t connector_id, H5VL_get_conn_lvl_t lvl,
0219 const H5VL_class_t **conn_cls);
0220 H5_DLL herr_t H5VLintrospect_get_cap_flags(const void *info, hid_t connector_id, uint64_t *cap_flags);
0221 H5_DLL herr_t H5VLintrospect_opt_query(void *obj, hid_t connector_id, H5VL_subclass_t subcls, int opt_type,
0222 uint64_t *flags);
0223
0224
0225 H5_DLL herr_t H5VLrequest_wait(void *req, hid_t connector_id, uint64_t timeout,
0226 H5VL_request_status_t *status);
0227 H5_DLL herr_t H5VLrequest_notify(void *req, hid_t connector_id, H5VL_request_notify_t cb, void *ctx);
0228 H5_DLL herr_t H5VLrequest_cancel(void *req, hid_t connector_id, H5VL_request_status_t *status);
0229 H5_DLL herr_t H5VLrequest_specific(void *req, hid_t connector_id, H5VL_request_specific_args_t *args);
0230 H5_DLL herr_t H5VLrequest_optional(void *req, hid_t connector_id, H5VL_optional_args_t *args);
0231 H5_DLL herr_t H5VLrequest_free(void *req, hid_t connector_id);
0232
0233
0234 H5_DLL herr_t H5VLblob_put(void *obj, hid_t connector_id, const void *buf, size_t size, void *blob_id,
0235 void *ctx);
0236 H5_DLL herr_t H5VLblob_get(void *obj, hid_t connector_id, const void *blob_id, void *buf, size_t size,
0237 void *ctx);
0238 H5_DLL herr_t H5VLblob_specific(void *obj, hid_t connector_id, void *blob_id,
0239 H5VL_blob_specific_args_t *args);
0240 H5_DLL herr_t H5VLblob_optional(void *obj, hid_t connector_id, void *blob_id, H5VL_optional_args_t *args);
0241
0242
0243 H5_DLL herr_t H5VLtoken_cmp(void *obj, hid_t connector_id, const H5O_token_t *token1,
0244 const H5O_token_t *token2, int *cmp_value);
0245 H5_DLL herr_t H5VLtoken_to_str(void *obj, H5I_type_t obj_type, hid_t connector_id, const H5O_token_t *token,
0246 char **token_str);
0247 H5_DLL herr_t H5VLtoken_from_str(void *obj, H5I_type_t obj_type, hid_t connector_id, const char *token_str,
0248 H5O_token_t *token);
0249
0250
0251 H5_DLL herr_t H5VLoptional(void *obj, hid_t connector_id, H5VL_optional_args_t *args, hid_t dxpl_id,
0252 void **req);
0253
0254 #ifdef __cplusplus
0255 }
0256 #endif
0257
0258 #endif