From b6b6a0b5fe65620d0dde4f3dd46244baab2cb8a6 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 24 Apr 2006 15:21:18 +0000 Subject: First draft of a dynamic memory allocator --- src/include/gpxe/malloc.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/include/gpxe/malloc.h (limited to 'src/include/gpxe') diff --git a/src/include/gpxe/malloc.h b/src/include/gpxe/malloc.h new file mode 100644 index 000000000..abb0008a1 --- /dev/null +++ b/src/include/gpxe/malloc.h @@ -0,0 +1,36 @@ +#ifndef _GPXE_MALLOC_H +#define _GPXE_MALLOC_H + +#include + +/** @file + * + * Memory allocation + * + */ + +extern void * gmalloc ( size_t size ); +extern void gfree ( void *ptr, size_t size ); +extern void gmpopulate ( void *start, size_t len ); + +/** + * Allocate cleared memory + * + * @v size Requested size + * @ret ptr Allocated memory + * + * Allocate memory as per gmalloc(), and zero it. + * + * Note that gmalloc() and gcalloc() are identical, in the interests + * of reducing code size. Callers should not, however, rely on + * gmalloc() clearing memory, since this behaviour may change in + * future. + */ +static inline void * gcalloc ( size_t size ) { + return gmalloc ( size ); +} + +/* Debug function; not compiled in by default */ +void gdumpfree ( void ); + +#endif /* _GPXE_MALLOC_H */ -- cgit v1.2.3-55-g7522