16 #ifndef _RTEMS_SCORE_FREECHAIN_H 17 #define _RTEMS_SCORE_FREECHAIN_H 41 typedef void *( *Freechain_Allocator )(
size_t size );
96 size_t number_nodes_to_extend,
void _Chain_Initialize(Chain_Control *the_chain, void *starting_address, size_t number_nodes, size_t node_size)
Initialize a chain header.
Definition: chain.c:26
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
void * _Freechain_Get(Freechain_Control *freechain, Freechain_Allocator allocator, size_t number_nodes_to_extend, size_t node_size)
Gets a node from the freechain.
Definition: freechain.c:24
RTEMS_INLINE_ROUTINE void _Freechain_Initialize(Freechain_Control *freechain, void *initial_nodes, size_t number_nodes, size_t node_size)
Initializes a freechain.
Definition: freechain.h:65
Chain_Control Free
Chain of free nodes.
Definition: freechain.h:50
void _Freechain_Put(Freechain_Control *freechain, void *node)
Puts a node back onto the freechain.
Definition: freechain.c:50
void *(* Freechain_Allocator)(size_t size)
Allocator function.
Definition: freechain.h:41
unsigned size
Definition: tte.h:74
The freechain control.
Definition: freechain.h:46