[bcl] Enable tests for the monodroid profile.
[mono.git] / mono / utils / mono-dl-fallback.h
1 #ifndef __MONO_UTILS_DL_FALLBACK_H__
2 #define __MONO_UTILS_DL_FALLBACK_H__
3
4 #include <mono/utils/mono-publib.h>
5
6 MONO_BEGIN_DECLS
7
8 enum {
9         MONO_DL_EAGER = 0,
10         MONO_DL_LAZY  = 1,
11         MONO_DL_LOCAL = 2,
12         MONO_DL_MASK  = 3
13 };
14
15 /*
16  * This is the dynamic loader fallback API
17  */
18 typedef struct MonoDlFallbackHandler MonoDlFallbackHandler;
19
20 /*
21  * The "err" variable contents must be allocated using g_malloc or g_strdup
22  */
23 typedef void* (*MonoDlFallbackLoad) (const char *name, int flags, char **err, void *user_data);
24 typedef void* (*MonoDlFallbackSymbol) (void *handle, const char *name, char **err, void *user_data);
25 typedef void* (*MonoDlFallbackClose) (void *handle, void *user_data);
26
27 MONO_API MonoDlFallbackHandler *mono_dl_fallback_register (MonoDlFallbackLoad load_func, MonoDlFallbackSymbol symbol_func,
28                                                   MonoDlFallbackClose close_func, void *user_data);
29
30 MONO_API void                   mono_dl_fallback_unregister (MonoDlFallbackHandler *handler);
31
32 MONO_END_DECLS
33
34 #endif /* __MONO_UTILS_DL_FALLBACK_H__ */
35