Commit | Line | Data |
---|---|---|
02d1d628 AMH |
1 | #ifndef _IO_H_ |
2 | #define _IO_H_ | |
3 | #include <stdio.h> | |
4 | #include <sys/stat.h> | |
5 | #ifndef _MSC_VER | |
6 | #include <unistd.h> | |
7 | #include <sys/mman.h> | |
8 | #endif | |
9 | ||
10 | #include "log.h" | |
11 | ||
12 | ||
13 | /* #define MALLOC_DEBUG */ | |
14 | ||
15 | #ifdef IMAGER_DEBUG_MALLOC | |
16 | ||
17 | #define mymalloc(x) (mymalloc_file_line((x), __FILE__, __LINE__)) | |
fe6163bf | 18 | #define myrealloc(x,y) (myrealloc_file_line((x),(y), __FILE__, __LINE__)) |
02d1d628 AMH |
19 | #define myfree(x) (myfree_file_line((x), __FILE__, __LINE__)) |
20 | ||
aea697ad | 21 | void malloc_state (void); |
fe6163bf AMH |
22 | void* mymalloc_file_line (size_t size, char* file, int line); |
23 | void myfree_file_line (void *p, char*file, int line); | |
24 | void* myrealloc_file_line(void *p, size_t newsize, char* file,int line); | |
25 | void* mymalloc_comm (int size, char *comm); | |
26 | void bndcheck_all (void); | |
02d1d628 AMH |
27 | |
28 | #else | |
29 | ||
30 | #define malloc_comm(a,b) (mymalloc(a)) | |
fe6163bf | 31 | void malloc_state(void); |
02d1d628 | 32 | void* mymalloc(int size); |
fe6163bf AMH |
33 | void myfree(void *p); |
34 | void* myrealloc(void *p, size_t newsize); | |
02d1d628 AMH |
35 | |
36 | #endif /* IMAGER_MALLOC_DEBUG */ | |
37 | ||
38 | ||
8047cbb5 AMH |
39 | |
40 | typedef struct i_mempool { | |
41 | void **p; | |
42 | unsigned int alloc; | |
43 | unsigned int used; | |
44 | } i_mempool; | |
45 | ||
46 | void i_mempool_init(i_mempool *mp); | |
47 | void i_mempool_extend(i_mempool *mp); | |
48 | void *i_mempool_alloc(i_mempool *mp, size_t size); | |
49 | void i_mempool_destroy(i_mempool *mp); | |
50 | ||
51 | ||
52 | ||
02d1d628 AMH |
53 | #ifdef _MSC_VER |
54 | #undef min | |
55 | #undef max | |
56 | #endif | |
fe6163bf | 57 | |
5473b91d | 58 | /* XXX Shouldn't these go away? */ |
fe6163bf | 59 | |
b33c08f8 TC |
60 | int i_min(int a,int b); |
61 | int i_max(int x,int y); | |
02d1d628 AMH |
62 | |
63 | #endif |