HDF5  1.12.0
H5Fpkg.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: Quincey Koziol <koziol@ncsa.uiuc.edu>
16  * Thursday, September 28, 2000
17  *
18  * Purpose: This file contains declarations which are visible only within
19  * the H5F package. Source files outside the H5F package should
20  * include H5Fprivate.h instead.
21  */
22 #if !(defined H5F_FRIEND || defined H5F_MODULE)
23 #error "Do not include this file outside the H5F package!"
24 #endif
25 
26 #ifndef _H5Fpkg_H
27 #define _H5Fpkg_H
28 
29 /* Get package's private header */
30 #include "H5Fprivate.h"
31 
32 /* Other private headers needed by this file */
33 #include "H5private.h" /* Generic Functions */
34 #include "H5ACprivate.h" /* Metadata cache */
35 #include "H5Bprivate.h" /* B-trees */
36 #include "H5FLprivate.h" /* Free Lists */
37 #include "H5FOprivate.h" /* File objects */
38 #include "H5FSprivate.h" /* File free space */
39 #include "H5Gprivate.h" /* Groups */
40 #include "H5Oprivate.h" /* Object header messages */
41 #include "H5PBprivate.h" /* Page buffer */
42 #include "H5UCprivate.h" /* Reference counted object functions */
43 
44 
45 /*
46  * Feature: Define this constant on the compiler command-line if you want to
47  * see some debugging messages on the debug stream.
48  */
49 #ifdef NDEBUG
50 # undef H5F_DEBUG
51 #endif
52 
53 /* Superblock status flags */
54 #define H5F_SUPER_WRITE_ACCESS 0x01
55 #define H5F_SUPER_FILE_OK 0x02
56 #define H5F_SUPER_SWMR_WRITE_ACCESS 0x04
57 #define H5F_SUPER_ALL_FLAGS (H5F_SUPER_WRITE_ACCESS | H5F_SUPER_FILE_OK | H5F_SUPER_SWMR_WRITE_ACCESS)
58 
59 /* Mask for removing private file access flags */
60 #define H5F_ACC_PUBLIC_FLAGS 0x007fu
61 
62 /* Free space section+aggregator merge flags */
63 #define H5F_FS_MERGE_METADATA 0x01 /* Section can merge with metadata aggregator */
64 #define H5F_FS_MERGE_RAWDATA 0x02 /* Section can merge with small 'raw' data aggregator */
65 
66 /* Macro to abstract checking whether file is using a free space manager */
67 #define H5F_HAVE_FREE_SPACE_MANAGER(F) \
68  ((F)->shared->fs_strategy == H5F_FSPACE_STRATEGY_FSM_AGGR || \
69  (F)->shared->fs_strategy == H5F_FSPACE_STRATEGY_PAGE)
70 
71 /* Macros for encoding/decoding superblock */
72 #define H5F_MAX_DRVINFOBLOCK_SIZE 1024 /* Maximum size of superblock driver info buffer */
73 #define H5F_DRVINFOBLOCK_HDR_SIZE 16 /* Size of superblock driver info header */
74 
75 /* Superblock sizes for various versions */
76 #define H5F_SIZEOF_CHKSUM 4 /* Checksum size in the file */
77 
78 /* Fixed-size portion at the beginning of all superblocks */
79 #define H5F_SUPERBLOCK_FIXED_SIZE ( H5F_SIGNATURE_LEN \
80  + 1) /* superblock version */
81 
82 /* The H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE is the minimal amount of super block
83  * variable length data guarnateed to load the sizeof offsets and the sizeof
84  * lengths fields in all versions of the superblock.
85  *
86  * This is necessary in the V3 cache, as on the initial load, we need to
87  * get enough of the superblock to determine its version and size so that
88  * the metadata cache can load the correct amount of data from file to
89  * allow the second deserialization attempt to succeed.
90  *
91  * The value selected will have to be revisited for each new version
92  * of the super block. Note that the current value is one byte larger
93  * than it needs to be.
94  */
95 #define H5F_SUPERBLOCK_MINIMAL_VARLEN_SIZE 7
96 
97 /* Macros for computing variable-size superblock size */
98 #define H5F_SUPERBLOCK_VARLEN_SIZE_COMMON \
99  (2 /* freespace, and root group versions */ \
100  + 1 /* reserved */ \
101  + 3 /* shared header vers, size of address, size of lengths */ \
102  + 1 /* reserved */ \
103  + 4 /* group leaf k, group internal k */ \
104  + 4) /* consistency flags */
105 #define H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) \
106  ( H5F_SUPERBLOCK_VARLEN_SIZE_COMMON /* Common variable-length info */ \
107  + (sizeof_addr) /* base address */ \
108  + (sizeof_addr) /* <unused> */ \
109  + (sizeof_addr) /* EOF address */ \
110  + (sizeof_addr) /* driver block address */ \
111  + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
112 #define H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) \
113  ( H5F_SUPERBLOCK_VARLEN_SIZE_COMMON /* Common variable-length info */ \
114  + 2 /* indexed B-tree internal k */ \
115  + 2 /* reserved */ \
116  + (sizeof_addr) /* base address */ \
117  + (sizeof_addr) /* <unused> */ \
118  + (sizeof_addr) /* EOF address */ \
119  + (sizeof_addr) /* driver block address */ \
120  + H5G_SIZEOF_ENTRY(sizeof_addr, sizeof_size)) /* root group ptr */
121 #define H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) \
122  ( 2 /* size of address, size of lengths */ \
123  + 1 /* consistency flags */ \
124  + (sizeof_addr) /* base address */ \
125  + (sizeof_addr) /* superblock extension address */ \
126  + (sizeof_addr) /* EOF address */ \
127  + (sizeof_addr) /* root group object header address */ \
128  + H5F_SIZEOF_CHKSUM) /* superblock checksum (keep this last) */
129 #define H5F_SUPERBLOCK_VARLEN_SIZE(v, sizeof_addr, sizeof_size) ( \
130  (v == 0 ? H5F_SUPERBLOCK_VARLEN_SIZE_V0(sizeof_addr, sizeof_size) : 0) \
131  + (v == 1 ? H5F_SUPERBLOCK_VARLEN_SIZE_V1(sizeof_addr, sizeof_size) : 0) \
132  + (v >= 2 ? H5F_SUPERBLOCK_VARLEN_SIZE_V2(sizeof_addr) : 0))
133 
134 /* Total size of superblock, depends on superblock version */
135 #define H5F_SUPERBLOCK_SIZE(s) ( H5F_SUPERBLOCK_FIXED_SIZE \
136  + H5F_SUPERBLOCK_VARLEN_SIZE((s)->super_vers, (s)->sizeof_addr, (s)->sizeof_size))
137 
138 /* For superblock version 0 & 1:
139  Offset to the file consistency flags (status_flags) in the superblock (excluding H5F_SUPERBLOCK_FIXED_SIZE) */
140 #define H5F_SUPER_STATUS_OFF_V01 \
141  (unsigned)(2 /* freespace, and root group versions */ \
142  + 1 /* reserved */ \
143  + 3 /* shared header vers, size of address, size of lengths */ \
144  + 1 /* reserved */ \
145  + 4) /* group leaf k, group internal k */
146 
147 #define H5F_SUPER_STATUS_OFF(v) (v >= 2 ? (unsigned)2 : H5F_SUPER_STATUS_OFF_V01)
148 
149 /* Offset to the file consistency flags (status_flags) in the superblock */
150 #define H5F_SUPER_STATUS_FLAGS_OFF(v) (H5F_SUPERBLOCK_FIXED_SIZE + H5F_SUPER_STATUS_OFF(v))
151 
152 /* Size of file consistency flags (status_flags) in the superblock */
153 #define H5F_SUPER_STATUS_FLAGS_SIZE(v) (v >= 2 ? 1 : 4)
154 
155 /* Forward declaration external file cache struct used below (defined in
156  * H5Fefc.c) */
157 typedef struct H5F_efc_t H5F_efc_t;
158 
159 /* Structure for passing 'user data' to superblock cache callbacks */
161 /* IN: */
162  H5F_t *f; /* Pointer to file */
163  hbool_t ignore_drvrinfo; /* Indicate if the driver info should be ignored */
164 /* OUT: */
165  unsigned sym_leaf_k; /* Symbol table leaf node's 'K' value */
166  unsigned btree_k[H5B_NUM_BTREE_ID]; /* B-tree key values for each type */
167  haddr_t stored_eof; /* End-of-file in file */
168  hbool_t drvrinfo_removed; /* Indicate if the driver info was removed */
169  unsigned super_vers; /* Superblock version obtained in get_load_size callback.
170  * It will be used later in verify_chksum callback
171  */
173 
174 /* Structure for passing 'user data' to driver info block cache callbacks */
175 typedef struct H5F_drvrinfo_cache_ud_t {
176  H5F_t *f; /* Pointer to file */
177  haddr_t driver_addr; /* address of driver info block */
179 
180 /* Structure for metadata & "small [raw] data" block aggregation fields */
182  unsigned long feature_flag; /* Feature flag type */
183  hsize_t alloc_size; /* Size for allocating new blocks */
184  hsize_t tot_size; /* Total amount of bytes aggregated into block */
185  hsize_t size; /* Current size of block left */
186  haddr_t addr; /* Location of block left */
187 };
188 
189 /* Structure for metadata accumulator fields */
190 typedef struct H5F_meta_accum_t {
191  unsigned char *buf; /* Buffer to hold the accumulated metadata */
192  haddr_t loc; /* File location (offset) of the accumulated metadata */
193  size_t size; /* Size of the accumulated metadata buffer used (in bytes) */
194  size_t alloc_size; /* Size of the accumulated metadata buffer allocated (in bytes) */
195  size_t dirty_off; /* Offset of the dirty region in the accumulator buffer */
196  size_t dirty_len; /* Length of the dirty region in the accumulator buffer */
197  hbool_t dirty; /* Flag to indicate that the accumulated metadata is dirty */
199 
200 /* A record of the mount table */
201 typedef struct H5F_mount_t {
202  struct H5G_t *group; /* Mount point group held open */
203  struct H5F_t *file; /* File mounted at that point */
205 
206 /*
207  * The mount table describes what files are attached to (mounted on) the file
208  * to which this table belongs.
209  */
210 typedef struct H5F_mtab_t {
211  unsigned nmounts;/* Number of children which are mounted */
212  unsigned nalloc; /* Number of mount slots allocated */
213  H5F_mount_t *child; /* An array of mount records */
215 
216 /* Structure specifically to store superblock. This was originally
217  * maintained entirely within H5F_shared_t, but is now extracted
218  * here because the superblock is now handled by the cache */
219 typedef struct H5F_super_t {
220  H5AC_info_t cache_info; /* Cache entry information structure */
221  unsigned super_vers; /* Superblock version */
222  uint8_t sizeof_addr; /* Size of addresses in file */
223  uint8_t sizeof_size; /* Size of offsets in file */
224  uint8_t status_flags; /* File status flags */
225  unsigned sym_leaf_k; /* Size of leaves in symbol tables */
226  unsigned btree_k[H5B_NUM_BTREE_ID]; /* B-tree key values for each type */
227  haddr_t base_addr; /* Absolute base address for rel.addrs. */
228  /* (superblock for file is at this offset) */
229  haddr_t ext_addr; /* Relative address of superblock extension */
230  haddr_t driver_addr; /* File driver information block address */
231  haddr_t root_addr; /* Root group address */
232  H5G_entry_t *root_ent; /* Root group symbol table entry */
234 
235 /*
236  * Define the structure to store the file information for HDF5 files. One of
237  * these structures is allocated per file, not per H5Fopen(). That is, set of
238  * H5F_t structs can all point to the same H5F_shared_t struct. The `nrefs'
239  * count in this struct indicates the number of H5F_t structs which are
240  * pointing to this struct.
241  */
242 struct H5F_shared_t {
243  H5FD_t *lf; /* Lower level file handle for I/O */
244  H5F_super_t *sblock; /* Pointer to (pinned) superblock for file */
245  H5O_drvinfo_t *drvinfo; /* Pointer to the (pinned) driver info
246  * cache entry. This field is only defined
247  * for older versions of the super block,
248  * and then only when a driver information
249  * block is present. At all other times
250  * it should be NULL.
251  */
252  hbool_t drvinfo_sb_msg_exists; /* Convenience field used to track
253  * whether the driver info superblock
254  * extension message has been created
255  * yet. This field should be TRUE iff the
256  * superblock extension exists and contains
257  * a driver info message. Under all other
258  * circumstances, it must be set to FALSE.
259  */
260  unsigned nrefs; /* Ref count for times file is opened */
261  unsigned flags; /* Access Permissions for file */
262  H5F_mtab_t mtab; /* File mount table */
263  H5F_efc_t *efc; /* External file cache */
264 
265  /* Cached values from FCPL/superblock */
266  uint8_t sizeof_addr; /* Size of addresses in file */
267  uint8_t sizeof_size; /* Size of offsets in file */
268  haddr_t sohm_addr; /* Relative address of shared object header message table */
269  unsigned sohm_vers; /* Version of shared message table on disk */
270  unsigned sohm_nindexes; /* Number of shared messages indexes in the table */
271  unsigned long feature_flags; /* VFL Driver feature Flags */
272  haddr_t maxaddr; /* Maximum address for file */
273 
274  H5PB_t *page_buf; /* The page buffer cache */
275  H5AC_t *cache; /* The object cache */
277  mdc_initCacheCfg; /* initial configuration for the */
278  /* metadata cache. This structure is */
279  /* fixed at creation time and should */
280  /* not change thereafter. */
282  mdc_initCacheImageCfg; /* initial configuration for the */
283  /* generate metadata cache image on */
284  /* close option. This structure is */
285  /* fixed at creation time and should */
286  /* not change thereafter. */
287  hbool_t use_mdc_logging; /* Set when metadata logging is desired */
288  hbool_t start_mdc_log_on_access; /* set when mdc logging should */
289  /* begin on file access/create */
290  char *mdc_log_location; /* location of mdc log */
291  hid_t fcpl_id; /* File creation property list ID */
292  H5F_close_degree_t fc_degree; /* File close behavior degree */
293  hbool_t evict_on_close; /* If the file's objects should be evicted from the metadata cache on close */
294  size_t rdcc_nslots; /* Size of raw data chunk cache (slots) */
295  size_t rdcc_nbytes; /* Size of raw data chunk cache (bytes) */
296  double rdcc_w0; /* Preempt read chunks first? [0.0..1.0]*/
297  size_t sieve_buf_size; /* Size of the data sieve buffer allocated (in bytes) */
298  hsize_t threshold; /* Threshold for alignment */
299  hsize_t alignment; /* Alignment */
300  unsigned gc_ref; /* Garbage-collect references? */
301  H5F_libver_t low_bound; /* The 'low' bound of library format versions */
302  H5F_libver_t high_bound; /* The 'high' bound of library format versions */
303  hbool_t store_msg_crt_idx; /* Store creation index for object header messages? */
304  unsigned ncwfs; /* Num entries on cwfs list */
305  struct H5HG_heap_t **cwfs; /* Global heap cache */
306  struct H5G_t *root_grp; /* Open root group */
307  H5FO_t *open_objs; /* Open objects in file */
308  H5UC_t *grp_btree_shared; /* Ref-counted group B-tree node info */
309  hbool_t closing; /* File is in the process of being closed */
310 
311  /* Cached VOL connector ID & info */
312  hid_t vol_id; /* ID of VOL connector for the container */
313  const H5VL_class_t *vol_cls; /* Pointer to VOL connector class for the container */
314  void *vol_info; /* Copy of VOL connector info for container */
315 
316  /* File space allocation information */
317  H5F_fspace_strategy_t fs_strategy; /* File space handling strategy */
318  hsize_t fs_threshold; /* Free space section threshold */
319  hbool_t fs_persist; /* Free-space persist or not */
320  unsigned fs_version; /* Free-space version: */
321  /* It is used to update fsinfo message in the superblock
322  extension when closing down the free-space managers */
323  hbool_t use_tmp_space; /* Whether temp. file space allocation is allowed */
324  haddr_t tmp_addr; /* Next address to use for temp. space in the file */
325  hbool_t point_of_no_return; /* Flag to indicate that we can't go back and delete a freespace header when it's used up */
326 
327  H5F_fs_state_t fs_state[H5F_MEM_PAGE_NTYPES]; /* State of free space manager for each type */
328  haddr_t fs_addr[H5F_MEM_PAGE_NTYPES]; /* Address of free space manager info for each type */
329  H5FS_t *fs_man[H5F_MEM_PAGE_NTYPES]; /* Free space manager for each file space type */
330  hbool_t null_fsm_addr; /* Used by h5clear tool to tell the library */
331  /* to drop free-space to the floor */
332  haddr_t eoa_fsm_fsalloc; /* eoa after file space allocation */
333  /* for self referential FSMs */
334  haddr_t eoa_post_mdci_fsalloc; /* eoa past file space allocation */
335  /* for metadata cache image, or */
336  /* HADDR_UNDEF if no cache image. */
337 
338  /* Free-space aggregation info */
339  unsigned fs_aggr_merge[H5FD_MEM_NTYPES]; /* Flags for whether free space can merge with aggregator(s) */
340  H5FD_mem_t fs_type_map[H5FD_MEM_NTYPES]; /* Mapping of "real" file space type into tracked type */
341  H5F_blk_aggr_t meta_aggr; /* Metadata aggregation info (if aggregating metadata allocations) */
342  H5F_blk_aggr_t sdata_aggr; /* "Small data" aggregation info (if aggregating "small data" allocations) */
343 
344  /* Paged aggregation info */
345  hsize_t fs_page_size; /* File space page size */
346  size_t pgend_meta_thres; /* Do not track page end meta section <= this threshold */
347 
348  /* Metadata accumulator information */
349  H5F_meta_accum_t accum; /* Metadata accumulator info */
350 
351  /* Metadata retry info */
352  unsigned read_attempts; /* The # of reads to try when reading metadata with checksum */
353  unsigned retries_nbins; /* # of bins for each retries[] */
354  uint32_t *retries[H5AC_NTYPES]; /* Track # of read retries for metdata items with checksum */
355 
356  /* Object flush info */
357  H5F_object_flush_t object_flush; /* Information for object flush callback */
358  hbool_t crt_dset_min_ohdr_flag; /* flag to minimize created dataset object header */
359 
360  char *extpath; /* Path for searching target external link file */
361 
362 #ifdef H5_HAVE_PARALLEL
363  H5P_coll_md_read_flag_t coll_md_read; /* Do all metadata reads collectively */
364  hbool_t coll_md_write; /* Do all metadata writes collectively */
365 #endif /* H5_HAVE_PARALLEL */
366 
367 };
368 
369 /*
370  * This is the top-level file descriptor. One of these structures is
371  * allocated every time H5Fopen() is called although they may contain pointers
372  * to shared H5F_shared_t structs.
373  */
374 struct H5F_t {
375  char *open_name; /* Name used to open file */
376  char *actual_name; /* Actual name of the file, after resolving symlinks, etc. */
377  H5F_shared_t *shared; /* The shared file info */
378  H5VL_object_t *vol_obj; /* VOL object */
379  unsigned nopen_objs; /* Number of open object headers */
380  H5FO_t *obj_count; /* # of time each object is opened through top file structure */
381  hbool_t id_exists; /* Whether an ID for this struct exists */
382  hbool_t closing; /* File is in the process of being closed */
383  struct H5F_t *parent; /* Parent file that this file is mounted to */
384  unsigned nmounts; /* Number of children mounted to this file */
385 };
386 
387 /*****************************/
388 /* Package Private Variables */
389 /*****************************/
390 
391 /* Declare a free list to manage the H5F_t struct */
393 
394 /* Declare a free list to manage the H5F_shared_t struct */
396 
397 
398 /******************************/
399 /* Package Private Prototypes */
400 /******************************/
401 
402 /* General routines */
407 H5_DLL htri_t H5F__is_hdf5(const char *name, hid_t fapl_id);
408 H5_DLL ssize_t H5F__get_file_image(H5F_t *f, void *buf_ptr, size_t buf_len);
415 
416 /* File mount related routines */
417 H5_DLL herr_t H5F__mount(H5G_loc_t *loc, const char *name, H5F_t *child, hid_t plist_id);
418 H5_DLL herr_t H5F__unmount(H5G_loc_t *loc, const char *name);
420 H5_DLL herr_t H5F__mount_count_ids(H5F_t *f, unsigned *nopen_files, unsigned *nopen_objs);
421 
422 /* Superblock related routines */
424 H5_DLL herr_t H5F__super_read(H5F_t *f, H5P_genplist_t *fa_plist, hbool_t initial_read);
425 H5_DLL herr_t H5F__super_size(H5F_t *f, hsize_t *super_size, hsize_t *super_ext_size);
427 
428 /* Superblock extension related routines */
430 H5_DLL herr_t H5F__super_ext_write_msg(H5F_t *f, unsigned id, void *mesg, hbool_t may_create, unsigned mesg_flags);
432 H5_DLL herr_t H5F__super_ext_close(H5F_t *f, H5O_loc_t *ext_ptr, hbool_t was_created);
433 
434 /* Metadata accumulator routines */
435 H5_DLL herr_t H5F__accum_read(H5F_shared_t *f_sh, H5FD_mem_t type, haddr_t addr, size_t size, void *buf);
436 H5_DLL herr_t H5F__accum_write(H5F_shared_t *f_sh, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf);
440 
441 /* Shared file list related routines */
445 
446 /* External file cache routines */
447 H5_DLL H5F_efc_t *H5F__efc_create(unsigned max_nfiles);
448 H5_DLL H5F_t *H5F__efc_open(H5F_t *parent, const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id);
449 H5_DLL unsigned H5F__efc_max_nfiles(H5F_efc_t *efc);
453 
454 /* Space allocation routines */
455 H5_DLL haddr_t H5F__alloc(H5F_t *f, H5F_mem_t type, hsize_t size, haddr_t *frag_addr, hsize_t *frag_size);
457 H5_DLL htri_t H5F__try_extend(H5F_t *f, H5FD_mem_t type, haddr_t blk_end, hsize_t extra_requested);
458 
459 /* Functions that get/retrieve values from VFD layer */
460 H5_DLL herr_t H5F__set_eoa(const H5F_t *f, H5F_mem_t type, haddr_t addr);
463 H5_DLL herr_t H5F__get_max_eof_eoa(const H5F_t *f, haddr_t *max_eof_eoa);
464 
465 /* Functions that flush or evict */
467 
468 /* Testing functions */
469 #ifdef H5F_TESTING
470 H5_DLL herr_t H5F__get_sohm_mesg_count_test(hid_t fid, unsigned type_id, size_t *mesg_count);
472 H5_DLL herr_t H5F__get_maxaddr_test(hid_t file_id, haddr_t *maxaddr);
473 H5_DLL herr_t H5F__get_sbe_addr_test(hid_t file_id, haddr_t *sbe_addr);
474 H5_DLL htri_t H5F__same_file_test(hid_t file_id1, hid_t file_id2);
475 #endif /* H5F_TESTING */
476 
477 #endif /* _H5Fpkg_H */
478 
H5F_shared_t::crt_dset_min_ohdr_flag
hbool_t crt_dset_min_ohdr_flag
Definition: H5Fpkg.h:358
H5AC_NTYPES
@ H5AC_NTYPES
Definition: H5ACprivate.h:79
H5F_shared_t::cwfs
struct H5HG_heap_t ** cwfs
Definition: H5Fpkg.h:305
H5F_shared_t::drvinfo
H5O_drvinfo_t * drvinfo
Definition: H5Fpkg.h:245
H5O_loc_t
Definition: H5Oprivate.h:152
ssize_t
int ssize_t
Definition: H5public.h:167
H5F_MEM_PAGE_NTYPES
@ H5F_MEM_PAGE_NTYPES
Definition: H5Fprivate.h:703
H5F__sfile_remove
H5_DLL herr_t H5F__sfile_remove(H5F_shared_t *shared)
Definition: H5Fsfile.c:178
H5F__free
H5_DLL herr_t H5F__free(H5F_t *f, H5F_mem_t type, haddr_t addr, hsize_t size)
H5F_shared_t::rdcc_nbytes
size_t rdcc_nbytes
Definition: H5Fpkg.h:295
H5F__get_sbe_addr_test
herr_t H5F__get_sbe_addr_test(hid_t file_id, haddr_t *sbe_addr)
Definition: H5Ftest.c:218
H5F_shared_t::use_tmp_space
hbool_t use_tmp_space
Definition: H5Fpkg.h:323
H5SL_t
Definition: H5SL.c:557
H5G_t
Definition: H5Gpkg.h:136
H5F_meta_accum_t::alloc_size
size_t alloc_size
Definition: H5Fpkg.h:194
H5F_superblock_cache_ud_t::drvrinfo_removed
hbool_t drvrinfo_removed
Definition: H5Fpkg.h:168
H5F_shared_t::feature_flags
unsigned long feature_flags
Definition: H5Fpkg.h:271
H5F__efc_destroy
H5_DLL herr_t H5F__efc_destroy(H5F_efc_t *efc)
Definition: H5Fefc.c:542
H5F_blk_aggr_t::feature_flag
unsigned long feature_flag
Definition: H5Fpkg.h:182
H5F_close_degree_t
H5F_close_degree_t
Definition: H5Fpublic.h:102
size
iblock size
Definition: H5EAcache.c:787
H5F_shared_t::store_msg_crt_idx
hbool_t store_msg_crt_idx
Definition: H5Fpkg.h:303
H5F_shared_t::fs_man
H5FS_t * fs_man[H5F_MEM_PAGE_NTYPES]
Definition: H5Fpkg.h:329
f
hdr f
Definition: H5EA.c:755
H5FOprivate.h
H5F_shared_t::point_of_no_return
hbool_t point_of_no_return
Definition: H5Fpkg.h:325
H5FS_t
Definition: H5FSpkg.h:150
H5F_t::parent
struct H5F_t * parent
Definition: H5Fpkg.h:383
H5FL_EXTERN
H5FL_EXTERN(H5F_t)
H5F__get_maxaddr_test
herr_t H5F__get_maxaddr_test(hid_t file_id, haddr_t *maxaddr)
Definition: H5Ftest.c:185
H5F__mount
H5_DLL herr_t H5F__mount(H5G_loc_t *loc, const char *name, H5F_t *child, hid_t plist_id)
H5F_shared_t::extpath
char * extpath
Definition: H5Fpkg.h:360
H5F_shared_t::sblock
H5F_super_t * sblock
Definition: H5Fpkg.h:244
H5F_super_t
Definition: H5Fpkg.h:219
H5F_t::id_exists
hbool_t id_exists
Definition: H5Fpkg.h:381
H5F_fspace_strategy_t
H5F_fspace_strategy_t
Definition: H5Fpublic.h:174
H5F_shared_t::vol_info
void * vol_info
Definition: H5Fpkg.h:314
H5F_shared_t::fs_addr
haddr_t fs_addr[H5F_MEM_PAGE_NTYPES]
Definition: H5Fpkg.h:328
H5F__accum_read
H5_DLL herr_t H5F__accum_read(H5F_shared_t *f_sh, H5FD_mem_t type, haddr_t addr, size_t size, void *buf)
Definition: H5Faccum.c:114
H5F_super_t::btree_k
unsigned btree_k[H5B_NUM_BTREE_ID]
Definition: H5Fpkg.h:226
H5F_superblock_cache_ud_t::ignore_drvrinfo
hbool_t ignore_drvrinfo
Definition: H5Fpkg.h:163
H5F_shared_t::sohm_vers
unsigned sohm_vers
Definition: H5Fpkg.h:269
H5F_super_t
struct H5F_super_t H5F_super_t
H5F__try_extend
H5_DLL htri_t H5F__try_extend(H5F_t *f, H5FD_mem_t type, haddr_t blk_end, hsize_t extra_requested)
Definition: H5Fspace.c:200
H5C_t
Definition: H5Cpkg.h:4642
H5FD_t
Definition: H5FDpublic.h:317
H5VL_object_t
Definition: H5VLprivate.h:39
H5Gprivate.h
H5F_superblock_cache_ud_t::super_vers
unsigned super_vers
Definition: H5Fpkg.h:169
uint32_t
uint32_t
Definition: H5overflow.txt:38
H5F_super_t::cache_info
H5AC_info_t cache_info
Definition: H5Fpkg.h:220
H5F_t::vol_obj
H5VL_object_t * vol_obj
Definition: H5Fpkg.h:378
H5F__format_convert
H5_DLL herr_t H5F__format_convert(H5F_t *f)
Definition: H5Fint.c:3531
H5F_meta_accum_t::loc
haddr_t loc
Definition: H5Fpkg.h:192
haddr_t
CATCH haddr_t
Definition: H5EAdblock.c:162
H5F_shared_t::fs_aggr_merge
unsigned fs_aggr_merge[H5FD_MEM_NTYPES]
Definition: H5Fpkg.h:339
H5F_shared_t::sizeof_addr
uint8_t sizeof_addr
Definition: H5Fpkg.h:266
H5F_blk_aggr_t::size
hsize_t size
Definition: H5Fpkg.h:185
H5F_shared_t::vol_id
hid_t vol_id
Definition: H5Fpkg.h:312
H5F_drvrinfo_cache_ud_t
Definition: H5Fpkg.h:175
H5F_shared_t::sohm_addr
haddr_t sohm_addr
Definition: H5Fpkg.h:268
H5F__set_libver_bounds
H5_DLL herr_t H5F__set_libver_bounds(H5F_t *f, H5F_libver_t low, H5F_libver_t high)
Definition: H5Fint.c:2764
H5F_superblock_cache_ud_t::stored_eof
haddr_t stored_eof
Definition: H5Fpkg.h:167
H5F_blk_aggr_t
Definition: H5Fpkg.h:181
H5F__efc_try_close
H5_DLL herr_t H5F__efc_try_close(H5F_t *f)
Definition: H5Fefc.c:840
H5F_shared_t::sohm_nindexes
unsigned sohm_nindexes
Definition: H5Fpkg.h:270
H5F__super_size
H5_DLL herr_t H5F__super_size(H5F_t *f, hsize_t *super_size, hsize_t *super_ext_size)
Definition: H5Fsuper.c:1612
H5F_shared_t::rdcc_w0
double rdcc_w0
Definition: H5Fpkg.h:296
H5F_shared_t::mdc_initCacheCfg
H5AC_cache_config_t mdc_initCacheCfg
Definition: H5Fpkg.h:277
H5F_t::shared
H5F_shared_t * shared
Definition: H5Fpkg.h:377
H5P_coll_md_read_flag_t
H5P_coll_md_read_flag_t
Definition: H5Pprivate.h:52
H5F_shared_t::page_buf
H5PB_t * page_buf
Definition: H5Fpkg.h:274
H5F_shared_t::vol_cls
const H5VL_class_t * vol_cls
Definition: H5Fpkg.h:313
H5F_shared_t::mtab
H5F_mtab_t mtab
Definition: H5Fpkg.h:262
H5UCprivate.h
H5F__super_ext_close
H5_DLL herr_t H5F__super_ext_close(H5F_t *f, H5O_loc_t *ext_ptr, hbool_t was_created)
Definition: H5Fsuper.c:188
H5F_shared_t::retries_nbins
unsigned retries_nbins
Definition: H5Fpkg.h:353
H5F_shared_t::eoa_fsm_fsalloc
haddr_t eoa_fsm_fsalloc
Definition: H5Fpkg.h:332
H5F_super_t::base_addr
haddr_t base_addr
Definition: H5Fpkg.h:227
H5F_shared_t::fs_threshold
hsize_t fs_threshold
Definition: H5Fpkg.h:318
H5G_loc_t
Definition: H5Gprivate.h:144
H5F_superblock_cache_ud_t
Definition: H5Fpkg.h:160
H5F_t::obj_count
H5FO_t * obj_count
Definition: H5Fpkg.h:380
H5F_mtab_t::child
H5F_mount_t * child
Definition: H5Fpkg.h:213
uint8_t
unsigned char uint8_t
Definition: H5private.h:429
H5F_t::nopen_objs
unsigned nopen_objs
Definition: H5Fpkg.h:379
H5F_blk_aggr_t::alloc_size
hsize_t alloc_size
Definition: H5Fpkg.h:183
H5F_super_t::ext_addr
haddr_t ext_addr
Definition: H5Fpkg.h:229
H5F__efc_create
H5_DLL H5F_efc_t * H5F__efc_create(unsigned max_nfiles)
Definition: H5Fefc.c:93
H5F__efc_release
H5_DLL herr_t H5F__efc_release(H5F_efc_t *efc)
Definition: H5Fefc.c:508
H5F_shared_t::fs_strategy
H5F_fspace_strategy_t fs_strategy
Definition: H5Fpkg.h:317
H5F_shared_t::rdcc_nslots
size_t rdcc_nslots
Definition: H5Fpkg.h:294
H5F_super_t::sizeof_size
uint8_t sizeof_size
Definition: H5Fpkg.h:223
H5F_drvrinfo_cache_ud_t
struct H5F_drvrinfo_cache_ud_t H5F_drvrinfo_cache_ud_t
H5P_genplist_t
Definition: H5Ppkg.h:107
htri_t
int htri_t
Definition: H5public.h:160
H5PBprivate.h
H5F_shared_t::fs_persist
hbool_t fs_persist
Definition: H5Fpkg.h:319
H5F_shared_t::pgend_meta_thres
size_t pgend_meta_thres
Definition: H5Fpkg.h:346
H5F_shared_t::fs_type_map
H5FD_mem_t fs_type_map[H5FD_MEM_NTYPES]
Definition: H5Fpkg.h:340
H5F_mtab_t::nalloc
unsigned nalloc
Definition: H5Fpkg.h:212
H5F__get_max_eof_eoa
H5_DLL herr_t H5F__get_max_eof_eoa(const H5F_t *f, haddr_t *max_eof_eoa)
Definition: H5Fint.c:3168
H5F_super_t::status_flags
uint8_t status_flags
Definition: H5Fpkg.h:224
H5F_shared_t::tmp_addr
haddr_t tmp_addr
Definition: H5Fpkg.h:324
H5F_shared_t::maxaddr
haddr_t maxaddr
Definition: H5Fpkg.h:272
H5FD_MEM_NTYPES
@ H5FD_MEM_NTYPES
Definition: H5Fpublic.h:152
H5F__accum_flush
H5_DLL herr_t H5F__accum_flush(H5F_shared_t *f_sh)
Definition: H5Faccum.c:1016
H5F_meta_accum_t::size
size_t size
Definition: H5Fpkg.h:193
H5F_shared_t::root_grp
struct H5G_t * root_grp
Definition: H5Fpkg.h:306
H5F__same_file_test
htri_t H5F__same_file_test(hid_t file_id1, hid_t file_id2)
Definition: H5Ftest.c:250
H5F_shared_t
Definition: H5Fpkg.h:242
H5F__super_ext_write_msg
H5_DLL herr_t H5F__super_ext_write_msg(H5F_t *f, unsigned id, void *mesg, hbool_t may_create, unsigned mesg_flags)
Definition: H5Fsuper.c:1675
hid_t
int64_t hid_t
Definition: H5Ipublic.h:55
H5G_entry_t
Definition: H5Gpkg.h:103
H5F__check_cached_stab_test
herr_t H5F__check_cached_stab_test(hid_t file_id)
Definition: H5Ftest.c:143
H5F_shared_t::open_objs
H5FO_t * open_objs
Definition: H5Fpkg.h:307
H5F__close_mounts
H5_DLL herr_t H5F__close_mounts(H5F_t *f)
Definition: H5Fmount.c:46
H5F_drvrinfo_cache_ud_t::driver_addr
haddr_t driver_addr
Definition: H5Fpkg.h:177
H5UC_t
Definition: H5UCprivate.h:43
H5F__super_init
H5_DLL herr_t H5F__super_init(H5F_t *f)
Definition: H5Fsuper.c:1069
H5F_mtab_t
Definition: H5Fpkg.h:210
H5HG_heap_t
Definition: H5HGpkg.h:122
H5F__super_free
H5_DLL herr_t H5F__super_free(H5F_super_t *sblock)
Definition: H5Fsuper.c:1581
H5F_shared_t::use_mdc_logging
hbool_t use_mdc_logging
Definition: H5Fpkg.h:287
H5ACprivate.h
H5F_shared_t::gc_ref
unsigned gc_ref
Definition: H5Fpkg.h:300
H5F__flush
H5_DLL herr_t H5F__flush(H5F_t *f)
Definition: H5Fint.c:1978
H5F__get_cont_info
H5_DLL herr_t H5F__get_cont_info(const H5F_t *f, H5VL_file_cont_info_t *info)
Definition: H5Fquery.c:1342
H5VL_file_cont_info_t
Definition: H5VLconnector.h:281
H5Oprivate.h
H5F_super_t::sizeof_addr
uint8_t sizeof_addr
Definition: H5Fpkg.h:222
H5F__alloc
H5_DLL haddr_t H5F__alloc(H5F_t *f, H5F_mem_t type, hsize_t size, haddr_t *frag_addr, hsize_t *frag_size)
Definition: H5Fspace.c:96
H5F__super_ext_remove_msg
H5_DLL herr_t H5F__super_ext_remove_msg(H5F_t *f, unsigned id)
Definition: H5Fsuper.c:1760
H5F_shared_t::sdata_aggr
H5F_blk_aggr_t sdata_aggr
Definition: H5Fpkg.h:342
H5F_shared_t::fs_page_size
hsize_t fs_page_size
Definition: H5Fpkg.h:345
H5F_shared_t::fs_version
unsigned fs_version
Definition: H5Fpkg.h:320
H5F_shared_t::ncwfs
unsigned ncwfs
Definition: H5Fpkg.h:304
H5F_superblock_cache_ud_t::sym_leaf_k
unsigned sym_leaf_k
Definition: H5Fpkg.h:165
H5F_shared_t::closing
hbool_t closing
Definition: H5Fpkg.h:309
H5Fprivate.h
H5F_shared_t::mdc_log_location
char * mdc_log_location
Definition: H5Fpkg.h:290
H5F_super_t::driver_addr
haddr_t driver_addr
Definition: H5Fpkg.h:230
H5F__start_swmr_write
H5_DLL herr_t H5F__start_swmr_write(H5F_t *f)
Definition: H5Fint.c:3321
H5F_super_t::root_addr
haddr_t root_addr
Definition: H5Fpkg.h:231
H5F_shared_t::fs_state
H5F_fs_state_t fs_state[H5F_MEM_PAGE_NTYPES]
Definition: H5Fpkg.h:327
H5F_meta_accum_t::dirty_len
size_t dirty_len
Definition: H5Fpkg.h:196
H5F_mount_t::file
struct H5F_t * file
Definition: H5Fpkg.h:203
H5F_shared_t::fc_degree
H5F_close_degree_t fc_degree
Definition: H5Fpkg.h:292
H5F_mtab_t
struct H5F_mtab_t H5F_mtab_t
H5F_meta_accum_t::dirty_off
size_t dirty_off
Definition: H5Fpkg.h:195
H5F_fs_state_t
H5F_fs_state_t
Definition: H5Fprivate.h:681
H5F_efc_t
Definition: H5Fefc.c:55
H5F_superblock_cache_ud_t::f
H5F_t * f
Definition: H5Fpkg.h:162
H5FSprivate.h
H5F_shared_t::low_bound
H5F_libver_t low_bound
Definition: H5Fpkg.h:301
H5F_drvrinfo_cache_ud_t::f
H5F_t * f
Definition: H5Fpkg.h:176
H5F__set_eoa
H5_DLL herr_t H5F__set_eoa(const H5F_t *f, H5F_mem_t type, haddr_t addr)
Definition: H5Fint.c:3112
H5F__accum_reset
H5_DLL herr_t H5F__accum_reset(H5F_shared_t *f_sh, hbool_t flush)
Definition: H5Faccum.c:1059
H5F__accum_free
H5_DLL herr_t H5F__accum_free(H5F_shared_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size)
H5PB_t
Definition: H5PBprivate.h:51
H5FD_mem_t
enum H5F_mem_t H5FD_mem_t
Definition: H5FDpublic.h:28
H5F_t::actual_name
char * actual_name
Definition: H5Fpkg.h:376
H5AC_cache_config_t
Definition: H5ACpublic.h:448
H5F_meta_accum_t
Definition: H5Fpkg.h:190
H5F_shared_t::alignment
hsize_t alignment
Definition: H5Fpkg.h:299
H5F_meta_accum_t::dirty
hbool_t dirty
Definition: H5Fpkg.h:197
H5F_superblock_cache_ud_t::btree_k
unsigned btree_k[H5B_NUM_BTREE_ID]
Definition: H5Fpkg.h:166
H5F_shared_t::evict_on_close
hbool_t evict_on_close
Definition: H5Fpkg.h:293
H5F_shared_t::cache
H5AC_t * cache
Definition: H5Fpkg.h:275
H5F__get_sohm_mesg_count_test
herr_t H5F__get_sohm_mesg_count_test(hid_t file_id, unsigned type_id, size_t *mesg_count)
Definition: H5Ftest.c:98
H5F_meta_accum_t
struct H5F_meta_accum_t H5F_meta_accum_t
H5F_blk_aggr_t::tot_size
hsize_t tot_size
Definition: H5Fpkg.h:184
H5F_libver_t
H5F_libver_t
Definition: H5Fpublic.h:162
H5F__post_open
H5_DLL herr_t H5F__post_open(H5F_t *f)
Definition: H5Fint.c:1842
H5F_info2_t
Definition: H5Fpublic.h:110
H5F_t::open_name
char * open_name
Definition: H5Fpkg.h:375
H5F_shared_t::threshold
hsize_t threshold
Definition: H5Fpkg.h:298
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5F_blk_aggr_t::addr
haddr_t addr
Definition: H5Fpkg.h:186
H5F_super_t::sym_leaf_k
unsigned sym_leaf_k
Definition: H5Fpkg.h:225
H5F_object_flush_t
Definition: H5Fprivate.h:669
H5F_superblock_cache_ud_t
struct H5F_superblock_cache_ud_t H5F_superblock_cache_ud_t
H5F__reopen
H5_DLL H5F_t * H5F__reopen(H5F_t *f)
Definition: H5Fint.c:2256
H5F__accum_write
H5_DLL herr_t H5F__accum_write(H5F_shared_t *f_sh, H5FD_mem_t type, haddr_t addr, size_t size, const void *buf)
Definition: H5Faccum.c:422
H5F__is_hdf5
H5_DLL htri_t H5F__is_hdf5(const char *name, hid_t fapl_id)
Definition: H5Fint.c:853
H5F__close
H5_DLL herr_t H5F__close(H5F_t *f)
Definition: H5Fint.c:2023
H5F__unmount
H5_DLL herr_t H5F__unmount(H5G_loc_t *loc, const char *name)
Definition: H5Fmount.c:267
H5F_shared_t::sizeof_size
uint8_t sizeof_size
Definition: H5Fpkg.h:267
H5F_shared_t::efc
H5F_efc_t * efc
Definition: H5Fpkg.h:263
H5F_shared_t::lf
H5FD_t * lf
Definition: H5Fpkg.h:243
H5VL_class_t
Definition: H5VLconnector.h:463
H5F_shared_t::nrefs
unsigned nrefs
Definition: H5Fpkg.h:260
H5F__super_ext_open
H5_DLL herr_t H5F__super_ext_open(H5F_t *f, haddr_t ext_addr, H5O_loc_t *ext_ptr)
Definition: H5Fsuper.c:150
H5F_shared_t::accum
H5F_meta_accum_t accum
Definition: H5Fpkg.h:349
H5F__sfile_search
H5_DLL H5F_shared_t * H5F__sfile_search(H5FD_t *lf)
Definition: H5Fsfile.c:139
H5F_mount_t::group
struct H5G_t * group
Definition: H5Fpkg.h:202
H5F_shared_t::retries
uint32_t * retries[H5AC_NTYPES]
Definition: H5Fpkg.h:354
H5F_super_t::root_ent
H5G_entry_t * root_ent
Definition: H5Fpkg.h:232
H5F__dest
H5_DLL herr_t H5F__dest(H5F_t *f, hbool_t flush)
Definition: H5Fint.c:1167
H5F_meta_accum_t::buf
unsigned char * buf
Definition: H5Fpkg.h:191
H5F_t
Definition: H5Fpkg.h:374
H5F__efc_max_nfiles
H5_DLL unsigned H5F__efc_max_nfiles(H5F_efc_t *efc)
Definition: H5Fefc.c:419
H5F_t::nmounts
unsigned nmounts
Definition: H5Fpkg.h:384
H5F_shared_t::read_attempts
unsigned read_attempts
Definition: H5Fpkg.h:352
H5F_mount_t
Definition: H5Fpkg.h:201
H5F_t::closing
hbool_t closing
Definition: H5Fpkg.h:382
H5FLprivate.h
H5F_shared_t::fcpl_id
hid_t fcpl_id
Definition: H5Fpkg.h:291
herr_t
int herr_t
Definition: H5public.h:128
H5F_shared_t::sieve_buf_size
size_t sieve_buf_size
Definition: H5Fpkg.h:297
H5F_shared_t::null_fsm_addr
hbool_t null_fsm_addr
Definition: H5Fpkg.h:330
hbool_t
bool hbool_t
Definition: H5public.h:159
H5F_super_t::super_vers
unsigned super_vers
Definition: H5Fpkg.h:221
H5B_NUM_BTREE_ID
@ H5B_NUM_BTREE_ID
Definition: H5Bprivate.h:62
H5F_shared_t::drvinfo_sb_msg_exists
hbool_t drvinfo_sb_msg_exists
Definition: H5Fpkg.h:252
H5F_shared_t::grp_btree_shared
H5UC_t * grp_btree_shared
Definition: H5Fpkg.h:308
H5C_cache_entry_t
Definition: H5Cprivate.h:1597
H5F_shared_t::meta_aggr
H5F_blk_aggr_t meta_aggr
Definition: H5Fpkg.h:341
H5F__sfile_add
H5_DLL herr_t H5F__sfile_add(H5F_shared_t *shared)
Definition: H5Fsfile.c:99
hsize_t
hsize_t
Definition: H5overflow.txt:44
H5F_shared_t::flags
unsigned flags
Definition: H5Fpkg.h:261
H5Bprivate.h
H5F_mem_t
H5F_mem_t
Definition: H5Fpublic.h:136
H5F__efc_open
H5_DLL H5F_t * H5F__efc_open(H5F_t *parent, const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
Definition: H5Fefc.c:144
sblock
sblock
Definition: H5EAsblock.c:446
H5F__get_file_image
H5_DLL ssize_t H5F__get_file_image(H5F_t *f, void *buf_ptr, size_t buf_len)
Definition: H5Fint.c:2819
H5F__super_read
H5_DLL herr_t H5F__super_read(H5F_t *f, H5P_genplist_t *fa_plist, hbool_t initial_read)
Definition: H5Fsuper.c:326
H5F_mount_t
struct H5F_mount_t H5F_mount_t
H5F_shared_t::eoa_post_mdci_fsalloc
haddr_t eoa_post_mdci_fsalloc
Definition: H5Fpkg.h:334
H5O_drvinfo_t
Definition: H5Oprivate.h:769
H5F_shared_t::start_mdc_log_on_access
hbool_t start_mdc_log_on_access
Definition: H5Fpkg.h:288
H5F_mtab_t::nmounts
unsigned nmounts
Definition: H5Fpkg.h:211
H5F_shared_t::high_bound
H5F_libver_t high_bound
Definition: H5Fpkg.h:302
H5AC_cache_image_config_t
Definition: H5ACpublic.h:563
H5F_shared_t::mdc_initCacheImageCfg
H5AC_cache_image_config_t mdc_initCacheImageCfg
Definition: H5Fpkg.h:282
H5F_shared_t::object_flush
H5F_object_flush_t object_flush
Definition: H5Fpkg.h:357
H5F__get_info
H5_DLL herr_t H5F__get_info(H5F_t *f, H5F_info2_t *finfo)
Definition: H5Fint.c:2925
H5private.h
H5F__set_base_addr
H5_DLL herr_t H5F__set_base_addr(const H5F_t *f, haddr_t addr)
Definition: H5Fint.c:3085
H5F__evict_cache_entries
H5_DLL herr_t H5F__evict_cache_entries(H5F_t *f)
Definition: H5Fio.c:337
H5F__set_paged_aggr
H5_DLL herr_t H5F__set_paged_aggr(const H5F_t *f, hbool_t paged)
Definition: H5Fint.c:3140
H5F__mount_count_ids
H5_DLL herr_t H5F__mount_count_ids(H5F_t *f, unsigned *nopen_files, unsigned *nopen_objs)
Definition: H5Fmount.c:609