ddn.lib.hdf5.h5vl
HDF5 Virtual Object Layer (VOL) Bindings
This module provides D bindings for the HDF5 Virtual Object Layer (VOL) API. The VOL connector API allows custom storage backends for HDF5, enabling advanced use cases such as storing HDF5 data in databases, cloud storage, or other non-traditional backends.
License
Types 22
VOL connector value type.
Identifies a VOL connector by its registered value.
VOL subclass types.
Identifies the type of VOL operation being performed.
VOL optional operation type.
Used to query optional operations supported by a VOL connector.
VOL location parameters structure.
Opaque type used to pass location information through the VOL.
VOL attribute get arguments structure.
Opaque type used for attribute get operations through the VOL.
VOL attribute specific arguments structure.
Opaque type used for attribute specific operations through the VOL.
VOL dataset get arguments structure.
Opaque type used for dataset get operations through the VOL.
VOL dataset specific arguments structure.
Opaque type used for dataset specific operations through the VOL.
VOL datatype get arguments structure.
Opaque type used for datatype get operations through the VOL.
VOL datatype specific arguments structure.
Opaque type used for datatype specific operations through the VOL.
VOL file get arguments structure.
Opaque type used for file get operations through the VOL.
VOL file specific arguments structure.
Opaque type used for file specific operations through the VOL.
VOL group get arguments structure.
Opaque type used for group get operations through the VOL.
VOL group specific arguments structure.
Opaque type used for group specific operations through the VOL.
VOL link create arguments structure.
Opaque type used for link create operations through the VOL.
VOL link get arguments structure.
Opaque type used for link get operations through the VOL.
VOL link specific arguments structure.
Opaque type used for link specific operations through the VOL.
VOL object get arguments structure.
Opaque type used for object get operations through the VOL.
VOL object specific arguments structure.
Opaque type used for object specific operations through the VOL.
Object token type.
Used to uniquely identify objects within a VOL connector.
ubyte[16] __dataRequest notify callback type.
Callback function for async request notifications.
HDF5 address type.
Used to represent addresses within HDF5 files.
Functions 112
hid_t H5VLget_connector_id(hid_t obj_id)Retrieves the VOL connector identifier for a given object.hid_t H5VLget_connector_id_by_name(const char * name)Retrieves the VOL connector identifier by name.hid_t H5VLget_connector_id_by_value(H5VL_class_value_t connector_value)Retrieves the VOL connector identifier by value.ssize_t H5VLget_connector_name(hid_t id, char * name, size_t size)Retrieves the name of a VOL connector.htri_t H5VLis_connector_registered_by_name(const char * name)Tests whether a VOL connector with a given name is registered.htri_t H5VLis_connector_registered_by_value(H5VL_class_value_t connector_value)Tests whether a VOL connector with a given value is registered.herr_t H5VLobject_is_native(hid_t obj_id, hbool_t * is_native)Tests whether an object is a native HDF5 object.herr_t H5VLquery_optional(hid_t obj_id, H5VL_SUBCLASS subcls, int opt_type, ulong * flags)Queries whether an optional operation is supported.hid_t H5VLregister_connector_by_name(const char * connector_name, hid_t vipl_id)Registers a new VOL connector by name.hid_t H5VLregister_connector_by_value(H5VL_class_value_t connector_value, hid_t vipl_id)Registers a new VOL connector by value.herr_t H5VLattr_close(void * attr, hid_t connector_id, void * * req)Closes an attribute through the VOL.void * H5VLattr_create(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
const char * name, hid_t type_id, hid_t space_id, hid_t acpl_id, hid_t aapl_id,
hid_t dxpl_id, void * * req)Creates an attribute through the VOL.herr_t H5VLattr_get(void * attr, hid_t connector_id, H5VL_attr_get_args_t * args,
hid_t dxpl_id, void * * req)Gets attribute information through the VOL.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)Opens an attribute through the VOL.herr_t H5VLattr_optional(void * attr, hid_t connector_id, H5VL_optional_args_t args,
hid_t dxpl_id, void * * req)Performs an optional operation on an attribute through the VOL.herr_t H5VLattr_optional_op(void * attr, hid_t connector_id, int opt_type,
hid_t dxpl_id, void * * req, ...)Performs an optional operation on an attribute using op type.herr_t H5VLattr_read(void * attr, hid_t connector_id, hid_t mem_type_id, void * buf,
hid_t dxpl_id, void * * req)Reads attribute data through the VOL.herr_t H5VLattr_specific(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_attr_specific_args_t * args, hid_t dxpl_id, void * * req)Performs a specific operation on an attribute through the VOL.herr_t H5VLattr_write(void * attr, hid_t connector_id, hid_t mem_type_id, const void * buf,
hid_t dxpl_id, void * * req)Writes attribute data through the VOL.herr_t H5VLdataset_close(void * dset, hid_t connector_id, void * * req)Closes a dataset through the VOL.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)Creates a dataset through the VOL.herr_t H5VLdataset_get(void * dset, hid_t connector_id, H5VL_dataset_get_args_t * args,
hid_t dxpl_id, void * * req)Gets dataset information through the VOL.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)Opens a dataset through the VOL.herr_t H5VLdataset_optional(void * dset, hid_t connector_id, H5VL_optional_args_t args,
hid_t dxpl_id, void * * req)Performs an optional operation on a dataset through the VOL.herr_t H5VLdataset_optional_op(void * dset, hid_t connector_id, int opt_type,
hid_t dxpl_id, void * * req, ...)Performs an optional operation on a dataset using op type.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 dxpl_id, void * buf, void * * req)Reads dataset data through the VOL.herr_t H5VLdataset_specific(void * obj, hid_t connector_id, H5VL_dataset_specific_args_t * args,
hid_t dxpl_id, void * * req)Performs a specific operation on a dataset through the VOL.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 dxpl_id, const void * buf, void * * req)Writes dataset data through the VOL.herr_t H5VLdatatype_close(void * dt, hid_t connector_id, void * * req)Closes a datatype through the VOL.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)Commits a datatype through the VOL.herr_t H5VLdatatype_get(void * dt, hid_t connector_id, H5VL_datatype_get_args_t * args,
hid_t dxpl_id, void * * req)Gets datatype information through the VOL.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)Opens a datatype through the VOL.herr_t H5VLdatatype_optional(void * dt, hid_t connector_id, H5VL_optional_args_t args,
hid_t dxpl_id, void * * req)Performs an optional operation on a datatype through the VOL.herr_t H5VLdatatype_optional_op(void * dt, hid_t connector_id, int opt_type,
hid_t dxpl_id, void * * req, ...)Performs an optional operation on a datatype using op type.herr_t H5VLdatatype_specific(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_datatype_specific_args_t * args, hid_t dxpl_id, void * * req)Performs a specific operation on a datatype through the VOL.herr_t H5VLfile_close(void * file, hid_t connector_id, void * * req)Closes a file through the VOL.void * H5VLfile_create(hid_t connector_id, const char * name, uint flags,
hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id, void * * req)Creates a file through the VOL.herr_t H5VLfile_get(void * file, hid_t connector_id, H5VL_file_get_args_t * args,
hid_t dxpl_id, void * * req)Gets file information through the VOL.void * H5VLfile_open(hid_t connector_id, const char * name, uint flags,
hid_t fapl_id, hid_t dxpl_id, void * * req)Opens a file through the VOL.herr_t H5VLfile_optional(void * file, hid_t connector_id, H5VL_optional_args_t args,
hid_t dxpl_id, void * * req)Performs an optional operation on a file through the VOL.herr_t H5VLfile_optional_op(void * file, hid_t connector_id, int opt_type,
hid_t dxpl_id, void * * req, ...)Performs an optional operation on a file using op type.herr_t H5VLfile_specific(void * file, hid_t connector_id, H5VL_file_specific_args_t * args,
hid_t dxpl_id, void * * req)Performs a specific operation on a file through the VOL.herr_t H5VLgroup_close(void * grp, hid_t connector_id, void * * req)Closes a group through the VOL.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)Creates a group through the VOL.herr_t H5VLgroup_get(void * grp, hid_t connector_id, H5VL_group_get_args_t * args,
hid_t dxpl_id, void * * req)Gets group information through the VOL.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)Opens a group through the VOL.herr_t H5VLgroup_optional(void * grp, hid_t connector_id, H5VL_optional_args_t args,
hid_t dxpl_id, void * * req)Performs an optional operation on a group through the VOL.herr_t H5VLgroup_optional_op(void * grp, hid_t connector_id, int opt_type,
hid_t dxpl_id, void * * req, ...)Performs an optional operation on a group using op type.herr_t H5VLgroup_specific(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_group_specific_args_t * args, hid_t dxpl_id, void * * req)Performs a specific operation on a group through the VOL.herr_t H5VLlink_copy(void * src_obj, const(H5VL_loc_params_t) * src_loc_params,
void * dst_obj, const(H5VL_loc_params_t) * dst_loc_params, hid_t connector_id,
hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void * * req)Copies a link through the VOL.herr_t H5VLlink_create(H5VL_link_create_args_t * args, 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)Creates a link through the VOL.herr_t H5VLlink_get(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_link_get_args_t * args, hid_t dxpl_id, void * * req)Gets link information through the VOL.herr_t H5VLlink_move(void * src_obj, const(H5VL_loc_params_t) * src_loc_params,
void * dst_obj, const(H5VL_loc_params_t) * dst_loc_params, hid_t connector_id,
hid_t lcpl_id, hid_t lapl_id, hid_t dxpl_id, void * * req)Moves a link through the VOL.herr_t H5VLlink_optional(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_optional_args_t args, hid_t dxpl_id, void * * req)Performs an optional operation on a link through the VOL.herr_t H5VLlink_optional_op(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
int opt_type, hid_t dxpl_id, void * * req, ...)Performs an optional operation on a link using op type.herr_t H5VLlink_specific(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_link_specific_args_t * args, hid_t dxpl_id, void * * req)Performs a specific operation on a link through the VOL.void * H5VLobject(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
int * opened_type, hid_t dxpl_id, void * * req)Looks up an object through the VOL given an object and location params.herr_t H5VLobject_copy(void * src_obj, const(H5VL_loc_params_t) * src_loc_params, const char * src_name,
void * dst_obj, const(H5VL_loc_params_t) * dst_loc_params, const char * dst_name,
hid_t connector_id, hid_t ocpypl_id, hid_t lcpl_id, hid_t dxpl_id, void * * req)Copies an object through the VOL.herr_t H5VLobject_get(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_object_get_args_t * args, hid_t dxpl_id, void * * req)Gets object information through the VOL.void * H5VLobject_open(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
int * opened_type, hid_t dxpl_id, void * * req)Opens an object through the VOL.herr_t H5VLobject_optional(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_optional_args_t args, hid_t dxpl_id, void * * req)Performs an optional operation on an object through the VOL.herr_t H5VLobject_optional_op(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
int opt_type, hid_t dxpl_id, void * * req, ...)Performs an optional operation on an object using op type.herr_t H5VLobject_specific(void * obj, const(H5VL_loc_params_t) * loc_params, hid_t connector_id,
H5VL_object_specific_args_t * args, hid_t dxpl_id, void * * req)Performs a specific operation on an object through the VOL.herr_t H5VLblob_get(void * obj, hid_t connector_id, const void * blob_id, void * buf,
size_t size, void * * req)Gets a blob through the VOL.herr_t H5VLblob_optional(void * obj, hid_t connector_id, void * blob_id,
H5VL_optional_args_t args, void * * req)Performs an optional operation on a blob through the VOL.herr_t H5VLblob_put(void * obj, hid_t connector_id, const void * buf, size_t size,
void * blob_id, void * * req)Puts a blob through the VOL.herr_t H5VLblob_specific(void * obj, hid_t connector_id, void * blob_id,
H5VL_optional_args_t args, void * * req)Performs a specific operation on a blob through the VOL.herr_t H5VLtoken_cmp(void * obj, hid_t connector_id, const(H5O_token_t) * token1,
const(H5O_token_t) * token2, int * cmp_value)Compares two object tokens through the VOL.herr_t H5VLtoken_from_str(void * obj, hid_t connector_id, const char * token_str, H5O_token_t * token)Converts a string to an object token through the VOL.herr_t H5VLtoken_to_str(void * obj, hid_t connector_id, const(H5O_token_t) * token, char * * token_str)Converts an object token to a string through the VOL.herr_t H5VLrequest_cancel(void * req, hid_t connector_id, int * status)Cancels an async request through the VOL.herr_t H5VLrequest_notify(void * req, hid_t connector_id, H5VL_request_notify_t cb, void * ctx)Sets up a notification callback for an async request through the VOL.herr_t H5VLrequest_optional(void * req, hid_t connector_id, H5VL_optional_args_t args)Performs an optional operation on a request through the VOL.herr_t H5VLrequest_optional_op(void * req, hid_t connector_id, int opt_type, ...)Performs an optional operation on a request using op type.herr_t H5VLrequest_specific(void * req, hid_t connector_id, H5VL_optional_args_t args)Performs a specific operation on a request through the VOL.herr_t H5VLrequest_wait(void * req, hid_t connector_id, ulong timeout, int * status)Waits for an async request to complete through the VOL.herr_t H5VLintrospect_get_cap_flags(const void * obj, hid_t connector_id, ulong * cap_flags)Gets the capability flags for a VOL connector.herr_t H5VLintrospect_get_conn_cls(void * obj, hid_t connector_id, void * * cls)Gets the connector class for a VOL connector.herr_t H5VLintrospect_opt_query(void * obj, hid_t connector_id, H5VL_SUBCLASS subcls,
int opt_type, ulong * flags)Queries whether an optional operation is supported.herr_t H5VLcmp_connector_cls(int * cmp, hid_t connector_id1, hid_t connector_id2)Compares two VOL connector classes.herr_t H5VLcmp_connector_info(int * cmp, hid_t connector_id, const void * info1, const void * info2)Compares two VOL connector info structures.herr_t H5VLfind_opt_operation(H5VL_SUBCLASS subcls, const char * name, int * op_val)Finds an optional operation by name.herr_t H5VLget_cap_flags(hid_t connector_id, ulong * cap_flags)Gets the capability flags for a connector.hid_t H5VLget_file_type(void * file_obj, hid_t connector_id, hid_t fapl_id)Gets the file type for a connector.void * H5VLget_object(hid_t obj_id, hid_t connector_id)Gets the underlying object from a VOL object.ssize_t H5VLget_value(hid_t connector_id, H5VL_class_value_t * value)Gets the connector value for a connector.herr_t H5VLnative_addr_to_token(hid_t loc_id, haddr_t addr, H5O_token_t * token)Converts a native HDF5 address to an object token.herr_t H5VLnative_token_to_addr(hid_t loc_id, const(H5O_token_t) * token, haddr_t * addr)Converts an object token to a native HDF5 address.hid_t H5VLpeek_connector_id_by_name(const char * name)Peeks at connector ID by name without incrementing reference count.hid_t H5VLpeek_connector_id_by_value(H5VL_class_value_t value)Peeks at connector ID by value without incrementing reference count.herr_t H5VLregister_opt_operation(H5VL_SUBCLASS subcls, const char * name, int * op_val)Registers an optional operation.herr_t H5VLunregister_opt_operation(H5VL_SUBCLASS subcls, const char * name)Unregisters an optional operation.herr_t H5VLconnector_info_to_str(const void * info, hid_t connector_id, char * * str)Converts connector info to a string.herr_t H5VLconnector_str_to_info(const char * str, hid_t connector_id, void * * info)Converts a string to connector info.herr_t H5VLcopy_connector_info(hid_t connector_id, void * * dst_info, const void * src_info)Copies connector info.void * H5VLwrap_object(void * obj, int obj_type, hid_t connector_id, void * wrap_ctx)Wraps an object.Variables 2
H5VL_NATIVE_VALUE = 0Native VOL connector value.
The value assigned to the native HDF5 VOL connector.
H5VL_MAX_CONNECTOR_NAME = 256Maximum length for VOL connector names.