+#define mono_domain_jit_code_hash_lock(domain) EnterCriticalSection(&(domain)->jit_code_hash_lock)
+#define mono_domain_jit_code_hash_unlock(domain) LeaveCriticalSection(&(domain)->jit_code_hash_lock)
+
+typedef MonoDomain* (*MonoLoadFunc) (const char *filename, const char *runtime_version);
+
+void
+mono_install_runtime_load (MonoLoadFunc func) MONO_INTERNAL;
+
+MonoDomain*
+mono_runtime_load (const char *filename, const char *runtime_version) MONO_INTERNAL;
+
+typedef void (*MonoCreateDomainFunc) (MonoDomain *domain);
+
+void
+mono_install_create_domain_hook (MonoCreateDomainFunc func) MONO_INTERNAL;
+
+typedef void (*MonoFreeDomainFunc) (MonoDomain *domain);
+
+void
+mono_install_free_domain_hook (MonoFreeDomainFunc func) MONO_INTERNAL;