/* The garbage collection head for blocks */
typedef struct H5FL_blk_gc_list_t {
size_t mem_freed; /* Amount of free memory on list */
struct H5FL_blk_gc_node_t *first; /* Pointer to the first node in the list of things to garbage collect */
/* The head of the list of PQs to garbage collect */
static H5FL_blk_gc_list_t H5FL_blk_gc_head={0,NULL};
/* A garbage collection node for factory free lists */
typedef struct H5FL_fac_gc_node_t {
struct H5FL_fac_gc_node_t {
H5FL_fac_head_t *list; /* Pointer to the head of the list to garbage collect */
struct H5FL_fac_gc_node_t *next; /* Pointer to the next node in the list of things to garbage collect */
/* The garbage collection head for factory free lists */
typedef struct H5FL_fac_gc_list_t {
size_t mem_freed; /* Amount of free memory on list */
struct H5FL_fac_gc_node_t *first; /* Pointer to the first node in the list of things to garbage collect */
/* Data structure to store each block in factory free list */
typedef struct H5FL_fac_node_t {
struct H5FL_fac_node_t *next; /* Pointer to next block in free list */
/* Data structure for free list block factory */
unsigned init; /* Whether the free list has been initialized */
unsigned allocated; /* Number of blocks allocated */
unsigned onlist; /* Number of blocks on free list */
size_t size; /* Size of the blocks in the list */
H5FL_fac_node_t *list; /* List of free blocks */
H5FL_fac_gc_node_t *prev_gc; /* Previous garbage collection node in list */
/* The head of the list of factory things to garbage collect */
static H5FL_fac_gc_list_t H5FL_fac_gc_head={0,NULL};
/* Extra headers needed */
#include "H5CSprivate.h" /* Function stack */