Please, help us to better serve our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5 2.0.0.258fa78
API Reference
Loading...
Searching...
No Matches
H5VLpublic.h File Reference
#include "H5public.h"
#include "H5Ipublic.h"

Macros

#define H5VL_VERSION   3
 Version number of VOL class struct & callbacks.
 
#define H5_VOL_INVALID   (-1)
 
#define H5_VOL_NATIVE   0
 
#define H5_VOL_RESERVED   256
 
#define H5_VOL_MAX   65535
 
#define H5VL_CAP_FLAG_NONE   0x0000000000000000
 
#define H5VL_CAP_FLAG_THREADSAFE   0x0000000000000001
 
#define H5VL_CAP_FLAG_ASYNC   0x0000000000000002
 
#define H5VL_CAP_FLAG_NATIVE_FILES   0x0000000000000004
 
#define H5VL_CAP_FLAG_ATTR_BASIC   0x0000000000000008
 
#define H5VL_CAP_FLAG_ATTR_MORE   0x0000000000000010
 
#define H5VL_CAP_FLAG_DATASET_BASIC   0x0000000000000020
 
#define H5VL_CAP_FLAG_DATASET_MORE   0x0000000000000040
 
#define H5VL_CAP_FLAG_FILE_BASIC   0x0000000000000080
 
#define H5VL_CAP_FLAG_FILE_MORE   0x0000000000000100
 
#define H5VL_CAP_FLAG_GROUP_BASIC   0x0000000000000200
 
#define H5VL_CAP_FLAG_GROUP_MORE   0x0000000000000400
 
#define H5VL_CAP_FLAG_LINK_BASIC   0x0000000000000800
 
#define H5VL_CAP_FLAG_LINK_MORE   0x0000000000001000
 
#define H5VL_CAP_FLAG_MAP_BASIC    0x0000000000002000
 
#define H5VL_CAP_FLAG_MAP_MORE   0x0000000000004000
 
#define H5VL_CAP_FLAG_OBJECT_BASIC   0x0000000000008000
 
#define H5VL_CAP_FLAG_OBJECT_MORE   0x0000000000010000
 
#define H5VL_CAP_FLAG_REF_BASIC   0x0000000000020000
 
#define H5VL_CAP_FLAG_REF_MORE   0x0000000000040000
 
#define H5VL_CAP_FLAG_OBJ_REF   0x0000000000080000
 
#define H5VL_CAP_FLAG_REG_REF   0x0000000000100000
 
#define H5VL_CAP_FLAG_ATTR_REF   0x0000000000200000
 
#define H5VL_CAP_FLAG_STORED_DATATYPES   0x0000000000400000
 
#define H5VL_CAP_FLAG_CREATION_ORDER   0x0000000000800000
 
#define H5VL_CAP_FLAG_ITERATE   0x0000000001000000
 
#define H5VL_CAP_FLAG_STORAGE_SIZE   0x0000000002000000
 
#define H5VL_CAP_FLAG_BY_IDX   0x0000000004000000
 
#define H5VL_CAP_FLAG_GET_PLIST    0x0000000008000000
 
#define H5VL_CAP_FLAG_FLUSH_REFRESH   0x0000000010000000
 
#define H5VL_CAP_FLAG_EXTERNAL_LINKS   0x0000000020000000
 
#define H5VL_CAP_FLAG_HARD_LINKS   0x0000000040000000
 
#define H5VL_CAP_FLAG_SOFT_LINKS   0x0000000080000000
 
#define H5VL_CAP_FLAG_UD_LINKS   0x0000000100000000
 
#define H5VL_CAP_FLAG_TRACK_TIMES   0x0000000200000000
 
#define H5VL_CAP_FLAG_MOUNT   0x0000000400000000
 
#define H5VL_CAP_FLAG_FILTERS   0x0000000800000000
 
#define H5VL_CAP_FLAG_FILL_VALUES   0x0000001000000000
 
#define H5VL_OPT_QUERY_SUPPORTED   0x0001
 
#define H5VL_OPT_QUERY_READ_DATA   0x0002
 
#define H5VL_OPT_QUERY_WRITE_DATA   0x0004
 
#define H5VL_OPT_QUERY_QUERY_METADATA   0x0008
 
#define H5VL_OPT_QUERY_MODIFY_METADATA   0x0010
 
#define H5VL_OPT_QUERY_COLLECTIVE    0x0020
 
#define H5VL_OPT_QUERY_NO_ASYNC   0x0040
 
#define H5VL_OPT_QUERY_MULTI_OBJ   0x0080
 

Typedefs

typedef int H5VL_class_value_t
 VOL connector identifiers.
 

Enumerations

enum  H5VL_subclass_t {
  H5VL_SUBCLS_NONE , H5VL_SUBCLS_INFO , H5VL_SUBCLS_WRAP , H5VL_SUBCLS_ATTR ,
  H5VL_SUBCLS_DATASET , H5VL_SUBCLS_DATATYPE , H5VL_SUBCLS_FILE , H5VL_SUBCLS_GROUP ,
  H5VL_SUBCLS_LINK , H5VL_SUBCLS_OBJECT , H5VL_SUBCLS_REQUEST , H5VL_SUBCLS_BLOB ,
  H5VL_SUBCLS_TOKEN
}
 

Functions

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.
 
htri_t H5VLis_connector_registered_by_name (const char *name)
 Tests whether a VOL class has been registered under a certain name.
 
htri_t H5VLis_connector_registered_by_value (H5VL_class_value_t connector_value)
 Tests whether a VOL class has been registered for a given value.
 
hid_t H5VLget_connector_id (hid_t obj_id)
 Retrieves the VOL connector identifier for a given object identifier.
 
hid_t H5VLget_connector_id_by_name (const char *name)
 Retrieves the identifier for a registered VOL connector name.
 
hid_t H5VLget_connector_id_by_value (H5VL_class_value_t connector_value)
 Retrieves the identifier for a registered VOL connector value.
 
ssize_t H5VLget_connector_name (hid_t id, char *name, size_t size)
 Retrieves a connector name for a VOL.
 
herr_t H5VLclose (hid_t connector_id)
 Closes a VOL connector identifier.
 
herr_t H5VLunregister_connector (hid_t connector_id)
 Removes a VOL connector identifier from the library.
 
herr_t H5VLquery_optional (hid_t obj_id, H5VL_subclass_t subcls, int opt_type, uint64_t *flags)
 Determine if a VOL connector supports a particular optional callback operation.
 
herr_t H5VLobject_is_native (hid_t obj_id, hbool_t *is_native)
 Determines whether an object ID represents a native VOL connector object.
 

Macro Definition Documentation

◆ H5VL_CAP_FLAG_ASYNC

#define H5VL_CAP_FLAG_ASYNC   0x0000000000000002

Connector performs operations asynchronously

◆ H5VL_CAP_FLAG_ATTR_BASIC

#define H5VL_CAP_FLAG_ATTR_BASIC   0x0000000000000008

H5A create/delete/exists/open/close/read/write

◆ H5VL_CAP_FLAG_ATTR_MORE

#define H5VL_CAP_FLAG_ATTR_MORE   0x0000000000000010

All other H5A API calls

◆ H5VL_CAP_FLAG_ATTR_REF

#define H5VL_CAP_FLAG_ATTR_REF   0x0000000000200000

Connector supports attribute references

◆ H5VL_CAP_FLAG_BY_IDX

#define H5VL_CAP_FLAG_BY_IDX   0x0000000004000000

"by index" API calls are supported

◆ H5VL_CAP_FLAG_CREATION_ORDER

#define H5VL_CAP_FLAG_CREATION_ORDER   0x0000000000800000

Connector tracks creation order

◆ H5VL_CAP_FLAG_DATASET_BASIC

#define H5VL_CAP_FLAG_DATASET_BASIC   0x0000000000000020

H5D create/open/close/read/write

◆ H5VL_CAP_FLAG_DATASET_MORE

#define H5VL_CAP_FLAG_DATASET_MORE   0x0000000000000040

All other H5D API calls

◆ H5VL_CAP_FLAG_EXTERNAL_LINKS

#define H5VL_CAP_FLAG_EXTERNAL_LINKS   0x0000000020000000

External links are supported

◆ H5VL_CAP_FLAG_FILE_BASIC

#define H5VL_CAP_FLAG_FILE_BASIC   0x0000000000000080

H5F create/open/close/read/write

◆ H5VL_CAP_FLAG_FILE_MORE

#define H5VL_CAP_FLAG_FILE_MORE   0x0000000000000100

All other H5F API calls

◆ H5VL_CAP_FLAG_FILL_VALUES

#define H5VL_CAP_FLAG_FILL_VALUES   0x0000001000000000

Connector allows fill values to be set

◆ H5VL_CAP_FLAG_FILTERS

#define H5VL_CAP_FLAG_FILTERS   0x0000000800000000

Connector implements a filter pipeline

◆ H5VL_CAP_FLAG_FLUSH_REFRESH

#define H5VL_CAP_FLAG_FLUSH_REFRESH   0x0000000010000000

flush/refresh calls are supported

◆ H5VL_CAP_FLAG_GET_PLIST

#define H5VL_CAP_FLAG_GET_PLIST    0x0000000008000000

Connector can return the property lists used to create an object

◆ H5VL_CAP_FLAG_GROUP_BASIC

#define H5VL_CAP_FLAG_GROUP_BASIC   0x0000000000000200

H5G create/open/close

◆ H5VL_CAP_FLAG_GROUP_MORE

#define H5VL_CAP_FLAG_GROUP_MORE   0x0000000000000400

All other H5G API calls

◆ H5VL_CAP_FLAG_HARD_LINKS

#define H5VL_CAP_FLAG_HARD_LINKS   0x0000000040000000

Hard links are supported

◆ H5VL_CAP_FLAG_ITERATE

#define H5VL_CAP_FLAG_ITERATE   0x0000000001000000

Connector supports iteration functions

◆ H5VL_CAP_FLAG_LINK_BASIC

#define H5VL_CAP_FLAG_LINK_BASIC   0x0000000000000800

H5L exists/delete

◆ H5VL_CAP_FLAG_LINK_MORE

#define H5VL_CAP_FLAG_LINK_MORE   0x0000000000001000

All other H5L API calls

◆ H5VL_CAP_FLAG_MAP_BASIC

#define H5VL_CAP_FLAG_MAP_BASIC    0x0000000000002000

H5M create/open/close/get*type/get_count/put/get/exists/delete

◆ H5VL_CAP_FLAG_MAP_MORE

#define H5VL_CAP_FLAG_MAP_MORE   0x0000000000004000

All other H5M API calls

◆ H5VL_CAP_FLAG_MOUNT

#define H5VL_CAP_FLAG_MOUNT   0x0000000400000000

H5Fmount/unmount supported

◆ H5VL_CAP_FLAG_NATIVE_FILES

#define H5VL_CAP_FLAG_NATIVE_FILES   0x0000000000000004

Connector produces native file format

◆ H5VL_CAP_FLAG_NONE

#define H5VL_CAP_FLAG_NONE   0x0000000000000000

No special connector capabilities

◆ H5VL_CAP_FLAG_OBJ_REF

#define H5VL_CAP_FLAG_OBJ_REF   0x0000000000080000

Connector supports object references

◆ H5VL_CAP_FLAG_OBJECT_BASIC

#define H5VL_CAP_FLAG_OBJECT_BASIC   0x0000000000008000

H5O open/close/exists

◆ H5VL_CAP_FLAG_OBJECT_MORE

#define H5VL_CAP_FLAG_OBJECT_MORE   0x0000000000010000

All other H5O API calls

◆ H5VL_CAP_FLAG_REF_BASIC

#define H5VL_CAP_FLAG_REF_BASIC   0x0000000000020000

H5Rdestroy

◆ H5VL_CAP_FLAG_REF_MORE

#define H5VL_CAP_FLAG_REF_MORE   0x0000000000040000

All other H5R API calls

◆ H5VL_CAP_FLAG_REG_REF

#define H5VL_CAP_FLAG_REG_REF   0x0000000000100000

Connector supports regional references

◆ H5VL_CAP_FLAG_SOFT_LINKS

#define H5VL_CAP_FLAG_SOFT_LINKS   0x0000000080000000

Soft links are supported

◆ H5VL_CAP_FLAG_STORAGE_SIZE

#define H5VL_CAP_FLAG_STORAGE_SIZE   0x0000000002000000

Connector can return a meaningful storage size

◆ H5VL_CAP_FLAG_STORED_DATATYPES

#define H5VL_CAP_FLAG_STORED_DATATYPES   0x0000000000400000

Connector supports stored datatypes

◆ H5VL_CAP_FLAG_THREADSAFE

#define H5VL_CAP_FLAG_THREADSAFE   0x0000000000000001

Connector is threadsafe

◆ H5VL_CAP_FLAG_TRACK_TIMES

#define H5VL_CAP_FLAG_TRACK_TIMES   0x0000000200000000

Connector tracks creation, etc. times

◆ H5VL_CAP_FLAG_UD_LINKS

#define H5VL_CAP_FLAG_UD_LINKS   0x0000000100000000

User-defined links are supported

◆ H5VL_OPT_QUERY_COLLECTIVE

#define H5VL_OPT_QUERY_COLLECTIVE    0x0020

Operation is collective (operations without this flag are assumed to be independent)

◆ H5VL_OPT_QUERY_MODIFY_METADATA

#define H5VL_OPT_QUERY_MODIFY_METADATA   0x0010

Operation modifies metadata for object

◆ H5VL_OPT_QUERY_MULTI_OBJ

#define H5VL_OPT_QUERY_MULTI_OBJ   0x0080

Operation involves multiple objects

◆ H5VL_OPT_QUERY_NO_ASYNC

#define H5VL_OPT_QUERY_NO_ASYNC   0x0040

Operation may NOT be executed asynchronously

◆ H5VL_OPT_QUERY_QUERY_METADATA

#define H5VL_OPT_QUERY_QUERY_METADATA   0x0008

Operation reads metadata for object

◆ H5VL_OPT_QUERY_READ_DATA

#define H5VL_OPT_QUERY_READ_DATA   0x0002

Operation reads data for object

◆ H5VL_OPT_QUERY_WRITE_DATA

#define H5VL_OPT_QUERY_WRITE_DATA   0x0004

Operation writes data for object