HDF5  1.12.0
Data Structures | Macros | Typedefs | Functions | Variables
H5FApkg.h File Reference
#include "H5FAprivate.h"
#include "H5ACprivate.h"
#include "H5FLprivate.h"

Go to the source code of this file.

Data Structures

struct  H5FA_hdr_t
 
struct  H5FA_dblock_t
 
struct  H5FA_dbk_page_t
 
struct  H5FA_t
 
struct  H5FA_hdr_cache_ud_t
 
struct  H5FA_dblock_cache_ud_t
 
struct  H5FA_dblk_page_cache_ud_t
 

Macros

#define H5FA_SIZEOF_CHKSUM   4
 
#define H5FA_METADATA_PREFIX_SIZE(c)
 
#define H5FA_HEADER_SIZE(sizeof_addr, sizeof_size)
 
#define H5FA_HEADER_SIZE_FILE(f)
 
#define H5FA_HEADER_SIZE_HDR(h)
 
#define H5FA_DBLOCK_PREFIX_SIZE(d)
 
#define H5FA_DBLOCK_SIZE(d)
 
#define H5FA_DBLK_PAGE_SIZE(h, nelmts)
 

Typedefs

typedef struct H5FA_hdr_t H5FA_hdr_t
 
typedef struct H5FA_dblock_t H5FA_dblock_t
 
typedef struct H5FA_dbk_page_t H5FA_dblk_page_t
 
typedef struct H5FA_hdr_cache_ud_t H5FA_hdr_cache_ud_t
 
typedef struct H5FA_dblock_cache_ud_t H5FA_dblock_cache_ud_t
 
typedef struct H5FA_dblk_page_cache_ud_t H5FA_dblk_page_cache_ud_t
 

Functions

H5_DLL herr_t H5FA__create_flush_depend (H5AC_info_t *parent_entry, H5AC_info_t *child_entry)
 
H5_DLL herr_t H5FA__destroy_flush_depend (H5AC_info_t *parent_entry, H5AC_info_t *child_entry)
 
H5_DLL H5FA_hdr_tH5FA__hdr_alloc (H5F_t *f)
 
H5_DLL herr_t H5FA__hdr_init (H5FA_hdr_t *hdr, void *ctx_udata)
 
H5_DLL haddr_t H5FA__hdr_create (H5F_t *f, const H5FA_create_t *cparam, void *ctx_udata)
 
H5_DLL void * H5FA__hdr_alloc_elmts (H5FA_hdr_t *hdr, size_t nelmts)
 
H5_DLL herr_t H5FA__hdr_free_elmts (H5FA_hdr_t *hdr, size_t nelmts, void *elmts)
 
H5_DLL herr_t H5FA__hdr_incr (H5FA_hdr_t *hdr)
 
H5_DLL herr_t H5FA__hdr_decr (H5FA_hdr_t *hdr)
 
H5_DLL herr_t H5FA__hdr_fuse_incr (H5FA_hdr_t *hdr)
 
H5_DLL size_t H5FA__hdr_fuse_decr (H5FA_hdr_t *hdr)
 
H5_DLL herr_t H5FA__hdr_modified (H5FA_hdr_t *hdr)
 
H5_DLL H5FA_hdr_tH5FA__hdr_protect (H5F_t *f, haddr_t fa_addr, void *ctx_udata, unsigned flags)
 
H5_DLL herr_t H5FA__hdr_unprotect (H5FA_hdr_t *hdr, unsigned cache_flags)
 
H5_DLL herr_t H5FA__hdr_delete (H5FA_hdr_t *hdr)
 
H5_DLL herr_t H5FA__hdr_dest (H5FA_hdr_t *hdr)
 
H5_DLL H5FA_dblock_tH5FA__dblock_alloc (H5FA_hdr_t *hdr)
 
H5_DLL haddr_t H5FA__dblock_create (H5FA_hdr_t *hdr, hbool_t *hdr_dirty)
 
H5_DLL unsigned H5FA__dblock_sblk_idx (const H5FA_hdr_t *hdr, hsize_t idx)
 
H5_DLL H5FA_dblock_tH5FA__dblock_protect (H5FA_hdr_t *hdr, haddr_t dblk_addr, unsigned flags)
 
H5_DLL herr_t H5FA__dblock_unprotect (H5FA_dblock_t *dblock, unsigned cache_flags)
 
H5_DLL herr_t H5FA__dblock_delete (H5FA_hdr_t *hdr, haddr_t dblk_addr)
 
H5_DLL herr_t H5FA__dblock_dest (H5FA_dblock_t *dblock)
 
H5_DLL herr_t H5FA__dblk_page_create (H5FA_hdr_t *hdr, haddr_t addr, size_t nelmts)
 
H5_DLL H5FA_dblk_page_tH5FA__dblk_page_alloc (H5FA_hdr_t *hdr, size_t nelmts)
 
H5_DLL H5FA_dblk_page_tH5FA__dblk_page_protect (H5FA_hdr_t *hdr, haddr_t dblk_page_addr, size_t dblk_page_nelmts, unsigned flags)
 
H5_DLL herr_t H5FA__dblk_page_unprotect (H5FA_dblk_page_t *dblk_page, unsigned cache_flags)
 
H5_DLL herr_t H5FA__dblk_page_dest (H5FA_dblk_page_t *dblk_page)
 
H5_DLL herr_t H5FA__hdr_debug (H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth, const H5FA_class_t *cls, haddr_t obj_addr)
 
H5_DLL herr_t H5FA__dblock_debug (H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth, const H5FA_class_t *cls, haddr_t hdr_addr, haddr_t obj_addr)
 

Variables

H5_DLLVAR const H5FA_class_t H5FA_CLS_TEST [1]
 
H5_DLLVAR const H5FA_class_t *const H5FA_client_class_g [H5FA_NUM_CLS_ID]
 

Macro Definition Documentation

◆ H5FA_DBLK_PAGE_SIZE

#define H5FA_DBLK_PAGE_SIZE (   h,
  nelmts 
)
Value:
( \
/* Fixed Array Data Block Page */ \
+ (nelmts * (size_t)(h)->cparam.raw_elmt_size) /* Elements in data block page */ \
+ H5FA_SIZEOF_CHKSUM /* Checksum for each page */ \
)

◆ H5FA_DBLOCK_PREFIX_SIZE

#define H5FA_DBLOCK_PREFIX_SIZE (   d)
Value:
( \
/* General metadata fields */ \
H5FA_METADATA_PREFIX_SIZE(TRUE) \
\
/* Sanity-checking fields */ \
+ (d)->hdr->sizeof_addr /* File address of Fixed Array header owning the data block */ \
\
/* Fixed Array Data Block specific fields */ \
+ (d)->dblk_page_init_size /* Fixed array data block 'page init' bitmasks (can be 0 if no pages) */ \
)

◆ H5FA_DBLOCK_SIZE

#define H5FA_DBLOCK_SIZE (   d)
Value:
( \
/* Data block prefix size */ \
H5FA_DBLOCK_PREFIX_SIZE(d) \
\
/* Fixed Array Elements|Pages of Elements*/ \
+ ((d)->hdr->cparam.nelmts * (size_t)(d)->hdr->cparam.raw_elmt_size) \
+ ((d)->npages * H5FA_SIZEOF_CHKSUM) /* Checksum */ \
)

◆ H5FA_HEADER_SIZE

#define H5FA_HEADER_SIZE (   sizeof_addr,
  sizeof_size 
)
Value:
( \
/* General metadata fields */ \
H5FA_METADATA_PREFIX_SIZE(TRUE) \
\
/* General array information */ \
+ 1 /* Element Size */ \
+ 1 /* Log2(Max. # of elements in data block page) - i.e. # of bits needed to store max. # of elements in data block page */ \
\
/* Fixed Array statistics fields */ \
+ (sizeof_size) /* # of elements in the fixed array */ \
\
/* Fixed Array Header specific fields */ \
+ (sizeof_addr) /* File address of Fixed Array data block */ \
)

◆ H5FA_HEADER_SIZE_FILE

#define H5FA_HEADER_SIZE_FILE (   f)
Value:
( \
H5FA_HEADER_SIZE(H5F_SIZEOF_ADDR(f), H5F_SIZEOF_SIZE(f)) \
)

◆ H5FA_HEADER_SIZE_HDR

#define H5FA_HEADER_SIZE_HDR (   h)
Value:
( \
H5FA_HEADER_SIZE((h)->sizeof_addr, (h)->sizeof_size) \
)

◆ H5FA_METADATA_PREFIX_SIZE

#define H5FA_METADATA_PREFIX_SIZE (   c)
Value:
( \
H5_SIZEOF_MAGIC /* Signature */ \
+ 1 /* Version */ \
+ 1 /* Array type */ \
+ ((c) ? H5FA_SIZEOF_CHKSUM : 0) /* Metadata checksum */ \
)

◆ H5FA_SIZEOF_CHKSUM

#define H5FA_SIZEOF_CHKSUM   4

Typedef Documentation

◆ H5FA_dblk_page_cache_ud_t

◆ H5FA_dblk_page_t

◆ H5FA_dblock_cache_ud_t

◆ H5FA_dblock_t

typedef struct H5FA_dblock_t H5FA_dblock_t

◆ H5FA_hdr_cache_ud_t

◆ H5FA_hdr_t

typedef struct H5FA_hdr_t H5FA_hdr_t

Function Documentation

◆ H5FA__create_flush_depend()

H5_DLL herr_t H5FA__create_flush_depend ( H5AC_info_t parent_entry,
H5AC_info_t child_entry 
)

◆ H5FA__dblk_page_alloc()

H5_DLL H5FA_dblk_page_t* H5FA__dblk_page_alloc ( H5FA_hdr_t hdr,
size_t  nelmts 
)

◆ H5FA__dblk_page_create()

H5_DLL herr_t H5FA__dblk_page_create ( H5FA_hdr_t hdr,
haddr_t  addr,
size_t  nelmts 
)

◆ H5FA__dblk_page_dest()

H5_DLL herr_t H5FA__dblk_page_dest ( H5FA_dblk_page_t dblk_page)

◆ H5FA__dblk_page_protect()

H5_DLL H5FA_dblk_page_t* H5FA__dblk_page_protect ( H5FA_hdr_t hdr,
haddr_t  dblk_page_addr,
size_t  dblk_page_nelmts,
unsigned  flags 
)

◆ H5FA__dblk_page_unprotect()

H5_DLL herr_t H5FA__dblk_page_unprotect ( H5FA_dblk_page_t dblk_page,
unsigned  cache_flags 
)

◆ H5FA__dblock_alloc()

H5_DLL H5FA_dblock_t* H5FA__dblock_alloc ( H5FA_hdr_t hdr)

◆ H5FA__dblock_create()

H5_DLL haddr_t H5FA__dblock_create ( H5FA_hdr_t hdr,
hbool_t hdr_dirty 
)

◆ H5FA__dblock_debug()

H5_DLL herr_t H5FA__dblock_debug ( H5F_t f,
haddr_t  addr,
FILE stream,
int  indent,
int  fwidth,
const H5FA_class_t cls,
haddr_t  hdr_addr,
haddr_t  obj_addr 
)

◆ H5FA__dblock_delete()

H5_DLL herr_t H5FA__dblock_delete ( H5FA_hdr_t hdr,
haddr_t  dblk_addr 
)

◆ H5FA__dblock_dest()

H5_DLL herr_t H5FA__dblock_dest ( H5FA_dblock_t dblock)

◆ H5FA__dblock_protect()

H5_DLL H5FA_dblock_t* H5FA__dblock_protect ( H5FA_hdr_t hdr,
haddr_t  dblk_addr,
unsigned  flags 
)

◆ H5FA__dblock_sblk_idx()

H5_DLL unsigned H5FA__dblock_sblk_idx ( const H5FA_hdr_t hdr,
hsize_t  idx 
)

◆ H5FA__dblock_unprotect()

H5_DLL herr_t H5FA__dblock_unprotect ( H5FA_dblock_t dblock,
unsigned  cache_flags 
)

◆ H5FA__destroy_flush_depend()

H5_DLL herr_t H5FA__destroy_flush_depend ( H5AC_info_t parent_entry,
H5AC_info_t child_entry 
)

◆ H5FA__hdr_alloc()

H5_DLL H5FA_hdr_t* H5FA__hdr_alloc ( H5F_t f)

◆ H5FA__hdr_alloc_elmts()

H5_DLL void* H5FA__hdr_alloc_elmts ( H5FA_hdr_t hdr,
size_t  nelmts 
)

◆ H5FA__hdr_create()

H5_DLL haddr_t H5FA__hdr_create ( H5F_t f,
const H5FA_create_t cparam,
void *  ctx_udata 
)

◆ H5FA__hdr_debug()

H5_DLL herr_t H5FA__hdr_debug ( H5F_t f,
haddr_t  addr,
FILE stream,
int  indent,
int  fwidth,
const H5FA_class_t cls,
haddr_t  obj_addr 
)

◆ H5FA__hdr_decr()

H5_DLL herr_t H5FA__hdr_decr ( H5FA_hdr_t hdr)

◆ H5FA__hdr_delete()

H5_DLL herr_t H5FA__hdr_delete ( H5FA_hdr_t hdr)

◆ H5FA__hdr_dest()

H5_DLL herr_t H5FA__hdr_dest ( H5FA_hdr_t hdr)

◆ H5FA__hdr_free_elmts()

H5_DLL herr_t H5FA__hdr_free_elmts ( H5FA_hdr_t hdr,
size_t  nelmts,
void *  elmts 
)

◆ H5FA__hdr_fuse_decr()

H5_DLL size_t H5FA__hdr_fuse_decr ( H5FA_hdr_t hdr)

◆ H5FA__hdr_fuse_incr()

H5_DLL herr_t H5FA__hdr_fuse_incr ( H5FA_hdr_t hdr)

◆ H5FA__hdr_incr()

H5_DLL herr_t H5FA__hdr_incr ( H5FA_hdr_t hdr)

◆ H5FA__hdr_init()

H5_DLL herr_t H5FA__hdr_init ( H5FA_hdr_t hdr,
void *  ctx_udata 
)

◆ H5FA__hdr_modified()

H5_DLL herr_t H5FA__hdr_modified ( H5FA_hdr_t hdr)

◆ H5FA__hdr_protect()

H5_DLL H5FA_hdr_t* H5FA__hdr_protect ( H5F_t f,
haddr_t  fa_addr,
void *  ctx_udata,
unsigned  flags 
)

◆ H5FA__hdr_unprotect()

H5_DLL herr_t H5FA__hdr_unprotect ( H5FA_hdr_t hdr,
unsigned  cache_flags 
)

Variable Documentation

◆ H5FA_client_class_g

H5_DLLVAR const H5FA_class_t* const H5FA_client_class_g[H5FA_NUM_CLS_ID]

◆ H5FA_CLS_TEST

H5_DLLVAR const H5FA_class_t H5FA_CLS_TEST[1]
H5F_SIZEOF_SIZE
#define H5F_SIZEOF_SIZE(F)
Definition: H5Fprivate.h:367
f
hdr f
Definition: H5EA.c:755
H5FA_SIZEOF_CHKSUM
#define H5FA_SIZEOF_CHKSUM
Definition: H5FApkg.h:50
hdr
hdr
Definition: H5EAhdr.c:821
size_t
size_t
Definition: H5overflow.txt:41
H5F_SIZEOF_ADDR
#define H5F_SIZEOF_ADDR(F)
Definition: H5Fprivate.h:366
TRUE
#define TRUE
Definition: H5FDmulti.c:36
nelmts
hdr stats stored nelmts
Definition: H5EAdblock.c:214