Merge pull request #708 from spicypixel/hotfix/mono-object-to-string
[mono.git] / mono / metadata / mono-gc.h
1 /*
2  * mono-gc.h: GC related public interface
3  *
4  */
5 #ifndef __METADATA_MONO_GC_H__
6 #define __METADATA_MONO_GC_H__
7
8 #include <mono/metadata/object.h>
9
10 MONO_BEGIN_DECLS
11
12 typedef int (*MonoGCReferences) (MonoObject *obj, MonoClass *klass, uintptr_t size, uintptr_t num, MonoObject **refs, uintptr_t *offsets, void *data);
13
14 MONO_API void   mono_gc_collect         (int generation);
15 MONO_API int    mono_gc_max_generation  (void);
16 MONO_API int    mono_gc_get_generation  (MonoObject *object);
17 MONO_API int    mono_gc_collection_count (int generation);
18 MONO_API int64_t mono_gc_get_used_size   (void);
19 MONO_API int64_t mono_gc_get_heap_size   (void);
20 MONO_API int    mono_gc_invoke_finalizers (void);
21 /* heap walking is only valid in the pre-stop-world event callback */
22 MONO_API int    mono_gc_walk_heap        (int flags, MonoGCReferences callback, void *data);
23
24 MONO_END_DECLS
25
26 #endif /* __METADATA_MONO_GC_H__ */
27