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

BSD-3-Clause
fn H5VLattr_close H5VLattr_create H5VLattr_get H5VLattr_open H5VLattr_optional H5VLattr_optional_op H5VLattr_read H5VLattr_specific H5VLattr_write H5VLblob_get H5VLblob_optional H5VLblob_put H5VLblob_specific H5VLclose H5VLcmp_connector_cls H5VLcmp_connector_info H5VLconnector_info_to_str H5VLconnector_str_to_info H5VLcopy_connector_info H5VLdataset_close H5VLdataset_create H5VLdataset_get H5VLdataset_open H5VLdataset_optional H5VLdataset_optional_op H5VLdataset_read H5VLdataset_specific H5VLdataset_write H5VLdatatype_close H5VLdatatype_commit H5VLdatatype_get H5VLdatatype_open H5VLdatatype_optional H5VLdatatype_optional_op H5VLdatatype_specific H5VLfile_close H5VLfile_create H5VLfile_get H5VLfile_open H5VLfile_optional H5VLfile_optional_op H5VLfile_specific H5VLfind_opt_operation H5VLfinish_lib_state H5VLfree_connector_info H5VLfree_lib_state H5VLfree_wrap_ctx H5VLget_cap_flags H5VLget_connector_id H5VLget_connector_id_by_name H5VLget_connector_id_by_value H5VLget_connector_name H5VLget_file_type H5VLget_object H5VLget_value H5VLget_wrap_ctx H5VLgroup_close H5VLgroup_create H5VLgroup_get H5VLgroup_open H5VLgroup_optional H5VLgroup_optional_op H5VLgroup_specific H5VLinitialize H5VLintrospect_get_cap_flags H5VLintrospect_get_conn_cls H5VLintrospect_opt_query H5VLis_connector_registered_by_name H5VLis_connector_registered_by_value H5VLlink_copy H5VLlink_create H5VLlink_get H5VLlink_move H5VLlink_optional H5VLlink_optional_op H5VLlink_specific H5VLnative_addr_to_token H5VLnative_token_to_addr H5VLobject H5VLobject_copy H5VLobject_get H5VLobject_is_native H5VLobject_open H5VLobject_optional H5VLobject_optional_op H5VLobject_specific H5VLpeek_connector_id_by_name H5VLpeek_connector_id_by_value H5VLquery_optional H5VLregister_connector H5VLregister_connector_by_name H5VLregister_connector_by_value H5VLregister_opt_operation H5VLrequest_cancel H5VLrequest_free H5VLrequest_notify H5VLrequest_optional H5VLrequest_optional_op H5VLrequest_specific H5VLrequest_wait H5VLrestore_lib_state H5VLretrieve_lib_state H5VLstart_lib_state H5VLterminate H5VLtoken_cmp H5VLtoken_from_str H5VLtoken_to_str H5VLunregister_connector H5VLunregister_opt_operation H5VLunwrap_object H5VLwrap_object H5VLwrap_register

Types 22

VOL connector value type.

Identifies a VOL connector by its registered value.

enumH5VL_SUBCLASS : int

VOL subclass types.

Identifies the type of VOL operation being performed.

NONE = 0No subclass
INFO = 1Information operations
WRAP = 2Wrap operations
ATTR = 3Attribute operations
DATASET = 4Dataset operations
DATATYPE = 5Datatype operations
FILE = 6File operations
GROUP = 7Group operations
LINK = 8Link operations
OBJECT = 9Object operations
INTROSPECT = 10Introspect operations
REQUEST = 11Request operations
BLOB = 12Blob operations
TOKEN = 13Token operations
aliasH5VL_optional_args_t = void *

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.

Fields
ubyte[16] __data
aliasH5VL_request_notify_t = herr_t function(void * ctx, int status)

Request notify callback type.

Callback function for async request notifications.

aliashaddr_t = ulong

HDF5 address type.

Used to represent addresses within HDF5 files.

Functions 112

fnherr_t H5VLclose(hid_t connector_id)Closes a VOL connector identifier.
fnhid_t H5VLget_connector_id(hid_t obj_id)Retrieves the VOL connector identifier for a given object.
fnhid_t H5VLget_connector_id_by_name(const char * name)Retrieves the VOL connector identifier by name.
fnhid_t H5VLget_connector_id_by_value(H5VL_class_value_t connector_value)Retrieves the VOL connector identifier by value.
fnssize_t H5VLget_connector_name(hid_t id, char * name, size_t size)Retrieves the name of a VOL connector.
fnhtri_t H5VLis_connector_registered_by_name(const char * name)Tests whether a VOL connector with a given name is registered.
fnhtri_t H5VLis_connector_registered_by_value(H5VL_class_value_t connector_value)Tests whether a VOL connector with a given value is registered.
fnherr_t H5VLobject_is_native(hid_t obj_id, hbool_t * is_native)Tests whether an object is a native HDF5 object.
fnherr_t H5VLquery_optional(hid_t obj_id, H5VL_SUBCLASS subcls, int opt_type, ulong * flags)Queries whether an optional operation is supported.
fnhid_t H5VLregister_connector_by_name(const char * connector_name, hid_t vipl_id)Registers a new VOL connector by name.
fnhid_t H5VLregister_connector_by_value(H5VL_class_value_t connector_value, hid_t vipl_id)Registers a new VOL connector by value.
fnherr_t H5VLunregister_connector(hid_t connector_id)Unregisters a VOL connector.
fnherr_t H5VLattr_close(void * attr, hid_t connector_id, void * * req)Closes an attribute through the VOL.
fnvoid * 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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_t H5VLdataset_close(void * dset, hid_t connector_id, void * * req)Closes a dataset through the VOL.
fnvoid * 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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_t H5VLdatatype_close(void * dt, hid_t connector_id, void * * req)Closes a datatype through the VOL.
fnvoid * 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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_t H5VLfile_close(void * file, hid_t connector_id, void * * req)Closes a file through the VOL.
fnvoid * 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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_t H5VLgroup_close(void * grp, hid_t connector_id, void * * req)Closes a group through the VOL.
fnvoid * 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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnvoid * 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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_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.
fnherr_t H5VLrequest_cancel(void * req, hid_t connector_id, int * status)Cancels an async request through the VOL.
fnherr_t H5VLrequest_free(void * req, hid_t connector_id)Frees an async request through the VOL.
fnherr_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.
fnherr_t H5VLrequest_optional(void * req, hid_t connector_id, H5VL_optional_args_t args)Performs an optional operation on a request through the VOL.
fnherr_t H5VLrequest_optional_op(void * req, hid_t connector_id, int opt_type, ...)Performs an optional operation on a request using op type.
fnherr_t H5VLrequest_specific(void * req, hid_t connector_id, H5VL_optional_args_t args)Performs a specific operation on a request through the VOL.
fnherr_t H5VLrequest_wait(void * req, hid_t connector_id, ulong timeout, int * status)Waits for an async request to complete through the VOL.
fnherr_t H5VLintrospect_get_cap_flags(const void * obj, hid_t connector_id, ulong * cap_flags)Gets the capability flags for a VOL connector.
fnherr_t H5VLintrospect_get_conn_cls(void * obj, hid_t connector_id, void * * cls)Gets the connector class for a VOL connector.
fnherr_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.
fnherr_t H5VLcmp_connector_cls(int * cmp, hid_t connector_id1, hid_t connector_id2)Compares two VOL connector classes.
fnherr_t H5VLcmp_connector_info(int * cmp, hid_t connector_id, const void * info1, const void * info2)Compares two VOL connector info structures.
fnherr_t H5VLfind_opt_operation(H5VL_SUBCLASS subcls, const char * name, int * op_val)Finds an optional operation by name.
fnherr_t H5VLfinish_lib_state()Finishes library state restoration.
fnherr_t H5VLfree_lib_state(void * state)Frees saved library state.
fnherr_t H5VLget_cap_flags(hid_t connector_id, ulong * cap_flags)Gets the capability flags for a connector.
fnhid_t H5VLget_file_type(void * file_obj, hid_t connector_id, hid_t fapl_id)Gets the file type for a connector.
fnvoid * H5VLget_object(hid_t obj_id, hid_t connector_id)Gets the underlying object from a VOL object.
fnssize_t H5VLget_value(hid_t connector_id, H5VL_class_value_t * value)Gets the connector value for a connector.
fnherr_t H5VLinitialize(hid_t connector_id, hid_t vipl_id)Initializes a VOL connector.
fnherr_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.
fnherr_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.
fnhid_t H5VLpeek_connector_id_by_name(const char * name)Peeks at connector ID by name without incrementing reference count.
fnhid_t H5VLpeek_connector_id_by_value(H5VL_class_value_t value)Peeks at connector ID by value without incrementing reference count.
fnhid_t H5VLregister_connector(const void * cls, hid_t vipl_id)Registers a new VOL connector.
fnherr_t H5VLregister_opt_operation(H5VL_SUBCLASS subcls, const char * name, int * op_val)Registers an optional operation.
fnherr_t H5VLrestore_lib_state(const void * state)Restores library state.
fnherr_t H5VLretrieve_lib_state(void * * state)Retrieves library state.
fnherr_t H5VLstart_lib_state()Starts library state capture.
fnherr_t H5VLterminate(hid_t connector_id)Terminates a VOL connector.
fnherr_t H5VLunregister_opt_operation(H5VL_SUBCLASS subcls, const char * name)Unregisters an optional operation.
fnherr_t H5VLconnector_info_to_str(const void * info, hid_t connector_id, char * * str)Converts connector info to a string.
fnherr_t H5VLconnector_str_to_info(const char * str, hid_t connector_id, void * * info)Converts a string to connector info.
fnherr_t H5VLcopy_connector_info(hid_t connector_id, void * * dst_info, const void * src_info)Copies connector info.
fnherr_t H5VLfree_connector_info(hid_t connector_id, void * info)Frees connector info.
fnherr_t H5VLfree_wrap_ctx(void * wrap_ctx, hid_t connector_id)Frees a wrap context.
fnherr_t H5VLget_wrap_ctx(void * obj, hid_t connector_id, void * * wrap_ctx)Gets a wrap context.
fnvoid * H5VLunwrap_object(void * obj, hid_t connector_id)Unwraps an object.
fnvoid * H5VLwrap_object(void * obj, int obj_type, hid_t connector_id, void * wrap_ctx)Wraps an object.
fnhid_t H5VLwrap_register(void * obj, int obj_type)Wraps and registers an object.

Variables 2

enumvarH5VL_NATIVE_VALUE = 0

Native VOL connector value.

The value assigned to the native HDF5 VOL connector.

enumvarH5VL_MAX_CONNECTOR_NAME = 256

Maximum length for VOL connector names.