HDF5  1.12.0
Data Structures | Macros | Typedefs | Functions
H5FLprivate.h File Reference

Go to the source code of this file.

Data Structures

struct  H5FL_reg_node_t
 
struct  H5FL_reg_head_t
 
union  H5FL_blk_list_t
 
struct  H5FL_blk_node_t
 
struct  H5FL_blk_head_t
 
union  H5FL_arr_list_t
 
struct  H5FL_arr_node_t
 
struct  H5FL_arr_head_t
 
struct  H5FL_seq_head_t
 
struct  H5FL_fac_head_t
 

Macros

#define H5FL_TRACK_INFO
 
#define H5FL_TRACK_INFO_INT
 
#define H5FL_TRACK_PARAMS
 
#define H5FL_TRACK_SIZE   0
 
#define H5FL_REG_NAME(t)   H5_##t##_reg_free_list
 
#define H5FL_DEFINE_COMMON(t)   H5FL_reg_head_t H5FL_REG_NAME(t)={0,0,0,#t,sizeof(t),NULL}
 
#define H5FL_DEFINE(t)   H5_DLL H5FL_DEFINE_COMMON(t)
 
#define H5FL_EXTERN(t)   H5_DLLVAR H5FL_reg_head_t H5FL_REG_NAME(t)
 
#define H5FL_DEFINE_STATIC(t)   static H5FL_DEFINE_COMMON(t)
 
#define H5FL_MALLOC(t)   (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)) H5FL_TRACK_INFO)
 
#define H5FL_CALLOC(t)   (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)) H5FL_TRACK_INFO)
 
#define H5FL_FREE(t, obj)   (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)),obj)
 
#define H5FL_BLK_NAME(t)   H5_##t##_blk_free_list
 
#define H5FL_BLK_DEFINE_COMMON(t)   H5FL_blk_head_t H5FL_BLK_NAME(t)={0,0,0,0,#t"_blk",NULL}
 
#define H5FL_BLK_DEFINE(t)   H5_DLL H5FL_BLK_DEFINE_COMMON(t)
 
#define H5FL_BLK_EXTERN(t)   H5_DLLVAR H5FL_blk_head_t H5FL_BLK_NAME(t)
 
#define H5FL_BLK_DEFINE_STATIC(t)   static H5FL_BLK_DEFINE_COMMON(t)
 
#define H5FL_BLK_MALLOC(t, size)   (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)),size H5FL_TRACK_INFO)
 
#define H5FL_BLK_CALLOC(t, size)   (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)),size H5FL_TRACK_INFO)
 
#define H5FL_BLK_FREE(t, blk)   (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)),blk)
 
#define H5FL_BLK_REALLOC(t, blk, new_size)   (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)),blk,new_size H5FL_TRACK_INFO)
 
#define H5FL_BLK_AVAIL(t, size)   H5FL_blk_free_block_avail(&(H5FL_BLK_NAME(t)),size)
 
#define H5FL_ARR_NAME(t)   H5_##t##_arr_free_list
 
#define H5FL_ARR_DEFINE_COMMON(b, t, m)   H5FL_arr_head_t H5FL_ARR_NAME(t)={0,0,0,#t"_arr",m+1,b,sizeof(t),NULL}
 
#define H5FL_ARR_DEFINE(t, m)   H5_DLL H5FL_ARR_DEFINE_COMMON(0,t,m)
 
#define H5FL_BARR_DEFINE(b, t, m)   H5_DLL H5FL_ARR_DEFINE_COMMON(sizeof(b),t,m)
 
#define H5FL_ARR_EXTERN(t)   H5_DLLVAR H5FL_arr_head_t H5FL_ARR_NAME(t)
 
#define H5FL_ARR_DEFINE_STATIC(t, m)   static H5FL_ARR_DEFINE_COMMON(0,t,m)
 
#define H5FL_BARR_DEFINE_STATIC(b, t, m)   static H5FL_ARR_DEFINE_COMMON(sizeof(b),t,m)
 
#define H5FL_ARR_MALLOC(t, elem)   H5FL_arr_malloc(&(H5FL_ARR_NAME(t)),elem)
 
#define H5FL_ARR_CALLOC(t, elem)   H5FL_arr_calloc(&(H5FL_ARR_NAME(t)),elem)
 
#define H5FL_ARR_FREE(t, obj)   (t *)H5FL_arr_free(&(H5FL_ARR_NAME(t)),obj)
 
#define H5FL_ARR_REALLOC(t, obj, new_elem)   H5FL_arr_realloc(&(H5FL_ARR_NAME(t)),obj,new_elem)
 
#define H5FL_SEQ_NAME(t)   H5_##t##_seq_free_list
 
#define H5FL_SEQ_DEFINE_COMMON(t)   H5FL_seq_head_t H5FL_SEQ_NAME(t)={{0,0,0,0,#t"_seq",NULL},sizeof(t)}
 
#define H5FL_SEQ_DEFINE(t)   H5_DLL H5FL_SEQ_DEFINE_COMMON(t)
 
#define H5FL_SEQ_EXTERN(t)   H5_DLLVAR H5FL_seq_head_t H5FL_SEQ_NAME(t)
 
#define H5FL_SEQ_DEFINE_STATIC(t)   static H5FL_SEQ_DEFINE_COMMON(t)
 
#define H5FL_SEQ_MALLOC(t, elem)   (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)),elem H5FL_TRACK_INFO)
 
#define H5FL_SEQ_CALLOC(t, elem)   (t *)H5FL_seq_calloc(&(H5FL_SEQ_NAME(t)),elem H5FL_TRACK_INFO)
 
#define H5FL_SEQ_FREE(t, obj)   (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)),obj)
 
#define H5FL_SEQ_REALLOC(t, obj, new_elem)   (t *)H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)),obj,new_elem H5FL_TRACK_INFO)
 
#define H5FL_FAC_MALLOC(f)   H5FL_fac_malloc(f H5FL_TRACK_INFO)
 
#define H5FL_FAC_CALLOC(f)   H5FL_fac_calloc(f H5FL_TRACK_INFO)
 
#define H5FL_FAC_FREE(f, obj)   H5FL_fac_free(f, obj)
 

Typedefs

typedef struct H5FL_reg_node_t H5FL_reg_node_t
 
typedef struct H5FL_reg_head_t H5FL_reg_head_t
 
typedef union H5FL_blk_list_t H5FL_blk_list_t
 
typedef struct H5FL_blk_node_t H5FL_blk_node_t
 
typedef struct H5FL_blk_head_t H5FL_blk_head_t
 
typedef union H5FL_arr_list_t H5FL_arr_list_t
 
typedef struct H5FL_arr_node_t H5FL_arr_node_t
 
typedef struct H5FL_arr_head_t H5FL_arr_head_t
 
typedef struct H5FL_seq_head_t H5FL_seq_head_t
 
typedef struct H5FL_fac_gc_node_t H5FL_fac_gc_node_t
 
typedef struct H5FL_fac_node_t H5FL_fac_node_t
 
typedef struct H5FL_fac_head_t H5FL_fac_head_t
 

Functions

H5_DLL void * H5FL_blk_malloc (H5FL_blk_head_t *head, size_t size H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_blk_calloc (H5FL_blk_head_t *head, size_t size H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_blk_free (H5FL_blk_head_t *head, void *block)
 
H5_DLL void * H5FL_blk_realloc (H5FL_blk_head_t *head, void *block, size_t new_size H5FL_TRACK_PARAMS)
 
H5_DLL htri_t H5FL_blk_free_block_avail (H5FL_blk_head_t *head, size_t size)
 
H5_DLL void * H5FL_reg_malloc (H5FL_reg_head_t *head H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_reg_calloc (H5FL_reg_head_t *head H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_reg_free (H5FL_reg_head_t *head, void *obj)
 
H5_DLL void * H5FL_arr_malloc (H5FL_arr_head_t *head, size_t elem)
 
H5_DLL void * H5FL_arr_calloc (H5FL_arr_head_t *head, size_t elem)
 
H5_DLL void * H5FL_arr_free (H5FL_arr_head_t *head, void *obj)
 
H5_DLL void * H5FL_arr_realloc (H5FL_arr_head_t *head, void *obj, size_t new_elem)
 
H5_DLL void * H5FL_seq_malloc (H5FL_seq_head_t *head, size_t elem H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_seq_calloc (H5FL_seq_head_t *head, size_t elem H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_seq_free (H5FL_seq_head_t *head, void *obj)
 
H5_DLL void * H5FL_seq_realloc (H5FL_seq_head_t *head, void *obj, size_t new_elem H5FL_TRACK_PARAMS)
 
H5_DLL H5FL_fac_head_tH5FL_fac_init (size_t size)
 
H5_DLL void * H5FL_fac_malloc (H5FL_fac_head_t *head H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_fac_calloc (H5FL_fac_head_t *head H5FL_TRACK_PARAMS)
 
H5_DLL void * H5FL_fac_free (H5FL_fac_head_t *head, void *obj)
 
H5_DLL herr_t H5FL_fac_term (H5FL_fac_head_t *head)
 
H5_DLL herr_t H5FL_garbage_coll (void)
 
H5_DLL herr_t H5FL_set_free_list_limits (int reg_global_lim, int reg_list_lim, int arr_global_lim, int arr_list_lim, int blk_global_lim, int blk_list_lim, int fac_global_lim, int fac_list_lim)
 
H5_DLL int H5FL_term_interface (void)
 

Macro Definition Documentation

◆ H5FL_ARR_CALLOC

#define H5FL_ARR_CALLOC (   t,
  elem 
)    H5FL_arr_calloc(&(H5FL_ARR_NAME(t)),elem)

◆ H5FL_ARR_DEFINE

#define H5FL_ARR_DEFINE (   t,
 
)    H5_DLL H5FL_ARR_DEFINE_COMMON(0,t,m)

◆ H5FL_ARR_DEFINE_COMMON

#define H5FL_ARR_DEFINE_COMMON (   b,
  t,
 
)    H5FL_arr_head_t H5FL_ARR_NAME(t)={0,0,0,#t"_arr",m+1,b,sizeof(t),NULL}

◆ H5FL_ARR_DEFINE_STATIC

#define H5FL_ARR_DEFINE_STATIC (   t,
 
)    static H5FL_ARR_DEFINE_COMMON(0,t,m)

◆ H5FL_ARR_EXTERN

#define H5FL_ARR_EXTERN (   t)    H5_DLLVAR H5FL_arr_head_t H5FL_ARR_NAME(t)

◆ H5FL_ARR_FREE

#define H5FL_ARR_FREE (   t,
  obj 
)    (t *)H5FL_arr_free(&(H5FL_ARR_NAME(t)),obj)

◆ H5FL_ARR_MALLOC

#define H5FL_ARR_MALLOC (   t,
  elem 
)    H5FL_arr_malloc(&(H5FL_ARR_NAME(t)),elem)

◆ H5FL_ARR_NAME

#define H5FL_ARR_NAME (   t)    H5_##t##_arr_free_list

◆ H5FL_ARR_REALLOC

#define H5FL_ARR_REALLOC (   t,
  obj,
  new_elem 
)    H5FL_arr_realloc(&(H5FL_ARR_NAME(t)),obj,new_elem)

◆ H5FL_BARR_DEFINE

#define H5FL_BARR_DEFINE (   b,
  t,
 
)    H5_DLL H5FL_ARR_DEFINE_COMMON(sizeof(b),t,m)

◆ H5FL_BARR_DEFINE_STATIC

#define H5FL_BARR_DEFINE_STATIC (   b,
  t,
 
)    static H5FL_ARR_DEFINE_COMMON(sizeof(b),t,m)

◆ H5FL_BLK_AVAIL

#define H5FL_BLK_AVAIL (   t,
  size 
)    H5FL_blk_free_block_avail(&(H5FL_BLK_NAME(t)),size)

◆ H5FL_BLK_CALLOC

#define H5FL_BLK_CALLOC (   t,
  size 
)    (uint8_t *)H5FL_blk_calloc(&(H5FL_BLK_NAME(t)),size H5FL_TRACK_INFO)

◆ H5FL_BLK_DEFINE

#define H5FL_BLK_DEFINE (   t)    H5_DLL H5FL_BLK_DEFINE_COMMON(t)

◆ H5FL_BLK_DEFINE_COMMON

#define H5FL_BLK_DEFINE_COMMON (   t)    H5FL_blk_head_t H5FL_BLK_NAME(t)={0,0,0,0,#t"_blk",NULL}

◆ H5FL_BLK_DEFINE_STATIC

#define H5FL_BLK_DEFINE_STATIC (   t)    static H5FL_BLK_DEFINE_COMMON(t)

◆ H5FL_BLK_EXTERN

#define H5FL_BLK_EXTERN (   t)    H5_DLLVAR H5FL_blk_head_t H5FL_BLK_NAME(t)

◆ H5FL_BLK_FREE

#define H5FL_BLK_FREE (   t,
  blk 
)    (uint8_t *)H5FL_blk_free(&(H5FL_BLK_NAME(t)),blk)

◆ H5FL_BLK_MALLOC

#define H5FL_BLK_MALLOC (   t,
  size 
)    (uint8_t *)H5FL_blk_malloc(&(H5FL_BLK_NAME(t)),size H5FL_TRACK_INFO)

◆ H5FL_BLK_NAME

#define H5FL_BLK_NAME (   t)    H5_##t##_blk_free_list

◆ H5FL_BLK_REALLOC

#define H5FL_BLK_REALLOC (   t,
  blk,
  new_size 
)    (uint8_t *)H5FL_blk_realloc(&(H5FL_BLK_NAME(t)),blk,new_size H5FL_TRACK_INFO)

◆ H5FL_CALLOC

#define H5FL_CALLOC (   t)    (t *)H5FL_reg_calloc(&(H5FL_REG_NAME(t)) H5FL_TRACK_INFO)

◆ H5FL_DEFINE

#define H5FL_DEFINE (   t)    H5_DLL H5FL_DEFINE_COMMON(t)

◆ H5FL_DEFINE_COMMON

#define H5FL_DEFINE_COMMON (   t)    H5FL_reg_head_t H5FL_REG_NAME(t)={0,0,0,#t,sizeof(t),NULL}

◆ H5FL_DEFINE_STATIC

#define H5FL_DEFINE_STATIC (   t)    static H5FL_DEFINE_COMMON(t)

◆ H5FL_EXTERN

#define H5FL_EXTERN (   t)    H5_DLLVAR H5FL_reg_head_t H5FL_REG_NAME(t)

◆ H5FL_FAC_CALLOC

#define H5FL_FAC_CALLOC (   f)    H5FL_fac_calloc(f H5FL_TRACK_INFO)

◆ H5FL_FAC_FREE

#define H5FL_FAC_FREE (   f,
  obj 
)    H5FL_fac_free(f, obj)

◆ H5FL_FAC_MALLOC

#define H5FL_FAC_MALLOC (   f)    H5FL_fac_malloc(f H5FL_TRACK_INFO)

◆ H5FL_FREE

#define H5FL_FREE (   t,
  obj 
)    (t *)H5FL_reg_free(&(H5FL_REG_NAME(t)),obj)

◆ H5FL_MALLOC

#define H5FL_MALLOC (   t)    (t *)H5FL_reg_malloc(&(H5FL_REG_NAME(t)) H5FL_TRACK_INFO)

◆ H5FL_REG_NAME

#define H5FL_REG_NAME (   t)    H5_##t##_reg_free_list

◆ H5FL_SEQ_CALLOC

#define H5FL_SEQ_CALLOC (   t,
  elem 
)    (t *)H5FL_seq_calloc(&(H5FL_SEQ_NAME(t)),elem H5FL_TRACK_INFO)

◆ H5FL_SEQ_DEFINE

#define H5FL_SEQ_DEFINE (   t)    H5_DLL H5FL_SEQ_DEFINE_COMMON(t)

◆ H5FL_SEQ_DEFINE_COMMON

#define H5FL_SEQ_DEFINE_COMMON (   t)    H5FL_seq_head_t H5FL_SEQ_NAME(t)={{0,0,0,0,#t"_seq",NULL},sizeof(t)}

◆ H5FL_SEQ_DEFINE_STATIC

#define H5FL_SEQ_DEFINE_STATIC (   t)    static H5FL_SEQ_DEFINE_COMMON(t)

◆ H5FL_SEQ_EXTERN

#define H5FL_SEQ_EXTERN (   t)    H5_DLLVAR H5FL_seq_head_t H5FL_SEQ_NAME(t)

◆ H5FL_SEQ_FREE

#define H5FL_SEQ_FREE (   t,
  obj 
)    (t *)H5FL_seq_free(&(H5FL_SEQ_NAME(t)),obj)

◆ H5FL_SEQ_MALLOC

#define H5FL_SEQ_MALLOC (   t,
  elem 
)    (t *)H5FL_seq_malloc(&(H5FL_SEQ_NAME(t)),elem H5FL_TRACK_INFO)

◆ H5FL_SEQ_NAME

#define H5FL_SEQ_NAME (   t)    H5_##t##_seq_free_list

◆ H5FL_SEQ_REALLOC

#define H5FL_SEQ_REALLOC (   t,
  obj,
  new_elem 
)    (t *)H5FL_seq_realloc(&(H5FL_SEQ_NAME(t)),obj,new_elem H5FL_TRACK_INFO)

◆ H5FL_TRACK_INFO

#define H5FL_TRACK_INFO

◆ H5FL_TRACK_INFO_INT

#define H5FL_TRACK_INFO_INT

◆ H5FL_TRACK_PARAMS

#define H5FL_TRACK_PARAMS

◆ H5FL_TRACK_SIZE

#define H5FL_TRACK_SIZE   0

Typedef Documentation

◆ H5FL_arr_head_t

◆ H5FL_arr_list_t

◆ H5FL_arr_node_t

◆ H5FL_blk_head_t

◆ H5FL_blk_list_t

◆ H5FL_blk_node_t

◆ H5FL_fac_gc_node_t

◆ H5FL_fac_head_t

◆ H5FL_fac_node_t

◆ H5FL_reg_head_t

◆ H5FL_reg_node_t

◆ H5FL_seq_head_t

Function Documentation

◆ H5FL_arr_calloc()

H5_DLL void* H5FL_arr_calloc ( H5FL_arr_head_t head,
size_t  elem 
)

◆ H5FL_arr_free()

H5_DLL void* H5FL_arr_free ( H5FL_arr_head_t head,
void *  obj 
)

◆ H5FL_arr_malloc()

H5_DLL void* H5FL_arr_malloc ( H5FL_arr_head_t head,
size_t  elem 
)

◆ H5FL_arr_realloc()

H5_DLL void* H5FL_arr_realloc ( H5FL_arr_head_t head,
void *  obj,
size_t  new_elem 
)

◆ H5FL_blk_calloc()

H5_DLL void* H5FL_blk_calloc ( H5FL_blk_head_t head,
size_t size  H5FL_TRACK_PARAMS 
)

◆ H5FL_blk_free()

H5_DLL void* H5FL_blk_free ( H5FL_blk_head_t head,
void *  block 
)

◆ H5FL_blk_free_block_avail()

H5_DLL htri_t H5FL_blk_free_block_avail ( H5FL_blk_head_t head,
size_t  size 
)

◆ H5FL_blk_malloc()

H5_DLL void* H5FL_blk_malloc ( H5FL_blk_head_t head,
size_t size  H5FL_TRACK_PARAMS 
)

◆ H5FL_blk_realloc()

H5_DLL void* H5FL_blk_realloc ( H5FL_blk_head_t head,
void *  block,
size_t new_size  H5FL_TRACK_PARAMS 
)

◆ H5FL_fac_calloc()

H5_DLL void* H5FL_fac_calloc ( H5FL_fac_head_t *head  H5FL_TRACK_PARAMS)

◆ H5FL_fac_free()

H5_DLL void* H5FL_fac_free ( H5FL_fac_head_t head,
void *  obj 
)

◆ H5FL_fac_init()

H5_DLL H5FL_fac_head_t* H5FL_fac_init ( size_t  size)

◆ H5FL_fac_malloc()

H5_DLL void* H5FL_fac_malloc ( H5FL_fac_head_t *head  H5FL_TRACK_PARAMS)

◆ H5FL_fac_term()

H5_DLL herr_t H5FL_fac_term ( H5FL_fac_head_t head)

◆ H5FL_garbage_coll()

H5_DLL herr_t H5FL_garbage_coll ( void  )

◆ H5FL_reg_calloc()

H5_DLL void* H5FL_reg_calloc ( H5FL_reg_head_t *head  H5FL_TRACK_PARAMS)

◆ H5FL_reg_free()

H5_DLL void* H5FL_reg_free ( H5FL_reg_head_t head,
void *  obj 
)

◆ H5FL_reg_malloc()

H5_DLL void* H5FL_reg_malloc ( H5FL_reg_head_t *head  H5FL_TRACK_PARAMS)

◆ H5FL_seq_calloc()

H5_DLL void* H5FL_seq_calloc ( H5FL_seq_head_t head,
size_t elem  H5FL_TRACK_PARAMS 
)

◆ H5FL_seq_free()

H5_DLL void* H5FL_seq_free ( H5FL_seq_head_t head,
void *  obj 
)

◆ H5FL_seq_malloc()

H5_DLL void* H5FL_seq_malloc ( H5FL_seq_head_t head,
size_t elem  H5FL_TRACK_PARAMS 
)

◆ H5FL_seq_realloc()

H5_DLL void* H5FL_seq_realloc ( H5FL_seq_head_t head,
void *  obj,
size_t new_elem  H5FL_TRACK_PARAMS 
)

◆ H5FL_set_free_list_limits()

H5_DLL herr_t H5FL_set_free_list_limits ( int  reg_global_lim,
int  reg_list_lim,
int  arr_global_lim,
int  arr_list_lim,
int  blk_global_lim,
int  blk_list_lim,
int  fac_global_lim,
int  fac_list_lim 
)

◆ H5FL_term_interface()

H5_DLL int H5FL_term_interface ( void  )