[docs] Remove dead GC APIs.
[mono.git] / docs / sources / mono-api-internal.html
1 <h1>Mono Internals</h1>
2
3         <p>This section documents some of the internal APIs used
4         inside Mono that developers extending or altering Mono might
5         want to use.
6
7 <h2>Strings</h2>
8
9 <h3>Other Encodings</h3>
10
11         <p>These routines are used when coping with strings that come
12         from Mono's environment, and might be encoded in one or more
13         of the external encodings.
14
15         <p>For example, some file systems might historically contain a
16         mix of file names with both old and new encodings, typically
17         UTF8 for new files, and the old files would be encoded in an 8
18         bit character set (ISO-8859-1 for example).
19         
20         <p>These routines try a number of encodings, those specified
21         in the <tt>MONO_ENCODINGS</tt> environment variable and return
22         unicode strings that can be used internally.
23
24         <p>See the mono(1) man page for more details.
25         
26 <h4><a name="api:mono_unicode_from_external">mono_unicode_from_external</a></h4>
27 <h4><a name="api:mono_unicode_to_external">mono_unicode_to_external</a></h4>
28 <h4><a name="api:mono_utf8_from_external">mono_utf8_from_external</a></h4>
29
30 <h2>Marshalling functions</h2>
31
32 <h4><a name="api:mono_marshal_alloc">mono_marshal_alloc</a></h4>
33 <h4><a name="api:mono_marshal_asany">mono_marshal_asany</a></h4>
34 <h4><a name="api:mono_marshal_free_array">mono_marshal_free_array</a></h4>
35 <h4><a name="api:mono_marshal_free_asany">mono_marshal_free_asany</a></h4>
36 <h4><a name="api:mono_marshal_free">mono_marshal_free</a></h4>
37 <h4><a name="api:mono_marshal_get_castclass">mono_marshal_get_castclass</a></h4>
38 <h4><a name="api:mono_marshal_get_delegate_begin_invoke">mono_marshal_get_delegate_begin_invoke</a></h4>
39 <h4><a name="api:mono_marshal_get_delegate_end_invoke">mono_marshal_get_delegate_end_invoke</a></h4>
40 <h4><a name="api:mono_marshal_get_delegate_invoke">mono_marshal_get_delegate_invoke</a></h4>
41 <h4><a name="api:mono_marshal_get_icall_wrapper">mono_marshal_get_icall_wrapper</a></h4>
42 <h4><a name="api:mono_marshal_get_isinst">mono_marshal_get_isinst</a></h4>
43 <h4><a name="api:mono_marshal_get_ldfld_wrapper">mono_marshal_get_ldfld_wrapper</a></h4>
44 <h4><a name="api:mono_marshal_get_managed_wrapper">mono_marshal_get_managed_wrapper</a></h4>
45 <h4><a name="api:mono_marshal_get_native_wrapper">mono_marshal_get_native_wrapper</a></h4>
46 <h4><a name="api:mono_marshal_get_proxy_cancast">mono_marshal_get_proxy_cancast</a></h4>
47 <h4><a name="api:mono_marshal_get_ptr_to_struct">mono_marshal_get_ptr_to_struct</a></h4>
48 <h4><a name="api:mono_marshal_get_remoting_invoke_for_target">mono_marshal_get_remoting_invoke_for_target</a></h4>
49 <h4><a name="api:mono_marshal_get_remoting_invoke">mono_marshal_get_remoting_invoke</a></h4>
50 <h4><a name="api:mono_marshal_get_remoting_invoke_with_check">mono_marshal_get_remoting_invoke_with_check</a></h4>
51 <h4><a name="api:mono_marshal_get_runtime_invoke">mono_marshal_get_runtime_invoke</a></h4>
52 <h4><a name="api:mono_marshal_get_stelemref">mono_marshal_get_stelemref</a></h4>
53 <h4><a name="api:mono_marshal_get_stfld_wrapper">mono_marshal_get_stfld_wrapper</a></h4>
54 <h4><a name="api:mono_marshal_get_struct_to_ptr">mono_marshal_get_struct_to_ptr</a></h4>
55 <h4><a name="api:mono_marshal_get_synchronized_wrapper">mono_marshal_get_synchronized_wrapper</a></h4>
56 <h4><a name="api:mono_marshal_get_unbox_wrapper">mono_marshal_get_unbox_wrapper</a></h4> 
57 <h4><a name="api:mono_marshal_get_xappdomain_invoke">mono_marshal_get_xappdomain_invoke</a></h4>
58 <h4><a name="api:mono_marshal_load_type_info">mono_marshal_load_type_info</a></h4>
59 <h4><a name="api:mono_marshal_method_from_wrapper">mono_marshal_method_from_wrapper</a></h4>
60 <h4><a name="api:mono_marshal_set_last_error">mono_marshal_set_last_error</a></h4>
61 <h4><a name="api:mono_marshal_type_size">mono_marshal_type_size</a></h4>
62
63 <h2>Metadata Loader Locking: Internals</h2>
64
65         <p>The locking functions here are used by code in class.c and
66         metadata.c to lock access to the shared hashtables inside the
67         MonoImage.
68         
69 <h4><a name="api:mono_loader_lock">mono_loader_lock</a></h4>
70 <h4><a name="api:mono_loader_unlock">mono_loader_unlock</a></h4>
71
72 <h2>Garbage Collector Internal Interface</h2>
73
74         <p>The internal interface of the Mono GC is the interface used
75         between the runtime engine and the garbage collector.
76         
77 <h4><a name="api:mono_gc_alloc_fixed">mono_gc_alloc_fixed</a></h4> 
78 <h4><a name="api:mono_gc_free_fixed">mono_gc_free_fixed</a></h4> 
79 <h4><a name="api:mono_gc_make_descr_from_bitmap">mono_gc_make_descr_from_bitmap</a></h4> 
80
81
82 <h4><a name="api:mono_gc_base_init">mono_gc_base_init</a></h4>
83 <h4><a name="api:mono_gc_invoke_finalizers">mono_gc_invoke_finalizers</a></h4>
84 <h4><a name="api:mono_gc_is_gc_thread">mono_gc_is_gc_thread</a></h4>
85 <h4><a name="api:mono_gc_pending_finalizers">mono_gc_pending_finalizers</a></h4>
86 <h4><a name="api:mono_gc_register_thread">mono_gc_register_thread</a></h4>
87 <h4><a name="api:mono_gc_finalize_notify">mono_gc_finalize_notify</a></h4>
88
89
90