Fri Mar 9 18:57:47 CET 2007 Paolo Molaro <lupus@ximian.com>
authorPaolo Molaro <lupus@oddwiz.org>
Fri, 9 Mar 2007 17:59:49 +0000 (17:59 -0000)
committerPaolo Molaro <lupus@oddwiz.org>
Fri, 9 Mar 2007 17:59:49 +0000 (17:59 -0000)
* Makefile.am, configure.in, msvc: add msvc directory to the
distribution.
* msvc/create-windef.pl, msvc/mono.def: added def file for exported
functions.

svn path=/trunk/mono/; revision=74019

ChangeLog
Makefile.am
configure.in
msvc/Makefile.am [new file with mode: 0644]
msvc/README
msvc/create-windef.pl [new file with mode: 0755]
msvc/mono.def [new file with mode: 0644]

index 420793f0e592699c817e56f47069f2b77a6faef2..ec63a86d7f48af710a34498a185281e5dcecf4b6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+
+Fri Mar 9 18:57:47 CET 2007 Paolo Molaro <lupus@ximian.com>
+
+       * Makefile.am, configure.in, msvc: add msvc directory to the
+       distribution.
+       * msvc/create-windef.pl, msvc/mono.def: added def file for exported
+       functions.
+
 2007-03-09  Zoltan Varga  <vargaz@gmail.com>
 
        * docs/aot-compiler.txt: Update 'future work'.
index 587ed44b1f4e89c3a36c645b500fbc39f42dc5fa..6b0636c73e51ba6da89526c03cf9011e439d6454 100644 (file)
@@ -1,11 +1,11 @@
 AUTOMAKE_OPTIONS = foreign
 ACLOCAL_AMFLAGS = -I .
 
-SUBDIRS = $(libgc_dir) mono $(ikvm_native_dir) support docs data runtime scripts man samples web 
+SUBDIRS = $(libgc_dir) mono $(ikvm_native_dir) support docs data runtime scripts man samples web msvc
 
 # Keep in sync with SUBDIRS
 ## 'tools' is not normally built
-DIST_SUBDIRS = libgc mono ikvm-native support docs data runtime scripts man samples web tools 
+DIST_SUBDIRS = libgc mono ikvm-native support docs data runtime scripts man samples web tools msvc
 
 vs_files = genmdesc.vcproj libmono.vcproj mono.vcproj mono.sln
 
index c64b7640873123ebd5f64ac81f53864248c56444..36163e82ddad6fed79ab422ec2b534e020b83128 100644 (file)
@@ -2067,6 +2067,7 @@ data/config
 tools/Makefile
 tools/locale-builder/Makefile
 runtime/Makefile
+msvc/Makefile
 ])
 
 if test x$platform_win32 = xyes; then
diff --git a/msvc/Makefile.am b/msvc/Makefile.am
new file mode 100644 (file)
index 0000000..b83dd4a
--- /dev/null
@@ -0,0 +1,6 @@
+
+EXTRA_DIST=create-windef.pl mono.def README
+
+update-def:
+       perl create-windef.pl mono.def
+
index f0f0d25c598750bd51d6014b55ec1d514adea0bd..82498c70e326f8f3d9c5507a20582c9d2afd28df 100755 (executable)
@@ -5,4 +5,12 @@ INTRODUCTION
 
 This directory (msvc) serves as a central location for 
 all things needed to build the mono runtime using 
-Microsoft Visual Studio.
\ No newline at end of file
+Microsoft Visual Studio.
+
+When new exported API calls are added to the runtime, issue the
+command:
+       make update-def
+in this directory and commit the resulting mono.def file.
+This must happen on a Linux system, because we get the list
+of the exported symbols from the generated shared library.
+
diff --git a/msvc/create-windef.pl b/msvc/create-windef.pl
new file mode 100755 (executable)
index 0000000..b0cd683
--- /dev/null
@@ -0,0 +1,35 @@
+#!/usr/bin/perl -w
+
+use strict;
+
+my $outfile = shift || usage ();
+my @symbols = ();
+my %excludes = ();
+my $cmd = "nm -D ../mono/mini/.libs/libmono.so";
+
+@excludes {qw(
+       mono_class_setup_vtable_general_new mono_debugger_init mono_debugger_main
+       mono_once mono_pthread_key_for_tls
+)} = ();
+
+open (SYMS, "$cmd |") || die "Cannot run \$cmd': $!\n";
+while (<SYMS>) {
+       next unless / T (mono_.*)/;
+       next if exists $excludes {$1};
+       push @symbols, $1;
+}
+close (SYMS);
+@symbols = sort @symbols;
+
+open (OUT, ">$outfile") || die "Cannot open '$outfile': $!\n";
+print OUT "; file generated by create-windef.pl\n";
+print OUT "LIBRARY mono.dll\nEXPORTS\n";
+print OUT join ("\n", @symbols);
+
+close (OUT);
+
+sub usage {
+       print "Usage: create-windef.pl output_file\n";
+       exit (1);
+}
+
diff --git a/msvc/mono.def b/msvc/mono.def
new file mode 100644 (file)
index 0000000..f21767f
--- /dev/null
@@ -0,0 +1,735 @@
+; file generated by create-windef.pl
+LIBRARY mono.dll
+EXPORTS
+mono_add_internal_call
+mono_alloc_special_static_data
+mono_array_class_get
+mono_array_clone
+mono_array_element_size
+mono_array_new
+mono_array_new_full
+mono_array_new_specific
+mono_assemblies_cleanup
+mono_assemblies_init
+mono_assembly_close
+mono_assembly_fill_assembly_name
+mono_assembly_foreach
+mono_assembly_get_assemblyref
+mono_assembly_get_image
+mono_assembly_get_main
+mono_assembly_get_object
+mono_assembly_getrootdir
+mono_assembly_invoke_load_hook
+mono_assembly_invoke_search_hook
+mono_assembly_load
+mono_assembly_load_from
+mono_assembly_load_from_full
+mono_assembly_load_full
+mono_assembly_load_module
+mono_assembly_load_reference
+mono_assembly_load_references
+mono_assembly_load_with_partial_name
+mono_assembly_loaded
+mono_assembly_loaded_full
+mono_assembly_names_equal
+mono_assembly_open
+mono_assembly_open_full
+mono_assembly_set_main
+mono_assembly_setrootdir
+mono_bitset_alloc_size
+mono_bitset_clear
+mono_bitset_clear_all
+mono_bitset_clone
+mono_bitset_copyto
+mono_bitset_count
+mono_bitset_equal
+mono_bitset_find_first
+mono_bitset_find_first_unset
+mono_bitset_find_last
+mono_bitset_find_start
+mono_bitset_foreach
+mono_bitset_free
+mono_bitset_intersection
+mono_bitset_intersection_2
+mono_bitset_invert
+mono_bitset_mem_new
+mono_bitset_new
+mono_bitset_set
+mono_bitset_set_all
+mono_bitset_size
+mono_bitset_sub
+mono_bitset_test
+mono_bitset_test_bulk
+mono_bitset_union
+mono_bounded_array_class_get
+mono_burg_emit
+mono_burg_init
+mono_burg_kids
+mono_burg_label
+mono_burg_rule
+mono_check_corlib_version
+mono_class_array_element_size
+mono_class_data_size
+mono_class_describe_statics
+mono_class_enum_basetype
+mono_class_from_generic_parameter
+mono_class_from_mono_type
+mono_class_from_name
+mono_class_from_name_case
+mono_class_from_typeref
+mono_class_get
+mono_class_get_byref_type
+mono_class_get_element_class
+mono_class_get_event_token
+mono_class_get_events
+mono_class_get_field
+mono_class_get_field_from_name
+mono_class_get_field_token
+mono_class_get_fields
+mono_class_get_flags
+mono_class_get_full
+mono_class_get_image
+mono_class_get_interfaces
+mono_class_get_method_from_name
+mono_class_get_method_from_name_flags
+mono_class_get_methods
+mono_class_get_name
+mono_class_get_namespace
+mono_class_get_nested_types
+mono_class_get_nesting_type
+mono_class_get_parent
+mono_class_get_properties
+mono_class_get_property_from_name
+mono_class_get_property_token
+mono_class_get_rank
+mono_class_get_type
+mono_class_get_type_token
+mono_class_inflate_generic_method
+mono_class_inflate_generic_method_full
+mono_class_inflate_generic_type
+mono_class_init
+mono_class_instance_size
+mono_class_is_assignable_from
+mono_class_is_enum
+mono_class_is_subclass_of
+mono_class_is_valuetype
+mono_class_min_align
+mono_class_name_from_token
+mono_class_num_events
+mono_class_num_fields
+mono_class_num_methods
+mono_class_num_properties
+mono_class_value_size
+mono_class_vtable
+mono_cli_rva_image_map
+mono_code_manager_commit
+mono_code_manager_destroy
+mono_code_manager_foreach
+mono_code_manager_invalidate
+mono_code_manager_new
+mono_code_manager_new_dynamic
+mono_code_manager_reserve
+mono_compile_method
+mono_config_for_assembly
+mono_config_parse
+mono_config_parse_memory
+mono_config_string_for_assembly_file
+mono_context_get
+mono_context_init
+mono_context_set
+mono_counters_dump
+mono_counters_enable
+mono_counters_register
+mono_custom_attrs_construct
+mono_custom_attrs_free
+mono_custom_attrs_from_assembly
+mono_custom_attrs_from_class
+mono_custom_attrs_from_event
+mono_custom_attrs_from_field
+mono_custom_attrs_from_index
+mono_custom_attrs_from_method
+mono_custom_attrs_from_param
+mono_custom_attrs_from_property
+mono_custom_attrs_get_attr
+mono_custom_attrs_has_attr
+mono_debug_add_method
+mono_debug_cleanup
+mono_debug_close_mono_symbol_file
+mono_debug_find_method
+mono_debug_free_method_jit_info
+mono_debug_free_source_location
+mono_debug_init
+mono_debug_init_1
+mono_debug_init_2
+mono_debug_init_2_memory
+mono_debug_lookup_method
+mono_debug_lookup_source_location
+mono_debug_open_mono_symbols
+mono_debug_print_stack_frame
+mono_debug_print_vars
+mono_debug_read_method
+mono_debug_symfile_lookup_location
+mono_debug_symfile_lookup_method
+mono_debug_using_mono_debugger
+mono_debugger_add_symbol_file
+mono_debugger_breakpoint_callback
+mono_debugger_check_runtime_version
+mono_debugger_cleanup
+mono_debugger_event
+mono_debugger_handle_exception
+mono_debugger_initialize
+mono_debugger_insert_breakpoint
+mono_debugger_insert_breakpoint_full
+mono_debugger_lock
+mono_debugger_lookup_assembly
+mono_debugger_lookup_type
+mono_debugger_method_has_breakpoint
+mono_debugger_remove_breakpoint
+mono_debugger_run_finally
+mono_debugger_runtime_invoke
+mono_debugger_start_add_type
+mono_debugger_throw_exception
+mono_debugger_unhandled_exception
+mono_debugger_unlock
+mono_declsec_flags_from_assembly
+mono_declsec_flags_from_class
+mono_declsec_flags_from_method
+mono_declsec_get_assembly_action
+mono_declsec_get_class_action
+mono_declsec_get_demands
+mono_declsec_get_inheritdemands_class
+mono_declsec_get_inheritdemands_method
+mono_declsec_get_linkdemands
+mono_declsec_get_method_action
+mono_digest_get_public_token
+mono_disasm_code
+mono_disasm_code_one
+mono_dllmap_insert
+mono_domain_add_class_static_data
+mono_domain_assembly_open
+mono_domain_create
+mono_domain_finalize
+mono_domain_foreach
+mono_domain_free
+mono_domain_get
+mono_domain_get_by_id
+mono_domain_get_id
+mono_domain_has_type_resolve
+mono_domain_is_unloading
+mono_domain_owns_vtable_slot
+mono_domain_set
+mono_domain_set_internal
+mono_domain_try_type_resolve
+mono_environment_exitcode_get
+mono_environment_exitcode_set
+mono_escape_uri_string
+mono_event_get_add_method
+mono_event_get_flags
+mono_event_get_name
+mono_event_get_object
+mono_event_get_parent
+mono_event_get_raise_method
+mono_event_get_remove_method
+mono_exception_from_name
+mono_exception_from_name_domain
+mono_exception_from_name_msg
+mono_exception_from_name_two_strings
+mono_exception_from_token
+mono_field_from_token
+mono_field_get_data
+mono_field_get_flags
+mono_field_get_name
+mono_field_get_object
+mono_field_get_parent
+mono_field_get_type
+mono_field_get_value
+mono_field_get_value_object
+mono_field_set_value
+mono_field_static_get_value
+mono_field_static_set_value
+mono_file_map
+mono_file_unmap
+mono_free_method
+mono_free_verify_list
+mono_g_hash_table_destroy
+mono_g_hash_table_foreach
+mono_g_hash_table_foreach_remove
+mono_g_hash_table_foreach_steal
+mono_g_hash_table_insert
+mono_g_hash_table_lookup
+mono_g_hash_table_lookup_extended
+mono_g_hash_table_new
+mono_g_hash_table_new_full
+mono_g_hash_table_new_type
+mono_g_hash_table_remap
+mono_g_hash_table_remove
+mono_g_hash_table_replace
+mono_g_hash_table_size
+mono_g_hash_table_steal
+mono_gc_collect
+mono_gc_collection_count
+mono_gc_enable_events
+mono_gc_get_generation
+mono_gc_get_heap_size
+mono_gc_get_used_size
+mono_gc_is_finalizer_thread
+mono_gc_max_generation
+mono_gc_out_of_memory
+mono_gc_wbarrier_arrayref_copy
+mono_gc_wbarrier_generic_store
+mono_gc_wbarrier_object
+mono_gc_wbarrier_set_arrayref
+mono_gc_wbarrier_set_field
+mono_gc_wbarrier_value_copy
+mono_gchandle_free
+mono_gchandle_get_target
+mono_gchandle_new
+mono_gchandle_new_weakref
+mono_get_array_class
+mono_get_boolean_class
+mono_get_byte_class
+mono_get_char_class
+mono_get_config_dir
+mono_get_corlib
+mono_get_dbnull_object
+mono_get_delegate_invoke
+mono_get_double_class
+mono_get_enum_class
+mono_get_exception_appdomain_unloaded
+mono_get_exception_argument
+mono_get_exception_argument_null
+mono_get_exception_argument_out_of_range
+mono_get_exception_arithmetic
+mono_get_exception_array_type_mismatch
+mono_get_exception_bad_image_format
+mono_get_exception_bad_image_format2
+mono_get_exception_cannot_unload_appdomain
+mono_get_exception_class
+mono_get_exception_divide_by_zero
+mono_get_exception_execution_engine
+mono_get_exception_file_not_found
+mono_get_exception_file_not_found2
+mono_get_exception_index_out_of_range
+mono_get_exception_invalid_cast
+mono_get_exception_invalid_operation
+mono_get_exception_io
+mono_get_exception_missing_field
+mono_get_exception_missing_method
+mono_get_exception_not_implemented
+mono_get_exception_not_supported
+mono_get_exception_null_reference
+mono_get_exception_overflow
+mono_get_exception_reflection_type_load
+mono_get_exception_security
+mono_get_exception_serialization
+mono_get_exception_stack_overflow
+mono_get_exception_synchronization_lock
+mono_get_exception_thread_abort
+mono_get_exception_thread_interrupted
+mono_get_exception_thread_state
+mono_get_exception_type_initialization
+mono_get_exception_type_load
+mono_get_inflated_method
+mono_get_int16_class
+mono_get_int32_class
+mono_get_int64_class
+mono_get_intptr_class
+mono_get_machine_config
+mono_get_method
+mono_get_method_constrained
+mono_get_method_full
+mono_get_object_class
+mono_get_root_domain
+mono_get_sbyte_class
+mono_get_single_class
+mono_get_special_static_data
+mono_get_string_class
+mono_get_thread_class
+mono_get_uint16_class
+mono_get_uint32_class
+mono_get_uint64_class
+mono_get_uintptr_class
+mono_get_void_class
+mono_guid_to_string
+mono_image_add_to_name_cache
+mono_image_addref
+mono_image_close
+mono_image_ensure_section
+mono_image_ensure_section_idx
+mono_image_get_assembly
+mono_image_get_entry_point
+mono_image_get_filename
+mono_image_get_guid
+mono_image_get_name
+mono_image_get_public_key
+mono_image_get_resource
+mono_image_get_strong_name
+mono_image_get_table_info
+mono_image_get_table_rows
+mono_image_has_authenticode_entry
+mono_image_init
+mono_image_init_name_cache
+mono_image_is_dynamic
+mono_image_load_file_for_image
+mono_image_loaded
+mono_image_loaded_by_guid
+mono_image_loaded_by_guid_full
+mono_image_loaded_full
+mono_image_lookup_resource
+mono_image_open
+mono_image_open_from_data
+mono_image_open_from_data_full
+mono_image_open_full
+mono_image_rva_map
+mono_image_strerror
+mono_image_strong_name_position
+mono_image_verify_tables
+mono_images_cleanup
+mono_images_init
+mono_init
+mono_init_from_assembly
+mono_init_version
+mono_inst_name
+mono_install_assembly_load_hook
+mono_install_assembly_postload_refonly_search_hook
+mono_install_assembly_postload_search_hook
+mono_install_assembly_preload_hook
+mono_install_assembly_refonly_preload_hook
+mono_install_assembly_refonly_search_hook
+mono_install_assembly_search_hook
+mono_install_runtime_cleanup
+mono_jit_cleanup
+mono_jit_exec
+mono_jit_info_get_code_size
+mono_jit_info_get_code_start
+mono_jit_info_get_method
+mono_jit_info_table_find
+mono_jit_init
+mono_jit_init_version
+mono_jit_thread_attach
+mono_ldstr
+mono_ldtoken
+mono_load_remote_field
+mono_load_remote_field_new
+mono_locks_dump
+mono_lookup_internal_call
+mono_lookup_pinvoke_call
+mono_main
+mono_marshal_string_to_utf16
+mono_md5_final
+mono_md5_get_digest
+mono_md5_get_digest_from_file
+mono_md5_init
+mono_md5_update
+mono_mempool_alloc
+mono_mempool_alloc0
+mono_mempool_contains_addr
+mono_mempool_destroy
+mono_mempool_empty
+mono_mempool_get_allocated
+mono_mempool_invalidate
+mono_mempool_new
+mono_mempool_stats
+mono_mempool_strdup
+mono_metadata_blob_heap
+mono_metadata_cleanup
+mono_metadata_compute_size
+mono_metadata_custom_attrs_from_index
+mono_metadata_declsec_from_index
+mono_metadata_decode_blob_size
+mono_metadata_decode_row
+mono_metadata_decode_row_col
+mono_metadata_decode_signed_value
+mono_metadata_decode_table_row
+mono_metadata_decode_table_row_col
+mono_metadata_decode_value
+mono_metadata_encode_value
+mono_metadata_events_from_typedef
+mono_metadata_field_info
+mono_metadata_free_array
+mono_metadata_free_marshal_spec
+mono_metadata_free_method_signature
+mono_metadata_free_mh
+mono_metadata_free_type
+mono_metadata_generic_class_is_valuetype
+mono_metadata_get_constant_index
+mono_metadata_get_generic_param_row
+mono_metadata_get_marshal_info
+mono_metadata_get_param_attrs
+mono_metadata_guid_heap
+mono_metadata_implmap_from_method
+mono_metadata_init
+mono_metadata_interfaces_from_typedef
+mono_metadata_load_generic_param_constraints
+mono_metadata_load_generic_params
+mono_metadata_locate
+mono_metadata_locate_token
+mono_metadata_methods_from_event
+mono_metadata_methods_from_property
+mono_metadata_nested_in_typedef
+mono_metadata_nesting_typedef
+mono_metadata_packing_from_typedef
+mono_metadata_parse_array
+mono_metadata_parse_custom_mod
+mono_metadata_parse_field_type
+mono_metadata_parse_marshal_spec
+mono_metadata_parse_method_signature
+mono_metadata_parse_method_signature_full
+mono_metadata_parse_mh
+mono_metadata_parse_mh_full
+mono_metadata_parse_param
+mono_metadata_parse_signature
+mono_metadata_parse_type
+mono_metadata_parse_type_full
+mono_metadata_parse_typedef_or_ref
+mono_metadata_properties_from_typedef
+mono_metadata_signature_alloc
+mono_metadata_signature_dup
+mono_metadata_signature_equal
+mono_metadata_string_heap
+mono_metadata_token_from_dor
+mono_metadata_translate_token_index
+mono_metadata_type_equal
+mono_metadata_type_hash
+mono_metadata_typedef_from_field
+mono_metadata_typedef_from_method
+mono_metadata_user_string
+mono_method_body_get_object
+mono_method_desc_free
+mono_method_desc_from_method
+mono_method_desc_full_match
+mono_method_desc_match
+mono_method_desc_new
+mono_method_desc_search_in_class
+mono_method_desc_search_in_image
+mono_method_full_name
+mono_method_get_class
+mono_method_get_flags
+mono_method_get_header
+mono_method_get_index
+mono_method_get_last_managed
+mono_method_get_marshal_info
+mono_method_get_name
+mono_method_get_object
+mono_method_get_param_names
+mono_method_get_param_token
+mono_method_get_signature
+mono_method_get_signature_full
+mono_method_get_token
+mono_method_has_marshal_info
+mono_method_header_get_clauses
+mono_method_header_get_code
+mono_method_header_get_locals
+mono_method_header_get_num_clauses
+mono_method_signature
+mono_method_verify
+mono_mlist_alloc
+mono_mlist_append
+mono_mlist_get_data
+mono_mlist_last
+mono_mlist_length
+mono_mlist_next
+mono_mlist_prepend
+mono_mlist_remove_item
+mono_mlist_set_data
+mono_module_file_get_object
+mono_module_get_object
+mono_monitor_enter
+mono_monitor_exit
+mono_monitor_try_enter
+mono_mprotect
+mono_object_castclass_mbyref
+mono_object_clone
+mono_object_describe
+mono_object_describe_fields
+mono_object_get_class
+mono_object_get_domain
+mono_object_get_size
+mono_object_get_virtual_method
+mono_object_hash
+mono_object_is_alive
+mono_object_isinst
+mono_object_isinst_mbyref
+mono_object_new
+mono_object_new_alloc_specific
+mono_object_new_fast
+mono_object_new_from_token
+mono_object_new_specific
+mono_object_unbox
+mono_opcode_name
+mono_opcode_value
+mono_pagesize
+mono_param_get_objects
+mono_parse_default_optimizations
+mono_path_canonicalize
+mono_path_resolve_symlinks
+mono_pe_file_open
+mono_pmip
+mono_poll
+mono_print_method_from_ip
+mono_print_thread_dump
+mono_print_unhandled_exception
+mono_profiler_coverage_get
+mono_profiler_get_events
+mono_profiler_install
+mono_profiler_install_allocation
+mono_profiler_install_appdomain
+mono_profiler_install_assembly
+mono_profiler_install_class
+mono_profiler_install_coverage_filter
+mono_profiler_install_enter_leave
+mono_profiler_install_gc
+mono_profiler_install_jit_compile
+mono_profiler_install_jit_end
+mono_profiler_install_module
+mono_profiler_install_statistical
+mono_profiler_install_thread
+mono_profiler_install_transition
+mono_profiler_load
+mono_profiler_set_events
+mono_property_get_flags
+mono_property_get_get_method
+mono_property_get_name
+mono_property_get_object
+mono_property_get_parent
+mono_property_get_set_method
+mono_property_get_value
+mono_property_set_value
+mono_ptr_class_get
+mono_raise_exception
+mono_reflection_get_custom_attrs
+mono_reflection_get_custom_attrs_blob
+mono_reflection_get_custom_attrs_by_type
+mono_reflection_get_custom_attrs_data
+mono_reflection_get_custom_attrs_info
+mono_reflection_get_token
+mono_reflection_get_type
+mono_reflection_parse_type
+mono_reflection_type_from_name
+mono_register_bundled_assemblies
+mono_register_config_for_assembly
+mono_register_machine_config
+mono_remote_class
+mono_runtime_class_init
+mono_runtime_cleanup
+mono_runtime_delegate_invoke
+mono_runtime_exec_main
+mono_runtime_exec_managed_code
+mono_runtime_get_main_args
+mono_runtime_init
+mono_runtime_invoke
+mono_runtime_invoke_array
+mono_runtime_is_shutting_down
+mono_runtime_object_init
+mono_runtime_quit
+mono_runtime_run_main
+mono_runtime_set_shutting_down
+mono_set_config_dir
+mono_set_defaults
+mono_set_dirs
+mono_set_rootdir
+mono_sha1_final
+mono_sha1_get_digest
+mono_sha1_get_digest_from_file
+mono_sha1_init
+mono_sha1_update
+mono_signature_explicit_this
+mono_signature_get_call_conv
+mono_signature_get_desc
+mono_signature_get_param_count
+mono_signature_get_params
+mono_signature_get_return_type
+mono_signature_hash
+mono_signature_is_instance
+mono_signature_vararg_start
+mono_signbit_double
+mono_signbit_float
+mono_stack_walk
+mono_stack_walk_no_il
+mono_store_remote_field
+mono_store_remote_field_new
+mono_string_equal
+mono_string_from_utf16
+mono_string_hash
+mono_string_intern
+mono_string_is_interned
+mono_string_new
+mono_string_new_len
+mono_string_new_size
+mono_string_new_utf16
+mono_string_new_wrapper
+mono_string_to_utf16
+mono_string_to_utf8
+mono_stringify_assembly_name
+mono_table_info_get_rows
+mono_thread_abort_all_other_threads
+mono_thread_attach
+mono_thread_cleanup
+mono_thread_create
+mono_thread_current
+mono_thread_detach
+mono_thread_exit
+mono_thread_force_interruption_checkpoint
+mono_thread_get_abort_signal
+mono_thread_get_main
+mono_thread_get_pending_exception
+mono_thread_has_appdomain_ref
+mono_thread_init
+mono_thread_interruption_checkpoint
+mono_thread_interruption_request_flag
+mono_thread_interruption_requested
+mono_thread_manage
+mono_thread_new_init
+mono_thread_pop_appdomain_ref
+mono_thread_push_appdomain_ref
+mono_thread_request_interruption
+mono_thread_set_main
+mono_thread_stop
+mono_thread_suspend_all_other_threads
+mono_threads_abort_appdomain_threads
+mono_threads_clear_cached_culture
+mono_threads_get_default_stacksize
+mono_threads_install_cleanup
+mono_threads_request_thread_dump
+mono_threads_set_default_stacksize
+mono_trace
+mono_trace_cleanup
+mono_trace_is_traced
+mono_trace_pop
+mono_trace_push
+mono_trace_set_level
+mono_trace_set_level_string
+mono_trace_set_mask
+mono_trace_set_mask_string
+mono_tracev
+mono_type_create_from_typespec
+mono_type_full_name
+mono_type_generic_inst_is_valuetype
+mono_type_get_array_type
+mono_type_get_class
+mono_type_get_desc
+mono_type_get_modifiers
+mono_type_get_name
+mono_type_get_object
+mono_type_get_ptr_type
+mono_type_get_signature
+mono_type_get_type
+mono_type_get_underlying_type
+mono_type_is_byref
+mono_type_size
+mono_type_stack_size
+mono_type_to_unmanaged
+mono_unhandled_exception
+mono_unicode_from_external
+mono_unicode_to_external
+mono_upgrade_remote_class_wrapper
+mono_utf8_from_external
+mono_valloc
+mono_value_box
+mono_value_copy
+mono_value_copy_array
+mono_value_describe_fields
+mono_verify_corlib
+mono_vfree
+mono_vtable_get_static_field_data
+mono_walk_stack
\ No newline at end of file