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
H5FD_class_t Struct Reference

`#include <src/H5FDdevelop.h>`

## Detailed Description

Class information for each file driver

## Data Fields
haddr_t(* | alloc )(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
herr_t(* | close )(H5FD_t *file)
int(* | cmp )(const H5FD_t *f1, const H5FD_t *f2)
herr_t(* | ctl )(H5FD_t *file, uint64_t op_code, uint64_t flags, const void *input, void **output)
herr_t(* | del )(const char *name, hid_t fapl)
void *(* | dxpl_copy )(const void *dxpl)
herr_t(* | dxpl_free )(void *dxpl)
size_t | dxpl_size
void *(* | fapl_copy )(const void *fapl)
herr_t(* | fapl_free )(void *fapl)
void *(* | fapl_get )(H5FD_t *file)
size_t | fapl_size
H5F_close_degree_t | fc_degree
H5FD_mem_t | fl_map [H5FD_MEM_NTYPES]
herr_t(* | flush )(H5FD_t *file, hid_t dxpl_id, bool closing)
herr_t(* | free )(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size)
haddr_t(* | get_eoa )(const H5FD_t *file, H5FD_mem_t type)
haddr_t(* | get_eof )(const H5FD_t *file, H5FD_mem_t type)
herr_t(* | get_handle )(H5FD_t *file, hid_t fapl, void **file_handle)
herr_t(* | get_type_map )(const H5FD_t *file, H5FD_mem_t *type_map)
herr_t(* | lock )(H5FD_t *file, bool rw)
haddr_t | maxaddr
const char * | name
H5FD_t *(* | open )(const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr)
herr_t(* | query )(const H5FD_t *f1, unsigned long *flags)
herr_t(* | read )(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer)
herr_t(* | read_selection )(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, size_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
herr_t(* | read_vector )(H5FD_t *file, hid_t dxpl, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], void *bufs[])
herr_t(* | sb_decode )(H5FD_t *f, const char *name, const unsigned char *p)
herr_t(* | sb_encode )(H5FD_t *file, char *name, unsigned char *p)
hsize_t(* | sb_size )(H5FD_t *file)
herr_t(* | set_eoa )(H5FD_t *file, H5FD_mem_t type, haddr_t addr)
herr_t(* | terminate )(void)
herr_t(* | truncate )(H5FD_t *file, hid_t dxpl_id, bool closing)
herr_t(* | unlock )(H5FD_t *file)
H5FD_class_value_t | value
unsigned | version
herr_t(* | write )(H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer)
herr_t(* | write_selection )(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, size_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])
herr_t(* | write_vector )(H5FD_t *file, hid_t dxpl, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], const void *bufs[])

## Field Documentation

## ◆ alloc

haddr_t(* alloc) (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)

Allocates file memory

## ◆ close

herr_t(* close) (H5FD_t *file)

Close an HDF5 file of this driver

## ◆ cmp

int(* cmp) (const H5FD_t *f1, const H5FD_t *f2)

Compares two files belonging to this driver

## ◆ ctl

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

Performs a CTL operation

## ◆ del

herr_t(* del) (const char *name, hid_t fapl)

Deletes a file

## ◆ dxpl_copy

void *(* dxpl_copy) (const void *dxpl)

Copies the transfer property list

## ◆ dxpl_free

herr_t(* dxpl_free) (void *dxpl)

Frees the transfer property list

## ◆ dxpl_size

size_t dxpl_size

Size of the transfer property list

## ◆ fapl_copy

void *(* fapl_copy) (const void *fapl)

Copies the file access property list

## ◆ fapl_free

herr_t(* fapl_free) (void *fapl)

Frees the driver-specific file access property list

## ◆ fapl_get

void *(* fapl_get) (H5FD_t *file)

Returns the file access property list

## ◆ fapl_size

size_t fapl_size

Size of driver-specific file access properties

## ◆ fc_degree

H5F_close_degree_t fc_degree

File close behavior degree

## ◆ fl_map

H5FD_mem_t fl_map[H5FD_MEM_NTYPES]

Free-list map

## ◆ flush

herr_t(* flush) (H5FD_t *file, hid_t dxpl_id, bool closing)

Flushes all data to disk

## ◆ free

herr_t(* free) (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size)

Frees the resources for this driver

## ◆ get_eoa

haddr_t(* get_eoa) (const H5FD_t *file, H5FD_mem_t type)

Gets the address of first byte past the addressed space

## ◆ get_eof

haddr_t(* get_eof) (const H5FD_t *file, H5FD_mem_t type)

Gets the address of first byte past the file-end

## ◆ get_handle

herr_t(* get_handle) (H5FD_t *file, hid_t fapl, void **file_handle)

Returns the file handle of this file driver

## ◆ get_type_map

herr_t(* get_type_map) (const H5FD_t *file, H5FD_mem_t *type_map)

Retrieves the memory type mapping for this file

## ◆ lock

herr_t(* lock) (H5FD_t *file, bool rw)

Places an advisory lock on a file

## ◆ maxaddr

haddr_t maxaddr

Maximum address for file

## ◆ name

const char* name

File driver name, must be unique

## ◆ open

H5FD_t *(* open) (const char *name, unsigned flags, hid_t fapl, haddr_t maxaddr)

Create or open an HDF5 file of this driver

## ◆ query

herr_t(* query) (const H5FD_t *f1, unsigned long *flags)

Sets the flags that this driver is capable of supporting

## ◆ read

herr_t(* read) (H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, void *buffer)

Reads the specified number of bytes of data from the file beginning at the specified address into the provided buffer, according to the specified data transfer properties

## ◆ read_selection

herr_t(* read_selection) (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, size_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], void *bufs[])

## ◆ read_vector

herr_t(* read_vector) (H5FD_t *file, hid_t dxpl, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], void *bufs[])

Reads the specified length of data from the file into the provided array

## ◆ sb_decode

herr_t(* sb_decode) (H5FD_t *f, const char *name, const unsigned char *p)

Decodes the superblock information for this driver

## ◆ sb_encode

herr_t(* sb_encode) (H5FD_t *file, char *name, unsigned char *p)

Encodes driver information from the superblock

## ◆ sb_size

hsize_t(* sb_size) (H5FD_t *file)

Gets the size of the private information to be stored in the superblock

## ◆ set_eoa

herr_t(* set_eoa) (H5FD_t *file, H5FD_mem_t type, haddr_t addr)

Sets the end-of-address marker for the file

## ◆ terminate

herr_t(* terminate) (void)

Shutdowns this driver

## ◆ truncate

herr_t(* truncate) (H5FD_t *file, hid_t dxpl_id, bool closing)

Truncates a file

## ◆ unlock

herr_t(* unlock) (H5FD_t *file)

Removes the existing lock on a file

## ◆ value

H5FD_class_value_t value

File driver identifier

## ◆ version

unsigned version

File driver class struct version number

## ◆ write

herr_t(* write) (H5FD_t *file, H5FD_mem_t type, hid_t dxpl, haddr_t addr, size_t size, const void *buffer)

Writes the specified number of bytes of data to the file beginning at the specified address from the provided buffer, according to the specified data transfer properties

## ◆ write_selection

herr_t(* write_selection) (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, size_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])

## ◆ write_vector

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

Writes the specified length of data in the provided array to the file at the specified offsets

The documentation for this struct was generated from the following file:

- src/H5FDdevelop.h