Please, help us to better know about our user community by answering the following short survey: https://www.hdfgroup.org/website-survey/
HDF5  1.10.9-1
C-API Reference
H5FDpublic.h File Reference
#include "H5public.h"
#include "H5Fpublic.h"

Data Structures

struct  H5FD_class_t
 
struct  H5FD_free_t
 
struct  H5FD_t
 
struct  H5FD_file_image_callbacks_t
 

Macros

#define H5_HAVE_VFL   1 /*define a convenient app feature test*/
 
#define H5FD_VFD_DEFAULT   0 /* Default VFL driver value */
 
#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
 
#define H5FD_FEAT_AGGREGATE_METADATA   0x00000001
 
#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE   0x00000002
 
#define H5FD_FEAT_ACCUMULATE_METADATA_READ   0x00000004
 
#define H5FD_FEAT_ACCUMULATE_METADATA    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)
 
#define H5FD_FEAT_DATA_SIEVE   0x00000008
 
#define H5FD_FEAT_AGGREGATE_SMALLDATA   0x00000010
 
#define H5FD_FEAT_IGNORE_DRVRINFO   0x00000020
 
#define H5FD_FEAT_DIRTY_DRVRINFO_LOAD   0x00000040
 
#define H5FD_FEAT_POSIX_COMPAT_HANDLE   0x00000080
 
#define H5FD_FEAT_HAS_MPI   0x00000100
 
#define H5FD_FEAT_ALLOCATE_EARLY   0x00000200
 
#define H5FD_FEAT_ALLOW_FILE_IMAGE   0x00000400
 
#define H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS   0x00000800
 
#define H5FD_FEAT_SUPPORTS_SWMR_IO   0x00001000
 
#define H5FD_FEAT_USE_ALLOC_SIZE   0x00002000
 
#define H5FD_FEAT_PAGED_AGGR   0x00004000
 
#define H5FD_FEAT_DEFAULT_VFD_COMPATIBLE   0x00008000
 

Typedefs

typedef enum H5F_mem_t H5FD_mem_t
 

Enumerations

enum  H5FD_file_image_op_t {
  H5FD_FILE_IMAGE_OP_NO_OP , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY , H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET ,
  H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE , H5FD_FILE_IMAGE_OP_FILE_OPEN , H5FD_FILE_IMAGE_OP_FILE_RESIZE , H5FD_FILE_IMAGE_OP_FILE_CLOSE
}
 

Functions

hid_t H5FDregister (const H5FD_class_t *cls)
 
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)
 
int 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 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 H5FDdriver_query (hid_t driver_id, unsigned long *flags)
 

Macro Definition Documentation

◆ H5_HAVE_VFL

#define H5_HAVE_VFL   1 /*define a convenient app feature test*/

◆ H5FD_FEAT_ACCUMULATE_METADATA

#define H5FD_FEAT_ACCUMULATE_METADATA    (H5FD_FEAT_ACCUMULATE_METADATA_WRITE | H5FD_FEAT_ACCUMULATE_METADATA_READ)

◆ H5FD_FEAT_ACCUMULATE_METADATA_READ

#define H5FD_FEAT_ACCUMULATE_METADATA_READ   0x00000004

◆ H5FD_FEAT_ACCUMULATE_METADATA_WRITE

#define H5FD_FEAT_ACCUMULATE_METADATA_WRITE   0x00000002

◆ H5FD_FEAT_AGGREGATE_METADATA

#define H5FD_FEAT_AGGREGATE_METADATA   0x00000001

◆ H5FD_FEAT_AGGREGATE_SMALLDATA

#define H5FD_FEAT_AGGREGATE_SMALLDATA   0x00000010

◆ H5FD_FEAT_ALLOCATE_EARLY

#define H5FD_FEAT_ALLOCATE_EARLY   0x00000200

◆ H5FD_FEAT_ALLOW_FILE_IMAGE

#define H5FD_FEAT_ALLOW_FILE_IMAGE   0x00000400

◆ H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS

#define H5FD_FEAT_CAN_USE_FILE_IMAGE_CALLBACKS   0x00000800

◆ H5FD_FEAT_DATA_SIEVE

#define H5FD_FEAT_DATA_SIEVE   0x00000008

◆ H5FD_FEAT_DEFAULT_VFD_COMPATIBLE

#define H5FD_FEAT_DEFAULT_VFD_COMPATIBLE   0x00008000

◆ H5FD_FEAT_DIRTY_DRVRINFO_LOAD

#define H5FD_FEAT_DIRTY_DRVRINFO_LOAD   0x00000040

◆ H5FD_FEAT_HAS_MPI

#define H5FD_FEAT_HAS_MPI   0x00000100

◆ H5FD_FEAT_IGNORE_DRVRINFO

#define H5FD_FEAT_IGNORE_DRVRINFO   0x00000020

◆ H5FD_FEAT_PAGED_AGGR

#define H5FD_FEAT_PAGED_AGGR   0x00004000

◆ H5FD_FEAT_POSIX_COMPAT_HANDLE

#define H5FD_FEAT_POSIX_COMPAT_HANDLE   0x00000080

◆ H5FD_FEAT_SUPPORTS_SWMR_IO

#define H5FD_FEAT_SUPPORTS_SWMR_IO   0x00001000

◆ H5FD_FEAT_USE_ALLOC_SIZE

#define H5FD_FEAT_USE_ALLOC_SIZE   0x00002000

◆ 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_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_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*/ \
}

◆ H5FD_MEM_EARRAY_DBLK_PAGE

#define H5FD_MEM_EARRAY_DBLK_PAGE   H5FD_MEM_LHEAP

◆ H5FD_MEM_EARRAY_DBLOCK

#define H5FD_MEM_EARRAY_DBLOCK   H5FD_MEM_LHEAP

◆ H5FD_MEM_EARRAY_HDR

#define H5FD_MEM_EARRAY_HDR   H5FD_MEM_OHDR

◆ H5FD_MEM_EARRAY_IBLOCK

#define H5FD_MEM_EARRAY_IBLOCK   H5FD_MEM_OHDR

◆ H5FD_MEM_EARRAY_SBLOCK

#define H5FD_MEM_EARRAY_SBLOCK   H5FD_MEM_BTREE

◆ H5FD_MEM_FARRAY_DBLK_PAGE

#define H5FD_MEM_FARRAY_DBLK_PAGE   H5FD_MEM_LHEAP

◆ H5FD_MEM_FARRAY_DBLOCK

#define H5FD_MEM_FARRAY_DBLOCK   H5FD_MEM_LHEAP

◆ H5FD_MEM_FARRAY_HDR

#define H5FD_MEM_FARRAY_HDR   H5FD_MEM_OHDR

◆ H5FD_MEM_FHEAP_DBLOCK

#define H5FD_MEM_FHEAP_DBLOCK   H5FD_MEM_LHEAP

◆ H5FD_MEM_FHEAP_HDR

#define H5FD_MEM_FHEAP_HDR   H5FD_MEM_OHDR

◆ H5FD_MEM_FHEAP_HUGE_OBJ

#define H5FD_MEM_FHEAP_HUGE_OBJ   H5FD_MEM_DRAW

◆ H5FD_MEM_FHEAP_IBLOCK

#define H5FD_MEM_FHEAP_IBLOCK   H5FD_MEM_OHDR

◆ H5FD_MEM_FSPACE_HDR

#define H5FD_MEM_FSPACE_HDR   H5FD_MEM_OHDR

◆ H5FD_MEM_FSPACE_SINFO

#define H5FD_MEM_FSPACE_SINFO   H5FD_MEM_LHEAP

◆ H5FD_MEM_SOHM_INDEX

#define H5FD_MEM_SOHM_INDEX   H5FD_MEM_BTREE

◆ H5FD_MEM_SOHM_TABLE

#define H5FD_MEM_SOHM_TABLE   H5FD_MEM_OHDR

◆ H5FD_VFD_DEFAULT

#define H5FD_VFD_DEFAULT   0 /* Default VFL driver value */

Typedef Documentation

◆ H5FD_mem_t

typedef enum H5F_mem_t H5FD_mem_t

Enumeration Type Documentation

◆ H5FD_file_image_op_t

Define enum for the source of file image callbacks

Enumerator
H5FD_FILE_IMAGE_OP_NO_OP 
H5FD_FILE_IMAGE_OP_PROPERTY_LIST_SET 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied while being set in a file access property list (FAPL)

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_COPY 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied when a FAPL is copied

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_GET 

Passed to the image_malloc and image_memcpy callbacks when a file image buffer is to be copied while being retrieved from a FAPL

H5FD_FILE_IMAGE_OP_PROPERTY_LIST_CLOSE 

Passed to the image_free callback when a file image buffer is to be released during a FAPL close operation

H5FD_FILE_IMAGE_OP_FILE_OPEN 

Passed to the image_malloc and image_memcpy callbackswhen a file image buffer is to be copied during a file open operation
While the file image being opened will typically be copied from a FAPL, this need not always be the case. For example, the core file driver, also known as the memory file driver, takes its initial image from a file.

H5FD_FILE_IMAGE_OP_FILE_RESIZE 

Passed to the image_realloc callback when a file driver needs to resize an image buffer

H5FD_FILE_IMAGE_OP_FILE_CLOSE 

Passed to the image_free callback when an image buffer is to be released during a file close operation

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 
)

◆ H5FDdriver_query()

herr_t H5FDdriver_query ( hid_t  driver_id,
unsigned long *  flags 
)

◆ 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 
)

◆ 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()

int 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 
)

◆ 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 
)