X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=bertos%2Fmware%2Fheap.h;h=2c4594e1e77f3317f53352cae3ed9ddffc5504d4;hb=78eea60c48fd902dd469654a69b1dcf5abb93f0c;hp=f02a7d558fc3a87fd6c61e43214db5a97f988ac0;hpb=9b5ed5a7350e86199d01c9165d0a24ec6150b811;p=bertos.git diff --git a/bertos/mware/heap.h b/bertos/mware/heap.h index f02a7d55..2c4594e1 100644 --- a/bertos/mware/heap.h +++ b/bertos/mware/heap.h @@ -1,93 +1,2 @@ -/** - * \file - * - * - * \brief Heap subsystem (public interface). - * - * \version $Id$ - * - * \author Bernardo Innocenti - * - * \todo Heap memory could be defined as an array of MemChunk, and used - * in this form also within the implementation. This would probably remove - * memory alignment problems, and also some aliasing issues. - * - */ - -#ifndef MWARE_HEAP_H -#define MWARE_HEAP_H - -#include - -#include - -struct _MemChunk; - -/// A heap -struct Heap -{ - struct _MemChunk *FreeList; ///< Head of the free list -}; - - -/// Initialize \a heap within the buffer pointed by \a memory which is of \a size bytes -void heap_init(struct Heap* heap, void* memory, size_t size); - -/// Allocate a chunk of memory of \a size bytes from the heap -void *heap_allocmem(struct Heap* heap, size_t size); - -/// Free a chunk of memory of \a size bytes from the heap -void heap_freemem(struct Heap* heap, void *mem, size_t size); - - -#define HNEW(heap, type) \ - (type*)heap_allocmem(heap, sizeof(type)) - -#define HNEWVEC(heap, type, nelem) \ - (type*)heap_allocmem(heap, sizeof(type) * (nelem)) - -#define HDELETE(heap, type, mem) \ - heap_freemem(heap, mem, sizeof(type)) - -#define HDELETEVEC(heap, type, nelem, mem) \ - heap_freemem(heap, mem, sizeof(type) * (nelem)) - - -#if CONFIG_HEAP_MALLOC - -void *heap_malloc(struct Heap* heap, size_t size); -void *heap_calloc(struct Heap* heap, size_t size); -void heap_free(struct Heap* heap, void * mem); - -#endif - -#endif /* MWARE_HEAP_H */ +#warning This header is OBSOLETE +#include