+void
+mono_runtime_object_init (MonoObject *this_obj);
+
+void
+mono_runtime_class_init (MonoVTable *vtable);
+
+void
+mono_install_runtime_invoke (MonoInvokeFunc func);
+
+void
+mono_install_compile_method (MonoCompileFunc func);
+
+MonoMethod*
+mono_object_get_virtual_method (MonoObject *obj, MonoMethod *method);
+
+MonoObject*
+mono_runtime_invoke (MonoMethod *method, void *obj, void **params,
+ MonoObject **exc);
+
+MonoMethod *
+mono_get_delegate_invoke (MonoClass *klass);
+
+MonoObject*
+mono_runtime_delegate_invoke (MonoObject *delegate, void **params,
+ MonoObject **exc);
+
+MonoObject*
+mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
+ MonoObject **exc);
+
+MonoArray*
+mono_runtime_get_main_args (void);
+
+void
+mono_runtime_exec_managed_code (MonoDomain *domain,
+ MonoMainThreadFunc main_func,
+ gpointer main_args);
+
+int
+mono_runtime_run_main (MonoMethod *method, int argc, char* argv[],
+ MonoObject **exc);
+
+int
+mono_runtime_exec_main (MonoMethod *method, MonoArray *args,
+ MonoObject **exc);
+
+MonoAsyncResult *
+mono_async_result_new (MonoDomain *domain, HANDLE handle,
+ MonoObject *state, gpointer data);
+
+MonoWaitHandle *
+mono_wait_handle_new (MonoDomain *domain, HANDLE handle);
+
+void
+mono_message_init (MonoDomain *domain, MonoMethodMessage *this_obj,
+ MonoReflectionMethod *method, MonoArray *out_args);
+
+MonoObject *
+mono_remoting_invoke (MonoObject *real_proxy, MonoMethodMessage *msg,
+ MonoObject **exc, MonoArray **out_args);
+
+MonoObject *
+mono_message_invoke (MonoObject *target, MonoMethodMessage *msg,
+ MonoObject **exc, MonoArray **out_args);
+
+MonoMethodMessage *
+mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *invoke,
+ MonoDelegate **cb, MonoObject **state);
+
+gpointer
+mono_load_remote_field (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, gpointer *res);
+
+MonoObject *
+mono_load_remote_field_new (MonoObject *this_obj, MonoClass *klass, MonoClassField *field);
+
+void
+mono_store_remote_field (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, gpointer val);
+
+void
+mono_store_remote_field_new (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, MonoObject *arg);
+
+void
+mono_method_return_message_restore (MonoMethod *method, gpointer *params, MonoArray *out_args);
+
+void
+mono_unhandled_exception (MonoObject *exc);
+
+void
+mono_print_unhandled_exception (MonoObject *exc);
+
+void
+mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr);
+
+gpointer
+mono_compile_method (MonoMethod *method);
+
+/* accessors for fields and properties */
+void
+mono_field_set_value (MonoObject *obj, MonoClassField *field, void *value);
+
+void
+mono_field_static_set_value (MonoVTable *vt, MonoClassField *field, void *value);
+
+void
+mono_field_get_value (MonoObject *obj, MonoClassField *field, void *value);
+
+void
+mono_field_static_get_value (MonoVTable *vt, MonoClassField *field, void *value);
+
+void
+mono_property_set_value (MonoProperty *prop, void *obj, void **params, MonoObject **exc);
+
+MonoObject*
+mono_property_get_value (MonoProperty *prop, void *obj, void **params, MonoObject **exc);
+