 |
HDF5
1.12.0
|
Go to the documentation of this file.
22 #if !(defined H5HF_FRIEND || defined H5HF_MODULE)
23 #error "Do not include this file outside the H5HF package!"
44 #define H5HF_SIZEOF_CHKSUM 4
47 #define H5HF_METADATA_PREFIX_SIZE(c) ( \
50 + ((c) ? (unsigned)H5HF_SIZEOF_CHKSUM : (unsigned)0) \
54 #define H5HF_DTABLE_INFO_SIZE(h) ( \
56 + (unsigned)(h)->sizeof_size \
57 + (unsigned)(h)->sizeof_size \
60 + (unsigned)(h)->sizeof_addr \
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) \
85 + (unsigned)(h)->sizeof_size \
86 + (unsigned)(h)->sizeof_addr \
89 + (unsigned)(h)->sizeof_size \
90 + (unsigned)(h)->sizeof_addr \
93 + (unsigned)(h)->sizeof_size \
94 + (unsigned)(h)->sizeof_size \
95 + (unsigned)(h)->sizeof_size \
96 + (unsigned)(h)->sizeof_size \
97 + (unsigned)(h)->sizeof_size \
98 + (unsigned)(h)->sizeof_size \
99 + (unsigned)(h)->sizeof_size \
100 + (unsigned)(h)->sizeof_size \
103 + H5HF_DTABLE_INFO_SIZE(h) \
107 #define H5HF_MAN_ABS_DIRECT_OVERHEAD(h) ( \
109 H5HF_METADATA_PREFIX_SIZE(h->checksum_dblocks) \
112 + (unsigned)(h)->sizeof_addr \
113 + (unsigned)(h)->heap_off_size \
117 #define H5HF_MAN_INDIRECT_CHILD_DIR_ENTRY_SIZE(h) ( \
118 ((h)->filter_len > 0 ? \
119 ((unsigned)(h)->sizeof_addr + (unsigned)(h)->sizeof_size + (unsigned)4) : \
120 (unsigned)(h)->sizeof_addr) \
124 #define H5HF_MAN_INDIRECT_SIZE(h, r) ( \
126 H5HF_METADATA_PREFIX_SIZE(TRUE) \
129 + (unsigned)(h)->sizeof_addr \
130 + (unsigned)(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
612 unsigned *row,
unsigned *col);
616 unsigned start_col,
unsigned num_entries);
635 unsigned start_entry,
unsigned nentries);
650 size_t min_dblock_size);
652 size_t min_dblock_size);
656 unsigned par_entry,
unsigned nrows,
unsigned max_rows,
haddr_t *addr_p);
658 unsigned iblock_nrows,
H5HF_indirect_t *par_iblock,
unsigned par_entry,
668 unsigned iblock_nrows,
H5HF_indirect_t *par_iblock,
unsigned par_entry);
672 hsize_t block_off,
hsize_t *ret_par_block_off,
unsigned *ret_entry);
695 const void *obj,
void *
id);
709 void *obj,
void *
id);
804 unsigned start_entry,
unsigned nentries);
unsigned entry
Definition: H5HFpkg.h:468
hsize_t len
Definition: H5HFpkg.h:474
hbool_t checked_filters
Definition: H5HFpkg.h:360
H5_DLL herr_t H5HF_iblock_dirty(H5HF_indirect_t *iblock)
Definition: H5HFiblock.c:326
Definition: H5HFpkg.h:185
haddr_t addr
Definition: H5HFpkg.h:392
unsigned id_len
Definition: H5HFpkg.h:301
struct H5HF_indirect_filt_ent_t H5HF_indirect_filt_ent_t
H5_DLL H5HF_indirect_t * H5HF_sect_row_get_iblock(H5HF_free_section_t *sect)
Definition: H5HFsection.c:1517
int ssize_t
Definition: H5public.h:167
H5FL_BLK_EXTERN(direct_block)
H5_DLL herr_t H5HF__sect_indirect_add(H5HF_hdr_t *hdr, H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries)
Definition: H5HFsection.c:2667
size_t * row_max_dblock_free
Definition: H5HFpkg.h:213
struct H5HF_hdr_cache_ud_t H5HF_hdr_cache_ud_t
size_t size
Definition: H5HFpkg.h:393
hsize_t man_alloc_size
Definition: H5HFpkg.h:330
herr_t H5HF_get_id_type_test(const void *_id, unsigned char *obj_type)
Definition: H5HFtest.c:473
H5_DLL herr_t H5HF__man_iter_start_offset(H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, hsize_t offset)
Definition: H5HFiter.c:126
H5_DLL herr_t H5HF__space_close(H5HF_hdr_t *hdr)
Definition: H5HFspace.c:514
iblock size
Definition: H5EAcache.c:787
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_FILT_DIR[1]
Definition: H5HFpkg.h:570
unsigned par_entry
Definition: H5HFpkg.h:391
struct H5HF_free_section_t ** indir_ents
Definition: H5HFpkg.h:287
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_FIRST_ROW[1]
Definition: H5HFpkg.h:576
H5_DLL herr_t H5HF__man_iblock_root_double(H5HF_hdr_t *hdr, size_t min_dblock_size)
Definition: H5HFiblock.c:501
hdr f
Definition: H5EA.c:755
H5_DLL herr_t H5HF_man_iblock_dest(H5HF_indirect_t *iblock)
Definition: H5HFiblock.c:1857
unsigned pline_root_direct_filter_mask
Definition: H5HFpkg.h:326
H5HF_hdr_t * hdr
Definition: H5HFpkg.h:383
H5_DLL herr_t H5HF__huge_bt2_indir_found(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:276
struct H5HF_free_section_t * under
Definition: H5HFpkg.h:255
H5_DLL herr_t H5HF__huge_bt2_filt_dir_found(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:873
H5_DLL herr_t H5HF__man_remove(H5HF_hdr_t *hdr, const uint8_t *id)
Definition: H5HFman.c:563
Definition: H5FSpkg.h:150
H5_DLL herr_t H5HF__sect_single_revive(H5HF_hdr_t *hdr, H5HF_free_section_t *sect)
Definition: H5HFsection.c:599
H5HF_parent_t * par_info
Definition: H5HFpkg.h:519
hbool_t pending_delete
Definition: H5HFpkg.h:345
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_INDIRECT[1]
Definition: H5HFpkg.h:582
H5HF_indirect_filt_ent_t * filt_ents
Definition: H5HFpkg.h:407
Definition: H5B2pkg.h:249
herr_t(* H5HF_operator_t)(const void *obj, size_t obj_len, void *op_data)
Definition: H5HFprivate.h:93
H5HF_block_iter_t next_block
Definition: H5HFpkg.h:351
H5HF_indirect_t * parent
Definition: H5HFpkg.h:417
uint8_t heap_off_size
Definition: H5HFpkg.h:358
struct H5HF_free_section_t ** dir_rows
Definition: H5HFpkg.h:285
H5_DLL herr_t H5HF__space_create_root(const H5HF_hdr_t *hdr, H5HF_indirect_t *root_iblock)
Definition: H5HFspace.c:393
hbool_t ready
Definition: H5HFpkg.h:242
H5_DLL htri_t H5HF__space_find(H5HF_hdr_t *hdr, hsize_t request, H5HF_free_section_t **node)
Definition: H5HFspace.c:207
hsize_t man_size
Definition: H5HFpkg.h:329
unsigned nchildren
Definition: H5HFpkg.h:396
size_t file_rc
Definition: H5HFpkg.h:344
void * fd_parent
Definition: H5HFpkg.h:418
size_t rc
Definition: H5HFpkg.h:382
uint32_t
Definition: H5overflow.txt:38
herr_t H5HF_get_id_off_test(const H5HF_t *fh, const void *_id, hsize_t *obj_off)
Definition: H5HFtest.c:439
H5_DLL herr_t H5HF_iblock_incr(H5HF_indirect_t *iblock)
Definition: H5HFiblock.c:207
H5_DLL herr_t H5HF_iblock_debug(H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth, haddr_t hdr_addr, unsigned nrows)
Definition: H5HFdbg.c:768
H5FL_SEQ_EXTERN(H5HF_indirect_ent_t)
unsigned root_iblock_flags
Definition: H5HFpkg.h:349
iblock
Definition: H5EAiblock.c:509
H5_DLL herr_t H5HF__space_size(H5HF_hdr_t *hdr, hsize_t *fs_size)
Definition: H5HFspace.c:431
H5HF_dtable_cparam_t cparam
Definition: H5HFpkg.h:187
CATCH haddr_t
Definition: H5EAdblock.c:162
H5_DLL herr_t H5HF__man_write(H5HF_hdr_t *hdr, const uint8_t *id, const void *obj)
Definition: H5HFman.c:490
*s *s indent
Definition: H5HLdbg.c:111
H5_DLL herr_t H5HF__sect_single_reduce(H5HF_hdr_t *hdr, H5HF_free_section_t *sect, size_t amt)
Definition: H5HFsection.c:695
hbool_t tiny_len_extended
Definition: H5HFpkg.h:357
Definition: H5HFpkg.h:296
H5_DLL herr_t H5HF__huge_delete(H5HF_hdr_t *hdr)
Definition: H5HFhuge.c:1161
struct H5HF_free_section_t * parent
Definition: H5HFpkg.h:279
H5_DLL herr_t H5HF__space_start(H5HF_hdr_t *hdr, hbool_t may_create)
Definition: H5HFspace.c:98
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_DIR[1]
Definition: H5HFpkg.h:567
H5_DLL herr_t H5HF__hdr_reverse_iter(H5HF_hdr_t *hdr, haddr_t dblock_addr)
Definition: H5HFhdr.c:1206
Definition: H5FSprivate.h:96
H5_DLL herr_t H5HF__huge_op(H5HF_hdr_t *hdr, const uint8_t *id, H5HF_operator_t op, void *op_data)
Definition: H5HFhuge.c:952
unsigned H5HF_get_dtable_width_test(const H5HF_t *fh)
Definition: H5HFtest.c:277
Definition: H5FSprivate.h:64
unsigned max_root_rows
Definition: H5HFpkg.h:199
hsize_t man_nobjs
Definition: H5HFpkg.h:332
unsigned max_direct_rows
Definition: H5HFpkg.h:200
#define H5_DLLVAR
Definition: H5api_adpt.h:235
H5_DLL herr_t H5HF__hdr_empty(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:1351
hsize_t obj_size
Definition: H5HFpkg.h:498
Definition: H5Oprivate.h:701
H5_DLL herr_t H5HF__space_revert_root(const H5HF_hdr_t *hdr)
Definition: H5HFspace.c:301
uint8_t * blk
Definition: H5HFpkg.h:427
H5_DLL herr_t H5HF_hdr_finish_init_phase2(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:248
hsize_t len
Definition: H5HFpkg.h:496
int H5HF_cmp_cparam_test(const H5HF_create_t *cparam1, const H5HF_create_t *cparam2)
Definition: H5HFtest.c:126
size_t size
Definition: H5HFpkg.h:372
H5_DLL herr_t H5HF__huge_bt2_filt_dir_remove(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:898
unsigned start_bits
Definition: H5HFpkg.h:201
unsigned H5HF_get_max_root_rows(const H5HF_t *fh)
Definition: H5HFtest.c:246
H5HF_parent_t par_info
Definition: H5HFpkg.h:526
H5FL_EXTERN(H5HF_indirect_t)
struct H5HF_hdr_t H5HF_hdr_t
Definition: H5HFprivate.h:47
const unsigned * nrows
Definition: H5HFpkg.h:521
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_INDIR[1]
Definition: H5HFpkg.h:561
H5_DLL herr_t H5HF_sect_single_dblock_info(H5HF_hdr_t *hdr, const H5HF_free_section_t *sect, haddr_t *dblock_addr, size_t *dblock_size)
Definition: H5HFsection.c:647
haddr_t fs_addr
Definition: H5HFpkg.h:316
struct H5HF_dblock_cache_ud_t H5HF_dblock_cache_ud_t
hsize_t huge_nobjs
Definition: H5HFpkg.h:334
H5HF_hdr_t * hdr
Definition: H5HFpkg.h:416
unsigned row
Definition: H5HFpkg.h:229
H5_DLL herr_t H5HF_hdr_decr(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:616
unsigned char uint8_t
Definition: H5private.h:429
H5F_t * f
Definition: H5HFpkg.h:343
H5_DLL herr_t H5HF_hdr_inc_iter(H5HF_hdr_t *hdr, hsize_t adv_size, unsigned nentries)
Definition: H5HFhdr.c:1166
uint8_t sizeof_size
Definition: H5HFpkg.h:346
H5_DLL herr_t H5HF__hdr_delete(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:1445
hsize_t * row_block_size
Definition: H5HFpkg.h:206
H5_DLL H5HF_direct_t * H5HF__man_dblock_protect(H5HF_hdr_t *hdr, haddr_t dblock_addr, size_t dblock_size, H5HF_indirect_t *par_iblock, unsigned par_entry, unsigned flags)
Definition: H5HFdblock.c:441
H5_DLL herr_t H5HF__huge_write(H5HF_hdr_t *hdr, const uint8_t *id, const void *obj)
Definition: H5HFhuge.c:838
unsigned filter_mask
Definition: H5HFpkg.h:544
hdr
Definition: H5EAhdr.c:821
unsigned curr_root_rows
Definition: H5HFpkg.h:192
Definition: H5HFpkg.h:518
H5_DLL herr_t H5HF__sect_row_reduce(H5HF_hdr_t *hdr, H5HF_free_section_t *sect, unsigned *entry_p)
Definition: H5HFsection.c:1400
hsize_t tiny_nobjs
Definition: H5HFpkg.h:336
unsigned rc
Definition: H5HFpkg.h:283
union H5HF_free_section_t::@17::@20::@21 u
struct H5HF_indirect_ent_t H5HF_indirect_ent_t
H5_DLL herr_t H5HF_man_iblock_attach(H5HF_indirect_t *iblock, unsigned entry, haddr_t dblock_addr)
Definition: H5HFiblock.c:1289
struct H5HF_block_iter_t H5HF_block_iter_t
H5_DLL herr_t H5HF_dtable_lookup(const H5HF_dtable_t *dtable, hsize_t off, unsigned *row, unsigned *col)
Definition: H5HFdtable.c:153
hsize_t obj_len
Definition: H5HFpkg.h:509
struct H5HF_huge_bt2_dir_rec_t H5HF_huge_bt2_dir_rec_t
unable to release heap data block
Definition: H5HL.c:384
H5_DLL herr_t H5HF_hdr_finish_init(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:303
hsize_t H5HF_get_dblock_free_test(const H5HF_t *fh, unsigned row)
Definition: H5HFtest.c:408
H5_DLL herr_t H5HF__space_add(H5HF_hdr_t *hdr, H5HF_free_section_t *node, unsigned flags)
Definition: H5HFspace.c:162
int htri_t
Definition: H5public.h:160
size_t write_size
Definition: H5HFpkg.h:452
haddr_t addr
Definition: H5HFpkg.h:489
struct H5HF_parent_t H5HF_parent_t
Definition: H5HFpkg.h:365
H5F_t * f
Definition: H5HFpkg.h:461
hbool_t debug_objs
Definition: H5HFpkg.h:305
H5_DLL haddr_t H5HF_hdr_create(H5F_t *f, const H5HF_create_t *cparam)
Definition: H5HFhdr.c:341
hsize_t total_man_free
Definition: H5HFpkg.h:315
H5_DLL herr_t H5HF_man_iter_set_entry(const H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, unsigned entry)
Definition: H5HFiter.c:281
H5_DLL herr_t H5HF_hdr_fuse_incr(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:655
hssize_t
Definition: H5overflow.txt:45
Definition: H5HFpkg.h:479
H5_DLL herr_t H5HF__man_iblock_alloc_row(H5HF_hdr_t *hdr, H5HF_free_section_t **sec_node)
Definition: H5HFiblock.c:895
hsize_t block_off
Definition: H5HFpkg.h:405
H5_DLL size_t H5HF_hdr_fuse_decr(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:683
H5_DLL herr_t H5HF_hdr_dirty(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:712
hsize_t iblock_off
Definition: H5HFpkg.h:272
H5AC_info_t cache_info
Definition: H5HFpkg.h:298
H5_DLL herr_t H5HF__huge_get_obj_off(H5HF_hdr_t *hdr, const uint8_t *id, hsize_t *obj_off_p)
Definition: H5HFhuge.c:601
H5_DLL herr_t H5HF__man_iblock_create(H5HF_hdr_t *hdr, H5HF_indirect_t *par_iblock, unsigned par_entry, unsigned nrows, unsigned max_rows, haddr_t *addr_p)
Definition: H5HFiblock.c:962
H5_DLL herr_t H5HF_man_iter_down(H5HF_block_iter_t *biter, H5HF_indirect_t *iblock)
Definition: H5HFiter.c:518
H5_DLL herr_t H5HF_man_iter_offset(H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, hsize_t *offset)
Definition: H5HFiter.c:612
haddr_t addr
Definition: H5HFpkg.h:366
haddr_t dblock_addr
Definition: H5EAdblock.c:168
H5_DLL herr_t H5HF__huge_bt2_indir_remove(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:301
H5_DLL herr_t H5HF__huge_bt2_filt_indir_remove(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:504
H5_DLL herr_t H5HF_man_iter_curr(H5HF_block_iter_t *biter, unsigned *row, unsigned *col, unsigned *entry, H5HF_indirect_t **block)
Definition: H5HFiter.c:573
H5_DLL herr_t H5HF_hdr_dest(H5HF_hdr_t *hdr)
unsigned par_entry
Definition: H5HFpkg.h:424
uint8_t huge_id_size
Definition: H5HFpkg.h:354
H5_DLL herr_t H5HF__space_delete(H5HF_hdr_t *hdr)
Definition: H5HFspace.c:569
H5_DLL herr_t H5HF__huge_read(H5HF_hdr_t *fh, const uint8_t *id, void *obj)
Definition: H5HFhuge.c:916
H5_DLL herr_t H5HF_man_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
Definition: H5HFman.c:230
hbool_t checksum_dblocks
Definition: H5HFpkg.h:308
hbool_t write_once
Definition: H5HFpkg.h:306
H5_DLL unsigned H5HF_dtable_size_to_row(const H5HF_dtable_t *dtable, size_t block_size)
Definition: H5HFdtable.c:240
hsize_t huge_size
Definition: H5HFpkg.h:333
struct H5HF_free_section_t H5HF_free_section_t
herr_t H5HF_get_tiny_info_test(const H5HF_t *fh, size_t *max_len, hbool_t *len_extended)
Definition: H5HFtest.c:504
Definition: H5HFpkg.h:371
unsigned max_direct_bits
Definition: H5HFpkg.h:202
uint16_t
Definition: H5overflow.txt:37
H5_DLL herr_t H5HF_hdr_incr(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:580
Invalid arguments to routine Resource unavailable Internal File accessibility Low level I O Function entry exit Object atom Object cache Links B Tree node Symbol table Heap Object header Datatype Dataspace Dataset Data storage Property lists Attribute Data filters External file list References Virtual File Layer Virtual Object Layer Ternary Search Trees Reference Counted Strings Error API Skip Lists Free Space Manager Shared Object Header Messages Extensible Array Fixed Array Plugin for dynamically loaded library Page Buffering API Context Map No error Argument errors Resource errors File accessibility errors FILE
Definition: H5err.txt:88
struct H5HF_huge_bt2_indir_rec_t H5HF_huge_bt2_indir_rec_t
hsize_t num_id_first_row
Definition: H5HFpkg.h:205
Definition: H5HFpkg.h:494
H5_DLL herr_t H5HF__iblock_decr(H5HF_indirect_t *iblock)
Definition: H5HFiblock.c:244
struct H5HF_indirect_t ** child_iblocks
Definition: H5HFpkg.h:398
unsigned max_dir_blk_off_size
Definition: H5HFpkg.h:203
H5_DLL herr_t H5HF__man_op(H5HF_hdr_t *hdr, const uint8_t *id, H5HF_operator_t op, void *op_data)
Definition: H5HFman.c:527
Definition: H5HFpkg.h:488
H5_DLL herr_t H5HF_dblock_debug(H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth, haddr_t hdr_addr, size_t nrec)
Definition: H5HFdbg.c:509
unsigned filter_len
Definition: H5HFpkg.h:302
H5HF_hdr_t * hdr
Definition: H5HFpkg.h:503
unsigned max_rows
Definition: H5HFpkg.h:395
uint8_t * dblk
Definition: H5HFpkg.h:545
H5_DLL herr_t H5HF_huge_init(H5HF_hdr_t *hdr)
Definition: H5HFhuge.c:184
H5_DLL herr_t H5HF_tiny_init(H5HF_hdr_t *hdr)
Definition: H5HFtiny.c:99
Definition: H5HFpkg.h:472
unsigned filter_mask
Definition: H5HFpkg.h:497
Definition: H5HFpkg.h:377
H5HF_dtable_t man_dtable
Definition: H5HFpkg.h:312
H5HF_hdr_t * hdr
Definition: H5HFpkg.h:460
H5_DLL herr_t H5HF_man_iter_init(H5HF_block_iter_t *biter)
Definition: H5HFiter.c:95
H5_DLL herr_t H5HF_hdr_debug(H5F_t *f, haddr_t addr, FILE *stream, int indent, int fwidth)
Definition: H5HFdbg.c:380
hsize_t H5HF_get_dblock_size_test(const H5HF_t *fh, unsigned row)
Definition: H5HFtest.c:376
H5FS_t * fspace
Definition: H5HFpkg.h:350
H5_DLL H5HF_indirect_t * H5HF__man_iblock_protect(H5HF_hdr_t *hdr, haddr_t iblock_addr, unsigned iblock_nrows, H5HF_indirect_t *par_iblock, unsigned par_entry, hbool_t must_protect, unsigned flags, hbool_t *did_protect)
Definition: H5HFiblock.c:1104
H5_DLL unsigned H5HF_dtable_size_to_rows(const H5HF_dtable_t *dtable, hsize_t size)
Definition: H5HFdtable.c:274
H5_DLL hbool_t H5HF_man_iter_ready(H5HF_block_iter_t *biter)
Definition: H5HFiter.c:652
hsize_t obj_size
Definition: H5HFpkg.h:483
unsigned filter_mask
Definition: H5HFpkg.h:373
unsigned col
Definition: H5HFpkg.h:257
H5_DLL herr_t H5HF_hdr_inc_alloc(H5HF_hdr_t *hdr, size_t alloc_size)
Definition: H5HFhdr.c:829
size_t heap_size
Definition: H5HFpkg.h:341
H5B2_t * huge_bt2
Definition: H5HFpkg.h:352
H5_DLL herr_t H5HF__man_dblock_locate(H5HF_hdr_t *hdr, hsize_t obj_off, H5HF_indirect_t **par_iblock, unsigned *par_entry, hbool_t *par_did_protect, unsigned flags)
Definition: H5HFdblock.c:524
H5_DLL void H5HF_iblock_print(const H5HF_indirect_t *iblock, hbool_t dump_internal, FILE *stream, int indent, int fwidth)
Definition: H5HFdbg.c:636
H5HF_hdr_t * hdr
Definition: H5HFpkg.h:466
Definition: H5HFpkg.h:502
H5_DLL herr_t H5HF__man_iblock_unprotect(H5HF_indirect_t *iblock, unsigned cache_flags, hbool_t did_protect)
Definition: H5HFiblock.c:1235
H5_DLL herr_t H5HF_tiny_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
Definition: H5HFtiny.c:210
struct H5HF_direct_t H5HF_direct_t
*s *s fwidth
Definition: H5HLdbg.c:111
H5_DLL H5HF_hdr_t * H5HF_hdr_alloc(H5F_t *f)
Definition: H5HFhdr.c:110
H5_DLL herr_t H5HF__man_dblock_new(H5HF_hdr_t *fh, size_t request, H5HF_free_section_t **ret_sec_node)
Definition: H5HFdblock.c:343
H5_DLL herr_t H5HF__man_insert(H5HF_hdr_t *fh, size_t obj_size, const void *obj, void *id)
Definition: H5HFman.c:106
hsize_t huge_max_id
Definition: H5HFpkg.h:353
H5_DLL void H5HF__man_get_obj_off(const H5HF_hdr_t *hdr, const uint8_t *id, hsize_t *obj_off_p)
Definition: H5HFman.c:269
hsize_t id
Definition: H5HFpkg.h:475
hsize_t id
Definition: H5HFpkg.h:484
H5HF_indirect_t * H5HF_indirect_ptr_t
Definition: H5HFpkg.h:594
H5_DLL herr_t H5HF__huge_term(H5HF_hdr_t *hdr)
Definition: H5HFhuge.c:1097
H5FS_section_info_t sect_info
Definition: H5HFpkg.h:248
H5AC_info_t cache_info
Definition: H5HFpkg.h:413
H5HF_indirect_t * iblock
Definition: H5HFpkg.h:467
H5_DLL herr_t H5HF__sect_single_free(H5FS_section_info_t *sect)
Definition: H5HFsection.c:1131
herr_t H5HF_get_huge_info_test(const H5HF_t *fh, hsize_t *next_id, hbool_t *ids_direct)
Definition: H5HFtest.c:537
H5_DLL herr_t H5HF__huge_insert(H5HF_hdr_t *hdr, size_t obj_size, void *obj, void *id)
Definition: H5HFhuge.c:307
herr_t H5HF_get_cparam_test(const H5HF_t *fh, H5HF_create_t *cparam)
Definition: H5HFtest.c:89
haddr_t addr
Definition: H5HFpkg.h:473
H5_DLL herr_t H5HF__man_iblock_root_create(H5HF_hdr_t *hdr, size_t min_dblock_size)
Definition: H5HFiblock.c:358
hsize_t len
Definition: H5HFpkg.h:481
H5_DLL herr_t H5HF_hdr_adj_free(H5HF_hdr_t *hdr, ssize_t amt)
Definition: H5HFhdr.c:750
dblock
Definition: H5EAdblock.c:480
Definition: H5HFpkg.h:247
H5_DLL hsize_t H5HF_dtable_span_size(const H5HF_dtable_t *dtable, unsigned start_row, unsigned start_col, unsigned num_entries)
Definition: H5HFdtable.c:305
H5_DLL herr_t H5HF_man_iblock_entry_addr(H5HF_indirect_t *iblock, unsigned entry, haddr_t *child_addr)
Definition: H5HFiblock.c:1567
H5F_t * f
Definition: H5HFpkg.h:527
H5_DLL herr_t H5HF_tiny_remove(H5HF_hdr_t *fh, const uint8_t *id)
Definition: H5HFtiny.c:378
haddr_t heap_addr
Definition: H5HFpkg.h:340
H5HF_hdr_t * hdr
Definition: H5HFpkg.h:508
hsize_t tiny_size
Definition: H5HFpkg.h:335
hsize_t huge_next_id
Definition: H5HFpkg.h:320
haddr_t huge_bt2_addr
Definition: H5HFpkg.h:321
struct H5HF_indirect_t * parent
Definition: H5HFpkg.h:384
H5_DLL herr_t H5HF_tiny_read(H5HF_hdr_t *fh, const uint8_t *id, void *obj)
Definition: H5HFtiny.c:305
unsigned filter_mask
Definition: H5HFpkg.h:482
H5_DLL herr_t H5HF__huge_get_obj_len(H5HF_hdr_t *hdr, const uint8_t *id, size_t *obj_len_p)
Definition: H5HFhuge.c:510
struct H5HF_huge_bt2_filt_dir_rec_t H5HF_huge_bt2_filt_dir_rec_t
unsigned iblock_entries
Definition: H5HFpkg.h:282
H5_DLL herr_t H5HF_man_dblock_dest(H5HF_direct_t *dblock)
Definition: H5HFdblock.c:698
H5_DLL herr_t H5HF__man_dblock_delete(H5F_t *f, haddr_t dblock_addr, hsize_t dblock_size)
Definition: H5HFdblock.c:633
H5_DLL herr_t H5HF_op_write(const void *obj, size_t obj_len, void *op_data)
Definition: H5HF.c:129
hsize_t * row_tot_dblock_free
Definition: H5HFpkg.h:208
H5_DLL herr_t H5HF__man_iblock_detach(H5HF_indirect_t *iblock, unsigned entry)
Definition: H5HFiblock.c:1354
#define H5_DLL
Definition: H5api_adpt.h:234
uint32_t max_man_size
Definition: H5HFpkg.h:319
hsize_t block_off
Definition: H5HFpkg.h:455
H5HF_indirect_ent_t * ents
Definition: H5HFpkg.h:406
size_t rc
Definition: H5HFpkg.h:339
H5_DLL herr_t H5HF__sect_row_revive(H5HF_hdr_t *hdr, H5HF_free_section_t *sect)
Definition: H5HFsection.c:1352
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_NORMAL_ROW[1]
Definition: H5HFpkg.h:579
Definition: H5HFpkg.h:513
haddr_t table_addr
Definition: H5HFpkg.h:190
hbool_t checked_out
Definition: H5HFpkg.h:261
H5HF_indirect_t * iblock
Definition: H5HFpkg.h:271
hsize_t * row_block_off
Definition: H5HFpkg.h:207
H5_DLL herr_t H5HF_tiny_op(H5HF_hdr_t *hdr, const uint8_t *id, H5HF_operator_t op, void *op_data)
Definition: H5HFtiny.c:341
H5_DLL herr_t H5HF__man_dblock_destroy(H5HF_hdr_t *hdr, H5HF_direct_t *dblock, haddr_t dblock_addr, hbool_t *parent_removed)
Definition: H5HFdblock.c:228
size_t odi_size
Definition: H5HFpkg.h:528
haddr_t addr
Definition: H5HFpkg.h:480
unsigned dir_nrows
Definition: H5HFpkg.h:284
H5_DLL herr_t H5HF_op_read(const void *obj, size_t obj_len, void *op_data)
Definition: H5HF.c:104
H5O_pline_t pline
Definition: H5HFpkg.h:324
uint8_t * write_buf
Definition: H5HFpkg.h:428
hsize_t man_iter_off
Definition: H5HFpkg.h:331
H5_DLL herr_t H5HF__man_iblock_size(H5F_t *f, H5HF_hdr_t *hdr, haddr_t iblock_addr, unsigned nrows, H5HF_indirect_t *par_iblock, unsigned par_entry, hsize_t *heap_size)
Definition: H5HFiblock.c:1710
hbool_t removed_from_cache
Definition: H5HFpkg.h:399
H5_DLL H5HF_hdr_t * H5HF__hdr_protect(H5F_t *f, haddr_t addr, unsigned flags)
Definition: H5HFhdr.c:530
unsigned indir_nents
Definition: H5HFpkg.h:286
unsigned row
Definition: H5HFpkg.h:256
unsigned H5HF_get_dtable_max_drows_test(const H5HF_t *fh)
Definition: H5HFtest.c:308
void * fd_parent
Definition: H5HFpkg.h:385
Definition: H5HFpkg.h:227
H5_DLL herr_t H5HF__man_read(H5HF_hdr_t *fh, const uint8_t *id, void *obj)
Definition: H5HFman.c:454
Definition: H5HFpkg.h:525
struct H5HF_block_loc_t * up
Definition: H5HFpkg.h:237
H5_DLL herr_t H5HF__hdr_skip_blocks(H5HF_hdr_t *hdr, H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries)
Definition: H5HFhdr.c:935
unsigned first_row_bits
Definition: H5HFpkg.h:204
unsigned H5HF_get_iblock_max_drows_test(const H5HF_t *fh, unsigned pos)
Definition: H5HFtest.c:343
uint8_t heap_len_size
Definition: H5HFpkg.h:359
H5F_t * f
Definition: H5HFpkg.h:514
cache_flags
Definition: H5EAhdr.c:749
H5_DLL herr_t H5HF_hdr_finish_init_phase1(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:209
Definition: H5HFpkg.h:411
H5_DLL herr_t H5HF__huge_bt2_filt_indir_found(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:479
struct H5HF_iblock_cache_ud_t H5HF_iblock_cache_ud_t
size_t tiny_max_len
Definition: H5HFpkg.h:356
hsize_t file_size
Definition: H5HFpkg.h:426
struct H5HF_freelist_t H5HF_freelist_t
Definition: H5HFpkg.h:221
unsigned nrows
Definition: H5HFpkg.h:394
unsigned max_child
Definition: H5HFpkg.h:397
struct H5HF_free_section_t::@17::@20 indirect
struct H5HF_free_section_t::@17::@18 single
unsigned mode
Definition: H5HFpkg.h:342
unsigned num_entries
Definition: H5HFpkg.h:258
haddr_t addr
Definition: H5HFpkg.h:495
Definition: H5HFprivate.h:59
H5_DLL herr_t H5HF__man_dblock_create(H5HF_hdr_t *hdr, H5HF_indirect_t *par_iblock, unsigned par_entry, haddr_t *addr_p, H5HF_free_section_t **ret_sec_node)
Definition: H5HFdblock.c:95
H5_DLL herr_t H5HF_dtable_init(H5HF_dtable_t *dtable)
Definition: H5HFdtable.c:91
H5_DLL herr_t H5HF__man_iblock_delete(H5HF_hdr_t *hdr, haddr_t iblock_addr, unsigned iblock_nrows, H5HF_indirect_t *par_iblock, unsigned par_entry)
Definition: H5HFiblock.c:1602
Definition: H5HFpkg.h:507
int herr_t
Definition: H5public.h:128
H5HF_indirect_t * context
Definition: H5HFpkg.h:236
size_t pline_root_direct_size
Definition: H5HFpkg.h:325
H5_DLL herr_t H5HF_tiny_insert(H5HF_hdr_t *hdr, size_t obj_size, const void *obj, void *id)
Definition: H5HFtiny.c:146
uint8_t sizeof_addr
Definition: H5HFpkg.h:347
bool hbool_t
Definition: H5public.h:159
H5_DLL herr_t H5HF_hdr_start_iter(H5HF_hdr_t *hdr, H5HF_indirect_t *iblock, hsize_t curr_off, unsigned curr_entry)
Definition: H5HFhdr.c:860
struct H5HF_huge_bt2_filt_indir_rec_t H5HF_huge_bt2_filt_indir_rec_t
H5_DLLVAR H5FS_section_class_t H5HF_FSPACE_SECT_CLS_SINGLE[1]
Definition: H5HFpkg.h:573
Definition: H5HFpkg.h:241
H5_DLL herr_t H5HF_man_iter_reset(H5HF_block_iter_t *biter)
Definition: H5HFiter.c:374
H5_DLL void H5HF_hdr_print(const H5HF_hdr_t *hdr, hbool_t dump_internal, FILE *stream, int indent, int fwidth)
Definition: H5HFdbg.c:260
Definition: H5Cprivate.h:1597
Definition: H5HFpkg.h:465
H5HF_block_loc_t * curr
Definition: H5HFpkg.h:243
H5AC_info_t cache_info
Definition: H5HFpkg.h:379
Definition: H5HFpkg.h:459
H5_DLL herr_t H5HF_man_iter_up(H5HF_block_iter_t *biter)
Definition: H5HFiter.c:470
hsize_t
Definition: H5overflow.txt:44
H5_DLL herr_t H5HF_hdr_free(H5HF_hdr_t *hdr)
Definition: H5HFhdr.c:1403
size_t size
Definition: H5HFpkg.h:425
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)
Definition: H5HFsection.c:485
struct H5HF_block_loc_t H5HF_block_loc_t
Definition: H5B2private.h:82
hbool_t huge_ids_direct
Definition: H5HFpkg.h:355
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)
Definition: H5HFiter.c:314
H5_DLL herr_t H5HF__huge_remove(H5HF_hdr_t *fh, const uint8_t *id)
Definition: H5HFhuge.c:989
H5F_t * f
Definition: H5HFpkg.h:520
struct H5HF_dtable_t H5HF_dtable_t
H5_DLL herr_t H5HF__man_iblock_parent_info(const H5HF_hdr_t *hdr, hsize_t block_off, hsize_t *ret_par_block_off, unsigned *ret_entry)
Definition: H5HFiblock.c:1783
H5_DLL herr_t H5HF__hdr_update_iter(H5HF_hdr_t *hdr, size_t min_dblock_size)
Definition: H5HFhdr.c:987
H5_DLL herr_t H5HF_hdr_adjust_heap(H5HF_hdr_t *hdr, hsize_t new_size, hssize_t extra_free)
Definition: H5HFhdr.c:788
struct H5HF_indirect_t * root_iblock
Definition: H5HFpkg.h:348
hsize_t len
Definition: H5HFpkg.h:490
H5_DLL herr_t H5HF__huge_bt2_dir_remove(const void *nrecord, void *op_data)
Definition: H5HFbtree2.c:686
H5HF_indirect_t * parent
Definition: H5HFpkg.h:251
size_t dblock_size
Definition: H5HFpkg.h:535
hbool_t huge_ids_wrapped
Definition: H5HFpkg.h:307
unsigned entry
Definition: H5HFpkg.h:233
unsigned col
Definition: H5HFpkg.h:230
htri_t decompressed
Definition: H5HFpkg.h:549
H5_DLL herr_t H5HF__space_sect_change_class(H5HF_hdr_t *hdr, H5HF_free_section_t *sect, uint16_t new_class)
Definition: H5HFspace.c:605
H5_DLL herr_t H5HF__space_remove(H5HF_hdr_t *hdr, H5HF_free_section_t *node)
Definition: H5HFspace.c:476
hsize_t span_size
Definition: H5HFpkg.h:281
unsigned par_entry
Definition: H5HFpkg.h:252
H5_DLL herr_t H5HF_hdr_reset_iter(H5HF_hdr_t *hdr, hsize_t curr_off)
Definition: H5HFhdr.c:898
H5_DLLVAR const H5B2_class_t H5HF_HUGE_BT2_FILT_INDIR[1]
Definition: H5HFpkg.h:564
H5_DLL herr_t H5HF_dtable_dest(H5HF_dtable_t *dtable)
Definition: H5HFdtable.c:201
H5_DLL herr_t H5HF_man_iter_next(H5HF_hdr_t *hdr, H5HF_block_iter_t *biter, unsigned nentries)
Definition: H5HFiter.c:434