Help us improve by taking our short survey: https://www.hdfgroup.org/website-survey/

| HDF5 Last Updated on 2025-11-11 The HDF5 Field Guide

- Main Page
- Getting started
- User Guide
- Reference Manual
- Cookbook
- Technical Notes
- RFCs
- Specifications
- Glossary
- Full-Text Search
- About

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
H5VLconnector.h File Reference
`#include "H5public.h"`
`#include "H5Apublic.h"`
`#include "H5Dpublic.h"`
`#include "H5ESpublic.h"`
`#include "H5Fpublic.h"`
`#include "H5Ipublic.h"`
`#include "H5Lpublic.h"`
`#include "H5Opublic.h"`
`#include "H5Rpublic.h"`
`#include "H5VLpublic.h"`

## Data Structures
struct | H5VL_attr_class_t
struct | H5VL_attr_delete_by_idx_args_t
struct | H5VL_attr_get_args_t
struct | H5VL_attr_get_info_args_t
struct | H5VL_attr_get_name_args_t
struct | H5VL_attr_iterate_args_t
struct | H5VL_attr_specific_args_t
struct | H5VL_blob_class_t
struct | H5VL_blob_specific_args_t
struct | H5VL_class_t
struct | H5VL_dataset_class_t
struct | H5VL_dataset_get_args_t
struct | H5VL_dataset_specific_args_t
struct | H5VL_datatype_class_t
struct | H5VL_datatype_get_args_t
struct | H5VL_datatype_specific_args_t
struct | H5VL_file_class_t
struct | H5VL_file_cont_info_t
struct | H5VL_file_get_args_t
struct | H5VL_file_get_name_args_t
struct | H5VL_file_get_obj_ids_args_t
struct | H5VL_file_specific_args_t
struct | H5VL_group_class_t
struct | H5VL_group_get_args_t
struct | H5VL_group_get_info_args_t
struct | H5VL_group_spec_mount_args_t
struct | H5VL_group_specific_args_t
struct | H5VL_info_class_t
struct | H5VL_introspect_class_t
struct | H5VL_link_class_t
struct | H5VL_link_create_args_t
struct | H5VL_link_get_args_t
struct | H5VL_link_iterate_args_t
struct | H5VL_link_specific_args_t
struct | H5VL_loc_by_idx_t
struct | H5VL_loc_by_name_t
struct | H5VL_loc_by_token_t
struct | H5VL_loc_params_t
struct | H5VL_object_class_t
struct | H5VL_object_get_args_t
struct | H5VL_object_specific_args_t
struct | H5VL_object_visit_args_t
struct | H5VL_optional_args_t
struct | H5VL_request_class_t
struct | H5VL_request_specific_args_t
struct | H5VL_token_class_t
struct | H5VL_wrap_class_t

## Macros
#define | H5VL_CONTAINER_INFO_VERSION 0x01 /* Container info struct version */
#define | H5VL_MAX_BLOB_ID_SIZE (16) /* Allow for 128-bits blob IDs */
#define | H5VL_RESERVED_NATIVE_OPTIONAL 1024
#define | H5VLattr_optional_op(...)
#define | H5VLattr_optional_op_wrap H5_NO_EXPAND(H5VLattr_optional_op)
#define | H5VLdataset_optional_op(...)
#define | H5VLdataset_optional_op_wrap H5_NO_EXPAND(H5VLdataset_optional_op)
#define | H5VLdatatype_optional_op(...)
#define | H5VLdatatype_optional_op_wrap H5_NO_EXPAND(H5VLdatatype_optional_op)
#define | H5VLfile_optional_op(...)
#define | H5VLfile_optional_op_wrap H5_NO_EXPAND(H5VLfile_optional_op)
#define | H5VLgroup_optional_op(...)
#define | H5VLgroup_optional_op_wrap H5_NO_EXPAND(H5VLgroup_optional_op)
#define | H5VLlink_optional_op(...)
#define | H5VLlink_optional_op_wrap H5_NO_EXPAND(H5VLlink_optional_op)
#define | H5VLobject_optional_op(...)
#define | H5VLobject_optional_op_wrap H5_NO_EXPAND(H5VLobject_optional_op)

## Typedefs
typedef int | H5VL_attr_optional_t
typedef int | H5VL_blob_optional_t
typedef int | H5VL_dataset_optional_t
typedef int | H5VL_datatype_optional_t
typedef int | H5VL_file_optional_t
typedef int | H5VL_group_optional_t
typedef int | H5VL_link_optional_t
typedef int | H5VL_object_optional_t
typedef herr_t(* | H5VL_request_notify_t) (void *ctx, H5VL_request_status_t status)
typedef int | H5VL_request_optional_t

## Enumerations
enum | H5VL_attr_get_t { H5VL_ATTR_GET_ACPL , H5VL_ATTR_GET_INFO , H5VL_ATTR_GET_NAME , H5VL_ATTR_GET_SPACE , H5VL_ATTR_GET_STORAGE_SIZE , H5VL_ATTR_GET_TYPE }
enum | H5VL_attr_specific_t { H5VL_ATTR_DELETE , H5VL_ATTR_DELETE_BY_IDX , H5VL_ATTR_EXISTS , H5VL_ATTR_ITER , H5VL_ATTR_RENAME }
enum | H5VL_blob_specific_t { H5VL_BLOB_DELETE , H5VL_BLOB_ISNULL , H5VL_BLOB_SETNULL }
enum | H5VL_dataset_get_t { H5VL_DATASET_GET_DAPL , H5VL_DATASET_GET_DCPL , H5VL_DATASET_GET_SPACE , H5VL_DATASET_GET_SPACE_STATUS , H5VL_DATASET_GET_STORAGE_SIZE , H5VL_DATASET_GET_TYPE }
enum | H5VL_dataset_specific_t { H5VL_DATASET_SET_EXTENT , H5VL_DATASET_FLUSH , H5VL_DATASET_REFRESH }
enum | H5VL_datatype_get_t { H5VL_DATATYPE_GET_BINARY_SIZE , H5VL_DATATYPE_GET_BINARY , H5VL_DATATYPE_GET_TCPL }
enum | H5VL_datatype_specific_t { H5VL_DATATYPE_FLUSH , H5VL_DATATYPE_REFRESH }
enum | H5VL_file_get_t { H5VL_FILE_GET_CONT_INFO , H5VL_FILE_GET_FAPL , H5VL_FILE_GET_FCPL , H5VL_FILE_GET_FILENO , H5VL_FILE_GET_INTENT , H5VL_FILE_GET_NAME , H5VL_FILE_GET_OBJ_COUNT , H5VL_FILE_GET_OBJ_IDS }
enum | H5VL_file_specific_t { H5VL_FILE_FLUSH , H5VL_FILE_REOPEN , H5VL_FILE_IS_ACCESSIBLE , H5VL_FILE_DELETE , H5VL_FILE_IS_EQUAL }
enum | H5VL_get_conn_lvl_t { H5VL_GET_CONN_LVL_CURR , H5VL_GET_CONN_LVL_TERM }
enum | H5VL_group_get_t { H5VL_GROUP_GET_GCPL , H5VL_GROUP_GET_INFO }
enum | H5VL_group_specific_t { H5VL_GROUP_MOUNT , H5VL_GROUP_UNMOUNT , H5VL_GROUP_FLUSH , H5VL_GROUP_REFRESH }
enum | H5VL_link_create_t { H5VL_LINK_CREATE_HARD , H5VL_LINK_CREATE_SOFT , H5VL_LINK_CREATE_UD }
enum | H5VL_link_get_t { H5VL_LINK_GET_INFO , H5VL_LINK_GET_NAME , H5VL_LINK_GET_VAL }
enum | H5VL_link_specific_t { H5VL_LINK_DELETE , H5VL_LINK_EXISTS , H5VL_LINK_ITER }
enum | H5VL_loc_type_t { H5VL_OBJECT_BY_SELF , H5VL_OBJECT_BY_NAME , H5VL_OBJECT_BY_IDX , H5VL_OBJECT_BY_TOKEN }
enum | H5VL_object_get_t { H5VL_OBJECT_GET_FILE , H5VL_OBJECT_GET_NAME , H5VL_OBJECT_GET_TYPE , H5VL_OBJECT_GET_INFO }
enum | H5VL_object_specific_t { H5VL_OBJECT_CHANGE_REF_COUNT , H5VL_OBJECT_EXISTS , H5VL_OBJECT_LOOKUP , H5VL_OBJECT_VISIT , H5VL_OBJECT_FLUSH , H5VL_OBJECT_REFRESH }
enum | H5VL_request_specific_t { H5VL_REQUEST_GET_ERR_STACK , H5VL_REQUEST_GET_EXEC_TIME }
enum | H5VL_request_status_t { H5VL_REQUEST_STATUS_IN_PROGRESS , H5VL_REQUEST_STATUS_SUCCEED , H5VL_REQUEST_STATUS_FAIL , H5VL_REQUEST_STATUS_CANT_CANCEL , H5VL_REQUEST_STATUS_CANCELED }

## Functions
herr_t | H5VLattr_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t attr_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
herr_t | H5VLdataset_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t dset_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
herr_t | H5VLdatatype_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t type_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
herr_t | H5VLfile_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t file_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
herr_t | H5VLfind_opt_operation (H5VL_subclass_t subcls, const char *op_name, int *op_val)
hid_t | H5VLget_file_type (void *file_obj, hid_t connector_id, hid_t dtype_id)
herr_t | H5VLgroup_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t group_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
herr_t | H5VLlink_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, const char *name, hid_t lapl_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
void * | H5VLobject (hid_t obj_id)
herr_t | H5VLobject_optional_op (const char *app_file, const char *app_func, unsigned app_line, hid_t loc_id, const char *name, hid_t lapl_id, H5VL_optional_args_t *args, hid_t dxpl_id, hid_t es_id)
hid_t | H5VLregister_connector (const H5VL_class_t *cls, hid_t vipl_id)
| Registers a new VOL connector.
herr_t | H5VLregister_opt_operation (H5VL_subclass_t subcls, const char *op_name, int *op_val)
herr_t | H5VLrequest_optional_op (void *req, hid_t connector_id, H5VL_optional_args_t *args)
herr_t | H5VLunregister_opt_operation (H5VL_subclass_t subcls, const char *op_name)

## Macro Definition Documentation

## ◆ H5VL_CONTAINER_INFO_VERSION

#define H5VL_CONTAINER_INFO_VERSION 0x01 /* Container info struct version */

## ◆ H5VL_MAX_BLOB_ID_SIZE

#define H5VL_MAX_BLOB_ID_SIZE (16) /* Allow for 128-bits blob IDs */

## ◆ H5VL_RESERVED_NATIVE_OPTIONAL

#define H5VL_RESERVED_NATIVE_OPTIONAL 1024

The number of optional operations reserved for the native VOL connector

Since
  1.14.0

## ◆ H5VLattr_optional_op

#define H5VLattr_optional_op | ( |  | ... | ) |

Value:
H5VLattr_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLattr_optional_op
#define H5VLattr_optional_op(...)
Definition H5VLconnector.h:1136

## ◆ H5VLattr_optional_op_wrap

#define H5VLattr_optional_op_wrap H5_NO_EXPAND(H5VLattr_optional_op)

## ◆ H5VLdataset_optional_op

#define H5VLdataset_optional_op | ( |  | ... | ) |

Value:
H5VLdataset_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLdataset_optional_op
#define H5VLdataset_optional_op(...)
Definition H5VLconnector.h:1137

## ◆ H5VLdataset_optional_op_wrap

#define H5VLdataset_optional_op_wrap H5_NO_EXPAND(H5VLdataset_optional_op)

## ◆ H5VLdatatype_optional_op

#define H5VLdatatype_optional_op | ( |  | ... | ) |

Value:
H5VLdatatype_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLdatatype_optional_op
#define H5VLdatatype_optional_op(...)
Definition H5VLconnector.h:1138

## ◆ H5VLdatatype_optional_op_wrap

#define H5VLdatatype_optional_op_wrap H5_NO_EXPAND(H5VLdatatype_optional_op)

## ◆ H5VLfile_optional_op

#define H5VLfile_optional_op | ( |  | ... | ) |

Value:
H5VLfile_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLfile_optional_op
#define H5VLfile_optional_op(...)
Definition H5VLconnector.h:1139

## ◆ H5VLfile_optional_op_wrap

#define H5VLfile_optional_op_wrap H5_NO_EXPAND(H5VLfile_optional_op)

## ◆ H5VLgroup_optional_op

#define H5VLgroup_optional_op | ( |  | ... | ) |

Value:
H5VLgroup_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLgroup_optional_op
#define H5VLgroup_optional_op(...)
Definition H5VLconnector.h:1140

## ◆ H5VLgroup_optional_op_wrap

#define H5VLgroup_optional_op_wrap H5_NO_EXPAND(H5VLgroup_optional_op)

## ◆ H5VLlink_optional_op

#define H5VLlink_optional_op | ( |  | ... | ) |

Value:
H5VLlink_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLlink_optional_op
#define H5VLlink_optional_op(...)
Definition H5VLconnector.h:1141

## ◆ H5VLlink_optional_op_wrap

#define H5VLlink_optional_op_wrap H5_NO_EXPAND(H5VLlink_optional_op)

## ◆ H5VLobject_optional_op

#define H5VLobject_optional_op | ( |  | ... | ) |

Value:
H5VLobject_optional_op(__FILE__, __func__, __LINE__, __VA_ARGS__)
H5VLobject_optional_op
#define H5VLobject_optional_op(...)
Definition H5VLconnector.h:1142

## ◆ H5VLobject_optional_op_wrap

#define H5VLobject_optional_op_wrap H5_NO_EXPAND(H5VLobject_optional_op)

## Typedef Documentation

## ◆ H5VL_attr_optional_t

typedef int H5VL_attr_optional_t

## ◆ H5VL_blob_optional_t

typedef int H5VL_blob_optional_t

## ◆ H5VL_dataset_optional_t

typedef int H5VL_dataset_optional_t

## ◆ H5VL_datatype_optional_t

typedef int H5VL_datatype_optional_t

## ◆ H5VL_file_optional_t

typedef int H5VL_file_optional_t

## ◆ H5VL_group_optional_t

typedef int H5VL_group_optional_t

## ◆ H5VL_link_optional_t

typedef int H5VL_link_optional_t

## ◆ H5VL_object_optional_t

typedef int H5VL_object_optional_t

## ◆ H5VL_request_notify_t

typedef herr_t(* H5VL_request_notify_t) (void *ctx, H5VL_request_status_t status)

## ◆ H5VL_request_optional_t

typedef int H5VL_request_optional_t

## Enumeration Type Documentation

## ◆ H5VL_attr_get_t

enum H5VL_attr_get_t

Enumerator
H5VL_ATTR_GET_ACPL |
H5VL_ATTR_GET_INFO |
H5VL_ATTR_GET_NAME |
H5VL_ATTR_GET_SPACE |
H5VL_ATTR_GET_STORAGE_SIZE |
H5VL_ATTR_GET_TYPE |

## ◆ H5VL_attr_specific_t

enum H5VL_attr_specific_t

Enumerator
H5VL_ATTR_DELETE |
H5VL_ATTR_DELETE_BY_IDX |
H5VL_ATTR_EXISTS |
H5VL_ATTR_ITER |
H5VL_ATTR_RENAME |

## ◆ H5VL_blob_specific_t

enum H5VL_blob_specific_t

Enumerator
H5VL_BLOB_DELETE |
H5VL_BLOB_ISNULL |
H5VL_BLOB_SETNULL |

## ◆ H5VL_dataset_get_t

enum H5VL_dataset_get_t

Enumerator
H5VL_DATASET_GET_DAPL |
H5VL_DATASET_GET_DCPL |
H5VL_DATASET_GET_SPACE |
H5VL_DATASET_GET_SPACE_STATUS |
H5VL_DATASET_GET_STORAGE_SIZE |
H5VL_DATASET_GET_TYPE |

## ◆ H5VL_dataset_specific_t

enum H5VL_dataset_specific_t

Enumerator
H5VL_DATASET_SET_EXTENT |
H5VL_DATASET_FLUSH |
H5VL_DATASET_REFRESH |

## ◆ H5VL_datatype_get_t

enum H5VL_datatype_get_t

Enumerator
H5VL_DATATYPE_GET_BINARY_SIZE |
H5VL_DATATYPE_GET_BINARY |
H5VL_DATATYPE_GET_TCPL |

## ◆ H5VL_datatype_specific_t

enum H5VL_datatype_specific_t

Enumerator
H5VL_DATATYPE_FLUSH |
H5VL_DATATYPE_REFRESH |

## ◆ H5VL_file_get_t

enum H5VL_file_get_t

Enumerator
H5VL_FILE_GET_CONT_INFO |
H5VL_FILE_GET_FAPL |
H5VL_FILE_GET_FCPL |
H5VL_FILE_GET_FILENO |
H5VL_FILE_GET_INTENT |
H5VL_FILE_GET_NAME |
H5VL_FILE_GET_OBJ_COUNT |
H5VL_FILE_GET_OBJ_IDS |

## ◆ H5VL_file_specific_t

enum H5VL_file_specific_t

Enumerator
H5VL_FILE_FLUSH |
H5VL_FILE_REOPEN |
H5VL_FILE_IS_ACCESSIBLE |
H5VL_FILE_DELETE |
H5VL_FILE_IS_EQUAL |

## ◆ H5VL_get_conn_lvl_t

enum H5VL_get_conn_lvl_t

Enumerator
H5VL_GET_CONN_LVL_CURR |
H5VL_GET_CONN_LVL_TERM |

## ◆ H5VL_group_get_t

enum H5VL_group_get_t

Enumerator
H5VL_GROUP_GET_GCPL |
H5VL_GROUP_GET_INFO |

## ◆ H5VL_group_specific_t

enum H5VL_group_specific_t

Enumerator
H5VL_GROUP_MOUNT |
H5VL_GROUP_UNMOUNT |
H5VL_GROUP_FLUSH |
H5VL_GROUP_REFRESH |

## ◆ H5VL_link_create_t

enum H5VL_link_create_t

Enumerator
H5VL_LINK_CREATE_HARD |
H5VL_LINK_CREATE_SOFT |
H5VL_LINK_CREATE_UD |

## ◆ H5VL_link_get_t

enum H5VL_link_get_t

Enumerator
H5VL_LINK_GET_INFO |
H5VL_LINK_GET_NAME |
H5VL_LINK_GET_VAL |

## ◆ H5VL_link_specific_t

enum H5VL_link_specific_t

Enumerator
H5VL_LINK_DELETE |
H5VL_LINK_EXISTS |
H5VL_LINK_ITER |

## ◆ H5VL_loc_type_t

enum H5VL_loc_type_t

Enumerator
H5VL_OBJECT_BY_SELF |
H5VL_OBJECT_BY_NAME |
H5VL_OBJECT_BY_IDX |
H5VL_OBJECT_BY_TOKEN |

## ◆ H5VL_object_get_t

enum H5VL_object_get_t

Enumerator
H5VL_OBJECT_GET_FILE |
H5VL_OBJECT_GET_NAME |
H5VL_OBJECT_GET_TYPE |
H5VL_OBJECT_GET_INFO |

## ◆ H5VL_object_specific_t

enum H5VL_object_specific_t

Enumerator
H5VL_OBJECT_CHANGE_REF_COUNT |
H5VL_OBJECT_EXISTS |
H5VL_OBJECT_LOOKUP |
H5VL_OBJECT_VISIT |
H5VL_OBJECT_FLUSH |
H5VL_OBJECT_REFRESH |

## ◆ H5VL_request_specific_t

enum H5VL_request_specific_t

Enumerator
H5VL_REQUEST_GET_ERR_STACK |
H5VL_REQUEST_GET_EXEC_TIME |

## ◆ H5VL_request_status_t

enum H5VL_request_status_t

Enumerator
H5VL_REQUEST_STATUS_IN_PROGRESS |
H5VL_REQUEST_STATUS_SUCCEED |
H5VL_REQUEST_STATUS_FAIL |
H5VL_REQUEST_STATUS_CANT_CANCEL |
H5VL_REQUEST_STATUS_CANCELED |

## Function Documentation

## ◆ H5VLattr_optional_op()

herr_t H5VLattr_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | attr_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLdataset_optional_op()

herr_t H5VLdataset_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | dset_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLdatatype_optional_op()

herr_t H5VLdatatype_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | type_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLfile_optional_op()

herr_t H5VLfile_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | file_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLfind_opt_operation()

herr_t H5VLfind_opt_operation | ( | H5VL_subclass_t | subcls,
|  | const char * | op_name,
|  | int * | op_val )

## ◆ H5VLgroup_optional_op()

herr_t H5VLgroup_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | group_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLlink_optional_op()

herr_t H5VLlink_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | loc_id,
|  | const char * | name,
|  | hid_t | lapl_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLobject_optional_op()

herr_t H5VLobject_optional_op | ( | const char * | app_file,
|  | const char * | app_func,
|  | unsigned | app_line,
|  | hid_t | loc_id,
|  | const char * | name,
|  | hid_t | lapl_id,
|  | H5VL_optional_args_t * | args,
|  | hid_t | dxpl_id,
|  | hid_t | es_id )

## ◆ H5VLregister_opt_operation()

herr_t H5VLregister_opt_operation | ( | H5VL_subclass_t | subcls,
|  | const char * | op_name,
|  | int * | op_val )

## ◆ H5VLrequest_optional_op()

herr_t H5VLrequest_optional_op | ( | void * | req,
|  | hid_t | connector_id,
|  | H5VL_optional_args_t * | args )

## ◆ H5VLunregister_opt_operation()

herr_t H5VLunregister_opt_operation | ( | H5VL_subclass_t | subcls,
|  | const char * | op_name )