To prevent confusement; used %u (unsigned int) for printing memory error.
[blender.git] / intern / guardedalloc / MEM_guardedalloc.h
index 2d84be491883fef9d13b492d3e464485ca439195..c9338d0ae8a9d8bff0d81727e35a53843fd8ddcf 100644 (file)
 #ifndef MEM_MALLOCN_H
 #define MEM_MALLOCN_H
 
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
 /* Needed for FILE* */
 #include "stdio.h"
 
@@ -91,19 +87,24 @@ extern "C" {
         * Allocate a block of memory of size len, with tag name str. The
         * memory is cleared. The name must be static, because only a
         * pointer to it is stored ! */
-       void *MEM_callocN(unsigned int len, char * str);
+       void *MEM_callocN(unsigned int len, const char * str);
        
        /** Allocate a block of memory of size len, with tag name str. The
-        * name must be a static, because only a pointer to it is stored !
-        * */
-       void *MEM_mallocN(unsigned int len, char * str);
+               * name must be a static, because only a pointer to it is stored !
+               * */
+       void *MEM_mallocN(unsigned int len, const char * str);
+       
+       /** Same as callocN, clears memory and uses mmap (disk cached) if supported.
+               Can be free'd with MEM_freeN as usual.
+               * */
+       void *MEM_mapallocN(unsigned int len, const char * str);
 
        /** Print a list of the names and sizes of all allocated memory
         * blocks. */ 
        void MEM_printmemlist(void);
 
-       /** Set the stream for error output. */
-       void MEM_set_error_stream(FILE*);
+       /** Set the callback function for error output. */
+       void MEM_set_error_callback(void (*func)(char *));
 
        /**
         * Are the start/end block markers still correct ?