Merge pull request #1349 from martinjt/MachineKeyProtect
[mono.git] / mono / utils / mono-dl.h
1 #ifndef __MONO_UTILS_DL_H__
2 #define __MONO_UTILS_DL_H__
3
4 #include "mono/utils/mono-compiler.h"
5 #include "mono/utils/mono-dl-fallback.h"
6
7 #ifdef TARGET_WIN32
8 #define MONO_SOLIB_EXT ".dll"
9 #elif defined(__ppc__) && defined(TARGET_MACH)
10 #define MONO_SOLIB_EXT ".dylib"
11 #elif defined(TARGET_MACH) && defined(TARGET_X86) && !defined(__native_client_codegen__)
12 #define MONO_SOLIB_EXT ".dylib"
13 #elif defined(TARGET_MACH) && defined(TARGET_AMD64) && !defined(__native_client_codegen__)
14 #define MONO_SOLIB_EXT ".dylib"
15 #else
16 #define MONO_SOLIB_EXT ".so"
17 #endif
18
19 typedef struct _MonoDl MonoDl;
20
21 MonoDl*     mono_dl_open       (const char *name, int flags, char **error_msg) MONO_LLVM_INTERNAL;
22 char*       mono_dl_symbol     (MonoDl *module, const char *name, void **symbol) MONO_LLVM_INTERNAL;
23 void        mono_dl_close      (MonoDl *module) MONO_LLVM_INTERNAL;
24
25 char*       mono_dl_build_path (const char *directory, const char *name, void **iter) MONO_INTERNAL;
26
27 MonoDl*     mono_dl_open_runtime_lib (const char *lib_name, int flags, char **error_msg) MONO_INTERNAL;
28
29 #endif /* __MONO_UTILS_DL_H__ */
30