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