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
H5FDdevelop.h File Reference
#include "H5FDpublic.h"

Data Structures

struct  H5FD_class_t
 
struct  H5FD_free_t
 
struct  H5FD_t
 

Macros

#define H5FD_CLASS_VERSION   0x01 /* File driver struct version */
 
#define H5FD_MEM_FHEAP_HDR   H5FD_MEM_OHDR
 
#define H5FD_MEM_FHEAP_IBLOCK   H5FD_MEM_OHDR
 
#define H5FD_MEM_FHEAP_DBLOCK   H5FD_MEM_LHEAP
 
#define H5FD_MEM_FHEAP_HUGE_OBJ   H5FD_MEM_DRAW
 
#define H5FD_MEM_FSPACE_HDR   H5FD_MEM_OHDR
 
#define H5FD_MEM_FSPACE_SINFO   H5FD_MEM_LHEAP
 
#define H5FD_MEM_SOHM_TABLE   H5FD_MEM_OHDR
 
#define H5FD_MEM_SOHM_INDEX   H5FD_MEM_BTREE
 
#define H5FD_MEM_EARRAY_HDR   H5FD_MEM_OHDR
 
#define H5FD_MEM_EARRAY_IBLOCK   H5FD_MEM_OHDR
 
#define H5FD_MEM_EARRAY_SBLOCK   H5FD_MEM_BTREE
 
#define H5FD_MEM_EARRAY_DBLOCK   H5FD_MEM_LHEAP
 
#define H5FD_MEM_EARRAY_DBLK_PAGE   H5FD_MEM_LHEAP
 
#define H5FD_MEM_FARRAY_HDR   H5FD_MEM_OHDR
 
#define H5FD_MEM_FARRAY_DBLOCK   H5FD_MEM_LHEAP
 
#define H5FD_MEM_FARRAY_DBLK_PAGE   H5FD_MEM_LHEAP
 
#define H5FD_FLMAP_SINGLE
 
#define H5FD_FLMAP_DICHOTOMY
 
#define H5FD_FLMAP_DEFAULT
 

Typedefs

typedef hid_t(* H5FD_init_t) (void)
 

Functions

hid_t H5FDregister (const H5FD_class_t *cls)
 
htri_t H5FDis_driver_registered_by_name (const char *driver_name)
 
htri_t H5FDis_driver_registered_by_value (H5FD_class_value_t driver_value)
 
herr_t H5FDunregister (hid_t driver_id)
 
H5FD_tH5FDopen (const char *name, unsigned flags, hid_t fapl_id, haddr_t maxaddr)
 
herr_t H5FDclose (H5FD_t *file)
 
int H5FDcmp (const H5FD_t *f1, const H5FD_t *f2)
 
herr_t H5FDquery (const H5FD_t *f, unsigned long *flags)
 
haddr_t H5FDalloc (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size)
 
herr_t H5FDfree (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size)
 
haddr_t H5FDget_eoa (H5FD_t *file, H5FD_mem_t type)
 
herr_t H5FDset_eoa (H5FD_t *file, H5FD_mem_t type, haddr_t eoa)
 
haddr_t H5FDget_eof (H5FD_t *file, H5FD_mem_t type)
 
herr_t H5FDget_vfd_handle (H5FD_t *file, hid_t fapl, void **file_handle)
 
herr_t H5FDread (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, size_t size, void *buf)
 
herr_t H5FDwrite (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, size_t size, const void *buf)
 
herr_t H5FDread_vector (H5FD_t *file, hid_t dxpl_id, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], void *bufs[])
 
herr_t H5FDwrite_vector (H5FD_t *file, hid_t dxpl_id, uint32_t count, H5FD_mem_t types[], haddr_t addrs[], size_t sizes[], const void *bufs[])
 
herr_t H5FDread_selection (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, uint32_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
 
herr_t H5FDwrite_selection (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, uint32_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])
 
herr_t H5FDread_vector_from_selection (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, uint32_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
 
herr_t H5FDwrite_vector_from_selection (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, uint32_t count, hid_t mem_spaces[], hid_t file_spaces[], haddr_t offsets[], size_t element_sizes[], const void *bufs[])
 
herr_t H5FDread_from_selection (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, uint32_t count, hid_t mem_space_ids[], hid_t file_space_ids[], haddr_t offsets[], size_t element_sizes[], void *bufs[])
 
herr_t H5FDwrite_from_selection (H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, 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 H5FDflush (H5FD_t *file, hid_t dxpl_id, hbool_t closing)
 
herr_t H5FDtruncate (H5FD_t *file, hid_t dxpl_id, hbool_t closing)
 
herr_t H5FDlock (H5FD_t *file, hbool_t rw)
 
herr_t H5FDunlock (H5FD_t *file)
 
herr_t H5FDdelete (const char *name, hid_t fapl_id)
 
herr_t H5FDctl (H5FD_t *file, uint64_t op_code, uint64_t flags, const void *input, void **output)
 

Macro Definition Documentation

◆ H5FD_CLASS_VERSION

#define H5FD_CLASS_VERSION   0x01 /* File driver struct version */

Version of the file driver struct, H5FD_class_t

◆ H5FD_FLMAP_DEFAULT

#define H5FD_FLMAP_DEFAULT
Value:
{ \
H5FD_MEM_DEFAULT, /*default*/ \
H5FD_MEM_DEFAULT, /*super*/ \
H5FD_MEM_DEFAULT, /*btree*/ \
H5FD_MEM_DEFAULT, /*draw*/ \
H5FD_MEM_DEFAULT, /*gheap*/ \
H5FD_MEM_DEFAULT, /*lheap*/ \
H5FD_MEM_DEFAULT /*ohdr*/ \
}
@ H5FD_MEM_DEFAULT
Definition H5Fpublic.h:136

The default free list map which causes each request type to use it's own free-list.

◆ H5FD_FLMAP_DICHOTOMY

#define H5FD_FLMAP_DICHOTOMY
Value:
{ \
H5FD_MEM_SUPER, /*default*/ \
H5FD_MEM_SUPER, /*super*/ \
H5FD_MEM_SUPER, /*btree*/ \
H5FD_MEM_DRAW, /*draw*/ \
H5FD_MEM_DRAW, /*gheap*/ \
H5FD_MEM_SUPER, /*lheap*/ \
H5FD_MEM_SUPER /*ohdr*/ \
}
@ H5FD_MEM_DRAW
Definition H5Fpublic.h:143
@ H5FD_MEM_SUPER
Definition H5Fpublic.h:141

A free-list map which segregates requests into ‘raw’ or ‘meta’ data pools.

◆ H5FD_FLMAP_SINGLE

#define H5FD_FLMAP_SINGLE
Value:
{ \
H5FD_MEM_SUPER, /*default*/ \
H5FD_MEM_SUPER, /*super*/ \
H5FD_MEM_SUPER, /*btree*/ \
H5FD_MEM_SUPER, /*draw*/ \
H5FD_MEM_SUPER, /*gheap*/ \
H5FD_MEM_SUPER, /*lheap*/ \
H5FD_MEM_SUPER /*ohdr*/ \
}

A free-list map which maps all types of allocation requests to a single free list. This is useful for drivers that don't really care about keeping different requests segregated in the underlying file and which want to make most efficient reuse of freed memory. The use of the H5FD_MEM_SUPER free list is arbitrary.

◆ H5FD_MEM_EARRAY_DBLK_PAGE

#define H5FD_MEM_EARRAY_DBLK_PAGE   H5FD_MEM_LHEAP

Extensible array data block & page; it is mapped to 'lheap' type file memory because it is similar enough to local heap info.

◆ H5FD_MEM_EARRAY_DBLOCK

#define H5FD_MEM_EARRAY_DBLOCK   H5FD_MEM_LHEAP

Extensible array data block; it is mapped to 'lheap' type file memory because it is similar enough to local heap info.

◆ H5FD_MEM_EARRAY_HDR

#define H5FD_MEM_EARRAY_HDR   H5FD_MEM_OHDR

Extensible array header block; it is mapped to 'ohdr' type file memory to benefit from their similarity.

◆ H5FD_MEM_EARRAY_IBLOCK

#define H5FD_MEM_EARRAY_IBLOCK   H5FD_MEM_OHDR

Extensible array index block; it is mapped to 'ohdr' type file memory because these index blocks are similar to extensible array header blocks.

◆ H5FD_MEM_EARRAY_SBLOCK

#define H5FD_MEM_EARRAY_SBLOCK   H5FD_MEM_BTREE

Extensible array super block; it is mappend to 'btree' type file memory because the indices are similar enough to B-tree nodes.

◆ H5FD_MEM_FARRAY_DBLK_PAGE

#define H5FD_MEM_FARRAY_DBLK_PAGE   H5FD_MEM_LHEAP

Fixed array data block & page; it is mapped to 'lheap' type file memory because it is similar enough to local heap info.

◆ H5FD_MEM_FARRAY_DBLOCK

#define H5FD_MEM_FARRAY_DBLOCK   H5FD_MEM_LHEAP

Fixed array data block; it is mapped to 'lheap' type file memory because it is similar enough to local heap info.

◆ H5FD_MEM_FARRAY_HDR

#define H5FD_MEM_FARRAY_HDR   H5FD_MEM_OHDR

Fixed array header block; it is mapped to 'ohdr' type file memory to benefit their similarity.

◆ H5FD_MEM_FHEAP_DBLOCK

#define H5FD_MEM_FHEAP_DBLOCK   H5FD_MEM_LHEAP

Fractal heap direct block; it is mapped to 'lheap' type file memory, because the fractal heap direct blocks will be replacing local heaps.

◆ H5FD_MEM_FHEAP_HDR

#define H5FD_MEM_FHEAP_HDR   H5FD_MEM_OHDR

Fractal heap header block; it is mapped to 'ohdr' type file memory to benefit from their similarity.

◆ H5FD_MEM_FHEAP_HUGE_OBJ

#define H5FD_MEM_FHEAP_HUGE_OBJ   H5FD_MEM_DRAW

Fractal heap 'huge' object; it is mapped to 'draw' type file memory because the fractal heap 'huge' objects represent large objects that are directly stored in the file.

◆ H5FD_MEM_FHEAP_IBLOCK

#define H5FD_MEM_FHEAP_IBLOCK   H5FD_MEM_OHDR

Fractal heap indirect block; it is mapped to 'ohdr' type file memory because the indirect blocks are similar to fractal heap header blocks.

◆ H5FD_MEM_FSPACE_HDR

#define H5FD_MEM_FSPACE_HDR   H5FD_MEM_OHDR

Free space header blocks; it is mapped to 'ohdr' type file memory to benefit from their similarity.

◆ H5FD_MEM_FSPACE_SINFO

#define H5FD_MEM_FSPACE_SINFO   H5FD_MEM_LHEAP

Free space serialized section; it is mapped to 'lheap' type file memory because it is similar enough to local heap info.

◆ H5FD_MEM_SOHM_INDEX

#define H5FD_MEM_SOHM_INDEX   H5FD_MEM_BTREE

Shared object header message index; it is mapped to 'btree' type file memory because the indices are similar enough to B-tree nodes.

◆ H5FD_MEM_SOHM_TABLE

#define H5FD_MEM_SOHM_TABLE   H5FD_MEM_OHDR

Shared object header message master table; it is mapped to 'ohdr' type file memory to benefit from their similarity.

Typedef Documentation

◆ H5FD_init_t

typedef hid_t(* H5FD_init_t) (void)

Function Documentation

◆ H5FDalloc()

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

◆ H5FDclose()

herr_t H5FDclose ( H5FD_t file)

◆ H5FDcmp()

int H5FDcmp ( const H5FD_t f1,
const H5FD_t f2 
)

◆ H5FDctl()

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

◆ H5FDdelete()

herr_t H5FDdelete ( const char *  name,
hid_t  fapl_id 
)

◆ H5FDflush()

herr_t H5FDflush ( H5FD_t file,
hid_t  dxpl_id,
hbool_t  closing 
)

◆ H5FDfree()

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

◆ H5FDget_eoa()

haddr_t H5FDget_eoa ( H5FD_t file,
H5FD_mem_t  type 
)

◆ H5FDget_eof()

haddr_t H5FDget_eof ( H5FD_t file,
H5FD_mem_t  type 
)

◆ H5FDget_vfd_handle()

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

◆ H5FDis_driver_registered_by_name()

htri_t H5FDis_driver_registered_by_name ( const char *  driver_name)

◆ H5FDis_driver_registered_by_value()

htri_t H5FDis_driver_registered_by_value ( H5FD_class_value_t  driver_value)

◆ H5FDlock()

herr_t H5FDlock ( H5FD_t file,
hbool_t  rw 
)

◆ H5FDopen()

H5FD_t * H5FDopen ( const char *  name,
unsigned  flags,
hid_t  fapl_id,
haddr_t  maxaddr 
)

◆ H5FDquery()

herr_t H5FDquery ( const H5FD_t f,
unsigned long *  flags 
)

◆ H5FDread()

herr_t H5FDread ( H5FD_t file,
H5FD_mem_t  type,
hid_t  dxpl_id,
haddr_t  addr,
size_t  size,
void *  buf 
)

◆ H5FDread_from_selection()

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

◆ H5FDread_selection()

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

◆ H5FDread_vector()

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

◆ H5FDread_vector_from_selection()

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

◆ H5FDregister()

hid_t H5FDregister ( const H5FD_class_t cls)

◆ H5FDset_eoa()

herr_t H5FDset_eoa ( H5FD_t file,
H5FD_mem_t  type,
haddr_t  eoa 
)

◆ H5FDtruncate()

herr_t H5FDtruncate ( H5FD_t file,
hid_t  dxpl_id,
hbool_t  closing 
)

◆ H5FDunlock()

herr_t H5FDunlock ( H5FD_t file)

◆ H5FDunregister()

herr_t H5FDunregister ( hid_t  driver_id)

◆ H5FDwrite()

herr_t H5FDwrite ( H5FD_t file,
H5FD_mem_t  type,
hid_t  dxpl_id,
haddr_t  addr,
size_t  size,
const void *  buf 
)

◆ H5FDwrite_from_selection()

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

◆ H5FDwrite_selection()

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

◆ H5FDwrite_vector()

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

◆ H5FDwrite_vector_from_selection()

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