#ifndef __malloc_h__ #define __malloc_h__ #ifdef __cplusplus extern "C" { #endif #include // import malloc, realloc, free extern void* malloc(size_t); extern void* realloc(void*, size_t); extern void free(void*); // implement calloc, memalign, valloc extern void* calloc(size_t num, size_t size); extern void* memalign(size_t align, size_t size); extern void* valloc(size_t size); typedef struct { void* region; void* next; } _malloc_list_node; // implement wrappers for memory reclaiming #define malloc(numbytes) _malloc(numbytes) #define realloc(region, numbytes) _realloc(region, numbytes) #define free(region) _free(region) extern void* _malloc(size_t); extern void* _realloc(void*, size_t); extern void _free(void*); extern void _malloc_reclaim(); #ifdef __cplusplus } #endif #endif