This commit introduces C++ support.
[cacao.git] / src / mm / memory.h
index b2796d9e340d198316186607a3e5361f15b5ed1f..8a88321d38480fceaa3ebb1d34759a2b84952dd9 100644 (file)
@@ -1,7 +1,7 @@
 /* src/mm/memory.h - macros for memory management
 
    Copyright (C) 1996-2005, 2006, 2007, 2008
-   CACAOVM - Verein zu Foerderung der freien virtuellen Machine CACAO
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
 #ifndef _MEMORY_H
 #define _MEMORY_H
 
-
 #include "config.h"
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <string.h>
 
 #include "vm/types.h"
@@ -90,7 +93,7 @@ Some more macros:
 
 #define MEMORY_ALIGN(pos,size) ((((pos) + (size) - 1) / (size)) * (size))
 #define PADDING(pos,size)     (MEMORY_ALIGN((pos),(size)) - (pos))
-#define OFFSET(s,el)          ((s4) ((ptrint) &(((s*) 0)->el)))
+#define OFFSET(s,el)          ((int32_t) ((ptrint) &(((s*) 0)->el)))
 
 
 #define NEW(type)             ((type *) mem_alloc(sizeof(type)))
@@ -133,17 +136,21 @@ void  memory_mprotect(void *addr, size_t len, int prot);
 
 void *memory_checked_alloc(size_t size);
 
-void *memory_cnew(s4 size);
-void  memory_cfree(void *p, s4 size);
+void *memory_cnew(int32_t size);
+void  memory_cfree(void *p, int32_t size);
 
-void *mem_alloc(s4 size);
-void  mem_free(void *m, s4 size);
-void *mem_realloc(void *src, s4 len1, s4 len2);
+void *mem_alloc(int32_t size);
+void  mem_free(void *m, int32_t size);
+void *mem_realloc(void *src, int32_t len1, int32_t len2);
 
 #if defined(ENABLE_THREADS)
 bool  memory_start_thread(void);
 #endif
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* _MEMORY_H */