1 <h2>Embedding Mono</h2>
3 <h4><a name="api:mono_jit_init">mono_jit_init</a></h4>
4 <h4><a name="api:mono_set_dirs">mono_set_dirs</a></h4>
5 <h4><a name="api:mono_runtime_exec_main">mono_runtime_exec_main</a></h4>
6 <h4><a name="api:mono_runtime_exec_managed_code">mono_runtime_exec_managed_code</a></h4>
8 <h4><a name="api:mono_jit_cleanup">mono_jit_cleanup</a></h4>
9 <h4><a name="api:mono_set_defaults">mono_set_defaults</a></h4>
11 <h3>Internal Calls</h3>
13 <p>The Mono runtime provides two mechanisms to expose C code
14 to the CIL universe: internal calls and native C
15 code. Internal calls are tightly integrated with the runtime,
16 and have the least overhead, as they use the same data types
17 that the runtime uses.
19 <p>The other option is to use the Platform Invoke (P/Invoke)
20 to call C code from the CIL universe, using the standard
23 <p>To register an internal call, use this call you use the
24 <tt>mono_add_internal_call</tt> routine.
26 <h4><a name="api:mono_add_internal_call">mono_add_internal_call</a></h4>
28 <h3>Mono Runtime Configuration</h3>
30 <p>Certain features of the Mono runtime, like DLL mapping, are
31 available through a configuration file that is loaded at
32 runtime. The default Mono implementation loads the
33 configuration file from <tt>$sysconfig/mono/config</tt>
34 (typically this is <tt>/etc/mono/config</tt>).
36 <p>See the <tt>mono-config(5)</tt> man page for more details
37 on what goes in this file.
39 <p>The following APIs expose this functionality:
41 <h4><a name="api:mono_config_parse">mono_config_parse</a></h4>
42 <h4><a name="api:mono_config_parse_memory">mono_config_parse_memory</a></h4>
44 <h3>Function Pointers</h3>
46 <p>To wrap a function pointer into something that the Mono
47 runtime can consume, you should use the mono_create_ftnptr.
48 This is only important if you plan on running on the IA64
49 architecture. Otherwise you can just use the function
52 <h4><a name="api:mono_create_ftnptr">mono_create_ftnptr</a></h4>