mono_bounded_array_class_get
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

Returns

> a class object describing the array with element type element_type and dimension rank.

mono_check_corlib_version
const char* mono_check_corlib_version (void)

Returns

> NULL if the runtime will work with the corlib, or a g_malloc allocated string with the error otherwise.

Remarks

Checks that the corlib that is loaded matches the version of this runtime.
mono_compile_method
gpointer mono_compile_method (MonoMethod *method)

Parameters

> method:
>   The method to compile.

Remarks

This JIT-compiles the method, and returns the pointer to the native code produced.
mono_config_for_assembly
Prototype: mono_config_for_assembly

mono_dllmap_insert
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:
>   if func is not NULL, the name of the function that replaces the invocation

Remarks

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_environment_exitcode_get
Prototype: mono_environment_exitcode_get

mono_environment_exitcode_set
Prototype: mono_environment_exitcode_set

mono_free_method
Prototype: mono_free_method

mono_free_verify_list
Prototype: mono_free_verify_list

mono_get_config_dir
Prototype: mono_get_config_dir

mono_get_corlib
Prototype: mono_get_corlib

mono_get_delegate_invoke
MonoMethod* mono_get_delegate_invoke (MonoClass *klass)

Parameters

> klass:
>   The delegate class

Returns

> the MonoMethod for the "Invoke" method in the delegate klass or NULL if klass is a broken delegate type

mono_get_method_full
Prototype: mono_get_method_full

mono_get_method
Prototype: mono_get_method

mono_get_root_domain
MonoDomain* mono_get_root_domain (void)

Returns

> the root appdomain, to obtain the current domain, use mono_domain_get ()

Remarks

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_init_from_assembly
MonoDomain* mono_init_from_assembly (const char *domain_name, const char *filename)

Parameters

> domain_name:
>   name to give to the initial domain
> filename:
>   filename to load on startup

Returns

> the initial domain.

Remarks

Used by the runtime, users should use mono_jit_init instead. Creates the initial application domain and initializes the mono_defaults structure. This function is guaranteed to not run any IL code. The runtime is initialized using the runtime version required by the provided executable. The version is determined by looking at the exe configuration file and the version PE field)
mono_init
MonoDomain* mono_init (const char *domain_name)

Returns

> the initial domain.

Remarks

Creates the initial application domain and initializes the mono_defaults structure. This function is guaranteed to not run any IL code. The runtime is initialized using the default runtime version.
mono_init_version
MonoDomain* mono_init_version (const char *domain_name, const char *version)

Returns

> the initial domain.

Remarks

Used by the runtime, users should use mono_jit_init instead.

Creates the initial application domain and initializes the mono_defaults structure. This function is guaranteed to not run any IL code. The runtime is initialized using the provided rutime version.
mono_jit_exec
int mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[])

Parameters

> assembly:
>   reference to an assembly
> argc:
>   argument count
> argv:
>   argument vector

Remarks

Start execution of a program.
mono_lookup_internal_call
Prototype: mono_lookup_internal_call

mono_lookup_pinvoke_call
Prototype: mono_lookup_pinvoke_call

mono_main
int mono_main (int argc, char* argv[])

Parameters

> argc:
>   number of arguments in the argv array
> argv:
>   array of strings containing the startup arguments

Remarks

Launches the Mono JIT engine and parses all the command line options in the same way that the mono command line VM would.
mono_parse_default_optimizations
Prototype: mono_parse_default_optimizations

mono_ptr_class_get
Prototype: mono_ptr_class_get

mono_register_bundled_assemblies
Prototype: mono_register_bundled_assemblies

mono_runtime_class_init
Prototype: mono_runtime_class_init

mono_runtime_cleanup
void mono_runtime_cleanup (MonoDomain *domain)

Parameters

> domain:
>   unused.

Remarks

Internal routine. This must not be called while there are still running threads executing managed code.
mono_runtime_get_main_args
MonoArray* mono_runtime_get_main_args (void)

Returns

> a MonoArray with the arguments passed to the main program

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

Parameters

> domain:
>   domain returned by mono_init ()

Remarks

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
gboolean mono_runtime_is_shutting_down (void)

Remarks

Returns whether the runtime has been flagged for shutdown. This is consumed by the P:System.Environment.HasShutdownStarted property.
mono_runtime_object_init
Prototype: mono_runtime_object_init

mono_runtime_quit
Prototype: mono_runtime_quit

mono_runtime_run_main
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

Remarks

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
Prototype: mono_table_info_get_rows

mono_upgrade_remote_class_wrapper
Prototype: mono_upgrade_remote_class_wrapper

mono_verify_corlib
Prototype: mono_verify_corlib