/*
- * _heap.h
- *
- * Ullrich von Bassewitz, 1998-06-03, 2004-12-19
- *
- */
+** _heap.h
+**
+** Ullrich von Bassewitz, 1998-06-03, 2004-12-19
+**
+*/
-/* Structure that preceeds a user block in most cases.
- * The aligned_malloc function may generate blocks where the start pointer
- * and size are splitted to handle a memory hole that is needed for
- * alignment.
- */
+/* Structure that preceeds a user block in most cases.
+** The aligned_malloc function may generate blocks where the start pointer
+** and size are splitted to handle a memory hole that is needed for
+** alignment.
+*/
struct usedblock {
unsigned size;
struct usedblock* start;
#define HEAP_ADMIN_SPACE sizeof (struct usedblock)
/* The data type used to implement the free list.
- * Beware: Field order is significant!
- */
+** Beware: Field order is significant!
+*/
struct freeblock {
- unsigned size;
- struct freeblock* next;
- struct freeblock* prev;
+ unsigned size;
+ struct freeblock* next;
+ struct freeblock* prev;
};
/* Variables that describe the heap */
-extern unsigned* _heaporg; /* Bottom of heap */
-extern unsigned* _heapptr; /* Current top */
-extern unsigned* _heapend; /* Upper limit */
-extern struct freeblock* _heapfirst; /* First free block in list */
-extern struct freeblock* _heaplast; /* Last free block in list */
+extern unsigned* _heaporg; /* Bottom of heap */
+extern unsigned* _heapptr; /* Current top */
+extern unsigned* _heapend; /* Upper limit */
+extern struct freeblock* _heapfirst; /* First free block in list */
+extern struct freeblock* _heaplast; /* Last free block in list */