HDF5  1.12.0
Data Structures | Macros | Enumerations | Functions | Variables
H5MF.c File Reference
#include "H5MFmodule.h"
#include "H5private.h"
#include "H5Eprivate.h"
#include "H5Fpkg.h"
#include "H5FSpkg.h"
#include "H5Iprivate.h"
#include "H5MFpkg.h"
#include "H5VMprivate.h"

Data Structures

struct  H5MF_sect_iter_ud_t
 

Macros

#define H5F_FRIEND   /*suppress error about including H5Fpkg */
 
#define H5FS_FRIEND   /*suppress error about including H5Fpkg */
 
#define H5MF_FSPACE_SHRINK   80 /* Percent of "normal" size to shrink serialized free space size */
 
#define H5MF_FSPACE_EXPAND   120 /* Percent of "normal" size to expand serialized free space size */
 
#define H5MF_CHECK_FSM(FSM, CF)
 
#define H5MF_ALLOC_TO_FS_AGGR_TYPE(F_SH, T)   ((H5FD_MEM_DEFAULT == (F_SH)->fs_type_map[T]) ? (T) : (F_SH)->fs_type_map[T])
 

Enumerations

enum  H5MF_aggr_merge_t { H5MF_AGGR_MERGE_SEPARATE, H5MF_AGGR_MERGE_DICHOTOMY, H5MF_AGGR_MERGE_TOGETHER }
 

Functions

herr_t H5MF_init_merge_flags (H5F_shared_t *f_sh)
 
void H5MF__alloc_to_fs_type (H5F_shared_t *f_sh, H5FD_mem_t alloc_type, hsize_t size, H5F_mem_page_t *fs_type)
 
herr_t H5MF__open_fstype (H5F_t *f, H5F_mem_page_t type)
 
herr_t H5MF__start_fstype (H5F_t *f, H5F_mem_page_t type)
 
herr_t H5MF__add_sect (H5F_t *f, H5FD_mem_t alloc_type, H5FS_t *fspace, H5MF_free_section_t *node)
 
htri_t H5MF__find_sect (H5F_t *f, H5FD_mem_t alloc_type, hsize_t size, H5FS_t *fspace, haddr_t *addr)
 
haddr_t H5MF_alloc (H5F_t *f, H5FD_mem_t alloc_type, hsize_t size)
 
haddr_t H5MF_alloc_tmp (H5F_t *f, hsize_t size)
 
herr_t H5MF_xfree (H5F_t *f, H5FD_mem_t alloc_type, haddr_t addr, hsize_t size)
 
htri_t H5MF_try_extend (H5F_t *f, H5FD_mem_t alloc_type, haddr_t addr, hsize_t size, hsize_t extra_requested)
 
htri_t H5MF_try_shrink (H5F_t *f, H5FD_mem_t alloc_type, haddr_t addr, hsize_t size)
 
herr_t H5MF_close (H5F_t *f)
 
herr_t H5MF_try_close (H5F_t *f)
 
herr_t H5MF_get_freespace (H5F_t *f, hsize_t *tot_space, hsize_t *meta_size)
 
ssize_t H5MF_get_free_sections (H5F_t *f, H5FD_mem_t type, size_t nsects, H5F_sect_info_t *sect_info)
 
herr_t H5MF_settle_raw_data_fsm (H5F_t *f, hbool_t *fsm_settled)
 
herr_t H5MF_settle_meta_data_fsm (H5F_t *f, hbool_t *fsm_settled)
 

Variables

hbool_t H5_PKG_INIT_VAR = FALSE
 

Macro Definition Documentation

◆ H5F_FRIEND

#define H5F_FRIEND   /*suppress error about including H5Fpkg */

◆ H5FS_FRIEND

#define H5FS_FRIEND   /*suppress error about including H5Fpkg */

◆ H5MF_ALLOC_TO_FS_AGGR_TYPE

#define H5MF_ALLOC_TO_FS_AGGR_TYPE (   F_SH,
 
)    ((H5FD_MEM_DEFAULT == (F_SH)->fs_type_map[T]) ? (T) : (F_SH)->fs_type_map[T])

◆ H5MF_CHECK_FSM

#define H5MF_CHECK_FSM (   FSM,
  CF 
)
Value:
HDassert(*CF == FALSE); \
if(!H5F_addr_defined(FSM->addr) || !H5F_addr_defined(FSM->sect_addr)) \
*CF = TRUE;

◆ H5MF_FSPACE_EXPAND

#define H5MF_FSPACE_EXPAND   120 /* Percent of "normal" size to expand serialized free space size */

◆ H5MF_FSPACE_SHRINK

#define H5MF_FSPACE_SHRINK   80 /* Percent of "normal" size to shrink serialized free space size */

Enumeration Type Documentation

◆ H5MF_aggr_merge_t

Enumerator
H5MF_AGGR_MERGE_SEPARATE 
H5MF_AGGR_MERGE_DICHOTOMY 
H5MF_AGGR_MERGE_TOGETHER 

Function Documentation

◆ H5MF__add_sect()

herr_t H5MF__add_sect ( H5F_t f,
H5FD_mem_t  alloc_type,
H5FS_t fspace,
H5MF_free_section_t node 
)

◆ H5MF__alloc_to_fs_type()

void H5MF__alloc_to_fs_type ( H5F_shared_t f_sh,
H5FD_mem_t  alloc_type,
hsize_t  size,
H5F_mem_page_t fs_type 
)

◆ H5MF__find_sect()

htri_t H5MF__find_sect ( H5F_t f,
H5FD_mem_t  alloc_type,
hsize_t  size,
H5FS_t fspace,
haddr_t addr 
)

◆ H5MF__open_fstype()

herr_t H5MF__open_fstype ( H5F_t f,
H5F_mem_page_t  type 
)

◆ H5MF__start_fstype()

herr_t H5MF__start_fstype ( H5F_t f,
H5F_mem_page_t  type 
)

◆ H5MF_alloc()

haddr_t H5MF_alloc ( H5F_t f,
H5FD_mem_t  alloc_type,
hsize_t  size 
)

◆ H5MF_alloc_tmp()

haddr_t H5MF_alloc_tmp ( H5F_t f,
hsize_t  size 
)

◆ H5MF_close()

herr_t H5MF_close ( H5F_t f)

◆ H5MF_get_free_sections()

ssize_t H5MF_get_free_sections ( H5F_t f,
H5FD_mem_t  type,
size_t  nsects,
H5F_sect_info_t sect_info 
)

◆ H5MF_get_freespace()

herr_t H5MF_get_freespace ( H5F_t f,
hsize_t tot_space,
hsize_t meta_size 
)

◆ H5MF_init_merge_flags()

herr_t H5MF_init_merge_flags ( H5F_shared_t f_sh)

◆ H5MF_settle_meta_data_fsm()

herr_t H5MF_settle_meta_data_fsm ( H5F_t f,
hbool_t fsm_settled 
)

◆ H5MF_settle_raw_data_fsm()

herr_t H5MF_settle_raw_data_fsm ( H5F_t f,
hbool_t fsm_settled 
)

◆ H5MF_try_close()

herr_t H5MF_try_close ( H5F_t f)

◆ H5MF_try_extend()

htri_t H5MF_try_extend ( H5F_t f,
H5FD_mem_t  alloc_type,
haddr_t  addr,
hsize_t  size,
hsize_t  extra_requested 
)

◆ H5MF_try_shrink()

htri_t H5MF_try_shrink ( H5F_t f,
H5FD_mem_t  alloc_type,
haddr_t  addr,
hsize_t  size 
)

◆ H5MF_xfree()

herr_t H5MF_xfree ( H5F_t f,
H5FD_mem_t  alloc_type,
haddr_t  addr,
hsize_t  size 
)

Variable Documentation

◆ H5_PKG_INIT_VAR

hbool_t H5_PKG_INIT_VAR = FALSE
H5F_addr_defined
#define H5F_addr_defined(X)
Definition: H5Fprivate.h:253
HDassert
#define HDassert(X)
Definition: H5private.h:669
TRUE
#define TRUE
Definition: H5FDmulti.c:36
FALSE
#define FALSE
Definition: H5FDmulti.c:33