mono-api-unsorted.html
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 classbounded: 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 assemblydll: 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 sensitivityfunc: 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 domainfilename: 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 assemblyargc: argument countargv: 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 arrayargv: 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 lineargv: array of strings from the command lineexc: 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