Please, help us to better know about our user community by answering the following short survey: https://www.hdfgroup.org/
HDF5  1.12.1
VOL Developer

Detailed Description

Data Structures

struct  H5VL_class_t
 

Functions

hid_t H5VLregister_connector (const H5VL_class_t *cls, hid_t vipl_id)
 Registers a new VOL connector. More...
 
void * H5VLobject (hid_t obj_id)
 
hid_t H5VLget_file_type (void *file_obj, hid_t connector_id, hid_t dtype_id)
 
hid_t H5VLpeek_connector_id_by_name (const char *name)
 
hid_t H5VLpeek_connector_id_by_value (H5VL_class_value_t value)
 

Function Documentation

◆ H5VLget_file_type()

hid_t H5VLget_file_type ( void *  file_obj,
hid_t  connector_id,
hid_t  dtype_id 
)

◆ H5VLobject()

void* H5VLobject ( hid_t  obj_id)

◆ H5VLpeek_connector_id_by_name()

hid_t H5VLpeek_connector_id_by_name ( const char *  name)

◆ H5VLpeek_connector_id_by_value()

hid_t H5VLpeek_connector_id_by_value ( H5VL_class_value_t  value)

◆ H5VLregister_connector()

hid_t H5VLregister_connector ( const H5VL_class_t cls,
hid_t  vipl_id 
)

Registers a new VOL connector.

Parameters
[in]clsA pointer to the plugin structure to register
[in]vipl_idVOL initialization property list identifier
Returns
Returns a VOL connector identifier if successful; otherwise returns H5I_INVALID_HID.

H5VLregister_connector() registers a new VOL connector as a member of the virtual object layer class. This VOL connector identifier is good until the library is closed or the connector is unregistered.

vipl_id is either H5P_DEFAULT or the identifier of a VOL initialization property list of class H5P_VOL_INITIALIZE created with H5Pcreate(). When created, this property list contains no library properties. If a VOL connector author decides that initialization-specific data are needed, they can be added to the empty list and retrieved by the connector in the VOL connector's initialize callback. Use of the VOL initialization property list is uncommon, as most VOL-specific properties are added to the file access property list via the connector's API calls which set the VOL connector for the file open/create. For more information, see the VOL documentation.

H5VL_class_t is defined in H5VLconnector.h in the source code. It contains class information for each VOL connector:

typedef struct H5VL_class_t {
/* Overall connector fields & callbacks */
unsigned version;
const char * name;
unsigned cap_flags;
herr_t (*initialize)(hid_t vipl_id);
herr_t (*terminate)(void);
/* VOL framework */
/* Data Model */
/* Infrastructure / Services */
/* Catch-all */
herr_t (*optional)(void *obj, int op_type, hid_t dxpl_id, void **req,
va_list arguments);
Since
1.12.0
H5VL_class_value_t
int H5VL_class_value_t
VOL connector identifiers.
Definition: H5VLpublic.h:78
H5VL_blob_class_t
Definition: H5VLconnector.h:427
H5VL_class_t::attr_cls
H5VL_attr_class_t attr_cls
Definition: H5VLconnector.h:460
H5VL_class_t::cap_flags
unsigned cap_flags
Definition: H5VLconnector.h:451
H5VL_token_class_t
Definition: H5VLconnector.h:435
H5VL_class_t::optional
herr_t(* optional)(void *obj, int op_type, hid_t dxpl_id, void **req, va_list arguments)
Definition: H5VLconnector.h:475
H5VL_class_t::request_cls
H5VL_request_class_t request_cls
Definition: H5VLconnector.h:470
H5VL_class_t::datatype_cls
H5VL_datatype_class_t datatype_cls
Definition: H5VLconnector.h:462
H5VL_class_t::initialize
herr_t(* initialize)(hid_t vipl_id)
Definition: H5VLconnector.h:452
H5VL_datatype_class_t
Definition: H5VLconnector.h:323
H5VL_class_t::token_cls
H5VL_token_class_t token_cls
Definition: H5VLconnector.h:472
H5VL_introspect_class_t
Definition: H5VLconnector.h:411
H5VL_group_class_t
Definition: H5VLconnector.h:350
hid_t
int64_t hid_t
Definition: H5Ipublic.h:61
H5VL_dataset_class_t
Definition: H5VLconnector.h:305
H5VL_class_t::terminate
herr_t(* terminate)(void)
Definition: H5VLconnector.h:453
H5VL_wrap_class_t
Definition: H5VLconnector.h:276
H5VL_class_t::blob_cls
H5VL_blob_class_t blob_cls
Definition: H5VLconnector.h:471
H5VL_class_t::wrap_cls
H5VL_wrap_class_t wrap_cls
Definition: H5VLconnector.h:457
H5VL_file_class_t
Definition: H5VLconnector.h:337
H5VL_info_class_t
Definition: H5VLconnector.h:264
H5VL_class_t::file_cls
H5VL_file_class_t file_cls
Definition: H5VLconnector.h:463
H5VL_class_t::info_cls
H5VL_info_class_t info_cls
Definition: H5VLconnector.h:456
H5VL_class_t::version
unsigned version
Definition: H5VLconnector.h:448
H5VL_class_t::object_cls
H5VL_object_class_t object_cls
Definition: H5VLconnector.h:466
H5VL_class_t::introspect_cls
H5VL_introspect_class_t introspect_cls
Definition: H5VLconnector.h:469
H5VL_class_t::link_cls
H5VL_link_class_t link_cls
Definition: H5VLconnector.h:465
H5VL_class_t::dataset_cls
H5VL_dataset_class_t dataset_cls
Definition: H5VLconnector.h:461
herr_t
int herr_t
Definition: H5public.h:202
H5VL_attr_class_t
Definition: H5VLconnector.h:289
H5VL_class_t
Definition: H5VLconnector.h:446
H5VL_class_t::group_cls
H5VL_group_class_t group_cls
Definition: H5VLconnector.h:464
H5VL_request_class_t
Definition: H5VLconnector.h:417
H5VL_class_t::name
const char * name
Definition: H5VLconnector.h:450
H5VL_object_class_t
Definition: H5VLconnector.h:382
H5VL_class_t::value
H5VL_class_value_t value
Definition: H5VLconnector.h:449