X-Git-Url: http://git.imager.perl.org/imager.git/blobdiff_plain/fe6163bfad50231369d5cd3fa6021d2c08687587..028633be6cb526cd2976891b3b450097f5fbdc55:/imio.h diff --git a/imio.h b/imio.h index fff5a1ac..6d5cea4f 100644 --- a/imio.h +++ b/imio.h @@ -1,52 +1,27 @@ -#ifndef _IO_H_ -#define _IO_H_ +#ifndef IMAGER_IMIO_H_ +#define IMAGER_IMIO_H_ #include #include -#ifndef _MSC_VER -#include -#include -#endif +#include "imconfig.h" #include "log.h" +typedef struct i_mempool { + void **p; + unsigned int alloc; + unsigned int used; +} i_mempool; -/* #define MALLOC_DEBUG */ - -#ifdef IMAGER_DEBUG_MALLOC - -#define mymalloc(x) (mymalloc_file_line((x), __FILE__, __LINE__)) -#define myrealloc(x,y) (myrealloc_file_line((x),(y), __FILE__, __LINE__)) -#define myfree(x) (myfree_file_line((x), __FILE__, __LINE__)) - -void malloc_state (); -void* mymalloc_file_line (size_t size, char* file, int line); -void myfree_file_line (void *p, char*file, int line); -void* myrealloc_file_line(void *p, size_t newsize, char* file,int line); -void* mymalloc_comm (int size, char *comm); -void bndcheck_all (void); - -#else - -#define malloc_comm(a,b) (mymalloc(a)) -void malloc_state(void); -void* mymalloc(int size); -void myfree(void *p); -void* myrealloc(void *p, size_t newsize); - -#endif /* IMAGER_MALLOC_DEBUG */ - +void i_mempool_init(i_mempool *mp); +void i_mempool_extend(i_mempool *mp); +void *i_mempool_alloc(i_mempool *mp, size_t size); +void i_mempool_destroy(i_mempool *mp); #ifdef _MSC_VER #undef min #undef max #endif -/* XXX Shouldn't all of these go away */ - -int min(int a,int b); -int max(int x,int y); -int myread(int fd,void *buf,int len); -int mywrite(int fd,void *buf,int len); -void interleave(unsigned char *inbuffer,unsigned char *outbuffer,int rowsize,int channels); +extern unsigned long i_utf8_advance(char const **p, size_t *len); #endif