HDF5  1.12.0
H5MFprivate.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  *
16  * Created: H5MFprivate.h
17  * Jul 11 1997
18  * Robb Matzke <matzke@llnl.gov>
19  *
20  * Purpose: Private header file for file memory management.
21  *
22  *-------------------------------------------------------------------------
23  */
24 #ifndef _H5MFprivate_H
25 #define _H5MFprivate_H
26 
27 /* Private headers needed by this file */
28 #include "H5Fprivate.h" /* File access */
29 #include "H5FDprivate.h" /* File Drivers */
30 
31 /**************************/
32 /* Library Private Macros */
33 /**************************/
34 
35 
36 /****************************/
37 /* Library Private Typedefs */
38 /****************************/
39 
40 
41 /*****************************/
42 /* Library-private Variables */
43 /*****************************/
44 
45 
46 /***************************************/
47 /* Library-private Function Prototypes */
48 /***************************************/
49 
50 /* File space manager routines */
52 H5_DLL herr_t H5MF_get_freespace(H5F_t *f, hsize_t *tot_space, hsize_t *meta_size);
55 
56 /* File space allocation routines */
60  hsize_t size);
62  hsize_t size, hsize_t extra_requested);
65  H5F_sect_info_t *sect_info);
66 
67 /* File 'temporary' space allocation routines */
69 
70 /* 'block aggregator' routines */
73 
74 /* Free space manager settling routines */
77 
78 /* This function has to be declared in H5MFprivate.h as it is needed
79  * in our test code to allow us to manually start a self referential
80  * free space manager prior to the first file space allocations /
81  * deallocation without causing assertion failures on the first
82  * file space allocation / deallocation.
83  */
85 
86 /* Debugging routines */
87 #ifdef H5MF_DEBUGGING
88 H5_DLL herr_t H5MF_sects_debug(H5F_t *f, haddr_t addr, FILE *stream, int indent,
89  int fwidth);
90 #endif /* H5MF_DEBUGGING */
91 
92 #endif /* end _H5MFprivate_H */
93 
H5MF_alloc_tmp
H5_DLL haddr_t H5MF_alloc_tmp(H5F_t *f, hsize_t size)
Definition: H5MF.c:1045
ssize_t
int ssize_t
Definition: H5public.h:167
H5MF_init_merge_flags
H5_DLL herr_t H5MF_init_merge_flags(H5F_shared_t *f_sh)
Definition: H5MF.c:149
H5MF_settle_meta_data_fsm
H5_DLL herr_t H5MF_settle_meta_data_fsm(H5F_t *f, hbool_t *fsm_settled)
Definition: H5MF.c:3092
size
iblock size
Definition: H5EAcache.c:787
H5MF_settle_raw_data_fsm
H5_DLL herr_t H5MF_settle_raw_data_fsm(H5F_t *f, hbool_t *fsm_settled)
Definition: H5MF.c:2631
H5MF_get_free_sections
H5_DLL ssize_t H5MF_get_free_sections(H5F_t *f, H5FD_mem_t type, size_t nsects, H5F_sect_info_t *sect_info)
Definition: H5MF.c:2350
f
hdr f
Definition: H5EA.c:755
H5MF_xfree
H5_DLL herr_t H5MF_xfree(H5F_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size)
Definition: H5MF.c:1095
H5MF_alloc
H5_DLL haddr_t H5MF_alloc(H5F_t *f, H5FD_mem_t type, hsize_t size)
Definition: H5MF.c:790
haddr_t
CATCH haddr_t
Definition: H5EAdblock.c:162
indent
*s *s indent
Definition: H5HLdbg.c:111
H5MF_try_extend
H5_DLL herr_t H5MF_try_extend(H5F_t *f, H5FD_mem_t type, haddr_t addr, hsize_t size, hsize_t extra_requested)
Definition: H5MF.c:1282
H5MF_get_freespace
H5_DLL herr_t H5MF_get_freespace(H5F_t *f, hsize_t *tot_space, hsize_t *meta_size)
Definition: H5MF.c:2205
H5MF_tidy_self_referential_fsm_hack
H5_DLL herr_t H5MF_tidy_self_referential_fsm_hack(H5F_t *f)
H5MF_aggr_vfd_alloc
H5_DLL haddr_t H5MF_aggr_vfd_alloc(H5F_t *f, H5FD_mem_t type, hsize_t size)
Definition: H5MFaggr.c:100
htri_t
int htri_t
Definition: H5public.h:160
H5F_shared_t
Definition: H5Fpkg.h:242
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
H5Fprivate.h
fwidth
*s *s fwidth
Definition: H5HLdbg.c:111
H5FD_mem_t
enum H5F_mem_t H5FD_mem_t
Definition: H5FDpublic.h:28
H5MF_aggrs_try_shrink_eoa
H5_DLL htri_t H5MF_aggrs_try_shrink_eoa(H5F_t *f)
Definition: H5MFaggr.c:890
H5FDprivate.h
H5MF_try_close
H5_DLL herr_t H5MF_try_close(H5F_t *f)
Definition: H5MF.c:1646
H5_DLL
#define H5_DLL
Definition: H5api_adpt.h:234
H5F_sect_info_t
Definition: H5Fpublic.h:156
H5F_t
Definition: H5Fpkg.h:374
H5MF_close
H5_DLL herr_t H5MF_close(H5F_t *f)
Definition: H5MF.c:1543
herr_t
int herr_t
Definition: H5public.h:128
H5MF_free_aggrs
H5_DLL herr_t H5MF_free_aggrs(H5F_t *f)
Definition: H5MFaggr.c:739
hbool_t
bool hbool_t
Definition: H5public.h:159
hsize_t
hsize_t
Definition: H5overflow.txt:44
H5MF_sects_debug
herr_t H5MF_sects_debug(H5F_t *f, haddr_t fs_addr, FILE *stream, int indent, int fwidth)
Definition: H5MFdbg.c:157
H5MF_try_shrink
H5_DLL htri_t H5MF_try_shrink(H5F_t *f, H5FD_mem_t alloc_type, haddr_t addr, hsize_t size)
Definition: H5MF.c:1456