5 #ifndef _MONO_METADATA_LOADER_INTERNALS_H_
6 #define _MONO_METADATA_LOADER_INTERNALS_H_
9 #include <mono/metadata/appdomain.h>
10 #include <mono/metadata/image.h>
11 #include <mono/metadata/object-forward.h>
12 #include <mono/utils/mono-forward.h>
13 #include <mono/utils/mono-error.h>
14 #include <mono/utils/mono-coop-mutex.h>
16 typedef struct _MonoLoadedImages MonoLoadedImages
;
17 typedef struct _MonoAssemblyLoadContext MonoAssemblyLoadContext
;
20 /* FIXME: this probably belongs somewhere else */
21 struct _MonoAssemblyLoadContext
{
23 MonoLoadedImages
*loaded_images
;
24 GSList
*loaded_assemblies
;
25 MonoCoopMutex assemblies_lock
;
26 /* Handle of the corresponding managed object. If the ALC is
27 * collectible, the handle is weak, otherwise it's strong.
31 #endif /* ENABLE_NETCORE */
34 mono_lookup_pinvoke_call_internal (MonoMethod
*method
, MonoError
*error
);
38 mono_set_pinvoke_search_directories (int dir_count
, char **dirs
);
41 mono_alc_init (MonoAssemblyLoadContext
*alc
, MonoDomain
*domain
);
44 mono_alc_cleanup (MonoAssemblyLoadContext
*alc
);
47 mono_alc_assemblies_lock (MonoAssemblyLoadContext
*alc
);
50 mono_alc_assemblies_unlock (MonoAssemblyLoadContext
*alc
);
53 mono_alc_is_default (MonoAssemblyLoadContext
*alc
);
56 mono_alc_invoke_resolve_using_load_nofail (MonoAssemblyLoadContext
*alc
, MonoAssemblyName
*aname
);
59 mono_alc_invoke_resolve_using_resolving_event_nofail (MonoAssemblyLoadContext
*alc
, MonoAssemblyName
*aname
);
62 mono_alc_invoke_resolve_using_resolve_satellite_nofail (MonoAssemblyLoadContext
*alc
, MonoAssemblyName
*aname
);
64 #endif /* ENABLE_NETCORE */
66 static inline MonoDomain
*
67 mono_alc_domain (MonoAssemblyLoadContext
*alc
)
72 return mono_domain_get ();
77 mono_alc_get_loaded_images (MonoAssemblyLoadContext
*alc
);