mirror of
https://github.com/cc65/cc65.git
synced 2026-04-22 01:16:54 +00:00
Move _heap.h to the compiler include dir.
Create heap.inc and use that from the assembler code. Rename heap related _h... variables to _heap... Add _heapmaxavail and _heapmemavail functions. git-svn-id: svn://svn.cc65.org/cc65/trunk@1912 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
/*
|
||||
* _heap.h
|
||||
*
|
||||
* Ullrich von Bassewitz, 03.06.1998
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#ifndef __HEAP_H
|
||||
#define __HEAP_H
|
||||
|
||||
|
||||
|
||||
/* Space needed for administering used blocks */
|
||||
#define HEAP_ADMIN_SPACE sizeof (unsigned)
|
||||
|
||||
/* The data type used to implement the free list.
|
||||
* Beware: Field order is significant!
|
||||
*/
|
||||
struct freeblock {
|
||||
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 */
|
||||
|
||||
|
||||
|
||||
/* End of _heap.h */
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
+11
-2
@@ -57,8 +57,17 @@ void* __fastcall__ malloc (size_t size);
|
||||
void* __fastcall__ calloc (size_t count, size_t size);
|
||||
void* __fastcall__ realloc (void* block, size_t size);
|
||||
void __fastcall__ free (void* block);
|
||||
/* Non standard functions */
|
||||
void __fastcall__ _heapadd (void* mem, size_t size);
|
||||
|
||||
/* Non standard memory management functions */
|
||||
|
||||
void __fastcall__ _heapadd (void* mem, size_t size);
|
||||
/* Add a block to the heap */
|
||||
|
||||
size_t __fastcall__ _heapmemavail (void);
|
||||
/* Return the total free heap space */
|
||||
|
||||
size_t __fastcall__ _heapmaxavail (void);
|
||||
/* Return the size of the largest free block on the heap */
|
||||
|
||||
/* Random numbers */
|
||||
#define RAND_MAX 0x7FFF
|
||||
|
||||
Reference in New Issue
Block a user