`mono_bounded_array_class_get`
Syntax
MonoClass* mono_bounded_array_class_get (MonoClass *eclass, guint32 rank, gboolean bounded)

Parameters

element_class | element class
rank | the dimension of the array class
bounded | whenever the array has non-zero bounds

Return value
A class object describing the array with element type element_type and dimension rank.
Description

`mono_check_corlib_version`
Syntax
const char* mono_check_corlib_version (void)

Return value
`NULL` if the runtime will work with the corlib, or a g_malloc allocated string with the error otherwise.
Description

Checks that the corlib that is loaded matches the version of this runtime.

`mono_compile_method`
Syntax
gpointer mono_compile_method_checked (MonoMethod *method, MonoError *error)

Parameters

method | The method to compile.
error | set on error.

Description

This JIT-compiles the method, and returns the pointer to the native code produced. On failure returns `NULL` and sets error.

`mono_config_for_assembly`
Syntax
mono_config_for_assembly

`mono_dllmap_insert`
Syntax
void mono_dllmap_insert (MonoImage *assembly, const char *dll, const char *func, const char *tdll, const char *tfunc)

Parameters

assembly | if `NULL`, this is a global mapping, otherwise the remapping of the dynamic library will only apply to the specified assembly
dll | The name of the external library, as it would be found in the DllImport declaration. If prefixed with 'i:' the matching of the library name is done without case sensitivity
func | if not null, the mapping will only applied to the named function (the value of EntryPoint)
tdll | The name of the library to map the specified dll if it matches.
tfunc | The name of the function that replaces the invocation. If `NULL`, it is replaced with a copy of func.

Description

LOCKING: Acquires the loader lock.

This function is used to programatically add DllImport remapping in either a specific assembly, or as a global remapping. This is done by remapping references in a DllImport attribute from the dll library name into the tdll name. If the dll name contains the prefix "i:", the comparison of the library name is done without case sensitivity.

If you pass func, this is the name of the EntryPoint in a DllImport if specified or the name of the function as determined by DllImport. If you pass func, you must also pass tfunc which is the name of the target function to invoke on a match.

Example: mono_dllmap_insert (`NULL`, "i:libdemo.dll", `NULL`, relocated_demo_path, `NULL`);

The above will remap DllImport statments for "libdemo.dll" and "LIBDEMO.DLL" to the contents of relocated_demo_path for all assemblies in the Mono process.

NOTE: This can be called before the runtime is initialized, for example from mono_config_parse ().

`mono_free_method`
Syntax
mono_free_method

`mono_free_verify_list`
Syntax
mono_free_verify_list

`mono_get_config_dir`
Syntax
mono_get_config_dir

`mono_get_corlib`
Syntax
MonoImage* mono_get_corlib (void)

Return value
The MonoImage for mscorlib.dll
Description

Use this function to get the `MonoImage*` for the mscorlib.dll assembly

`mono_get_delegate_invoke`
Syntax
MonoMethod* mono_get_delegate_invoke (MonoClass *klass)

Parameters

klass | The delegate class

Return value
the MonoMethod for the "Invoke" method in the delegate klass or `NULL` if klass is a broken delegate type
Description

`mono_get_method_full`
Syntax
mono_get_method_full

`mono_get_method`
Syntax
mono_get_method

`mono_get_root_domain`
Syntax
MonoDomain* mono_get_root_domain (void)

Return value
the root appdomain, to obtain the current domain, use mono_domain_get ()
Description

The root AppDomain is the initial domain created by the runtime when it is initialized. Programs execute on this AppDomain, but can create new ones later. Currently there is no unmanaged API to create new AppDomains, this must be done from managed code.

`mono_lookup_internal_call`
Syntax
mono_lookup_internal_call

`mono_lookup_pinvoke_call`
Syntax
mono_lookup_pinvoke_call

`mono_parse_default_optimizations`
Syntax
mono_parse_default_optimizations

`mono_ptr_class_get`
Syntax
mono_ptr_class_get

`mono_register_bundled_assemblies`
Syntax
mono_register_bundled_assemblies

`mono_runtime_class_init`
Syntax
mono_runtime_class_init

`mono_runtime_cleanup`
Syntax
void mono_runtime_cleanup (MonoDomain *domain)

Parameters

domain | unused.

Description

Internal routine.

This must not be called while there are still running threads executing managed code.

`mono_runtime_get_main_args`
Syntax
MonoArray* mono_runtime_get_main_args_checked (MonoError *error)

Parameters

error | set on error

Return value
a MonoArray with the arguments passed to the main program. On failure returns `NULL` and sets error.
Description

`mono_runtime_init`
Syntax
void mono_runtime_init (MonoDomain *domain, MonoThreadStartCB start_cb, MonoThreadAttachCB attach_cb)

Parameters

domain | domain returned by mono_init ()

Description

Initialize the core AppDomain: this function will run also some IL initialization code, so it needs the execution engine to be fully operational.

AppDomain.SetupInformation is set up in mono_runtime_exec_main, where we know the entry_assembly.

`mono_runtime_is_shutting_down`
Syntax
gboolean mono_runtime_is_shutting_down (void)

Description

Returns whether the runtime has been flagged for shutdown.

This is consumed by the P:System.Environment.HasShutdownStarted property.

`mono_runtime_object_init`
Syntax
void mono_runtime_object_init (MonoObject *this_obj)

Parameters

this_obj | the object to initialize

Description

This function calls the zero-argument constructor (which must exist) for the given object.

`mono_runtime_quit`
Syntax
mono_runtime_quit

`mono_runtime_run_main`
Syntax
int mono_runtime_run_main (MonoMethod *method, int argc, char* argv[], MonoObject **exc)

Parameters

method | the method to start the application with (usually Main)
argc | number of arguments from the command line
argv | array of strings from the command line
exc | excetption results

Description

Execute a standard Main() method (argc/argv contains the executable name). This method also sets the command line argument value needed by System.Environment.

`mono_table_info_get_rows`
Syntax
mono_table_info_get_rows