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) extern(C) @nogc nothrowRetrieves the VOL connector identifier for a given object.hid_t H5VLget_connector_id_by_name(const char * name) extern(C) @nogc nothrowRetrieves the VOL connector identifier by name.hid_t H5VLget_connector_id_by_value(H5VL_class_value_t connector_value) extern(C) @nogc nothrowRetrieves the VOL connector identifier by value.ssize_t H5VLget_connector_name(hid_t id, char * name, size_t size) extern(C) @nogc nothrowRetrieves the name of a VOL connector.htri_t H5VLis_connector_registered_by_name(const char * name) extern(C) @nogc nothrowTests whether a VOL connector with a given name is registered.htri_t H5VLis_connector_registered_by_value(H5VL_class_value_t connector_value) extern(C) @nogc nothrowTests whether a VOL connector with a given value is registered.herr_t H5VLobject_is_native(hid_t obj_id, hbool_t * is_native) extern(C) @nogc nothrowTests whether an object is a native HDF5 object.herr_t H5VLquery_optional(hid_t obj_id, H5VL_SUBCLASS subcls, int opt_type, ulong * flags) extern(C) @nogc nothrowQueries whether an optional operation is supported.hid_t H5VLregister_connector_by_name(const char * connector_name, hid_t vipl_id) extern(C) @nogc nothrowRegisters a new VOL connector by name.hid_t H5VLregister_connector_by_value(H5VL_class_value_t connector_value, hid_t vipl_id) extern(C) @nogc nothrowRegisters a new VOL connector by value.herr_t H5VLunregister_connector(hid_t connector_id) extern(C) @nogc nothrowUnregisters a VOL connector.herr_t H5VLattr_close(void * attr, hid_t connector_id, void * * req) extern(C) @nogc nothrowCloses 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) extern(C) @nogc nothrowCreates 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowOpens 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowReads 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowWrites attribute data through the VOL.herr_t H5VLdataset_close(void * dset, hid_t connector_id, void * * req) extern(C) @nogc nothrowCloses 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) extern(C) @nogc nothrowCreates 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowOpens 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowReads 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowWrites dataset data through the VOL.herr_t H5VLdatatype_close(void * dt, hid_t connector_id, void * * req) extern(C) @nogc nothrowCloses 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) extern(C) @nogc nothrowCommits 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowOpens 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowPerforms a specific operation on a datatype through the VOL.herr_t H5VLfile_close(void * file, hid_t connector_id, void * * req) extern(C) @nogc nothrowCloses 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) extern(C) @nogc nothrowCreates 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowOpens 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowPerforms a specific operation on a file through the VOL.herr_t H5VLgroup_close(void * grp, hid_t connector_id, void * * req) extern(C) @nogc nothrowCloses 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) extern(C) @nogc nothrowCreates 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowOpens 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowCopies 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) extern(C) @nogc nothrowCreates 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowMoves 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowLooks 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) extern(C) @nogc nothrowCopies 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowOpens 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) extern(C) @nogc nothrowPerforms 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, ...) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowPuts 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) extern(C) @nogc nothrowPerforms 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) extern(C) @nogc nothrowCompares 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) extern(C) @nogc nothrowConverts 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) extern(C) @nogc nothrowConverts an object token to a string through the VOL.herr_t H5VLrequest_cancel(void * req, hid_t connector_id, int * status) extern(C) @nogc nothrowCancels an async request through the VOL.herr_t H5VLrequest_free(void * req, hid_t connector_id) extern(C) @nogc nothrowFrees an async request through the VOL.herr_t H5VLrequest_notify(void * req, hid_t connector_id, H5VL_request_notify_t cb, void * ctx) extern(C) @nogc nothrowSets 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) extern(C) @nogc nothrowPerforms an optional operation on a request through the VOL.herr_t H5VLrequest_optional_op(void * req, hid_t connector_id, int opt_type, ...) extern(C) @nogc nothrowPerforms an optional operation on a request using op type.herr_t H5VLrequest_specific(void * req, hid_t connector_id, H5VL_optional_args_t args) extern(C) @nogc nothrowPerforms a specific operation on a request through the VOL.herr_t H5VLrequest_wait(void * req, hid_t connector_id, ulong timeout, int * status) extern(C) @nogc nothrowWaits 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) extern(C) @nogc nothrowGets the capability flags for a VOL connector.herr_t H5VLintrospect_get_conn_cls(void * obj, hid_t connector_id, void * * cls) extern(C) @nogc nothrowGets 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) extern(C) @nogc nothrowQueries whether an optional operation is supported.herr_t H5VLcmp_connector_cls(int * cmp, hid_t connector_id1, hid_t connector_id2) extern(C) @nogc nothrowCompares two VOL connector classes.herr_t H5VLcmp_connector_info(int * cmp, hid_t connector_id, const void * info1, const void * info2) extern(C) @nogc nothrowCompares two VOL connector info structures.herr_t H5VLfind_opt_operation(H5VL_SUBCLASS subcls, const char * name, int * op_val) extern(C) @nogc nothrowFinds an optional operation by name.herr_t H5VLget_cap_flags(hid_t connector_id, ulong * cap_flags) extern(C) @nogc nothrowGets the capability flags for a connector.hid_t H5VLget_file_type(void * file_obj, hid_t connector_id, hid_t fapl_id) extern(C) @nogc nothrowGets the file type for a connector.void * H5VLget_object(hid_t obj_id, hid_t connector_id) extern(C) @nogc nothrowGets the underlying object from a VOL object.ssize_t H5VLget_value(hid_t connector_id, H5VL_class_value_t * value) extern(C) @nogc nothrowGets the connector value for a connector.herr_t H5VLinitialize(hid_t connector_id, hid_t vipl_id) extern(C) @nogc nothrowInitializes a VOL connector.herr_t H5VLnative_addr_to_token(hid_t loc_id, haddr_t addr, H5O_token_t * token) extern(C) @nogc nothrowConverts 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) extern(C) @nogc nothrowConverts an object token to a native HDF5 address.hid_t H5VLpeek_connector_id_by_name(const char * name) extern(C) @nogc nothrowPeeks at connector ID by name without incrementing reference count.hid_t H5VLpeek_connector_id_by_value(H5VL_class_value_t value) extern(C) @nogc nothrowPeeks at connector ID by value without incrementing reference count.hid_t H5VLregister_connector(const void * cls, hid_t vipl_id) extern(C) @nogc nothrowRegisters a new VOL connector.herr_t H5VLregister_opt_operation(H5VL_SUBCLASS subcls, const char * name, int * op_val) extern(C) @nogc nothrowRegisters an optional operation.herr_t H5VLunregister_opt_operation(H5VL_SUBCLASS subcls, const char * name) extern(C) @nogc nothrowUnregisters an optional operation.herr_t H5VLconnector_info_to_str(const void * info, hid_t connector_id, char * * str) extern(C) @nogc nothrowConverts connector info to a string.herr_t H5VLconnector_str_to_info(const char * str, hid_t connector_id, void * * info) extern(C) @nogc nothrowConverts a string to connector info.herr_t H5VLcopy_connector_info(hid_t connector_id, void * * dst_info, const void * src_info) extern(C) @nogc nothrowCopies connector info.herr_t H5VLfree_connector_info(hid_t connector_id, void * info) extern(C) @nogc nothrowFrees connector info.herr_t H5VLfree_wrap_ctx(void * wrap_ctx, hid_t connector_id) extern(C) @nogc nothrowFrees a wrap context.herr_t H5VLget_wrap_ctx(void * obj, hid_t connector_id, void * * wrap_ctx) extern(C) @nogc nothrowGets a wrap context.void * H5VLunwrap_object(void * obj, hid_t connector_id) extern(C) @nogc nothrowUnwraps an object.void * H5VLwrap_object(void * obj, int obj_type, hid_t connector_id, void * wrap_ctx) extern(C) @nogc nothrowWraps an object.hid_t H5VLwrap_register(void * obj, int obj_type) extern(C) @nogc nothrowWraps and registers 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.