#define endpools() nsmallocpools; extern char *nsmpoolnames[MAXPOOL];
#include <stdlib.h>
+#include <stdint.h>
void *nsmalloc(unsigned int poolid, size_t size);
void nsfree(unsigned int poolid, void *ptr);
void nsfreeall(unsigned int poolid);
+void nsinit(void);
void nsexit(void);
void *nsrealloc(unsigned int poolid, void *ptr, size_t size);
void nscheckfreeall(unsigned int poolid);
+void *nscalloc(unsigned int poolid, size_t nmemb, size_t size);
#define MAXPOOL 100
-
+#define REDZONE_MAGIC 0x243653E957851F68ULL
struct nsminfo {
struct nsminfo *next;
struct nsminfo *prev;
size_t size;
+ uint64_t redzone;
char data[];
};
struct nsmpool {
- struct nsminfo first;
-
unsigned long count;
size_t size;
+ struct nsminfo *blocks;
};
extern struct nsmpool nsmpools[MAXPOOL];
pool(SQLITE),
pool(PQSQL),
pool(PATRICIA),
+ pool(PATRICIANICK),
+ pool(GLINE),
+ pool(TRUSTS),
+ pool(SPAMSCAN2),
+ pool(ACHIEVEMENTS)
} endpools()
#undef pool