2010-04-07 Rodrigo Kumpera <rkumpera@novell.com>
[mono.git] / mono / metadata / mempool.h
blobb8226ed616838d300c2fafb81e9f6e9fc9bc022b
1 #ifndef _MONO_MEMPOOL_H_
2 #define _MONO_MEMPOOL_H_
4 #include <mono/utils/mono-publib.h>
6 MONO_BEGIN_DECLS
8 typedef struct _MonoMemPool MonoMemPool;
10 MonoMemPool *
11 mono_mempool_new (void);
13 MonoMemPool *
14 mono_mempool_new_size (int initial_size);
16 void
17 mono_mempool_destroy (MonoMemPool *pool);
19 void
20 mono_mempool_invalidate (MonoMemPool *pool);
22 void
23 mono_mempool_empty (MonoMemPool *pool);
25 void
26 mono_mempool_stats (MonoMemPool *pool);
28 void*
29 mono_mempool_alloc (MonoMemPool *pool, unsigned int size);
31 void*
32 mono_mempool_alloc0 (MonoMemPool *pool, unsigned int size);
34 mono_bool
35 mono_mempool_contains_addr (MonoMemPool *pool, void* addr);
37 char*
38 mono_mempool_strdup (MonoMemPool *pool, const char *s);
40 uint32_t
41 mono_mempool_get_allocated (MonoMemPool *pool);
43 MONO_END_DECLS
45 #endif