HDF5  1.12.0
H5FApkg.h
Go to the documentation of this file.
1 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
2  * Copyright by The HDF Group. *
3  * Copyright by the Board of Trustees of the University of Illinois. *
4  * All rights reserved. *
5  * *
6  * This file is part of HDF5. The full HDF5 copyright notice, including *
7  * terms governing use, modification, and redistribution, is contained in *
8  * the COPYING file, which can be found at the root of the source code *
9  * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. *
10  * If you do not have access to either file, you may request a copy from *
11  * help@hdfgroup.org. *
12  * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
13 
14 /*
15  * Programmer:
16  *
17  * Purpose: This file contains declarations which are visible only within
18  * the H5FA package. Source files outside the H5FA package should
19  * include H5FAprivate.h instead.
20  */
21 #if !(defined(H5FA_FRIEND) | defined(H5FA_MODULE))
22 #error "Do not include this file outside the H5FA package!"
23 #endif
24 
25 #ifndef _H5FApkg_H
26 #define _H5FApkg_H
27 
28 /* Get package's private header */
29 #include "H5FAprivate.h"
30 
31 /* Other private headers needed by this file */
32 #include "H5ACprivate.h" /* Metadata cache */
33 #include "H5FLprivate.h" /* Free Lists */
34 
35 
36 /**************************/
37 /* Package Private Macros */
38 /**************************/
39 
40 /* Define this to display debugging information for the Fixed Array layer */
41 /* #define H5FA_DEBUG */
42 
43 
44 /* Fill value for fixed array test class */
45 #ifdef H5FA_TESTING
46 #define H5FA_TEST_FILL ((uint64_t)ULLONG_MAX)
47 #endif /* H5FA_TESTING */
48 
49 /* Size of checksum information (on disk) */
50 #define H5FA_SIZEOF_CHKSUM 4
51 
52 /* "Standard" size of prefix information for fixed array metadata */
53 #define H5FA_METADATA_PREFIX_SIZE(c) ( \
54  H5_SIZEOF_MAGIC /* Signature */ \
55  + 1 /* Version */ \
56  + 1 /* Array type */ \
57  + ((c) ? H5FA_SIZEOF_CHKSUM : 0) /* Metadata checksum */ \
58  )
59 
60 /* Size of the Fixed Array header on disk */
61 #define H5FA_HEADER_SIZE(sizeof_addr, sizeof_size) ( \
62  /* General metadata fields */ \
63  H5FA_METADATA_PREFIX_SIZE(TRUE) \
64  \
65  /* General array information */ \
66  + 1 /* Element Size */ \
67  + 1 /* Log2(Max. # of elements in data block page) - i.e. # of bits needed to store max. # of elements in data block page */ \
68  \
69  /* Fixed Array statistics fields */ \
70  + (sizeof_size) /* # of elements in the fixed array */ \
71  \
72  /* Fixed Array Header specific fields */ \
73  + (sizeof_addr) /* File address of Fixed Array data block */ \
74  )
75 
76 /* Size of the fixed array header on disk (via file pointer) */
77 #define H5FA_HEADER_SIZE_FILE(f) ( \
78  H5FA_HEADER_SIZE(H5F_SIZEOF_ADDR(f), H5F_SIZEOF_SIZE(f)) \
79  )
80 
81 /* Size of the fixed array header on disk (via fixed array header) */
82 #define H5FA_HEADER_SIZE_HDR(h) ( \
83  H5FA_HEADER_SIZE((h)->sizeof_addr, (h)->sizeof_size) \
84  )
85 
86 /* Size of the Fixed Array data block prefix on disk */
87 #define H5FA_DBLOCK_PREFIX_SIZE(d) ( \
88  /* General metadata fields */ \
89  H5FA_METADATA_PREFIX_SIZE(TRUE) \
90  \
91  /* Sanity-checking fields */ \
92  + (d)->hdr->sizeof_addr /* File address of Fixed Array header owning the data block */ \
93  \
94  /* Fixed Array Data Block specific fields */ \
95  + (d)->dblk_page_init_size /* Fixed array data block 'page init' bitmasks (can be 0 if no pages) */ \
96  )
97 
98 /* Size of the Fixed Array data block on disk */
99 #define H5FA_DBLOCK_SIZE(d) ( \
100  /* Data block prefix size */ \
101  H5FA_DBLOCK_PREFIX_SIZE(d) \
102  \
103  /* Fixed Array Elements|Pages of Elements*/ \
104  + ((d)->hdr->cparam.nelmts * (size_t)(d)->hdr->cparam.raw_elmt_size) \
105  + ((d)->npages * H5FA_SIZEOF_CHKSUM) /* Checksum */ \
106  )
107 
108 /* Size of the Fixed Array data block page on disk */
109 #define H5FA_DBLK_PAGE_SIZE(h, nelmts) ( \
110  /* Fixed Array Data Block Page */ \
111  + (nelmts * (size_t)(h)->cparam.raw_elmt_size) /* Elements in data block page */ \
112  + H5FA_SIZEOF_CHKSUM /* Checksum for each page */ \
113  )
114 
115 /****************************/
116 /* Package Private Typedefs */
117 /****************************/
118 
119 /* The Fixed Array header information */
120 typedef struct H5FA_hdr_t {
121  /* Information for H5AC cache functions, _must_ be first field in structure */
123 
124  /* Fixed array configuration/creation parameters (stored in header) */
125  H5FA_create_t cparam; /* Creation parameters for Fixed Array */
126 
127  /* Fixed Array data block information (stored in header) */
128  haddr_t dblk_addr; /* Address of Fixed Array Data block */
129 
130  /* Statistics for Fixed Array (stored in header) */
131  H5FA_stat_t stats; /* Statistcs for Fixed Array */
132 
133  /* Computed/cached values (not stored in header) */
134  size_t rc; /* Reference count of the header */
135  haddr_t addr; /* Address of header in file */
136  size_t size; /* Size of header in file */
137  H5F_t *f; /* Pointer to file for fixed array */
138  size_t file_rc; /* Reference count of files using array header */
139  hbool_t pending_delete; /* Array is pending deletion */
140  size_t sizeof_addr; /* Size of file addresses */
141  size_t sizeof_size; /* Size of file sizes */
142 
143  /* Client information (not stored) */
144  void *cb_ctx; /* Callback context */
145 
146  /* SWMR / Flush dependency information (not stored) */
147  hbool_t swmr_write; /* Flag indicating the file is opened with SWMR-write access */
148  H5AC_proxy_entry_t *top_proxy; /* 'Top' proxy cache entry for all array entries */
149  void *parent; /* Pointer to 'top' proxy flush dependency
150  * parent, if it exists, otherwise NULL.
151  * If the fixed array is being used
152  * to index a chunked dataset and the
153  * dataset metadata is modified by a
154  * SWMR writer, this field will be set
155  * equal to the object header proxy
156  * that is the flush dependency parent
157  * of the fixed array header.
158  *
159  * The field is used to avoid duplicate
160  * setups of the flush dependency
161  * relationship, and to allow the
162  * fixed array header to destroy
163  * the flush dependency on receipt of
164  * an eviction notification from the
165  * metadata cache.
166  */
168 
169 /* The fixed array data block information */
170 typedef struct H5FA_dblock_t {
171  /* Information for H5AC cache functions, _must_ be first field in structure */
173 
174  /* Fixed array information (stored) */
175  uint8_t *dblk_page_init;/* Bitmap of whether a data block page is initialized */
176  void *elmts; /* Buffer for elements stored in data block */
177 
178  /* Internal array information (not stored) */
179  H5FA_hdr_t *hdr; /* Shared array header info */
180 
181  /* SWMR / Flush dependency information (not stored) */
182  H5AC_proxy_entry_t *top_proxy; /* 'Top' proxy cache entry for all array entries */
183 
184  /* Computed/cached values (not stored) */
185  haddr_t addr; /* Address of this data block on disk */
186  hsize_t size; /* Size of data block on disk */
187  size_t npages; /* Nummber of pages in data block (zero if not paged) */
188  size_t last_page_nelmts; /* Nummber of elements in last page, if paged */
189 
190  /* Fixed Array data block information (not stored) */
191  size_t dblk_page_nelmts; /* # of elements per data block page */
192  size_t dblk_page_size; /* Size of a data block page */
193  size_t dblk_page_init_size; /* Size of 'page init' bitmask */
195 
196 /* The fixed array data block page information */
197 typedef struct H5FA_dbk_page_t {
198  /* Information for H5AC cache functions, _must_ be first field in structure */
200 
201  /* Fixed array information (stored) */
202  void *elmts; /* Buffer for elements stored in data block page */
203 
204  /* Internal array information (not stored) */
205  H5FA_hdr_t *hdr; /* Shared array header info */
206 
207  /* SWMR / Flush dependency information (not stored) */
208  H5AC_proxy_entry_t *top_proxy; /* 'Top' proxy cache entry for all array entries */
209 
210  /* Computed/cached values (not stored) */
211  haddr_t addr; /* Address of this data block page on disk */
212  size_t size; /* Size of data block page on disk */
213  size_t nelmts; /* Number of elements in data block page */
215 
216 /* Fixed array */
217 struct H5FA_t {
218  H5FA_hdr_t *hdr; /* Pointer to internal fixed array header info */
219  H5F_t *f; /* Pointer to file for fixed array */
220 };
221 
222 
223 /* Metadata cache callback user data types */
224 
225 /* Info needed for loading header */
226 typedef struct H5FA_hdr_cache_ud_t {
227  H5F_t *f; /* Pointer to file for fixed array */
228  haddr_t addr; /* Address of header on disk */
229  void *ctx_udata; /* User context for class */
231 
232 /* Info needed for loading data block */
233 typedef struct H5FA_dblock_cache_ud_t {
234  H5FA_hdr_t *hdr; /* Shared fixed array information */
235  haddr_t dblk_addr; /* Address of data block on disk */
237 
238 /* Info needed for loading data block page */
240  H5FA_hdr_t *hdr; /* Shared fixed array information */
241  size_t nelmts; /* Number of elements in data block page */
242  haddr_t dblk_page_addr; /* Address of data block page on disk */
244 
245 
246 /*****************************/
247 /* Package Private Variables */
248 /*****************************/
249 
250 /* Internal fixed array testing class */
252 
253 /* Array of fixed array client ID -> client class mappings */
255 
256 
257 /******************************/
258 /* Package Private Prototypes */
259 /******************************/
260 
261 /* Generic routines */
263  H5AC_info_t *child_entry);
265  H5AC_info_t *child_entry);
266 
267 /* Header routines */
270 H5_DLL haddr_t H5FA__hdr_create(H5F_t *f, const H5FA_create_t *cparam, void *ctx_udata);
278 H5_DLL H5FA_hdr_t *H5FA__hdr_protect(H5F_t *f, haddr_t fa_addr, void *ctx_udata, unsigned flags);
282 
283 /* Data block routines */
291 
292 /* Data block page routines */
298 
299 /* Debugging routines for dumping file structures */
300 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);
301 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);
302 
303 /* Testing routines */
304 #ifdef H5FA_TESTING
305 H5_DLL herr_t H5FA__get_cparam_test(const H5FA_t *ea, H5FA_create_t *cparam);
306 H5_DLL int H5FA__cmp_cparam_test(const H5FA_create_t *cparam1, const H5FA_create_t *cparam2);
307 #endif /* H5FA_TESTING */
308 
309 #endif /* _H5FApkg_H */
310 
H5FA_create_t
Definition: H5FAprivate.h:78
H5FA_hdr_t::pending_delete
hbool_t pending_delete
Definition: H5FApkg.h:139
H5FA__hdr_create
H5_DLL haddr_t H5FA__hdr_create(H5F_t *f, const H5FA_create_t *cparam, void *ctx_udata)
H5FA__dblk_page_dest
H5_DLL herr_t H5FA__dblk_page_dest(H5FA_dblk_page_t *dblk_page)
H5FA__hdr_decr
H5_DLL herr_t H5FA__hdr_decr(H5FA_hdr_t *hdr)
f
hdr f
Definition: H5EA.c:755
H5FA_dbk_page_t::addr
haddr_t addr
Definition: H5FApkg.h:211
H5FA_dbk_page_t::cache_info
H5AC_info_t cache_info
Definition: H5FApkg.h:199
H5FA_hdr_t::f
H5F_t * f
Definition: H5FApkg.h:137
H5FA_dblock_cache_ud_t
struct H5FA_dblock_cache_ud_t H5FA_dblock_cache_ud_t
H5FA_dblock_t::dblk_page_size
size_t dblk_page_size
Definition: H5FApkg.h:192
H5FA_dblk_page_cache_ud_t::dblk_page_addr
haddr_t dblk_page_addr
Definition: H5FApkg.h:242
H5FA_dbk_page_t::elmts
void * elmts
Definition: H5FApkg.h:202
H5FA_dblock_t::npages
size_t npages
Definition: H5FApkg.h:187
H5FA_hdr_t::sizeof_addr
size_t sizeof_addr
Definition: H5FApkg.h:140
H5FA_hdr_t::swmr_write
hbool_t swmr_write
Definition: H5FApkg.h:147
H5FA_NUM_CLS_ID
@ H5FA_NUM_CLS_ID
Definition: H5FAprivate.h:54
H5FA__dblock_create
H5_DLL haddr_t H5FA__dblock_create(H5FA_hdr_t *hdr, hbool_t *hdr_dirty)
H5FA_dblock_cache_ud_t
Definition: H5FApkg.h:233
H5FA_hdr_t::sizeof_size
size_t sizeof_size
Definition: H5FApkg.h:141
haddr_t
CATCH haddr_t
Definition: H5EAdblock.c:162
H5FA__hdr_init
H5_DLL herr_t H5FA__hdr_init(H5FA_hdr_t *hdr, void *ctx_udata)
indent
*s *s indent
Definition: H5HLdbg.c:111
H5FA__hdr_free_elmts
H5_DLL herr_t H5FA__hdr_free_elmts(H5FA_hdr_t *hdr, size_t nelmts, void *elmts)
H5FA_dblk_page_cache_ud_t::hdr
H5FA_hdr_t * hdr
Definition: H5FApkg.h:240
dblk_page
dblk_page
Definition: H5EAdblkpage.c:334
H5FA_dblock_t::last_page_nelmts
size_t last_page_nelmts
Definition: H5FApkg.h:188
H5FA_dblock_t::elmts
void * elmts
Definition: H5FApkg.h:176
H5_DLLVAR
#define H5_DLLVAR
Definition: H5api_adpt.h:235
H5FA_hdr_t::size
size_t size
Definition: H5FApkg.h:136
H5FA__dblock_sblk_idx
H5_DLL unsigned H5FA__dblock_sblk_idx(const H5FA_hdr_t *hdr, hsize_t idx)
H5FA_dblock_t::dblk_page_init
uint8_t * dblk_page_init
Definition: H5FApkg.h:175
ea
ea
Definition: H5EA.c:925
H5FA__dblk_page_unprotect
H5_DLL herr_t H5FA__dblk_page_unprotect(H5FA_dblk_page_t *dblk_page, unsigned cache_flags)
H5FA_dbk_page_t
Definition: H5FApkg.h:197
uint8_t
unsigned char uint8_t
Definition: H5private.h:429
H5FA_hdr_t
struct H5FA_hdr_t H5FA_hdr_t
H5FA__hdr_modified
H5_DLL herr_t H5FA__hdr_modified(H5FA_hdr_t *hdr)
H5FA_dblk_page_cache_ud_t::nelmts
size_t nelmts
Definition: H5FApkg.h:241
hdr
hdr
Definition: H5EAhdr.c:821
H5AC_proxy_entry_t
Definition: H5ACprivate.h:203
H5FA__dblk_page_alloc
H5_DLL H5FA_dblk_page_t * H5FA__dblk_page_alloc(H5FA_hdr_t *hdr, size_t nelmts)
H5FA_dblock_t
struct H5FA_dblock_t H5FA_dblock_t
H5FA_hdr_t::file_rc
size_t file_rc
Definition: H5FApkg.h:138
H5FA__dblock_delete
H5_DLL herr_t H5FA__dblock_delete(H5FA_hdr_t *hdr, haddr_t dblk_addr)
H5FA_hdr_t::parent
void * parent
Definition: H5FApkg.h:149
H5FA_stat_t
Definition: H5FAprivate.h:89
H5FA_CLS_TEST
H5_DLLVAR const H5FA_class_t H5FA_CLS_TEST[1]
Definition: H5FApkg.h:251
H5FA_dbk_page_t::size
size_t size
Definition: H5FApkg.h:212
H5FAprivate.h
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_create
H5_DLL herr_t H5FA__dblk_page_create(H5FA_hdr_t *hdr, haddr_t addr, size_t nelmts)
H5FA_hdr_t::addr
haddr_t addr
Definition: H5FApkg.h:135
H5FA_dblock_cache_ud_t::dblk_addr
haddr_t dblk_addr
Definition: H5FApkg.h:235
FILE
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
H5ACprivate.h
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)
hdr_dirty
* hdr_dirty
Definition: H5FAdblock.c:229
H5FA_hdr_cache_ud_t
struct H5FA_hdr_cache_ud_t H5FA_hdr_cache_ud_t
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__hdr_protect
H5_DLL H5FA_hdr_t * H5FA__hdr_protect(H5F_t *f, haddr_t fa_addr, void *ctx_udata, unsigned flags)
H5FA_hdr_t::stats
H5FA_stat_t stats
Definition: H5FApkg.h:131
H5FA_class_t
Definition: H5FAprivate.h:61
H5FA_t::f
H5F_t * f
Definition: H5FApkg.h:219
H5FA_hdr_cache_ud_t::f
H5F_t * f
Definition: H5FApkg.h:227
H5FA__hdr_incr
H5_DLL herr_t H5FA__hdr_incr(H5FA_hdr_t *hdr)
H5FA_hdr_t::cb_ctx
void * cb_ctx
Definition: H5FApkg.h:144
fwidth
*s *s fwidth
Definition: H5HLdbg.c:111
dblk_page_nelmts
size_t dblk_page_nelmts
Definition: H5FA.c:380
H5FA_client_class_g
H5_DLLVAR const H5FA_class_t *const H5FA_client_class_g[H5FA_NUM_CLS_ID]
Definition: H5FApkg.h:254
dblock
dblock
Definition: H5EAdblock.c:480
H5FA__destroy_flush_depend
H5_DLL herr_t H5FA__destroy_flush_depend(H5AC_info_t *parent_entry, H5AC_info_t *child_entry)
H5FA_dblk_page_t
struct H5FA_dbk_page_t H5FA_dblk_page_t
H5FA_hdr_cache_ud_t::addr
haddr_t addr
Definition: H5FApkg.h:228
H5FA_hdr_t
Definition: H5FApkg.h:120
H5FA_t::hdr
H5FA_hdr_t * hdr
Definition: H5FApkg.h:218
H5FA__dblock_dest
H5_DLL herr_t H5FA__dblock_dest(H5FA_dblock_t *dblock)
H5FA__hdr_fuse_incr
H5_DLL herr_t H5FA__hdr_fuse_incr(H5FA_hdr_t *hdr)
H5FA_dblock_t::size
hsize_t size
Definition: H5FApkg.h:186
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5FA_dblk_page_cache_ud_t
struct H5FA_dblk_page_cache_ud_t H5FA_dblk_page_cache_ud_t
H5FA_dblock_t::dblk_page_init_size
size_t dblk_page_init_size
Definition: H5FApkg.h:193
H5FA_dbk_page_t::nelmts
size_t nelmts
Definition: H5FApkg.h:213
H5FA_hdr_t::dblk_addr
haddr_t dblk_addr
Definition: H5FApkg.h:128
H5FA_dbk_page_t::top_proxy
H5AC_proxy_entry_t * top_proxy
Definition: H5FApkg.h:208
H5FA_dblock_t::hdr
H5FA_hdr_t * hdr
Definition: H5FApkg.h:179
H5FA__dblock_alloc
H5_DLL H5FA_dblock_t * H5FA__dblock_alloc(H5FA_hdr_t *hdr)
H5FA_dblk_page_cache_ud_t
Definition: H5FApkg.h:239
H5FA__dblock_protect
H5_DLL H5FA_dblock_t * H5FA__dblock_protect(H5FA_hdr_t *hdr, haddr_t dblk_addr, unsigned flags)
H5FA_hdr_t::cache_info
H5AC_info_t cache_info
Definition: H5FApkg.h:122
H5FA__hdr_delete
H5_DLL herr_t H5FA__hdr_delete(H5FA_hdr_t *hdr)
H5FA_dblock_cache_ud_t::hdr
H5FA_hdr_t * hdr
Definition: H5FApkg.h:234
H5F_t
Definition: H5Fpkg.h:374
H5FA_t
Definition: H5FApkg.h:217
cache_flags
cache_flags
Definition: H5EAhdr.c:749
nelmts
hdr stats stored nelmts
Definition: H5EAdblock.c:214
H5FA_dblock_t::addr
haddr_t addr
Definition: H5FApkg.h:185
H5FA__hdr_fuse_decr
H5_DLL size_t H5FA__hdr_fuse_decr(H5FA_hdr_t *hdr)
H5FA__hdr_alloc
H5_DLL H5FA_hdr_t * H5FA__hdr_alloc(H5F_t *f)
H5FA_hdr_t::top_proxy
H5AC_proxy_entry_t * top_proxy
Definition: H5FApkg.h:148
H5FLprivate.h
H5FA_dblock_t::dblk_page_nelmts
size_t dblk_page_nelmts
Definition: H5FApkg.h:191
H5FA__hdr_unprotect
H5_DLL herr_t H5FA__hdr_unprotect(H5FA_hdr_t *hdr, unsigned cache_flags)
herr_t
int herr_t
Definition: H5public.h:128
H5FA_hdr_cache_ud_t
Definition: H5FApkg.h:226
H5FA_dbk_page_t::hdr
H5FA_hdr_t * hdr
Definition: H5FApkg.h:205
H5FA_hdr_t::cparam
H5FA_create_t cparam
Definition: H5FApkg.h:125
hbool_t
bool hbool_t
Definition: H5public.h:159
H5C_cache_entry_t
Definition: H5Cprivate.h:1597
H5FA__hdr_dest
H5_DLL herr_t H5FA__hdr_dest(H5FA_hdr_t *hdr)
H5FA_dblock_t::top_proxy
H5AC_proxy_entry_t * top_proxy
Definition: H5FApkg.h:182
H5FA_hdr_cache_ud_t::ctx_udata
void * ctx_udata
Definition: H5FApkg.h:229
hsize_t
hsize_t
Definition: H5overflow.txt:44
H5FA_dblock_t
Definition: H5FApkg.h:170
H5FA__dblock_unprotect
H5_DLL herr_t H5FA__dblock_unprotect(H5FA_dblock_t *dblock, unsigned cache_flags)
dblk_page_addr
haddr_t dblk_page_addr
Definition: H5FA.c:382
H5FA__hdr_alloc_elmts
H5_DLL void * H5FA__hdr_alloc_elmts(H5FA_hdr_t *hdr, size_t nelmts)
H5FA_hdr_t::rc
size_t rc
Definition: H5FApkg.h:134
H5FA_dblock_t::cache_info
H5AC_info_t cache_info
Definition: H5FApkg.h:172
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)