]> jfr.im git - irc/quakenet/newserv.git/blobdiff - core/nsmalloc.h
Merge chanserv-live into default.
[irc/quakenet/newserv.git] / core / nsmalloc.h
index c79748747289002c6854e4d27c481fe3f1f9867f..9410d2837211c0fb13ffd55b5b16e19732507eb9 100644 (file)
 #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];
@@ -65,7 +67,9 @@ beginpools() {
   pool(GLINE),
   pool(TRUSTS),
   pool(SPAMSCAN2),
-  pool(ACHIEVEMENTS)
+  pool(ACHIEVEMENTS),
+  pool(CHANSTATS),
+  pool(SCHEDULE)
 } endpools()
 
 #undef pool