23 #error "Do not include this file outside the H5HF package!" 30 #include "H5HFprivate.h" 33 #include "H5ACprivate.h" 34 #include "H5B2private.h" 35 #include "H5FLprivate.h" 36 #include "H5FSprivate.h" 37 #include "H5SLprivate.h" 44 #define H5HF_SIZEOF_CHKSUM 4 47 #define H5HF_METADATA_PREFIX_SIZE(c) ( \ 50 + ((c) ? H5HF_SIZEOF_CHKSUM : 0) \ 54 #define H5HF_DTABLE_INFO_SIZE(h) ( \ 65 #define H5HF_HDR_FLAGS_HUGE_ID_WRAPPED 0x01 66 #define H5HF_HDR_FLAGS_CHECKSUM_DBLOCKS 0x02 72 #define H5HF_HEADER_SIZE(h) ( \ 74 H5HF_METADATA_PREFIX_SIZE(TRUE) \ 103 + H5HF_DTABLE_INFO_SIZE(h) \ 107 #define H5HF_MAN_ABS_DIRECT_OVERHEAD(h) ( \ 109 H5HF_METADATA_PREFIX_SIZE(h->checksum_dblocks) \ 113 + (h)->heap_off_size \ 117 #define H5HF_MAN_INDIRECT_CHILD_DIR_ENTRY_SIZE(h) ( \ 118 ((h)->filter_len > 0 ? \ 119 ((h)->sizeof_addr + (h)->sizeof_size + 4) : \ 124 #define H5HF_MAN_INDIRECT_SIZE(h, r) ( \ 126 H5HF_METADATA_PREFIX_SIZE(TRUE) \ 130 + (h)->heap_off_size \ 131 + (MIN(r, (h)->man_dtable.max_direct_rows) * (h)->man_dtable.cparam.width * H5HF_MAN_INDIRECT_CHILD_DIR_ENTRY_SIZE(h)) \ 132 + (((r > (h)->man_dtable.max_direct_rows) ? (r - (h)->man_dtable.max_direct_rows) : 0) * (h)->man_dtable.cparam.width * (h)->sizeof_addr) \ 136 #define H5HF_SIZEOF_OFFSET_BITS(b) (((b) + 7) / 8) 137 #define H5HF_SIZEOF_OFFSET_LEN(l) H5HF_SIZEOF_OFFSET_BITS(H5VM_log2_of2((unsigned)(l))) 141 #define H5HF_ID_VERS_CURR 0x00 142 #define H5HF_ID_VERS_MASK 0xC0 144 #define H5HF_ID_TYPE_MAN 0x00 145 #define H5HF_ID_TYPE_HUGE 0x10 146 #define H5HF_ID_TYPE_TINY 0x20 147 #define H5HF_ID_TYPE_RESERVED 0x30 148 #define H5HF_ID_TYPE_MASK 0x30 152 #define H5HF_MAN_ID_ENCODE(i, h, o, l) \ 153 *(i) = H5HF_ID_VERS_CURR | H5HF_ID_TYPE_MAN; \ 155 UINT64ENCODE_VAR((i), (o), (h)->heap_off_size); \ 156 UINT64ENCODE_VAR((i), (l), (h)->heap_len_size) 159 #define H5HF_MAN_ID_DECODE(i, h, f, o, l) \ 160 f = *(uint8_t *)i++; \ 161 UINT64DECODE_VAR((i), (o), (h)->heap_off_size); \ 162 UINT64DECODE_VAR((i), (l), (h)->heap_len_size) 166 #define H5HF_FSPACE_SECT_SINGLE 0 167 #define H5HF_FSPACE_SECT_FIRST_ROW 1 168 #define H5HF_FSPACE_SECT_NORMAL_ROW 2 169 #define H5HF_FSPACE_SECT_INDIRECT 3 172 #define H5HF_OP_MODIFY 0x0001 173 #define H5HF_OP_FLAGS (H5HF_OP_MODIFY) 176 #define H5HF_ROOT_IBLOCK_PINNED 0x01 177 #define H5HF_ROOT_IBLOCK_PROTECTED 0x02 276 unsigned num_entries;
576 unsigned *row,
unsigned *col);
580 unsigned start_col,
unsigned num_entries);
616 size_t min_dblock_size);
618 size_t min_dblock_size);
623 unsigned max_rows,
haddr_t *addr_p);
625 haddr_t iblock_addr,
unsigned iblock_nrows,
627 H5AC_protect_t rw,
hbool_t *did_protect);
629 unsigned cache_flags,
hbool_t did_protect);
651 haddr_t dblock_addr,
size_t dblock_size,
656 unsigned *par_entry,
hbool_t *par_did_protect, H5AC_protect_t rw);
663 const void *obj,
void *
id);
669 H5HF_operator_t op,
void *op_data);
675 void *obj,
void *
id);
677 const uint8_t *
id,
size_t *obj_len_p);
683 H5HF_operator_t op,
void *op_data);
705 H5HF_operator_t op,
void *op_data);
710 hbool_t dump_internal, FILE *stream,
int indent,
int fwidth);
712 FILE *stream,
int indent,
int fwidth);
714 FILE *stream,
int indent,
int fwidth,
haddr_t hdr_addr,
size_t nrec);
716 FILE *stream,
int indent,
int fwidth);
718 FILE *stream,
int indent,
int fwidth,
haddr_t hdr_addr,
unsigned nrows);
781 H5_DLL int H5HF_cmp_cparam_test(
const H5HF_create_t *cparam1,
const H5HF_create_t *cparam2);
782 H5_DLL unsigned H5HF_get_max_root_rows(
const H5HF_t *fh);
783 H5_DLL unsigned H5HF_get_dtable_width_test(
const H5HF_t *fh);
784 H5_DLL unsigned H5HF_get_dtable_max_drows_test(
const H5HF_t *fh);
785 H5_DLL unsigned H5HF_get_iblock_max_drows_test(
const H5HF_t *fh,
unsigned pos);
789 H5_DLL herr_t H5HF_get_id_type_test(
const void *
id,
unsigned char *obj_type);
union H5HF_free_section_t::@28::@31::@32 u
H5_DLL herr_t H5HF_sect_row_revive(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect)
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_NORMAL_ROW[1]
H5_DLL herr_t H5HF_op_write(const void *obj, size_t obj_len, void *op_data)
H5_DLL herr_t H5HF_sect_single_dblock_info(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect, haddr_t *dblock_addr, size_t *dblock_size)
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_FILT_INDIR[1]
H5_DLL herr_t H5HF_op_read(const void *obj, size_t obj_len, void *op_data)
H5HF_indirect_filt_ent_t * filt_ents
struct H5HF_hdr_cache_ud_t H5HF_hdr_cache_ud_t
struct H5HF_huge_bt2_filt_dir_rec_t H5HF_huge_bt2_filt_dir_rec_t
H5_DLL herr_t H5HF_man_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, H5HF_operator_t op, void *op_data)
H5_DLL herr_t H5HF_man_iter_down(H5HF_block_iter_t *biter, H5HF_indirect_t *iblock)
H5_DLL herr_t H5HF_man_iter_offset(H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, hsize_t *offset)
H5_DLL H5HF_hdr_t * H5HF_hdr_alloc(H5F_t *f)
H5_DLL herr_t H5HF_hdr_reverse_iter(H5HF_hdr_t *hdr, hid_t dxpl_id, haddr_t dblock_addr)
struct H5HF_free_section_t H5HF_free_section_t
H5_DLL herr_t H5HF_man_iblock_entry_addr(H5HF_indirect_t *iblock, unsigned entry, haddr_t *child_addr)
H5_DLL herr_t H5HF_hdr_update_iter(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t min_dblock_size)
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_SINGLE[1]
H5_DLL herr_t H5HF_man_iter_reset(H5HF_block_iter_t *biter)
H5_DLL herr_t H5HF_man_iter_start_entry(H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, H5HF_indirect_t *iblock, unsigned start_entry)
HDFFCLIBAPI intf * block_size
H5_DLL herr_t H5HF_man_insert(H5HF_hdr_t *fh, hid_t dxpl_id, size_t obj_size, const void *obj, void *id)
H5_DLL void H5HF_hdr_print(const H5HF_hdr_t *hdr, hid_t dxpl_id, hbool_t dump_internal, FILE *stream, int indent, int fwidth)
H5_DLL herr_t H5HF_space_remove(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *node)
H5_DLL herr_t H5HF_hdr_reset_iter(H5HF_hdr_t *hdr, hsize_t curr_off)
H5_DLL herr_t H5HF_huge_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, H5HF_operator_t op, void *op_data)
H5_DLL herr_t H5HF_space_size(H5HF_hdr_t *hdr, hid_t dxpl_id, hsize_t *fs_size)
H5_DLL herr_t H5HF_man_dblock_dest(H5HF_direct_t *dblock)
HDFFCLIBAPI intf intf intf intf * nentries
H5HF_indirect_t * context
struct H5HF_huge_bt2_filt_indir_rec_t H5HF_huge_bt2_filt_indir_rec_t
H5_DLL herr_t H5HF_man_dblock_delete(H5F_t *f, hid_t dxpl_id, haddr_t dblock_addr, hsize_t dblock_size)
H5_DLL herr_t H5HF_dblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int fwidth, haddr_t hdr_addr, size_t nrec)
H5_DLL herr_t H5HF_huge_bt2_filt_dir_found(const void *nrecord, void *op_data)
struct H5HF_indirect_filt_ent_t H5HF_indirect_filt_ent_t
H5_DLL herr_t H5HF_huge_get_obj_len(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, size_t *obj_len_p)
struct H5HF_free_section_t * under
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_DIR[1]
H5_DLL herr_t H5HF_huge_delete(H5HF_hdr_t *hdr, hid_t dxpl_id)
H5_DLL herr_t H5HF_man_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id, void *obj)
struct H5HF_indirect_ent_t H5HF_indirect_ent_t
H5_DLL herr_t H5HF_huge_bt2_dir_remove(const void *nrecord, void *op_data)
H5_DLL herr_t H5HF_man_dblock_locate(H5HF_hdr_t *hdr, hid_t dxpl_id, hsize_t obj_off, H5HF_indirect_t **par_iblock, unsigned *par_entry, hbool_t *par_did_protect, H5AC_protect_t rw)
H5_DLL herr_t H5HF_man_iter_start_offset(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_block_iter_t *biter, hsize_t offset)
H5_DLL H5HF_free_section_t * H5HF_sect_single_new(hsize_t sect_off, size_t sect_size, H5HF_indirect_t *parent, unsigned par_entry)
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_FIRST_ROW[1]
H5_DLL herr_t H5HF_tiny_read(H5HF_hdr_t *fh, const uint8_t *id, void *obj)
size_t pline_root_direct_size
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_INDIR[1]
struct H5HF_free_section_t * parent
H5_DLL herr_t H5HF_space_sect_change_class(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect, unsigned new_class)
H5_DLL herr_t H5HF_hdr_decr(H5HF_hdr_t *hdr)
H5_DLL herr_t H5HF_man_dblock_create(hid_t dxpl_id, H5HF_hdr_t *hdr, H5HF_indirect_t *par_iblock, unsigned par_entry, haddr_t *addr_p, H5HF_free_section_t **ret_sec_node)
H5_DLL herr_t H5HF_dtable_lookup(const H5HF_dtable_t *dtable, hsize_t off, unsigned *row, unsigned *col)
H5_DLL herr_t H5HF_hdr_inc_alloc(H5HF_hdr_t *hdr, size_t alloc_size)
H5_DLL herr_t H5HF_hdr_free(H5HF_hdr_t *hdr)
unsigned max_dir_blk_off_size
H5_DLL herr_t H5HF_huge_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id, void *obj)
struct H5HF_dtable_t H5HF_dtable_t
H5_DLL herr_t H5HF_iblock_dirty(H5HF_indirect_t *iblock)
H5FL_EXTERN(H5HF_indirect_t)
H5_DLL herr_t H5HF_hdr_start_iter(H5HF_hdr_t *hdr, H5HF_indirect_t *iblock, hsize_t curr_off, unsigned curr_entry)
struct H5HF_huge_bt2_indir_rec_t H5HF_huge_bt2_indir_rec_t
H5FL_BLK_EXTERN(direct_block)
H5_DLL herr_t H5HF_hdr_dirty(H5HF_hdr_t *hdr)
unsigned long long hsize_t
unsigned pline_root_direct_filter_mask
struct H5HF_freelist_t H5HF_freelist_t
H5_DLL herr_t H5HF_man_write(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, const void *obj)
H5_DLL herr_t H5HF_hdr_skip_blocks(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries)
struct H5HF_huge_bt2_dir_rec_t H5HF_huge_bt2_dir_rec_t
H5_DLL herr_t H5HF_tiny_insert(H5HF_hdr_t *hdr, size_t obj_size, const void *obj, void *id)
H5_DLL haddr_t H5HF_hdr_create(H5F_t *f, hid_t dxpl_id, const H5HF_create_t *cparam)
H5_DLL herr_t H5HF_iblock_decr(H5HF_indirect_t *iblock)
H5_DLL herr_t H5HF_tiny_init(H5HF_hdr_t *hdr)
H5_DLL herr_t H5HF_tiny_op(H5HF_hdr_t *hdr, const uint8_t *id, H5HF_operator_t op, void *op_data)
H5_DLL herr_t H5HF_space_add(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *node, unsigned flags)
H5_DLL herr_t H5HF_dtable_dest(H5HF_dtable_t *dtable)
struct H5HF_free_section_t::@28::@31 indirect
struct H5HF_indirect_t * root_iblock
H5_DLL herr_t H5HF_huge_init(H5HF_hdr_t *hdr)
struct H5HF_iblock_cache_ud_t H5HF_iblock_cache_ud_t
H5_DLLVAR const H5AC_class_t H5AC_FHEAP_IBLOCK[1]
H5_DLL herr_t H5HF_huge_write(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id, const void *obj)
H5_DLL herr_t H5HF_sect_row_reduce(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect, unsigned *entry_p)
H5_DLL herr_t H5HF_space_delete(H5HF_hdr_t *hdr, hid_t dxpl_id)
H5HF_block_iter_t next_block
H5_DLL herr_t H5HF_man_iter_set_entry(const H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, unsigned entry)
H5_DLL herr_t H5HF_huge_bt2_filt_dir_remove(const void *nrecord, void *op_data)
hsize_t * row_tot_dblock_free
struct H5HF_parent_t H5HF_parent_t
H5_DLL herr_t H5HF_hdr_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int fwidth)
H5_DLL H5HF_indirect_t * H5HF_sect_row_get_iblock(H5HF_free_section_t *sect)
H5_DLL herr_t H5HF_man_iblock_root_create(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t min_dblock_size)
H5_DLL htri_t H5HF_space_find(H5HF_hdr_t *hdr, hid_t dxpl_id, hsize_t request, H5HF_free_section_t **node)
H5_DLL herr_t H5HF_hdr_fuse_incr(H5HF_hdr_t *hdr)
H5_DLL herr_t H5HF_sect_single_free(H5FS_section_info_t *sect)
H5_DLL unsigned H5HF_dtable_size_to_row(const H5HF_dtable_t *dtable, size_t block_size)
H5_DLL herr_t H5HF_man_iblock_unprotect(H5HF_indirect_t *iblock, hid_t dxpl_id, unsigned cache_flags, hbool_t did_protect)
H5_DLL herr_t H5HF_sect_single_revive(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect)
H5_DLL herr_t H5HF_man_iblock_detach(H5HF_indirect_t *iblock, hid_t dxpl_id, unsigned entry)
H5_DLL herr_t H5HF_space_start(H5HF_hdr_t *hdr, hid_t dxpl_id, hbool_t may_create)
H5_DLL H5HF_hdr_t * H5HF_hdr_protect(H5F_t *f, hid_t dxpl_id, haddr_t addr, H5AC_protect_t rw)
H5_DLL herr_t H5HF_hdr_adjust_heap(H5HF_hdr_t *hdr, hsize_t new_size, hssize_t extra_free)
H5_DLL herr_t H5HF_hdr_adj_free(H5HF_hdr_t *hdr, ssize_t amt)
struct H5HF_indirect_t ** child_iblocks
H5_DLL herr_t H5HF_hdr_empty(H5HF_hdr_t *hdr)
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_FILT_DIR[1]
H5_DLL herr_t H5HF_huge_bt2_filt_indir_found(const void *nrecord, void *op_data)
H5_DLL herr_t H5HF_man_dblock_new(H5HF_hdr_t *fh, hid_t dxpl_id, size_t request, H5HF_free_section_t **ret_sec_node)
struct H5HF_direct_t H5HF_direct_t
struct H5HF_block_loc_t * up
H5_DLL herr_t H5HF_hdr_dest(H5HF_hdr_t *hdr)
H5_DLL herr_t H5HF_huge_bt2_filt_indir_remove(const void *nrecord, void *op_data)
H5_DLL herr_t H5HF_man_iblock_alloc_row(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t **sec_node)
H5_DLL herr_t H5HF_hdr_incr(H5HF_hdr_t *hdr)
struct H5HF_indirect_t * parent
struct H5HF_block_iter_t H5HF_block_iter_t
H5FL_SEQ_EXTERN(H5HF_indirect_ent_t)
H5_DLL herr_t H5HF_man_iblock_size(H5F_t *f, hid_t dxpl_id, H5HF_hdr_t *hdr, haddr_t iblock_addr, unsigned nrows, H5HF_indirect_t *par_iblock, unsigned par_entry, hsize_t *heap_size)
H5_DLL herr_t H5HF_space_close(H5HF_hdr_t *hdr, hid_t dxpl_id)
H5_DLL herr_t H5HF_man_dblock_destroy(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_direct_t *dblock, haddr_t dblock_addr)
H5_DLL herr_t H5HF_iblock_incr(H5HF_indirect_t *iblock)
H5_DLL unsigned H5HF_dtable_size_to_rows(const H5HF_dtable_t *dtable, hsize_t size)
H5_DLL herr_t H5HF_sect_indirect_add(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries)
H5_DLL H5HF_indirect_t * H5HF_man_iblock_protect(H5HF_hdr_t *hdr, hid_t dxpl_id, haddr_t iblock_addr, unsigned iblock_nrows, H5HF_indirect_t *par_iblock, unsigned par_entry, hbool_t must_protect, H5AC_protect_t rw, hbool_t *did_protect)
struct H5HF_hdr_t H5HF_hdr_t
H5_DLL void H5HF_iblock_print(const H5HF_indirect_t *iblock, hbool_t dump_internal, FILE *stream, int indent, int fwidth)
H5_DLL herr_t H5HF_man_iblock_root_double(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t min_dblock_size)
H5_DLL herr_t H5HF_sect_single_reduce(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_free_section_t *sect, size_t amt)
H5_DLL hbool_t H5HF_man_iter_ready(H5HF_block_iter_t *biter)
signed long long hssize_t
struct H5HF_free_section_t ** indir_ents
hbool_t tiny_len_extended
struct H5HF_dblock_cache_ud_t H5HF_dblock_cache_ud_t
H5_DLL herr_t H5HF_huge_bt2_indir_remove(const void *nrecord, void *op_data)
H5_DLL herr_t H5HF_tiny_remove(H5HF_hdr_t *fh, const uint8_t *id)
HDFFCLIBAPI intf intf * flags
H5_DLL herr_t H5HF_man_iblock_delete(H5HF_hdr_t *hdr, hid_t dxpl_id, haddr_t iblock_addr, unsigned iblock_nrows, H5HF_indirect_t *par_iblock, unsigned par_entry)
H5HF_indirect_t * H5HF_indirect_ptr_t
H5_DLL hsize_t H5HF_dtable_span_size(const H5HF_dtable_t *dtable, unsigned start_row, unsigned start_col, unsigned num_entries)
struct H5HF_block_loc_t H5HF_block_loc_t
H5_DLL herr_t H5HF_man_iter_init(H5HF_block_iter_t *biter)
H5_DLL herr_t H5HF_man_iblock_attach(H5HF_indirect_t *iblock, unsigned entry, haddr_t dblock_addr)
H5_DLLVAR const H5AC_class_t H5AC_FHEAP_HDR[1]
struct H5HF_free_section_t ** dir_rows
H5_DLL herr_t H5HF_hdr_inc_iter(H5HF_hdr_t *hdr, hsize_t adv_size, unsigned nentries)
size_t * row_max_dblock_free
H5_DLL herr_t H5HF_iblock_debug(H5F_t *f, hid_t dxpl_id, haddr_t addr, FILE *stream, int indent, int fwidth, haddr_t hdr_addr, unsigned nrows)
H5_DLL herr_t H5HF_hdr_delete(H5HF_hdr_t *hdr, hid_t dxpl_id)
H5_DLLVAR const H5AC_class_t H5AC_FHEAP_DBLOCK[1]
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_INDIRECT[1]
H5_DLL herr_t H5HF_huge_term(H5HF_hdr_t *hdr, hid_t dxpl_id)
H5_DLL herr_t H5HF_man_iter_curr(H5HF_block_iter_t *biter, unsigned *row, unsigned *col, unsigned *entry, H5HF_indirect_t **block)
HDFFCLIBAPI intf * offset
H5HF_dtable_cparam_t cparam
H5_DLL herr_t H5HF_man_iblock_create(H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_indirect_t *par_iblock, unsigned par_entry, unsigned nrows, unsigned max_rows, haddr_t *addr_p)
H5_DLL herr_t H5HF_man_iter_up(H5HF_block_iter_t *biter)
H5_DLL herr_t H5HF_hdr_finish_init_phase1(H5HF_hdr_t *hdr)
H5_DLL H5HF_direct_t * H5HF_man_dblock_protect(H5HF_hdr_t *hdr, hid_t dxpl_id, haddr_t dblock_addr, size_t dblock_size, H5HF_indirect_t *par_iblock, unsigned par_entry, H5AC_protect_t rw)
H5_DLL size_t H5HF_hdr_fuse_decr(H5HF_hdr_t *hdr)
H5_DLL herr_t H5HF_hdr_finish_init_phase2(H5HF_hdr_t *hdr)
H5_DLL herr_t H5HF_huge_remove(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id)
H5_DLL herr_t H5HF_man_remove(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id)
H5_DLL herr_t H5HF_hdr_finish_init(H5HF_hdr_t *hdr)
H5FS_section_info_t sect_info
H5_DLL herr_t H5HF_tiny_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
unsigned root_iblock_flags
H5HF_indirect_ent_t * ents
H5_DLL herr_t H5HF_huge_insert(H5HF_hdr_t *hdr, hid_t dxpl_id, size_t obj_size, void *obj, void *id)
H5_DLL herr_t H5HF_space_revert_root(const H5HF_hdr_t *hdr, hid_t dxpl_id)
H5_DLL herr_t H5HF_man_iblock_dest(H5HF_indirect_t *iblock)
H5_DLL herr_t H5HF_space_create_root(const H5HF_hdr_t *hdr, hid_t dxpl_id, H5HF_indirect_t *root_iblock)
H5_DLL herr_t H5HF_dtable_init(H5HF_dtable_t *dtable)
H5_DLL herr_t H5HF_man_iter_next(H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, unsigned nentries)
H5_DLL herr_t H5HF_huge_bt2_indir_found(const void *nrecord, void *op_data)