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 | Enumerations | Functions
H5FDprivate.h File Reference
`#include "H5FDpublic.h"`
`#include "H5FDdevelop.h"`
`#include "H5Pprivate.h"`
`#include "H5Sprivate.h"`
`#include "H5FDmpi.h"`

## Data Structures
struct | H5FD_driver_prop_t
struct | H5FD_file_image_info_t

## Macros
#define | H5FD_DEFAULT_FILE_IMAGE_INFO
#define | H5FD_MAX_FILENAME_LEN 1024
#define | H5FD_MPI_XFER_FILE_MPI_TYPE_NAME "H5FD_mpi_file_mpi_type"
#define | H5FD_MPI_XFER_MEM_MPI_TYPE_NAME "H5FD_mpi_mem_mpi_type"
#define | SKIP_NO_CB 0x00u
#define | SKIP_SELECTION_CB 0x01u
#define | SKIP_VECTOR_CB 0x02u

## Enumerations
enum | H5FD_file_op_t { OP_UNKNOWN = 0 , OP_READ = 1 , OP_WRITE = 2 }
enum | H5FD_get_driver_kind_t { H5FD_GET_DRIVER_BY_NAME , H5FD_GET_DRIVER_BY_VALUE }

## Functions
haddr_t | H5FD_alloc (H5FD_t *file, H5FD_mem_t type, struct H5F_t *f, hsize_t size, haddr_t *frag_addr, hsize_t *frag_size)
herr_t | H5FD_check_plugin_load (const H5FD_class_t *cls, const union H5PL_key_t *key, bool *success)
herr_t | H5FD_close (H5FD_t *file)
int | H5FD_cmp (const H5FD_t *f1, const H5FD_t *f2)
herr_t | H5FD_ctl (H5FD_t *file, uint64_t op_code, uint64_t flags, const void *input, void **output)
herr_t | H5FD_delete (const char *name, hid_t fapl_id)
herr_t | H5FD_driver_query (const H5FD_class_t *driver, unsigned long *flags)
void * | H5FD_fapl_get (H5FD_t *file)
herr_t | H5FD_flush (H5FD_t *file, bool closing)
herr_t | H5FD_free (H5FD_t *file, H5FD_mem_t type, struct H5F_t *f, haddr_t addr, hsize_t size)
herr_t | H5FD_free_driver_info (hid_t driver_id, const void *driver_info)
haddr_t | H5FD_get_base_addr (const H5FD_t *file)
H5FD_class_t * | H5FD_get_class (hid_t id)
hid_t | H5FD_get_driver_id_by_name (const char *name, bool is_api)
hid_t | H5FD_get_driver_id_by_value (H5FD_class_value_t value, bool is_api)
haddr_t | H5FD_get_eoa (const H5FD_t *file, H5FD_mem_t type)
haddr_t | H5FD_get_eof (const H5FD_t *file, H5FD_mem_t type)
herr_t | H5FD_get_feature_flags (const H5FD_t *file, unsigned long *feature_flags)
herr_t | H5FD_get_fileno (const H5FD_t *file, unsigned long *filenum)
herr_t | H5FD_get_fs_type_map (const H5FD_t *file, H5FD_mem_t *type_map)
haddr_t | H5FD_get_maxaddr (const H5FD_t *file)
herr_t | H5FD_get_mpio_atomicity (H5FD_t *file, bool *flag)
herr_t | H5FD_get_vfd_handle (H5FD_t *file, hid_t fapl, void **file_handle)
herr_t | H5FD_init (void)
htri_t | H5FD_is_driver_registered_by_name (const char *driver_name, hid_t *registered_id)
htri_t | H5FD_is_driver_registered_by_value (H5FD_class_value_t driver_value, hid_t *registered_id)
herr_t | H5FD_locate_signature (H5FD_t *file, haddr_t *sig_addr)
herr_t | H5FD_lock (H5FD_t *file, bool rw)
MPI_Comm | H5FD_mpi_get_comm (H5FD_t *file)
herr_t | H5FD_mpi_get_file_sync_required (H5FD_t *file, bool *file_sync_required)
MPI_Info | H5FD_mpi_get_info (H5FD_t *file)
int | H5FD_mpi_get_rank (H5FD_t *file)
int | H5FD_mpi_get_size (H5FD_t *file)
herr_t | H5FD_mpi_haddr_to_MPIOff (haddr_t addr, MPI_Offset *mpi_off)
haddr_t | H5FD_mpi_MPIOff_to_haddr (MPI_Offset mpi_off)
herr_t | H5FD_open (bool attempt, H5FD_t **file, const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
herr_t | H5FD_read (H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size, void *buf)
herr_t | H5FD_read_from_selection (H5FD_t *file, H5FD_mem_t type, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
herr_t | H5FD_read_selection (H5FD_t *file, H5FD_mem_t type, uint32_t count, struct H5S_t **mem_spaces, struct H5S_t **file_spaces, haddr_t offsets[], size_t element_sizes[], void *bufs[])
herr_t | H5FD_read_selection_id (uint32_t skip_cb, H5FD_t *file, H5FD_mem_t type, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
herr_t | H5FD_read_vector (H5FD_t *file, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], void *bufs[])
herr_t | H5FD_read_vector_from_selection (H5FD_t *file, H5FD_mem_t type, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
hid_t | H5FD_register (const void *cls, size_t size, bool app_ref)
hid_t | H5FD_register_driver_by_name (const char *name, bool app_ref)
hid_t | H5FD_register_driver_by_value (H5FD_class_value_t value, bool app_ref)
herr_t | H5FD_sb_encode (H5FD_t *file, char *name, uint8_t *buf)
herr_t | H5FD_sb_load (H5FD_t *file, const char *name, const uint8_t *buf)
hsize_t | H5FD_sb_size (H5FD_t *file)
herr_t | H5FD_set_base_addr (H5FD_t *file, haddr_t base_addr)
herr_t | H5FD_set_eoa (H5FD_t *file, H5FD_mem_t type, haddr_t addr)
herr_t | H5FD_set_feature_flags (H5FD_t *file, unsigned long feature_flags)
herr_t | H5FD_set_mpio_atomicity (H5FD_t *file, bool flag)
herr_t | H5FD_set_paged_aggr (H5FD_t *file, bool paged)
herr_t | H5FD_sort_selection_io_req (bool *selection_was_sorted, size_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], H5_flexible_const_ptr_t bufs[], hid_t **s_mem_space_ids, hid_t **s_file_space_ids, haddr_t **s_offsets_ptr, size_t **s_element_sizes_ptr, H5_flexible_const_ptr_t **s_bufs_ptr)
herr_t | H5FD_sort_vector_io_req (bool *vector_was_sorted, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], H5_flexible_const_ptr_t bufs[], H5FD_mem_t **s_types_ptr, haddr_t **s_addrs_ptr, size_t **s_sizes_ptr, H5_flexible_const_ptr_t **s_bufs_ptr)
int | H5FD_term_interface (void)
herr_t | H5FD_truncate (H5FD_t *file, bool closing)
htri_t | H5FD_try_extend (H5FD_t *file, H5FD_mem_t type, struct H5F_t *f, haddr_t blk_end, hsize_t extra_requested)
herr_t | H5FD_unlock (H5FD_t *file)
herr_t | H5FD_write (H5FD_t *file, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf)
herr_t | H5FD_write_from_selection (H5FD_t *file, H5FD_mem_t type, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])
herr_t | H5FD_write_selection (H5FD_t *file, H5FD_mem_t type, uint32_t count, struct H5S_t **mem_spaces, struct H5S_t **file_spaces, haddr_t offsets[], size_t element_sizes[], const void *bufs[])
herr_t | H5FD_write_selection_id (uint32_t skip_cb, H5FD_t *file, H5FD_mem_t type, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])
herr_t | H5FD_write_vector (H5FD_t *file, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], const void *bufs[])
herr_t | H5FD_write_vector_from_selection (H5FD_t *file, H5FD_mem_t type, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])

## Macro Definition Documentation

## ◆ H5FD_DEFAULT_FILE_IMAGE_INFO

#define H5FD_DEFAULT_FILE_IMAGE_INFO

Value:
{ \
NULL, /* file image buffer */ \
0, /* buffer size */ \
{ /* Callbacks */ \
NULL, /* image_malloc */ \
NULL, /* image_memcpy */ \
NULL, /* image_realloc */ \
NULL, /* image_free */ \
NULL, /* udata_copy */ \
NULL, /* udata_free */ \
NULL, /* udata */ \
} \
}

## ◆ H5FD_MAX_FILENAME_LEN

#define H5FD_MAX_FILENAME_LEN 1024

## ◆ H5FD_MPI_XFER_FILE_MPI_TYPE_NAME

#define H5FD_MPI_XFER_FILE_MPI_TYPE_NAME "H5FD_mpi_file_mpi_type"

## ◆ H5FD_MPI_XFER_MEM_MPI_TYPE_NAME

#define H5FD_MPI_XFER_MEM_MPI_TYPE_NAME "H5FD_mpi_mem_mpi_type"

## ◆ SKIP_NO_CB

#define SKIP_NO_CB 0x00u

## ◆ SKIP_SELECTION_CB

#define SKIP_SELECTION_CB 0x01u

## ◆ SKIP_VECTOR_CB

#define SKIP_VECTOR_CB 0x02u

## Enumeration Type Documentation

## ◆ H5FD_file_op_t

enum H5FD_file_op_t

Enumerator
OP_UNKNOWN |
OP_READ |
OP_WRITE |

## ◆ H5FD_get_driver_kind_t

enum H5FD_get_driver_kind_t

Enumerator
H5FD_GET_DRIVER_BY_NAME |
H5FD_GET_DRIVER_BY_VALUE |

## Function Documentation

## ◆ H5FD_alloc()

haddr_t H5FD_alloc | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | struct H5F_t * | f,
|  | hsize_t | size,
|  | haddr_t * | frag_addr,
|  | hsize_t * | frag_size )

## ◆ H5FD_check_plugin_load()

herr_t H5FD_check_plugin_load | ( | const H5FD_class_t * | cls,
|  | const union H5PL_key_t * | key,
|  | bool * | success )

## ◆ H5FD_close()

herr_t H5FD_close | ( | H5FD_t * | file | ) |

## ◆ H5FD_cmp()

int H5FD_cmp | ( | const H5FD_t * | f1,
|  | const H5FD_t * | f2 )

## ◆ H5FD_ctl()

herr_t H5FD_ctl | ( | H5FD_t * | file,
|  | uint64_t | op_code,
|  | uint64_t | flags,
|  | const void * | input,
|  | void ** | output )

## ◆ H5FD_delete()

herr_t H5FD_delete | ( | const char * | name,
|  | hid_t | fapl_id )

## ◆ H5FD_driver_query()

herr_t H5FD_driver_query | ( | const H5FD_class_t * | driver,
|  | unsigned long * | flags )

## ◆ H5FD_fapl_get()

void * H5FD_fapl_get | ( | H5FD_t * | file | ) |

## ◆ H5FD_flush()

herr_t H5FD_flush | ( | H5FD_t * | file,
|  | bool | closing )

## ◆ H5FD_free()

herr_t H5FD_free | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | struct H5F_t * | f,
|  | haddr_t | addr,
|  | hsize_t | size )

## ◆ H5FD_free_driver_info()

herr_t H5FD_free_driver_info | ( | hid_t | driver_id,
|  | const void * | driver_info )

## ◆ H5FD_get_base_addr()

haddr_t H5FD_get_base_addr | ( | const H5FD_t * | file | ) |

## ◆ H5FD_get_class()

H5FD_class_t * H5FD_get_class | ( | hid_t | id | ) |

## ◆ H5FD_get_driver_id_by_name()

hid_t H5FD_get_driver_id_by_name | ( | const char * | name,
|  | bool | is_api )

## ◆ H5FD_get_driver_id_by_value()

hid_t H5FD_get_driver_id_by_value | ( | H5FD_class_value_t | value,
|  | bool | is_api )

## ◆ H5FD_get_eoa()

haddr_t H5FD_get_eoa | ( | const H5FD_t * | file,
|  | H5FD_mem_t | type )

## ◆ H5FD_get_eof()

haddr_t H5FD_get_eof | ( | const H5FD_t * | file,
|  | H5FD_mem_t | type )

## ◆ H5FD_get_feature_flags()

herr_t H5FD_get_feature_flags | ( | const H5FD_t * | file,
|  | unsigned long * | feature_flags )

## ◆ H5FD_get_fileno()

herr_t H5FD_get_fileno | ( | const H5FD_t * | file,
|  | unsigned long * | filenum )

## ◆ H5FD_get_fs_type_map()

herr_t H5FD_get_fs_type_map | ( | const H5FD_t * | file,
|  | H5FD_mem_t * | type_map )

## ◆ H5FD_get_maxaddr()

haddr_t H5FD_get_maxaddr | ( | const H5FD_t * | file | ) |

## ◆ H5FD_get_mpio_atomicity()

herr_t H5FD_get_mpio_atomicity | ( | H5FD_t * | file,
|  | bool * | flag )

## ◆ H5FD_get_vfd_handle()

herr_t H5FD_get_vfd_handle | ( | H5FD_t * | file,
|  | hid_t | fapl,
|  | void ** | file_handle )

## ◆ H5FD_init()

herr_t H5FD_init | ( | void |  | ) |

## ◆ H5FD_is_driver_registered_by_name()

htri_t H5FD_is_driver_registered_by_name | ( | const char * | driver_name,
|  | hid_t * | registered_id )

## ◆ H5FD_is_driver_registered_by_value()

htri_t H5FD_is_driver_registered_by_value | ( | H5FD_class_value_t | driver_value,
|  | hid_t * | registered_id )

## ◆ H5FD_locate_signature()

herr_t H5FD_locate_signature | ( | H5FD_t * | file,
|  | haddr_t * | sig_addr )

## ◆ H5FD_lock()

herr_t H5FD_lock | ( | H5FD_t * | file,
|  | bool | rw )

## ◆ H5FD_mpi_get_comm()

MPI_Comm H5FD_mpi_get_comm | ( | H5FD_t * | file | ) |

## ◆ H5FD_mpi_get_file_sync_required()

herr_t H5FD_mpi_get_file_sync_required | ( | H5FD_t * | file,
|  | bool * | file_sync_required )

## ◆ H5FD_mpi_get_info()

MPI_Info H5FD_mpi_get_info | ( | H5FD_t * | file | ) |

## ◆ H5FD_mpi_get_rank()

int H5FD_mpi_get_rank | ( | H5FD_t * | file | ) |

## ◆ H5FD_mpi_get_size()

int H5FD_mpi_get_size | ( | H5FD_t * | file | ) |

## ◆ H5FD_mpi_haddr_to_MPIOff()

herr_t H5FD_mpi_haddr_to_MPIOff | ( | haddr_t | addr,
|  | MPI_Offset * | mpi_off )

## ◆ H5FD_mpi_MPIOff_to_haddr()

haddr_t H5FD_mpi_MPIOff_to_haddr | ( | MPI_Offset | mpi_off | ) |

## ◆ H5FD_open()

herr_t H5FD_open | ( | bool | attempt,
|  | H5FD_t ** | file,
|  | const char * | name,
|  | unsigned | flags,
|  | hid_t | fapl_id,
|  | haddr_t | maxaddr )

## ◆ H5FD_read()

herr_t H5FD_read | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | haddr_t | addr,
|  | size_t | size,
|  | void * | buf )

## ◆ H5FD_read_from_selection()

herr_t H5FD_read_from_selection | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | void * | bufs[] )

## ◆ H5FD_read_selection()

herr_t H5FD_read_selection | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | struct H5S_t ** | mem_spaces,
|  | struct H5S_t ** | file_spaces,
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | void * | bufs[] )

## ◆ H5FD_read_selection_id()

herr_t H5FD_read_selection_id | ( | uint32_t | skip_cb,
|  | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | void * | bufs[] )

## ◆ H5FD_read_vector()

herr_t H5FD_read_vector | ( | H5FD_t * | file,
|  | uint32_t | count,
|  | H5FD_mem_t | types[],
|  | haddr_t | addrs[],
|  | size_t | sizes[],
|  | void * | bufs[] )

## ◆ H5FD_read_vector_from_selection()

herr_t H5FD_read_vector_from_selection | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | void * | bufs[] )

## ◆ H5FD_register()

hid_t H5FD_register | ( | const void * | cls,
|  | size_t | size,
|  | bool | app_ref )

## ◆ H5FD_register_driver_by_name()

hid_t H5FD_register_driver_by_name | ( | const char * | name,
|  | bool | app_ref )

## ◆ H5FD_register_driver_by_value()

hid_t H5FD_register_driver_by_value | ( | H5FD_class_value_t | value,
|  | bool | app_ref )

## ◆ H5FD_sb_encode()

herr_t H5FD_sb_encode | ( | H5FD_t * | file,
|  | char * | name,
|  | uint8_t * | buf )

## ◆ H5FD_sb_load()

herr_t H5FD_sb_load | ( | H5FD_t * | file,
|  | const char * | name,
|  | const uint8_t * | buf )

## ◆ H5FD_sb_size()

hsize_t H5FD_sb_size | ( | H5FD_t * | file | ) |

## ◆ H5FD_set_base_addr()

herr_t H5FD_set_base_addr | ( | H5FD_t * | file,
|  | haddr_t | base_addr )

## ◆ H5FD_set_eoa()

herr_t H5FD_set_eoa | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | haddr_t | addr )

## ◆ H5FD_set_feature_flags()

herr_t H5FD_set_feature_flags | ( | H5FD_t * | file,
|  | unsigned long | feature_flags )

## ◆ H5FD_set_mpio_atomicity()

herr_t H5FD_set_mpio_atomicity | ( | H5FD_t * | file,
|  | bool | flag )

## ◆ H5FD_set_paged_aggr()

herr_t H5FD_set_paged_aggr | ( | H5FD_t * | file,
|  | bool | paged )

## ◆ H5FD_sort_selection_io_req()

herr_t H5FD_sort_selection_io_req | ( | bool * | selection_was_sorted,
|  | size_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | H5_flexible_const_ptr_t | bufs[],
|  | hid_t ** | s_mem_space_ids,
|  | hid_t ** | s_file_space_ids,
|  | haddr_t ** | s_offsets_ptr,
|  | size_t ** | s_element_sizes_ptr,
|  | H5_flexible_const_ptr_t ** | s_bufs_ptr )

## ◆ H5FD_sort_vector_io_req()

herr_t H5FD_sort_vector_io_req | ( | bool * | vector_was_sorted,
|  | uint32_t | count,
|  | H5FD_mem_t | types[],
|  | haddr_t | addrs[],
|  | size_t | sizes[],
|  | H5_flexible_const_ptr_t | bufs[],
|  | H5FD_mem_t ** | s_types_ptr,
|  | haddr_t ** | s_addrs_ptr,
|  | size_t ** | s_sizes_ptr,
|  | H5_flexible_const_ptr_t ** | s_bufs_ptr )

## ◆ H5FD_term_interface()

int H5FD_term_interface | ( | void |  | ) |

## ◆ H5FD_truncate()

herr_t H5FD_truncate | ( | H5FD_t * | file,
|  | bool | closing )

## ◆ H5FD_try_extend()

htri_t H5FD_try_extend | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | struct H5F_t * | f,
|  | haddr_t | blk_end,
|  | hsize_t | extra_requested )

## ◆ H5FD_unlock()

herr_t H5FD_unlock | ( | H5FD_t * | file | ) |

## ◆ H5FD_write()

herr_t H5FD_write | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | haddr_t | addr,
|  | size_t | size,
|  | const void * | buf )

## ◆ H5FD_write_from_selection()

herr_t H5FD_write_from_selection | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | const void * | bufs[] )

## ◆ H5FD_write_selection()

herr_t H5FD_write_selection | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | struct H5S_t ** | mem_spaces,
|  | struct H5S_t ** | file_spaces,
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | const void * | bufs[] )

## ◆ H5FD_write_selection_id()

herr_t H5FD_write_selection_id | ( | uint32_t | skip_cb,
|  | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | const void * | bufs[] )

## ◆ H5FD_write_vector()

herr_t H5FD_write_vector | ( | H5FD_t * | file,
|  | uint32_t | count,
|  | H5FD_mem_t | types[],
|  | haddr_t | addrs[],
|  | size_t | sizes[],
|  | const void * | bufs[] )

## ◆ H5FD_write_vector_from_selection()

herr_t H5FD_write_vector_from_selection | ( | H5FD_t * | file,
|  | H5FD_mem_t | type,
|  | uint32_t | count,
|  | hid_t | mem_space_ids[],
|  | hid_t | file_space_ids[],
|  | haddr_t | offsets[],
|  | size_t | element_sizes[],
|  | const void * | bufs[] )