6 // NOP (stdlib.h defines the heap functions)
7 // Heap_Allocate is used in _strdup
8 extern void *Heap_Allocate(const char *File, int Line, int ByteCount);
9 extern void *Heap_AllocateZero(const char *File, int Line, size_t Bytes);
10 extern void *Heap_Reallocate(const char *File, int Line, void *Ptr, size_t Bytes);
11 extern void Heap_Deallocate(void *Ptr);
12 extern int Heap_IsHeapAddr(void *Ptr);
13 extern void Heap_Validate(void);
14 extern char *Heap_StringDup(const char *File, int Line, const char *Str);
16 #define malloc(size) Heap_Allocate(_MODULE_NAME_"/"__FILE__, __LINE__, (size))
17 #define calloc(num,size) Heap_AllocateZero(_MODULE_NAME_"/"__FILE__, __LINE__, (num)*(size))
18 #define realloc(ptr,size) Heap_Reallocate(_MODULE_NAME_"/"__FILE__, __LINE__, (ptr), (size))
19 #define free(ptr) Heap_Deallocate((ptr))
20 #define IsHeap(ptr) Heap_IsHeapAddr((ptr))
22 #define strdup(Str) Heap_StringDup(_MODULE_NAME_"/"__FILE__, __LINE__, (Str))