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

| HDF5 Last Updated on 2026-03-23 The HDF5 Field Guide

Loading...
Searching...
No Matches
Fortran VOL (H5VL) Interface

## Detailed Description

See also
  VOL connector (H5VL), C-API
  HDF5 Virtual Object Layer (VOL), User Guide

## Modules
module | h5vl
| This module contains Fortran interfaces for H5VL (VOL) functions.

## Functions/Subroutines
subroutine | h5vlclose_f (vol_id, hdferr)
| Closes a VOL connector ID.
subroutine | h5vlcmp_connector_cls_f (are_same, conn_id1, conn_id2, hdferr)
| Determines whether two connector identifiers refer to the same connector.
subroutine | h5vlget_connector_id_by_name_f (name, vol_id, hdferr)
| Retrieves the ID for a registered VOL connector.
subroutine | h5vlget_connector_id_by_value_f (value, vol_id, hdferr)
| Retrieves the ID for a registered VOL connector.
subroutine | h5vlget_connector_id_f (obj_id, vol_id, hdferr)
| Retrieves the ID for a registered VOL connector.
subroutine | h5vlget_connector_name_f (obj_id, name, hdferr, name_len)
| Retrieves a connector name for a VOL.
subroutine | h5vlis_connector_registered_by_name_f (name, registered, hdferr)
| Determines whether a VOL class has been registered or not ccording to a specified connector name.
subroutine | h5vlis_connector_registered_by_value_f (value, registered, hdferr)
| Determines whether a VOL class has been registered or not according to a specified connector value (ID).
subroutine | h5vlnative_addr_to_token_f (loc_id, addr, token, hdferr)
| Retrieves the token representation from an address for a location identifier.
subroutine | h5vlnative_token_to_addr_f (loc_id, token, addr, hdferr)
| Retrieves the object address from a token representation for a location identifier.
subroutine | h5vlregister_connector_by_name_f (name, vol_id, hdferr, vipl_id)
| Registers a new VOL connector as a member of the virtual object layer class by name.
subroutine | h5vlregister_connector_by_value_f (connector_value, vol_id, hdferr, vipl_id)
| Registers a new VOL connector by value.
subroutine | h5vlunregister_connector_f (plugin_id, hdferr)
| Removes a VOL connector ID from the library.

## Variables
integer | h5_vol_invalid_f
| H5_VOL_INVALID.
integer | h5_vol_native_f
| H5_VOL_NATIVE.
integer(c_int64_t) | h5vl_cap_flag_async_f
| H5VL_CAP_FLAG_ASYNC.
integer(c_int64_t) | h5vl_cap_flag_attr_basic_f
| H5VL_CAP_FLAG_ATTR_BASIC.
integer(c_int64_t) | h5vl_cap_flag_attr_more_f
| H5VL_CAP_FLAG_ATTR_MORE.
integer(c_int64_t) | h5vl_cap_flag_attr_ref_f
| H5VL_CAP_FLAG_ATTR_REF.
integer(c_int64_t) | h5vl_cap_flag_by_idx_f
| H5VL_CAP_FLAG_BY_IDX.
integer(c_int64_t) | h5vl_cap_flag_creation_order_f
| H5VL_CAP_FLAG_CREATION_ORDER.
integer(c_int64_t) | h5vl_cap_flag_dataset_basic_f
| H5VL_CAP_FLAG_DATASET_BASIC.
integer(c_int64_t) | h5vl_cap_flag_dataset_more_f
| H5VL_CAP_FLAG_DATASET_MORE.
integer(c_int64_t) | h5vl_cap_flag_external_links_f
| H5VL_CAP_FLAG_EXTERNAL_LINKS.
integer(c_int64_t) | h5vl_cap_flag_file_basic_f
| H5VL_CAP_FLAG_FILE_BASIC.
integer(c_int64_t) | h5vl_cap_flag_file_more_f
| H5VL_CAP_FLAG_FILE_MORE.
integer(c_int64_t) | h5vl_cap_flag_fill_values_f
| H5VL_CAP_FLAG_FILL_VALUES.
integer(c_int64_t) | h5vl_cap_flag_filters_f
| H5VL_CAP_FLAG_FILTERS.
integer(c_int64_t) | h5vl_cap_flag_flush_refresh_f
| H5VL_CAP_FLAG_FLUSH_REFRESH.
integer(c_int64_t) | h5vl_cap_flag_get_plist_f
| H5VL_CAP_FLAG_GET_PLIST.
integer(c_int64_t) | h5vl_cap_flag_group_basic_f
| H5VL_CAP_FLAG_GROUP_BASIC.
integer(c_int64_t) | h5vl_cap_flag_group_more_f
| H5VL_CAP_FLAG_GROUP_MORE.
integer(c_int64_t) | h5vl_cap_flag_hard_links_f
| H5VL_CAP_FLAG_HARD_LINKS.
integer(c_int64_t) | h5vl_cap_flag_iterate_f
| H5VL_CAP_FLAG_ITERATE.
integer(c_int64_t) | h5vl_cap_flag_link_basic_f
| H5VL_CAP_FLAG_LINK_BASIC.
integer(c_int64_t) | h5vl_cap_flag_link_more_f
| H5VL_CAP_FLAG_LINK_MORE.
integer(c_int64_t) | h5vl_cap_flag_map_basic_f
| H5VL_CAP_FLAG_MAP_BASIC.
integer(c_int64_t) | h5vl_cap_flag_map_more_f
| H5VL_CAP_FLAG_MAP_MORE.
integer(c_int64_t) | h5vl_cap_flag_mount_f
| H5VL_CAP_FLAG_MOUNT.
integer(c_int64_t) | h5vl_cap_flag_native_files_f
| H5VL_CAP_FLAG_NATIVE_FILES.
integer(c_int64_t) | h5vl_cap_flag_none_f
| H5VL_CAP_FLAG_NONE.
integer(c_int64_t) | h5vl_cap_flag_obj_ref_f
| H5VL_CAP_FLAG_OBJ_REF.
integer(c_int64_t) | h5vl_cap_flag_object_basic_f
| H5VL_CAP_FLAG_OBJECT_BASIC.
integer(c_int64_t) | h5vl_cap_flag_object_more_f
| H5VL_CAP_FLAG_OBJECT_MORE.
integer(c_int64_t) | h5vl_cap_flag_ref_basic_f
| H5VL_CAP_FLAG_REF_BASIC.
integer(c_int64_t) | h5vl_cap_flag_ref_more_f
| H5VL_CAP_FLAG_REF_MORE.
integer(c_int64_t) | h5vl_cap_flag_reg_ref_f
| H5VL_CAP_FLAG_REG_REF.
integer(c_int64_t) | h5vl_cap_flag_soft_links_f
| H5VL_CAP_FLAG_SOFT_LINKS.
integer(c_int64_t) | h5vl_cap_flag_storage_size_f
| H5VL_CAP_FLAG_STORAGE_SIZE.
integer(c_int64_t) | h5vl_cap_flag_stored_datatypes_f
| H5VL_CAP_FLAG_STORED_DATATYPES.
integer(c_int64_t) | h5vl_cap_flag_threadsafe_f
| H5VL_CAP_FLAG_THREADSAFE.
integer(c_int64_t) | h5vl_cap_flag_track_times_f
| H5VL_CAP_FLAG_TRACK_TIMES.
integer(c_int64_t) | h5vl_cap_flag_ud_links_f
| H5VL_CAP_FLAG_UD_LINKS.
integer(c_int64_t) | h5vl_opt_query_collective_f
| H5VL_OPT_QUERY_COLLECTIVE.
integer(c_int64_t) | h5vl_opt_query_modify_metadata_f
| H5VL_OPT_QUERY_MODIFY_METADATA.
integer(c_int64_t) | h5vl_opt_query_multi_obj_f
| H5VL_OPT_QUERY_MULTI_OBJ.
integer(c_int64_t) | h5vl_opt_query_no_async_f
| H5VL_OPT_QUERY_NO_ASYNC.
integer(c_int64_t) | h5vl_opt_query_query_metadata_f
| H5VL_OPT_QUERY_QUERY_METADATA.
integer(c_int64_t) | h5vl_opt_query_read_data_f
| H5VL_OPT_QUERY_READ_DATA.
integer(c_int64_t) | h5vl_opt_query_supported_f
| H5VL_OPT_QUERY_SUPPORTED.
integer(c_int64_t) | h5vl_opt_query_write_data_f
| H5VL_OPT_QUERY_WRITE_DATA.
integer | h5vl_version_f
| H5VL_VERSION.

## Function/Subroutine Documentation

## ◆ h5vlclose_f()

subroutine h5vlclose_f | ( | integer(hid_t), intent(in) | vol_id,
|  | integer, intent(out) | hdferr )

Closes a VOL connector ID.

Parameters

  vol_id | A valid identifier of the connectory to unregister
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLclose()

## ◆ h5vlcmp_connector_cls_f()

subroutine h5vlcmp_connector_cls_f | ( | logical, intent(out) | are_same,
|  | integer(hid_t), intent(in) | conn_id1,
|  | integer(hid_t), intent(in) | conn_id2,
|  | integer, intent(out) | hdferr )

Determines whether two connector identifiers refer to the same connector.

Parameters

  conn_id1 | A valid identifier of the first connector to check
  conn_id2 | A valid identifier of the second connector to check
  are_same | Whether connector IDs refer to the same connector
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLcmp_connector_cls()

## ◆ h5vlget_connector_id_by_name_f()

subroutine h5vlget_connector_id_by_name_f | ( | character(len=*), intent(in) | name,
|  | integer(hid_t), intent(out) | vol_id,
|  | integer, intent(out) | hdferr )

Retrieves the ID for a registered VOL connector.

Parameters

  name | Connector name
  vol_id | Connector id.
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLget_connector_id_by_name()

## ◆ h5vlget_connector_id_by_value_f()

subroutine h5vlget_connector_id_by_value_f | ( | integer, intent(in) | value,
|  | integer(hid_t), intent(out) | vol_id,
|  | integer, intent(out) | hdferr )

Retrieves the ID for a registered VOL connector.

Parameters

  value | Connector value
  vol_id | Connector id
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLget_connector_id_by_value()

## ◆ h5vlget_connector_id_f()

subroutine h5vlget_connector_id_f | ( | integer(hid_t), intent(in) | obj_id,
|  | integer(hid_t), intent(out) | vol_id,
|  | integer, intent(out) | hdferr )

Retrieves the ID for a registered VOL connector.

Parameters

  obj_id | Object id
  vol_id | Connector id.
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLget_connector_id()

## ◆ h5vlget_connector_name_f()

subroutine h5vlget_connector_name_f | ( | integer(hid_t), intent(in) | obj_id,
|  | character(len=*), intent(out) | name,
|  | integer, intent(out) | hdferr,
|  | integer(size_t), optional | name_len )

Retrieves a connector name for a VOL.

Parameters

  obj_id | Object identifier or file identifier
  name | Connector name
  hdferr | Returns 0 if successful and -1 if it fails.
  name_len | Maximum length of the name to retrieve

See C API: H5VLget_connector_name()

## ◆ h5vlis_connector_registered_by_name_f()

subroutine h5vlis_connector_registered_by_name_f | ( | character(len=*), intent(in) | name,
|  | logical, intent(out) | registered,
|  | integer, intent(out) | hdferr )

Determines whether a VOL class has been registered or not ccording to a specified connector name.

Parameters

  name | Connector name
  registered | State of VOL class registration
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLis_connector_registered_by_name()

## ◆ h5vlis_connector_registered_by_value_f()

subroutine h5vlis_connector_registered_by_value_f | ( | integer, intent(in) | value,
|  | logical, intent(out) | registered,
|  | integer, intent(out) | hdferr )

Determines whether a VOL class has been registered or not according to a specified connector value (ID).

Parameters

  value | Connector value
  registered | State of VOL class registration
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLis_connector_registered_by_value()

## ◆ h5vlnative_addr_to_token_f()

subroutine h5vlnative_addr_to_token_f | ( | integer(hid_t), intent(in) | loc_id,
|  | integer(haddr_t), intent(in) | addr,
|  | type(h5o_token_t_f), intent(out) | token,
|  | integer, intent(out) | hdferr )

Retrieves the token representation from an address for a location identifier.

Parameters

  loc_id | Specifies a location identifier
  addr | Address for object in the file
  token | Token representing the object in the file
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLnative_addr_to_token()

## ◆ h5vlnative_token_to_addr_f()

subroutine h5vlnative_token_to_addr_f | ( | integer(hid_t), intent(in) | loc_id,
|  | type(h5o_token_t_f), intent(in) | token,
|  | integer(haddr_t), intent(out) | addr,
|  | integer, intent(out) | hdferr )

Retrieves the object address from a token representation for a location identifier.

Parameters

  loc_id | Specifies a location identifier
  token | Token representing the object in the file
  addr | Address for object in the file
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLnative_token_to_addr()

## ◆ h5vlregister_connector_by_name_f()

subroutine h5vlregister_connector_by_name_f | ( | character(len=*), intent(in) | name,
|  | integer(hid_t), intent(out) | vol_id,
|  | integer, intent(out) | hdferr,
|  | integer(hid_t), intent(in), optional | vipl_id )

Registers a new VOL connector as a member of the virtual object layer class by name.

Parameters

  name | Connector name
  vol_id | VOL connector identifier if successful; otherwise returns H5I_INVALID_HID_F
  hdferr | Returns 0 if successful and -1 if it fails.
  vipl_id | VOL initialization property list identifier

See C API: H5VLregister_connector_by_name()

## ◆ h5vlregister_connector_by_value_f()

subroutine h5vlregister_connector_by_value_f | ( | integer, intent(in) | connector_value,
|  | integer(hid_t), intent(out) | vol_id,
|  | integer, intent(out) | hdferr,
|  | integer(hid_t), intent(in), optional | vipl_id )

Registers a new VOL connector by value.

Parameters

  connector_value | Connector value
  vol_id | VOL connector identifier if successful; otherwise returns H5I_INVALID_HID_F
  hdferr | Returns 0 if successful and -1 if it fails.
  vipl_id | VOL initialization property list identifier

See C API: H5VLregister_connector_by_value()

## ◆ h5vlunregister_connector_f()

subroutine h5vlunregister_connector_f | ( | integer(hid_t), intent(in) | plugin_id,
|  | integer, intent(out) | hdferr )

Removes a VOL connector ID from the library.

Parameters

  plugin_id | A valid identifier of the connector to unregister
  hdferr | Returns 0 if successful and -1 if it fails.

See C API: H5VLunregister_connector()

## Variable Documentation

## ◆ h5_vol_invalid_f

integer h5_vol_invalid_f

H5_VOL_INVALID.

## ◆ h5_vol_native_f

integer h5_vol_native_f

H5_VOL_NATIVE.

## ◆ h5vl_cap_flag_async_f

integer(c_int64_t) h5vl_cap_flag_async_f

H5VL_CAP_FLAG_ASYNC.

## ◆ h5vl_cap_flag_attr_basic_f

integer(c_int64_t) h5vl_cap_flag_attr_basic_f

H5VL_CAP_FLAG_ATTR_BASIC.

## ◆ h5vl_cap_flag_attr_more_f

integer(c_int64_t) h5vl_cap_flag_attr_more_f

H5VL_CAP_FLAG_ATTR_MORE.

## ◆ h5vl_cap_flag_attr_ref_f

integer(c_int64_t) h5vl_cap_flag_attr_ref_f

H5VL_CAP_FLAG_ATTR_REF.

## ◆ h5vl_cap_flag_by_idx_f

integer(c_int64_t) h5vl_cap_flag_by_idx_f

H5VL_CAP_FLAG_BY_IDX.

## ◆ h5vl_cap_flag_creation_order_f

integer(c_int64_t) h5vl_cap_flag_creation_order_f

H5VL_CAP_FLAG_CREATION_ORDER.

## ◆ h5vl_cap_flag_dataset_basic_f

integer(c_int64_t) h5vl_cap_flag_dataset_basic_f

H5VL_CAP_FLAG_DATASET_BASIC.

## ◆ h5vl_cap_flag_dataset_more_f

integer(c_int64_t) h5vl_cap_flag_dataset_more_f

H5VL_CAP_FLAG_DATASET_MORE.

## ◆ h5vl_cap_flag_external_links_f

integer(c_int64_t) h5vl_cap_flag_external_links_f

H5VL_CAP_FLAG_EXTERNAL_LINKS.

## ◆ h5vl_cap_flag_file_basic_f

integer(c_int64_t) h5vl_cap_flag_file_basic_f

H5VL_CAP_FLAG_FILE_BASIC.

## ◆ h5vl_cap_flag_file_more_f

integer(c_int64_t) h5vl_cap_flag_file_more_f

H5VL_CAP_FLAG_FILE_MORE.

## ◆ h5vl_cap_flag_fill_values_f

integer(c_int64_t) h5vl_cap_flag_fill_values_f

H5VL_CAP_FLAG_FILL_VALUES.

## ◆ h5vl_cap_flag_filters_f

integer(c_int64_t) h5vl_cap_flag_filters_f

H5VL_CAP_FLAG_FILTERS.

## ◆ h5vl_cap_flag_flush_refresh_f

integer(c_int64_t) h5vl_cap_flag_flush_refresh_f

H5VL_CAP_FLAG_FLUSH_REFRESH.

## ◆ h5vl_cap_flag_get_plist_f

integer(c_int64_t) h5vl_cap_flag_get_plist_f

H5VL_CAP_FLAG_GET_PLIST.

## ◆ h5vl_cap_flag_group_basic_f

integer(c_int64_t) h5vl_cap_flag_group_basic_f

H5VL_CAP_FLAG_GROUP_BASIC.

## ◆ h5vl_cap_flag_group_more_f

integer(c_int64_t) h5vl_cap_flag_group_more_f

H5VL_CAP_FLAG_GROUP_MORE.

## ◆ h5vl_cap_flag_hard_links_f

integer(c_int64_t) h5vl_cap_flag_hard_links_f

H5VL_CAP_FLAG_HARD_LINKS.

## ◆ h5vl_cap_flag_iterate_f

integer(c_int64_t) h5vl_cap_flag_iterate_f

H5VL_CAP_FLAG_ITERATE.

## ◆ h5vl_cap_flag_link_basic_f

integer(c_int64_t) h5vl_cap_flag_link_basic_f

H5VL_CAP_FLAG_LINK_BASIC.

## ◆ h5vl_cap_flag_link_more_f

integer(c_int64_t) h5vl_cap_flag_link_more_f

H5VL_CAP_FLAG_LINK_MORE.

## ◆ h5vl_cap_flag_map_basic_f

integer(c_int64_t) h5vl_cap_flag_map_basic_f

H5VL_CAP_FLAG_MAP_BASIC.

## ◆ h5vl_cap_flag_map_more_f

integer(c_int64_t) h5vl_cap_flag_map_more_f

H5VL_CAP_FLAG_MAP_MORE.

## ◆ h5vl_cap_flag_mount_f

integer(c_int64_t) h5vl_cap_flag_mount_f

H5VL_CAP_FLAG_MOUNT.

## ◆ h5vl_cap_flag_native_files_f

integer(c_int64_t) h5vl_cap_flag_native_files_f

H5VL_CAP_FLAG_NATIVE_FILES.

## ◆ h5vl_cap_flag_none_f

integer(c_int64_t) h5vl_cap_flag_none_f

H5VL_CAP_FLAG_NONE.

## ◆ h5vl_cap_flag_obj_ref_f

integer(c_int64_t) h5vl_cap_flag_obj_ref_f

H5VL_CAP_FLAG_OBJ_REF.

## ◆ h5vl_cap_flag_object_basic_f

integer(c_int64_t) h5vl_cap_flag_object_basic_f

H5VL_CAP_FLAG_OBJECT_BASIC.

## ◆ h5vl_cap_flag_object_more_f

integer(c_int64_t) h5vl_cap_flag_object_more_f

H5VL_CAP_FLAG_OBJECT_MORE.

## ◆ h5vl_cap_flag_ref_basic_f

integer(c_int64_t) h5vl_cap_flag_ref_basic_f

H5VL_CAP_FLAG_REF_BASIC.

## ◆ h5vl_cap_flag_ref_more_f

integer(c_int64_t) h5vl_cap_flag_ref_more_f

H5VL_CAP_FLAG_REF_MORE.

## ◆ h5vl_cap_flag_reg_ref_f

integer(c_int64_t) h5vl_cap_flag_reg_ref_f

H5VL_CAP_FLAG_REG_REF.

## ◆ h5vl_cap_flag_soft_links_f

integer(c_int64_t) h5vl_cap_flag_soft_links_f

H5VL_CAP_FLAG_SOFT_LINKS.

## ◆ h5vl_cap_flag_storage_size_f

integer(c_int64_t) h5vl_cap_flag_storage_size_f

H5VL_CAP_FLAG_STORAGE_SIZE.

## ◆ h5vl_cap_flag_stored_datatypes_f

integer(c_int64_t) h5vl_cap_flag_stored_datatypes_f

H5VL_CAP_FLAG_STORED_DATATYPES.

## ◆ h5vl_cap_flag_threadsafe_f

integer(c_int64_t) h5vl_cap_flag_threadsafe_f

H5VL_CAP_FLAG_THREADSAFE.

## ◆ h5vl_cap_flag_track_times_f

integer(c_int64_t) h5vl_cap_flag_track_times_f

H5VL_CAP_FLAG_TRACK_TIMES.

## ◆ h5vl_cap_flag_ud_links_f

integer(c_int64_t) h5vl_cap_flag_ud_links_f

H5VL_CAP_FLAG_UD_LINKS.

## ◆ h5vl_opt_query_collective_f

integer(c_int64_t) h5vl_opt_query_collective_f

H5VL_OPT_QUERY_COLLECTIVE.

## ◆ h5vl_opt_query_modify_metadata_f

integer(c_int64_t) h5vl_opt_query_modify_metadata_f

H5VL_OPT_QUERY_MODIFY_METADATA.

## ◆ h5vl_opt_query_multi_obj_f

integer(c_int64_t) h5vl_opt_query_multi_obj_f

H5VL_OPT_QUERY_MULTI_OBJ.

## ◆ h5vl_opt_query_no_async_f

integer(c_int64_t) h5vl_opt_query_no_async_f

H5VL_OPT_QUERY_NO_ASYNC.

## ◆ h5vl_opt_query_query_metadata_f

integer(c_int64_t) h5vl_opt_query_query_metadata_f

H5VL_OPT_QUERY_QUERY_METADATA.

## ◆ h5vl_opt_query_read_data_f

integer(c_int64_t) h5vl_opt_query_read_data_f

H5VL_OPT_QUERY_READ_DATA.

## ◆ h5vl_opt_query_supported_f

integer(c_int64_t) h5vl_opt_query_supported_f

H5VL_OPT_QUERY_SUPPORTED.

## ◆ h5vl_opt_query_write_data_f

integer(c_int64_t) h5vl_opt_query_write_data_f

H5VL_OPT_QUERY_WRITE_DATA.

## ◆ h5vl_version_f

integer h5vl_version_f

H5VL_VERSION.