RTEMS  5.0.0
Data Structures | Macros | Typedefs | Functions
rbheap.h File Reference

Red-Black Tree Heap API. More...

#include <rtems.h>
#include <rtems/chain.h>
#include <rtems/rbtree.h>

Go to the source code of this file.

Data Structures

struct  rtems_rbheap_chunk
 Red-black heap chunk descriptor. More...
 
struct  rtems_rbheap_control
 Red-black heap control. More...
 

Macros

#define rtems_rbheap_chunk_of_node(node)   RTEMS_CONTAINER_OF(node, rtems_rbheap_chunk, tree_node)
 

Typedefs

typedef struct rtems_rbheap_control rtems_rbheap_control
 
typedef void(* rtems_rbheap_extend_descriptors) (rtems_rbheap_control *control)
 Handler to extend the available chunk descriptors. More...
 

Functions

rtems_status_code rtems_rbheap_initialize (rtems_rbheap_control *control, void *area_begin, uintptr_t area_size, uintptr_t alignment, rtems_rbheap_extend_descriptors extend_descriptors, void *handler_arg)
 Initializes the red-black tree heap control. More...
 
void * rtems_rbheap_allocate (rtems_rbheap_control *control, size_t size)
 Allocates a chunk of memory of at least size bytes from the red-black tree heap control. More...
 
rtems_status_code rtems_rbheap_free (rtems_rbheap_control *control, void *ptr)
 Frees a chunk of memory ptr allocated from the red-black tree heap control. More...
 
void rtems_rbheap_extend_descriptors_never (rtems_rbheap_control *control)
 Chunk descriptor extend handler that does nothing.
 
void rtems_rbheap_extend_descriptors_with_malloc (rtems_rbheap_control *control)
 Chunk descriptor extend handler that uses malloc().
 

Detailed Description

Red-Black Tree Heap API.