2007-07-13 19:37:47 +00:00
|
|
|
//#include <stdlib.h>
|
|
|
|
|
|
|
|
/* errno is set to 0 or a value to indicate problems. */
|
2007-07-20 18:00:14 +00:00
|
|
|
void *toku_calloc(long nmemb, long size);
|
2007-08-07 23:38:05 +00:00
|
|
|
void *toku_malloc(unsigned long size);
|
2007-07-13 19:37:47 +00:00
|
|
|
void *tagmalloc(unsigned long size, int typ);
|
2007-07-20 18:00:14 +00:00
|
|
|
void toku_free(void*);
|
2007-08-07 23:38:05 +00:00
|
|
|
void toku_free_n(void*, unsigned long size);
|
2007-07-20 18:00:14 +00:00
|
|
|
void *toku_realloc(void *, long size);
|
2007-07-13 19:37:47 +00:00
|
|
|
|
2007-07-20 18:00:14 +00:00
|
|
|
#define MALLOC(v) v = toku_malloc(sizeof(*v))
|
|
|
|
#define MALLOC_N(n,v) v = toku_malloc((n)*sizeof(*v))
|
2007-07-13 19:37:47 +00:00
|
|
|
|
|
|
|
#define TAGMALLOC(t,v) t v = tagmalloc(sizeof(*v), TYP_ ## t);
|
|
|
|
|
|
|
|
void *memdup (const void *v, unsigned int len);
|
2007-08-01 02:37:21 +00:00
|
|
|
char *toku_strdup (const char *s);
|
2007-07-13 19:37:47 +00:00
|
|
|
|
|
|
|
void memory_check_all_free (void);
|
|
|
|
void do_memory_check(void);
|
|
|
|
|
|
|
|
extern int memory_check; // Set to nonzero to get a (much) slower version of malloc that does (much) more checking.
|
|
|
|
|
|
|
|
int get_n_items_malloced(void);
|
|
|
|
void print_malloced_items(void);
|
2007-08-07 23:14:09 +00:00
|
|
|
void malloc_report (void);
|
2007-08-07 23:38:05 +00:00
|
|
|
void malloc_cleanup (void);
|