少年修仙传客户端基础资源
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
53
54
55
56
57
58
59
/**
 * \file
 * Copyright 2015 Xamarin Inc
 * Licensed under the MIT license. See LICENSE file in the project root for full license information.
 */
#ifndef __MONO_METADATA_ASSEMBLY_INTERNALS_H__
#define __MONO_METADATA_ASSEMBLY_INTERNALS_H__
 
#include <glib.h>
 
#include <mono/metadata/assembly.h>
#include <mono/metadata/metadata-internals.h>
 
/* Flag bits for mono_assembly_names_equal_flags (). */
typedef enum {
        /* Default comparison: all fields must match */
    MONO_ANAME_EQ_NONE = 0x0,
        /* Don't compare public key token */
    MONO_ANAME_EQ_IGNORE_PUBKEY = 0x1,
        /* Don't compare the versions */
    MONO_ANAME_EQ_IGNORE_VERSION = 0x2,
        /* When comparing simple names, ignore case differences */
    MONO_ANAME_EQ_IGNORE_CASE = 0x4,
 
    MONO_ANAME_EQ_MASK = 0x7
} MonoAssemblyNameEqFlags;
 
gboolean
mono_assembly_names_equal_flags (MonoAssemblyName *l, MonoAssemblyName *r, MonoAssemblyNameEqFlags flags);
 
MONO_API MonoImage*    mono_assembly_load_module_checked (MonoAssembly *assembly, uint32_t idx, MonoError *error);
 
MonoAssembly * mono_assembly_open_a_lot (const char *filename, MonoImageOpenStatus *status, gboolean refonly, gboolean load_from_context);
 
/* If predicate returns true assembly should be loaded, if false ignore it. */
typedef gboolean (*MonoAssemblyCandidatePredicate)(MonoAssembly *, gpointer);
 
MonoAssembly*          mono_assembly_open_predicate (const char *filename,
                             gboolean refonly,
                             gboolean load_from_context,
                             MonoAssemblyCandidatePredicate pred,
                             gpointer user_data,
                             MonoImageOpenStatus *status);
 
MonoAssembly*          mono_assembly_load_from_predicate (MonoImage *image, const char *fname,
                              gboolean refonly,
                              MonoAssemblyCandidatePredicate pred,
                              gpointer user_data,
                              MonoImageOpenStatus *status);
 
/* MonoAssemblyCandidatePredicate that compares the assembly name (name, version,
 * culture, public key token) of the candidate with the wanted name, if the
 * wanted name has a public key token (if not present, always return true).
 * Pass the wanted MonoAssemblyName* as the user_data.
 */
gboolean
mono_assembly_candidate_predicate_sn_same_name (MonoAssembly *candidate, gpointer wanted_name);
 
#endif /* __MONO_METADATA_ASSEMBLY_INTERNALS_H__ */