aboutsummaryrefslogtreecommitdiff
path: root/sdk-modifications/include/ds2_malloc.h
diff options
context:
space:
mode:
Diffstat (limited to 'sdk-modifications/include/ds2_malloc.h')
-rw-r--r--sdk-modifications/include/ds2_malloc.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/sdk-modifications/include/ds2_malloc.h b/sdk-modifications/include/ds2_malloc.h
new file mode 100644
index 0000000..5f158f7
--- /dev/null
+++ b/sdk-modifications/include/ds2_malloc.h
@@ -0,0 +1,32 @@
+#ifndef __DS2_MALLOC_H__
+#define __DS2_MALLOC_H__
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+extern void heapInit(unsigned int start, unsigned int end);
+
+extern void* Drv_alloc(unsigned int nbytes);
+extern void Drv_deAlloc(void* address);
+extern void* Drv_realloc(void* address, unsigned int nbytes);
+extern void* Drv_calloc(unsigned int nmem, unsigned int size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#define malloc Drv_alloc
+#define calloc Drv_calloc
+#define realloc Drv_realloc
+#define free Drv_deAlloc
+
+#ifdef __cplusplus
+#include <stdio.h>
+inline void* operator new ( size_t s ) { return malloc( s ); }
+inline void* operator new[] ( size_t s ) { return malloc( s ); }
+inline void operator delete ( void* p ) { free( p ); }
+inline void operator delete[] ( void* p ) { free( p ); }
+#endif
+
+#endif //__DS2_MALLOC_H__