1 /**
2  * \file
3  */
4 
5 #ifndef _MONO_MEMPOOL_H_
6 #define _MONO_MEMPOOL_H_
7 
8 #include <mono/utils/mono-publib.h>
9 
10 MONO_BEGIN_DECLS
11 
12 typedef struct _MonoMemPool MonoMemPool;
13 
14 MONO_API MonoMemPool *
15 mono_mempool_new           (void);
16 
17 MONO_API MonoMemPool *
18 mono_mempool_new_size      (int initial_size);
19 
20 MONO_API void
21 mono_mempool_destroy       (MonoMemPool *pool);
22 
23 MONO_API void
24 mono_mempool_invalidate    (MonoMemPool *pool);
25 
26 MONO_API void
27 mono_mempool_stats         (MonoMemPool *pool);
28 
29 MONO_API void*
30 mono_mempool_alloc         (MonoMemPool *pool, unsigned int size);
31 
32 MONO_API void*
33 mono_mempool_alloc0        (MonoMemPool *pool, unsigned int size);
34 
35 MONO_API mono_bool
36 mono_mempool_contains_addr (MonoMemPool *pool, void* addr);
37 
38 MONO_API char*
39 mono_mempool_strdup        (MonoMemPool *pool, const char *s);
40 
41 MONO_API uint32_t
42 mono_mempool_get_allocated (MonoMemPool *pool);
43 
44 MONO_END_DECLS
45 
46 #endif
47