A simple heap implementation.

The utility of this heap implementation lies in the fact that memory can be allocated and freed by tasks, but also that memory can be freed from inside an interrupt handler. The Network Library uses this facility when transmitting packets through the MAC.

API Summary

CTL_HEAP_STATISTICS_t Statistics maintained by heap
CTL_HEAP_t Heap descriptor
ctl_heap_alloc Allocate memory
ctl_heap_can_alloc Test memory availability
ctl_heap_free Allocate memory
ctl_heap_init Initialize heap
ctl_heap_trim Trim memory