少年修仙传客户端基础资源
hch
2024-04-01 d01413b00ef631ac20347716b23818b0b811f65f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
 * \file
 */
 
#ifndef __MONO_UTILS_DL_H__
#define __MONO_UTILS_DL_H__
 
#include "mono/utils/mono-compiler.h"
#include "mono/utils/mono-dl-fallback.h"
 
#ifdef TARGET_WIN32
#define MONO_SOLIB_EXT ".dll"
#elif defined(__ppc__) && defined(TARGET_MACH)
#define MONO_SOLIB_EXT ".dylib"
#elif defined(TARGET_MACH) && defined(TARGET_X86)
#define MONO_SOLIB_EXT ".dylib"
#elif defined(TARGET_MACH) && defined(TARGET_AMD64)
#define MONO_SOLIB_EXT ".dylib"
#else
#define MONO_SOLIB_EXT ".so"
#endif
 
typedef struct {
    void *handle;
    int main_module;
 
    /* If not NULL, use the methods in MonoDlFallbackHandler instead of the LL_* methods */
    MonoDlFallbackHandler *dl_fallback;
} MonoDl;
 
 
MONO_API MonoDl*     mono_dl_open       (const char *name, int flags, char **error_msg) MONO_LLVM_INTERNAL;
char*       mono_dl_symbol     (MonoDl *module, const char *name, void **symbol) MONO_LLVM_INTERNAL;
void        mono_dl_close      (MonoDl *module) MONO_LLVM_INTERNAL;
 
char*       mono_dl_build_path (const char *directory, const char *name, void **iter);
 
MonoDl*     mono_dl_open_runtime_lib (const char *lib_name, int flags, char **error_msg);
 
 
//Platform API for mono_dl
const char* mono_dl_get_so_prefix (void);
const char** mono_dl_get_so_suffixes (void);
void* mono_dl_open_file (const char *file, int flags);
void mono_dl_close_handle (MonoDl *module);
void* mono_dl_lookup_symbol (MonoDl *module, const char *name);
int mono_dl_convert_flags (int flags);
char* mono_dl_current_error_string (void);
int mono_dl_get_executable_path (char *buf, int buflen);
const char* mono_dl_get_system_dir (void);
 
#endif /* __MONO_UTILS_DL_H__ */