Merge pull request #5714 from alexischr/update_bockbuild
[mono.git] / mono / metadata / mempool.h
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