Обновлены заголовочные файлы mono

This commit is contained in:
Kernell 2015-03-13 13:13:26 +03:00
parent b58cc6ad9e
commit b19787ef76
15 changed files with 80 additions and 5 deletions

View File

@ -30,6 +30,9 @@ mono_jit_set_trace_options (const char* options);
MONO_API void
mono_set_signal_chaining (mono_bool chain_signals);
MONO_API void
mono_set_crash_chaining (mono_bool chain_signals);
MONO_API void
mono_jit_set_aot_only (mono_bool aot_only);

View File

@ -66,6 +66,9 @@ mono_domain_create (void);
MONO_API MonoDomain *
mono_domain_create_appdomain (char *friendly_name, char *configuration_file);
MONO_API void
mono_domain_set_config (MonoDomain *domain, const char *base_dir, const char *config_file_name);
MONO_API MonoDomain *
mono_domain_get (void);

View File

@ -4,6 +4,7 @@
#include <mono/metadata/metadata.h>
#include <mono/metadata/image.h>
#include <mono/metadata/loader.h>
#include <mono/utils/mono-error.h>
MONO_BEGIN_DECLS
@ -37,6 +38,9 @@ mono_class_get_method_from_name_flags (MonoClass *klass, const char *name, int p
MONO_API MonoClass *
mono_class_from_typeref (MonoImage *image, uint32_t type_token);
MONO_API MonoClass *
mono_class_from_typeref_checked (MonoImage *image, uint32_t type_token, MonoError *error);
MONO_API MonoClass *
mono_class_from_generic_parameter (MonoGenericParam *param, MonoImage *image, mono_bool is_mvar);

View File

@ -159,7 +159,7 @@ MONO_API void
mono_debug_symfile_get_line_numbers (MonoDebugMethodInfo *minfo, char **source_file, int *n_il_offsets, int **il_offsets, int **line_numbers);
MONO_API void
mono_debug_symfile_get_line_numbers_full (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int *n_il_offsets, int **il_offsets, int **line_numbers, int **column_numbers, int **source_files);
mono_debug_symfile_get_line_numbers_full (MonoDebugMethodInfo *minfo, char **source_file, GPtrArray **source_file_list, int *n_il_offsets, int **il_offsets, int **line_numbers, int **column_numbers, int **source_files, int **end_line_numbers, int **end_column_numbers);
MONO_END_DECLS

View File

@ -90,6 +90,10 @@ mono_stack_walk (MonoStackWalk func, void* user_data);
MONO_API void
mono_stack_walk_no_il (MonoStackWalk func, void* user_data);
typedef mono_bool (*MonoStackWalkAsyncSafe) (MonoMethod *method, MonoDomain *domain, void *base_address, int offset, void* data);
MONO_API void
mono_stack_walk_async_safe (MonoStackWalkAsyncSafe func, void *initial_sig_context, void* user_data);
MONO_END_DECLS
#endif

View File

@ -190,6 +190,7 @@ typedef struct {
struct {
char *custom_name;
char *cookie;
MonoImage *image;
} custom_data;
struct {
MonoMarshalVariant elem_type;

View File

@ -26,7 +26,7 @@ typedef struct _MonoDynamicImage MonoDynamicImage;
typedef struct _MonoReflectionMethodBody MonoReflectionMethodBody;
typedef struct _MonoAppContext MonoAppContext;
typedef struct {
typedef struct _MonoObject {
MonoVTable *vtable;
MonoThreadsSync *synchronisation;
} MonoObject;
@ -127,6 +127,9 @@ mono_string_new_wrapper (const char *text);
MONO_API MonoString*
mono_string_new_len (MonoDomain *domain, const char *text, unsigned int length);
MONO_API MonoString*
mono_string_new_utf32 (MonoDomain *domain, const mono_unichar4 *text, int32_t len);
MONO_API char *
mono_string_to_utf8 (MonoString *string_obj);
@ -136,9 +139,15 @@ mono_string_to_utf8_checked (MonoString *string_obj, MonoError *error);
MONO_API mono_unichar2 *
mono_string_to_utf16 (MonoString *string_obj);
MONO_API mono_unichar4 *
mono_string_to_utf32 (MonoString *string_obj);
MONO_API MonoString *
mono_string_from_utf16 (mono_unichar2 *data);
MONO_API MonoString *
mono_string_from_utf32 (mono_unichar4 *data);
MONO_API mono_bool
mono_string_equal (MonoString *s1, MonoString *s2);
@ -245,6 +254,9 @@ MONO_API int
mono_runtime_exec_main (MonoMethod *method, MonoArray *args,
MonoObject **exc);
MONO_API int
mono_runtime_set_main_args (int argc, char* argv[]);
/* The following functions won't be available with mono was configured with remoting disabled. */
/*#ifndef DISABLE_REMOTING */
MONO_API void*

View File

@ -193,6 +193,15 @@ MONO_API void mono_profiler_install_iomap (MonoProfileIomapFunc callback);
MONO_API void mono_profiler_load (const char *desc);
typedef enum {
/* Elapsed time is tracked by user+kernel time of the process - this is the default*/
MONO_PROFILER_STAT_MODE_PROCESS = 0,
/* Elapsed time is tracked by wallclock time */
MONO_PROFILER_STAT_MODE_REAL = 1,
} MonoProfileSamplingMode;
MONO_API void mono_profiler_set_statistical_mode (MonoProfileSamplingMode mode, int64_t sampling_frequency_is_us);
MONO_END_DECLS
#endif /* __MONO_PROFILER_H__ */

View File

@ -134,6 +134,8 @@ MONO_API MonoBoolean mono_declsec_get_assembly_action (MonoAssembly *assembly, u
MONO_API MonoType* mono_reflection_type_get_type (MonoReflectionType *reftype);
MONO_API MonoAssembly* mono_reflection_assembly_get_assembly (MonoReflectionAssembly *refassembly);
MONO_END_DECLS
#endif /* __METADATA_REFLECTION_H__ */

View File

@ -419,6 +419,16 @@ enum {
MONO_CUSTOM_ATTR_TYPE_MASK = 7
};
enum {
MONO_RESOLUTION_SCOPE_MODULE,
MONO_RESOLUTION_SCOPE_MODULEREF,
MONO_RESOLUTION_SCOPE_ASSEMBLYREF,
MONO_RESOLUTION_SCOPE_TYPEREF,
MONO_RESOLUTION_SCOPE_BITS = 2,
MONO_RESOLUTION_SCOPE_MASK = 3
};
/* Kept for compatibility since this is a public header file */
enum {
MONO_RESOLTION_SCOPE_MODULE,
MONO_RESOLTION_SCOPE_MODULEREF,

View File

@ -29,9 +29,20 @@
MONO_BEGIN_DECLS
enum {
SGEN_BRIDGE_VERSION = 3
SGEN_BRIDGE_VERSION = 4
};
typedef enum {
/* Instances of this class should be scanned when computing the transitive dependency among bridges. E.g. List<object>*/
GC_BRIDGE_TRANSPARENT_CLASS,
/* Instances of this class should not be scanned when computing the transitive dependency among bridges. E.g. String*/
GC_BRIDGE_OPAQUE_CLASS,
/* Instances of this class should be bridged and have their dependency computed. */
GC_BRIDGE_TRANSPARENT_BRIDGE_CLASS,
/* Instances of this class should be bridged but no dependencies should not be calculated. */
GC_BRIDGE_OPAQUE_BRIDGE_CLASS,
} MonoGCBridgeObjectKind;
typedef struct {
mono_bool is_alive; /* to be set by the cross reference callback */
int num_objs;
@ -45,7 +56,7 @@ typedef struct {
typedef struct {
int bridge_version;
mono_bool (*is_bridge_class) (MonoClass *class);
MonoGCBridgeObjectKind (*bridge_class_kind) (MonoClass *klass);
mono_bool (*is_bridge_object) (MonoObject *object);
void (*cross_references) (int num_sccs, MonoGCBridgeSCC **sccs, int num_xrefs, MonoGCBridgeXRef *xrefs);
} MonoGCBridgeCallbacks;

View File

@ -48,6 +48,8 @@ MONO_API void mono_threads_request_thread_dump (void);
MONO_API mono_bool mono_thread_is_foreign (MonoThread *thread);
extern MONO_API void mono_thread_detach_if_exiting (void);
MONO_END_DECLS
#endif /* _MONO_METADATA_THREADS_H_ */

View File

@ -33,7 +33,7 @@ enum {
};
/*Keep in sync with MonoErrorInternal*/
typedef struct {
typedef struct _MonoError {
unsigned short error_code;
unsigned short hidden_0; /*DON'T TOUCH */

View File

@ -10,6 +10,19 @@ mono_trace_set_level_string (const char *value);
MONO_API void
mono_trace_set_mask_string (const char *value);
typedef void (*MonoLogCallback) (const char *log_domain, const char *log_level, const char *message, mono_bool fatal, void *user_data);
typedef void (*MonoPrintCallback) (const char *string, mono_bool is_stdout);
MONO_API void
mono_trace_set_log_handler (MonoLogCallback callback, void *user_data);
MONO_API void
mono_trace_set_print_handler (MonoPrintCallback callback);
MONO_API void
mono_trace_set_printerr_handler (MonoPrintCallback callback);
MONO_END_DECLS
#endif /* __MONO_LOGGER_H__ */

View File

@ -60,6 +60,7 @@ typedef unsigned __int64 uint64_t;
typedef int32_t mono_bool;
typedef uint8_t mono_byte;
typedef uint16_t mono_unichar2;
typedef uint32_t mono_unichar4;
typedef void (*MonoFunc) (void* data, void* user_data);
typedef void (*MonoHFunc) (void* key, void* value, void* user_data);