1 /* 2 Boost Software License - Version 1.0 - August 17th, 2003 3 Permission is hereby granted,free of charge,to any person or organization 4 obtaining a copy of the software and accompanying documentation covered by 5 this license (the "Software") to use,reproduce,display,distribute, 6 execute,and transmit the Software,and to prepare derivative works of the 7 Software,and to permit third-parties to whom the Software is furnished to 8 do so,all subject to the following: 9 10 The copyright notices in the Software and this entire statement,including 11 the above license grant,this restriction and the following disclaimer, 12 must be included in all copies of the Software,in whole or in part,and 13 all derivative works of the Software,unless such copies or derivative 14 works are solely in the form of machine-executable object code generated by 15 a source language processor. 16 17 THE SOFTWARE IS PROVIDED "AS IS",WITHOUT WARRANTY OF ANY KIND,EXPRESS OR 18 IMPLIED,INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 FITNESS FOR A PARTICULAR PURPOSE,TITLE AND NON-INFRINGEMENT. IN NO EVENT 20 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE 21 FOR ANY DAMAGES OR OTHER LIABILITY,WHETHER IN CONTRACT,TORT OR OTHERWISE, 22 ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 23 DEALINGS IN THE SOFTWARE. 24 */ 25 module derelict.mono.mono; 26 27 public import derelict.mono.types; 28 version(DerelictMono_Static) 29 public import derelict.mono.stafunctions; 30 else: 31 public import derelict.mono.dynfunctions; 32 public import derelict.util.loader; 33 34 private 35 { 36 import derelict.util.exception; 37 import derelict.util.system; 38 39 static if (Derelict_OS_Windows) 40 enum libNames = "mono-2.0.dll, mono-2.dll, mono.dll"; 41 else static if (Derelict_OS_Mac) 42 enum libNames = "/usr/local/lib/libmono-2.0.dylib, /usr/local/lib/libmono-2.0/libmono-2.0.dylib, ../Frameworks/Mono.framework/Libraries/libmono-2.0.dylib, /Library/Frameworks/Mono.framework/Libraries/libmono-2.0.dylib, /System/Library/Frameworks/Mono.framework/Libraries/libmono-2.0.dylib, /Volumes/System/Library/Frameworks/Mono.framework/Libraries/libmono-2.0.dylib"; 43 else static if (Derelict_OS_Posix) 44 enum libNames = "/usr/local/lib/libmono-2.0.so, /usr/lib/libmono-2.0.so, /usr/lib/libmono-2.0.so.1.0.0"; 45 else 46 static assert(0, "Need to implement Mono libNames for this operating system."); 47 } 48 49 class DerelictMonoLoader : SharedLibLoader 50 { 51 public this() 52 { 53 super(libNames); 54 } 55 56 protected override void loadSymbols() 57 { 58 // utils/mono-publib.h 59 bindFunc(cast(void**)&mono_free, "mono_free"); 60 bindFunc(cast(void**)&mono_set_allocator_vtable, "mono_set_allocator_vtable"); 61 // utils/mono-logger.h 62 bindFunc(cast(void**)&mono_trace_set_level_string, "mono_trace_set_level_string"); 63 bindFunc(cast(void**)&mono_trace_set_mask_string, "mono_trace_set_mask_string"); 64 bindFunc(cast(void**)&mono_trace_set_log_handler, "mono_trace_set_log_handler"); 65 bindFunc(cast(void**)&mono_trace_set_print_handler, "mono_trace_set_print_handler"); 66 bindFunc(cast(void**)&mono_trace_set_printerr_handler, "mono_trace_set_printerr_handler"); 67 // utils/mono-error.h 68 bindFunc(cast(void**)&mono_error_init, "mono_error_init"); 69 bindFunc(cast(void**)&mono_error_init_flags, "mono_error_init_flags"); 70 bindFunc(cast(void**)&mono_error_cleanup, "mono_error_cleanup"); 71 bindFunc(cast(void**)&mono_error_ok, "mono_error_ok"); 72 bindFunc(cast(void**)&mono_error_get_error_code, "mono_error_get_error_code"); 73 bindFunc(cast(void**)&mono_error_get_message, "mono_error_get_message"); 74 // utils/mono-dl-fallback.h 75 bindFunc(cast(void**)&mono_dl_fallback_register, "mono_dl_fallback_register"); 76 bindFunc(cast(void**)&mono_dl_fallback_unregister, "mono_dl_fallback_unregister"); 77 // utils/mono-counters.h 78 bindFunc(cast(void**)&mono_counters_enable, "mono_counters_enable"); 79 bindFunc(cast(void**)&mono_counters_init, "mono_counters_init"); 80 bindFunc(cast(void**)&mono_counters_register, "mono_counters_register"); 81 bindFunc(cast(void**)&mono_counters_register_with_size, 82 "mono_counters_register_with_size"); 83 bindFunc(cast(void**)&mono_counters_on_register, "mono_counters_on_register"); 84 bindFunc(cast(void**)&mono_counters_dump, "mono_counters_dump"); 85 bindFunc(cast(void**)&mono_counters_cleanup, "mono_counters_cleanup"); 86 bindFunc(cast(void**)&mono_counters_foreach, "mono_counters_foreach"); 87 bindFunc(cast(void**)&mono_counters_sample, "mono_counters_sample"); 88 bindFunc(cast(void**)&mono_counter_get_name, "mono_counter_get_name"); 89 bindFunc(cast(void**)&mono_counter_get_type, "mono_counter_get_type"); 90 bindFunc(cast(void**)&mono_counter_get_section, "mono_counter_get_section"); 91 bindFunc(cast(void**)&mono_counter_get_unit, "mono_counter_get_unit"); 92 bindFunc(cast(void**)&mono_counter_get_variance, "mono_counter_get_variance"); 93 bindFunc(cast(void**)&mono_counter_get_size, "mono_counter_get_size"); 94 bindFunc(cast(void**)&mono_runtime_resource_limit, "mono_runtime_resource_limit"); 95 bindFunc(cast(void**)&mono_runtime_resource_set_callback, 96 "mono_runtime_resource_set_callback"); 97 bindFunc(cast(void**)&mono_runtime_resource_check_limit, 98 "mono_runtime_resource_check_limit"); 99 // metadata/appdomain.h 100 bindFunc(cast(void**)&mono_init, "mono_init"); 101 bindFunc(cast(void**)&mono_init_from_assembly, "mono_init_from_assembly"); 102 bindFunc(cast(void**)&mono_init_version, "mono_init_version"); 103 bindFunc(cast(void**)&mono_get_root_domain, "mono_get_root_domain"); 104 bindFunc(cast(void**)&mono_runtime_init, "mono_runtime_init"); 105 bindFunc(cast(void**)&mono_runtime_cleanup, "mono_runtime_cleanup"); 106 bindFunc(cast(void**)&mono_install_runtime_cleanup, "mono_install_runtime_cleanup"); 107 bindFunc(cast(void**)&mono_runtime_quit, "mono_runtime_quit"); 108 bindFunc(cast(void**)&mono_runtime_set_shutting_down, "mono_runtime_set_shutting_down"); 109 bindFunc(cast(void**)&mono_runtime_is_shutting_down, "mono_runtime_is_shutting_down"); 110 bindFunc(cast(void**)&mono_check_corlib_version, "mono_check_corlib_version"); 111 bindFunc(cast(void**)&mono_domain_create, "mono_domain_create"); 112 bindFunc(cast(void**)&mono_domain_create_appdomain, "mono_domain_create_appdomain"); 113 bindFunc(cast(void**)&mono_domain_set_config, "mono_domain_set_config"); 114 bindFunc(cast(void**)&mono_domain_get, "mono_domain_get"); 115 bindFunc(cast(void**)&mono_domain_get_by_id, "mono_domain_get_by_id"); 116 bindFunc(cast(void**)&mono_domain_get_id, "mono_domain_get_id"); 117 bindFunc(cast(void**)&mono_domain_get_friendly_name, "mono_domain_get_friendly_name"); 118 bindFunc(cast(void**)&mono_domain_set, "mono_domain_set"); 119 bindFunc(cast(void**)&mono_domain_set_internal, "mono_domain_set_internal"); 120 bindFunc(cast(void**)&mono_domain_unload, "mono_domain_unload"); 121 bindFunc(cast(void**)&mono_domain_try_unload, "mono_domain_try_unload"); 122 bindFunc(cast(void**)&mono_domain_is_unloading, "mono_domain_is_unloading"); 123 bindFunc(cast(void**)&mono_domain_from_appdomain, "mono_domain_from_appdomain"); 124 bindFunc(cast(void**)&mono_domain_foreach, "mono_domain_foreach"); 125 bindFunc(cast(void**)&mono_domain_assembly_open, "mono_domain_assembly_open"); 126 bindFunc(cast(void**)&mono_domain_finalize, "mono_domain_finalize"); 127 bindFunc(cast(void**)&mono_domain_free, "mono_domain_free"); 128 bindFunc(cast(void**)&mono_domain_has_type_resolve, "mono_domain_has_type_resolve"); 129 bindFunc(cast(void**)&mono_domain_try_type_resolve, "mono_domain_try_type_resolve"); 130 bindFunc(cast(void**)&mono_domain_owns_vtable_slot, "mono_domain_owns_vtable_slot"); 131 bindFunc(cast(void**)&mono_context_init, "mono_context_init"); 132 bindFunc(cast(void**)&mono_context_set, "mono_context_set"); 133 bindFunc(cast(void**)&mono_context_get, "mono_context_get"); 134 bindFunc(cast(void**)&mono_context_get_id, "mono_context_get_id"); 135 bindFunc(cast(void**)&mono_context_get_domain_id, "mono_context_get_domain_id"); 136 bindFunc(cast(void**)&mono_jit_info_table_find, "mono_jit_info_table_find"); 137 bindFunc(cast(void**)&mono_jit_info_get_code_start, "mono_jit_info_get_code_start"); 138 bindFunc(cast(void**)&mono_jit_info_get_code_size, "mono_jit_info_get_code_size"); 139 bindFunc(cast(void**)&mono_jit_info_get_method, "mono_jit_info_get_method"); 140 bindFunc(cast(void**)&mono_get_corlib, "mono_get_corlib"); 141 bindFunc(cast(void**)&mono_get_object_class, "mono_get_object_class"); 142 bindFunc(cast(void**)&mono_get_byte_class, "mono_get_byte_class"); 143 bindFunc(cast(void**)&mono_get_void_class, "mono_get_void_class"); 144 bindFunc(cast(void**)&mono_get_boolean_class, "mono_get_boolean_class"); 145 bindFunc(cast(void**)&mono_get_sbyte_class, "mono_get_sbyte_class"); 146 bindFunc(cast(void**)&mono_get_int16_class, "mono_get_int16_class"); 147 bindFunc(cast(void**)&mono_get_uint16_class, "mono_get_uint16_class"); 148 bindFunc(cast(void**)&mono_get_int32_class, "mono_get_int32_class"); 149 bindFunc(cast(void**)&mono_get_uint32_class, "mono_get_uint32_class"); 150 bindFunc(cast(void**)&mono_get_intptr_class, "mono_get_intptr_class"); 151 bindFunc(cast(void**)&mono_get_uintptr_class, "mono_get_uintptr_class"); 152 bindFunc(cast(void**)&mono_get_int64_class, "mono_get_int64_class"); 153 bindFunc(cast(void**)&mono_get_uint64_class, "mono_get_uint64_class"); 154 bindFunc(cast(void**)&mono_get_single_class, "mono_get_single_class"); 155 bindFunc(cast(void**)&mono_get_double_class, "mono_get_double_class"); 156 bindFunc(cast(void**)&mono_get_char_class, "mono_get_char_class"); 157 bindFunc(cast(void**)&mono_get_string_class, "mono_get_string_class"); 158 bindFunc(cast(void**)&mono_get_enum_class, "mono_get_enum_class"); 159 bindFunc(cast(void**)&mono_get_array_class, "mono_get_array_class"); 160 bindFunc(cast(void**)&mono_get_thread_class, "mono_get_thread_class"); 161 bindFunc(cast(void**)&mono_get_exception_class, "mono_get_exception_class"); 162 bindFunc(cast(void**)&mono_security_enable_core_clr, "mono_security_enable_core_clr"); 163 bindFunc(cast(void**)&mono_security_set_core_clr_platform_callback, 164 "mono_security_set_core_clr_platform_callback"); 165 // metadata/assembly.h 166 bindFunc(cast(void**)&mono_assemblies_init, "mono_assemblies_init"); 167 bindFunc(cast(void**)&mono_assemblies_cleanup, "mono_assemblies_cleanup"); 168 bindFunc(cast(void**)&mono_assembly_open, "mono_assembly_open"); 169 bindFunc(cast(void**)&mono_assembly_open_full, "mono_assembly_open_full"); 170 bindFunc(cast(void**)&mono_assembly_load, "mono_assembly_load"); 171 bindFunc(cast(void**)&mono_assembly_load_full, "mono_assembly_load_full"); 172 bindFunc(cast(void**)&mono_assembly_load_from, "mono_assembly_load_from"); 173 bindFunc(cast(void**)&mono_assembly_load_from_full, "mono_assembly_load_from_full"); 174 bindFunc(cast(void**)&mono_assembly_load_with_partial_name, 175 "mono_assembly_load_with_partial_name"); 176 bindFunc(cast(void**)&mono_assembly_loaded, "mono_assembly_loaded"); 177 bindFunc(cast(void**)&mono_assembly_loaded_full, "mono_assembly_loaded_full"); 178 bindFunc(cast(void**)&mono_assembly_get_assemblyref, "mono_assembly_get_assemblyref"); 179 bindFunc(cast(void**)&mono_assembly_load_reference, "mono_assembly_load_reference"); 180 bindFunc(cast(void**)&mono_assembly_load_references, "mono_assembly_load_references"); 181 bindFunc(cast(void**)&mono_assembly_load_module, "mono_assembly_load_module"); 182 bindFunc(cast(void**)&mono_assembly_close, "mono_assembly_close"); 183 bindFunc(cast(void**)&mono_assembly_setrootdir, "mono_assembly_setrootdir"); 184 bindFunc(cast(void**)&mono_assembly_getrootdir, "mono_assembly_getrootdir"); 185 bindFunc(cast(void**)&mono_native_getrootdir, "mono_native_getrootdir"); 186 bindFunc(cast(void**)&mono_assembly_foreach, "mono_assembly_foreach"); 187 bindFunc(cast(void**)&mono_assembly_set_main, "mono_assembly_set_main"); 188 bindFunc(cast(void**)&mono_assembly_get_main, "mono_assembly_get_main"); 189 bindFunc(cast(void**)&mono_assembly_get_image, "mono_assembly_get_image"); 190 bindFunc(cast(void**)&mono_assembly_get_name, "mono_assembly_get_name"); 191 bindFunc(cast(void**)&mono_assembly_fill_assembly_name, 192 "mono_assembly_fill_assembly_name"); 193 bindFunc(cast(void**)&mono_assembly_names_equal, "mono_assembly_names_equal"); 194 bindFunc(cast(void**)&mono_stringify_assembly_name, "mono_stringify_assembly_name"); 195 bindFunc(cast(void**)&mono_install_assembly_load_hook, "mono_install_assembly_load_hook"); 196 bindFunc(cast(void**)&mono_install_assembly_search_hook, 197 "mono_install_assembly_search_hook"); 198 bindFunc(cast(void**)&mono_install_assembly_refonly_search_hook, 199 "mono_install_assembly_refonly_search_hook"); 200 bindFunc(cast(void**)&mono_assembly_invoke_search_hook, 201 "mono_assembly_invoke_search_hook"); 202 bindFunc(cast(void**)&mono_install_assembly_postload_search_hook, 203 "mono_install_assembly_postload_search_hook"); 204 bindFunc(cast(void**)&mono_install_assembly_postload_refonly_search_hook, 205 "mono_install_assembly_postload_refonly_search_hook"); 206 bindFunc(cast(void**)&mono_install_assembly_preload_hook, 207 "mono_install_assembly_preload_hook"); 208 bindFunc(cast(void**)&mono_install_assembly_refonly_preload_hook, 209 "mono_install_assembly_refonly_preload_hook"); 210 bindFunc(cast(void**)&mono_assembly_invoke_load_hook, "mono_assembly_invoke_load_hook"); 211 bindFunc(cast(void**)&mono_assembly_name_new, "mono_assembly_name_new"); 212 bindFunc(cast(void**)&mono_assembly_name_get_name, "mono_assembly_name_get_name"); 213 bindFunc(cast(void**)&mono_assembly_name_get_culture, "mono_assembly_name_get_culture"); 214 bindFunc(cast(void**)&mono_assembly_name_get_version, "mono_assembly_name_get_version"); 215 bindFunc(cast(void**)&mono_assembly_name_get_pubkeytoken, 216 "mono_assembly_name_get_pubkeytoken"); 217 bindFunc(cast(void**)&mono_assembly_name_free, "mono_assembly_name_free"); 218 bindFunc(cast(void**)&mono_register_bundled_assemblies, 219 "mono_register_bundled_assemblies"); 220 bindFunc(cast(void**)&mono_register_config_for_assembly, 221 "mono_register_config_for_assembly"); 222 bindFunc(cast(void**)&mono_register_symfile_for_assembly, 223 "mono_register_symfile_for_assembly"); 224 bindFunc(cast(void**)&mono_register_machine_config, "mono_register_machine_config"); 225 bindFunc(cast(void**)&mono_set_rootdir, "mono_set_rootdir"); 226 bindFunc(cast(void**)&mono_set_dirs, "mono_set_dirs"); 227 bindFunc(cast(void**)&mono_set_assemblies_path, "mono_set_assemblies_path"); 228 // metadata/attrdefs.h 229 // metadata/blob.h 230 // metadata/class.h 231 bindFunc(cast(void**)&mono_class_get, "mono_class_get"); 232 bindFunc(cast(void**)&mono_class_get_full, "mono_class_get_full"); 233 bindFunc(cast(void**)&mono_class_init, "mono_class_init"); 234 bindFunc(cast(void**)&mono_class_vtable, "mono_class_vtable"); 235 bindFunc(cast(void**)&mono_class_from_name, "mono_class_from_name"); 236 bindFunc(cast(void**)&mono_class_from_name_case, "mono_class_from_name_case"); 237 bindFunc(cast(void**)&mono_class_get_method_from_name_flags, 238 "mono_class_get_method_from_name_flags"); 239 bindFunc(cast(void**)&mono_class_from_typeref, "mono_class_from_typeref"); 240 bindFunc(cast(void**)&mono_class_from_typeref_checked, "mono_class_from_typeref_checked"); 241 bindFunc(cast(void**)&mono_class_from_generic_parameter, 242 "mono_class_from_generic_parameter"); 243 bindFunc(cast(void**)&mono_class_inflate_generic_type, "mono_class_inflate_generic_type"); 244 bindFunc(cast(void**)&mono_class_inflate_generic_method, 245 "mono_class_inflate_generic_method"); 246 bindFunc(cast(void**)&mono_get_inflated_method, "mono_get_inflated_method"); 247 bindFunc(cast(void**)&mono_field_from_token, "mono_field_from_token"); 248 bindFunc(cast(void**)&mono_bounded_array_class_get, "mono_bounded_array_class_get"); 249 bindFunc(cast(void**)&mono_array_class_get, "mono_array_class_get"); 250 bindFunc(cast(void**)&mono_ptr_class_get, "mono_ptr_class_get"); 251 bindFunc(cast(void**)&mono_class_get_field, "mono_class_get_field"); 252 bindFunc(cast(void**)&mono_class_get_field_from_name, "mono_class_get_field_from_name"); 253 bindFunc(cast(void**)&mono_class_get_field_token, "mono_class_get_field_token"); 254 bindFunc(cast(void**)&mono_class_get_event_token, "mono_class_get_event_token"); 255 bindFunc(cast(void**)&mono_class_get_property_from_name, 256 "mono_class_get_property_from_name"); 257 bindFunc(cast(void**)&mono_class_get_property_token, "mono_class_get_property_token"); 258 bindFunc(cast(void**)&mono_array_element_size, "mono_array_element_size"); 259 bindFunc(cast(void**)&mono_class_instance_size, "mono_class_instance_size"); 260 bindFunc(cast(void**)&mono_class_array_element_size, "mono_class_array_element_size"); 261 bindFunc(cast(void**)&mono_class_data_size, "mono_class_data_size"); 262 bindFunc(cast(void**)&mono_class_value_size, "mono_class_value_size"); 263 bindFunc(cast(void**)&mono_class_min_align, "mono_class_min_align"); 264 bindFunc(cast(void**)&mono_class_from_mono_type, "mono_class_from_mono_type"); 265 bindFunc(cast(void**)&mono_class_is_subclass_of, "mono_class_is_subclass_of"); 266 bindFunc(cast(void**)&mono_class_is_assignable_from, "mono_class_is_assignable_from"); 267 bindFunc(cast(void**)&mono_ldtoken, "mono_ldtoken"); 268 bindFunc(cast(void**)&mono_type_get_name, "mono_type_get_name"); 269 bindFunc(cast(void**)&mono_type_get_underlying_type, "mono_type_get_underlying_type"); 270 bindFunc(cast(void**)&mono_class_get_image, "mono_class_get_image"); 271 bindFunc(cast(void**)&mono_class_get_element_class, "mono_class_get_element_class"); 272 bindFunc(cast(void**)&mono_class_is_valuetype, "mono_class_is_valuetype"); 273 bindFunc(cast(void**)&mono_class_is_enum, "mono_class_is_enum"); 274 bindFunc(cast(void**)&mono_class_enum_basetype, "mono_class_enum_basetype"); 275 bindFunc(cast(void**)&mono_class_get_parent, "mono_class_get_parent"); 276 bindFunc(cast(void**)&mono_class_get_nesting_type, "mono_class_get_nesting_type"); 277 bindFunc(cast(void**)&mono_class_get_rank, "mono_class_get_rank"); 278 bindFunc(cast(void**)&mono_class_get_flags, "mono_class_get_flags"); 279 bindFunc(cast(void**)&mono_class_get_name, "mono_class_get_name"); 280 bindFunc(cast(void**)&mono_class_get_namespace, "mono_class_get_namespace"); 281 bindFunc(cast(void**)&mono_class_get_type, "mono_class_get_type"); 282 bindFunc(cast(void**)&mono_class_get_type_token, "mono_class_get_type_token"); 283 bindFunc(cast(void**)&mono_class_get_byref_type, "mono_class_get_byref_type"); 284 bindFunc(cast(void**)&mono_class_num_fields, "mono_class_num_fields"); 285 bindFunc(cast(void**)&mono_class_num_methods, "mono_class_num_methods"); 286 bindFunc(cast(void**)&mono_class_num_properties, "mono_class_num_properties"); 287 bindFunc(cast(void**)&mono_class_num_events, "mono_class_num_events"); 288 bindFunc(cast(void**)&mono_class_get_fields, "mono_class_get_fields"); 289 bindFunc(cast(void**)&mono_class_get_methods, "mono_class_get_methods"); 290 bindFunc(cast(void**)&mono_class_get_properties, "mono_class_get_properties"); 291 bindFunc(cast(void**)&mono_class_get_events, "mono_class_get_events"); 292 bindFunc(cast(void**)&mono_class_get_interfaces, "mono_class_get_interfaces"); 293 bindFunc(cast(void**)&mono_class_get_nested_types, "mono_class_get_nested_types"); 294 bindFunc(cast(void**)&mono_class_is_delegate, "mono_class_is_delegate"); 295 bindFunc(cast(void**)&mono_class_implements_interface, "mono_class_implements_interface"); 296 bindFunc(cast(void**)&mono_field_get_name, "mono_field_get_name"); 297 bindFunc(cast(void**)&mono_field_get_type, "mono_field_get_type"); 298 bindFunc(cast(void**)&mono_field_get_parent, "mono_field_get_parent"); 299 bindFunc(cast(void**)&mono_field_get_flags, "mono_field_get_flags"); 300 bindFunc(cast(void**)&mono_field_get_offset, "mono_field_get_offset"); 301 bindFunc(cast(void**)&mono_field_get_data, "mono_field_get_data"); 302 bindFunc(cast(void**)&mono_property_get_name, "mono_property_get_name"); 303 bindFunc(cast(void**)&mono_property_get_set_method, "mono_property_get_set_method"); 304 bindFunc(cast(void**)&mono_property_get_get_method, "mono_property_get_get_method"); 305 bindFunc(cast(void**)&mono_property_get_parent, "mono_property_get_parent"); 306 bindFunc(cast(void**)&mono_property_get_flags, "mono_property_get_flags"); 307 bindFunc(cast(void**)&mono_event_get_name, "mono_event_get_name"); 308 bindFunc(cast(void**)&mono_event_get_add_method, "mono_event_get_add_method"); 309 bindFunc(cast(void**)&mono_event_get_remove_method, "mono_event_get_remove_method"); 310 bindFunc(cast(void**)&mono_event_get_remove_method, "mono_event_get_remove_method"); 311 bindFunc(cast(void**)&mono_event_get_raise_method, "mono_event_get_raise_method"); 312 bindFunc(cast(void**)&mono_event_get_parent, "mono_event_get_parent"); 313 bindFunc(cast(void**)&mono_event_get_flags, "mono_event_get_flags"); 314 bindFunc(cast(void**)&mono_class_get_method_from_name, "mono_class_get_method_from_name"); 315 bindFunc(cast(void**)&mono_class_name_from_token, "mono_class_name_from_token"); 316 bindFunc(cast(void**)&mono_method_can_access_field, "mono_method_can_access_field"); 317 bindFunc(cast(void**)&mono_method_can_access_method, "mono_method_can_access_method"); 318 // metadata/debug-helpers.h 319 bindFunc(cast(void**)&mono_disasm_code_one, "mono_disasm_code_one"); 320 bindFunc(cast(void**)&mono_disasm_code, "mono_disasm_code"); 321 bindFunc(cast(void**)&mono_type_full_name, "mono_type_full_name"); 322 bindFunc(cast(void**)&mono_signature_get_desc, "mono_signature_get_desc"); 323 bindFunc(cast(void**)&mono_context_get_desc, "mono_context_get_desc"); 324 bindFunc(cast(void**)&mono_method_desc_new, "mono_method_desc_new"); 325 bindFunc(cast(void**)&mono_method_desc_from_method, "mono_method_desc_from_method"); 326 bindFunc(cast(void**)&mono_method_desc_free, "mono_method_desc_free"); 327 bindFunc(cast(void**)&mono_method_desc_match, "mono_method_desc_match"); 328 bindFunc(cast(void**)&mono_method_desc_full_match, "mono_method_desc_full_match"); 329 bindFunc(cast(void**)&mono_method_desc_search_in_class, 330 "mono_method_desc_search_in_class"); 331 bindFunc(cast(void**)&mono_method_desc_search_in_image, 332 "mono_method_desc_search_in_image"); 333 bindFunc(cast(void**)&mono_method_full_name, "mono_method_full_name"); 334 bindFunc(cast(void**)&mono_field_full_name, "mono_field_full_name"); 335 // metadata/debug-mono-symfile.h 336 bindFunc(cast(void**)&mono_debug_open_mono_symbols, "mono_debug_open_mono_symbols"); 337 bindFunc(cast(void**)&mono_debug_close_mono_symbol_file, 338 "mono_debug_close_mono_symbol_file"); 339 bindFunc(cast(void**)&mono_debug_symfile_is_loaded, "mono_debug_symfile_is_loaded"); 340 bindFunc(cast(void**)&mono_debug_symfile_lookup_location, 341 "mono_debug_symfile_lookup_location"); 342 bindFunc(cast(void**)&mono_debug_symfile_free_location, 343 "mono_debug_symfile_free_location"); 344 bindFunc(cast(void**)&mono_debug_symfile_lookup_method, 345 "mono_debug_symfile_lookup_method"); 346 bindFunc(cast(void**)&mono_debug_symfile_lookup_locals, 347 "mono_debug_symfile_lookup_locals"); 348 //?bindFunc(cast(void**)&mono_debug_image_has_debug_info, "mono_debug_image_has_debug_info"); 349 // metadata/environment.h 350 bindFunc(cast(void**)&mono_environment_exitcode_get, "mono_environment_exitcode_get"); 351 bindFunc(cast(void**)&mono_environment_exitcode_set, "mono_environment_exitcode_set"); 352 // metadata/exception.h 353 bindFunc(cast(void**)&mono_exception_from_name, "mono_exception_from_name"); 354 bindFunc(cast(void**)&mono_exception_from_token, "mono_exception_from_token"); 355 bindFunc(cast(void**)&mono_exception_from_name_two_strings, 356 "mono_exception_from_name_two_strings"); 357 bindFunc(cast(void**)&mono_exception_from_name_msg, "mono_exception_from_name_msg"); 358 bindFunc(cast(void**)&mono_exception_from_token_two_strings, 359 "mono_exception_from_token_two_strings"); 360 bindFunc(cast(void**)&mono_exception_from_name_domain, "mono_exception_from_name_domain"); 361 bindFunc(cast(void**)&mono_get_exception_divide_by_zero, 362 "mono_get_exception_divide_by_zero"); 363 bindFunc(cast(void**)&mono_get_exception_security, "mono_get_exception_security"); 364 bindFunc(cast(void**)&mono_get_exception_arithmetic, "mono_get_exception_arithmetic"); 365 bindFunc(cast(void**)&mono_get_exception_overflow, "mono_get_exception_overflow"); 366 bindFunc(cast(void**)&mono_get_exception_null_reference, 367 "mono_get_exception_null_reference"); 368 bindFunc(cast(void**)&mono_get_exception_execution_engine, 369 "mono_get_exception_execution_engine"); 370 bindFunc(cast(void**)&mono_get_exception_thread_abort, "mono_get_exception_thread_abort"); 371 bindFunc(cast(void**)&mono_get_exception_thread_state, "mono_get_exception_thread_state"); 372 bindFunc(cast(void**)&mono_get_exception_thread_interrupted, 373 "mono_get_exception_thread_interrupted"); 374 bindFunc(cast(void**)&mono_get_exception_serialization, 375 "mono_get_exception_serialization"); 376 bindFunc(cast(void**)&mono_get_exception_invalid_cast, "mono_get_exception_invalid_cast"); 377 bindFunc(cast(void**)&mono_get_exception_invalid_operation, 378 "mono_get_exception_invalid_operation"); 379 bindFunc(cast(void**)&mono_get_exception_index_out_of_range, 380 "mono_get_exception_index_out_of_range"); 381 bindFunc(cast(void**)&mono_get_exception_array_type_mismatch, 382 "mono_get_exception_array_type_mismatch"); 383 bindFunc(cast(void**)&mono_get_exception_type_load, "mono_get_exception_type_load"); 384 bindFunc(cast(void**)&mono_get_exception_missing_method, 385 "mono_get_exception_missing_method"); 386 bindFunc(cast(void**)&mono_get_exception_missing_field, 387 "mono_get_exception_missing_field"); 388 bindFunc(cast(void**)&mono_get_exception_not_implemented, 389 "mono_get_exception_not_implemented"); 390 bindFunc(cast(void**)&mono_get_exception_not_supported, 391 "mono_get_exception_not_supported"); 392 bindFunc(cast(void**)&mono_get_exception_argument_null, 393 "mono_get_exception_argument_null"); 394 bindFunc(cast(void**)&mono_get_exception_argument, "mono_get_exception_argument"); 395 bindFunc(cast(void**)&mono_get_exception_argument_out_of_range, 396 "mono_get_exception_argument_out_of_range"); 397 bindFunc(cast(void**)&mono_get_exception_io, "mono_get_exception_io"); 398 bindFunc(cast(void**)&mono_get_exception_file_not_found, 399 "mono_get_exception_file_not_found"); 400 bindFunc(cast(void**)&mono_get_exception_file_not_found2, 401 "mono_get_exception_file_not_found2"); 402 bindFunc(cast(void**)&mono_get_exception_type_initialization, 403 "mono_get_exception_type_initialization"); 404 bindFunc(cast(void**)&mono_get_exception_synchronization_lock, 405 "mono_get_exception_synchronization_lock"); 406 bindFunc(cast(void**)&mono_get_exception_cannot_unload_appdomain, 407 "mono_get_exception_cannot_unload_appdomain"); 408 bindFunc(cast(void**)&mono_get_exception_appdomain_unloaded, 409 "mono_get_exception_appdomain_unloaded"); 410 bindFunc(cast(void**)&mono_get_exception_bad_image_format, 411 "mono_get_exception_bad_image_format"); 412 bindFunc(cast(void**)&mono_get_exception_bad_image_format2, 413 "mono_get_exception_bad_image_format2"); 414 bindFunc(cast(void**)&mono_get_exception_stack_overflow, 415 "mono_get_exception_stack_overflow"); 416 bindFunc(cast(void**)&mono_get_exception_out_of_memory, 417 "mono_get_exception_out_of_memory"); 418 bindFunc(cast(void**)&mono_get_exception_field_access, "mono_get_exception_field_access"); 419 bindFunc(cast(void**)&mono_get_exception_method_access, 420 "mono_get_exception_method_access"); 421 bindFunc(cast(void**)&mono_get_exception_reflection_type_load, 422 "mono_get_exception_reflection_type_load"); 423 bindFunc(cast(void**)&mono_get_exception_runtime_wrapped, 424 "mono_get_exception_runtime_wrapped"); 425 /*?bindFunc(cast(void**)&mono_install_unhandled_exception_hook, 426 "mono_install_unhandled_exception_hook");*/ 427 /*?bindFunc(cast(void**)&mono_invoke_unhandled_exception_hook, 428 "mono_invoke_unhandled_exception_hook");*/ 429 // metadata/image.h 430 bindFunc(cast(void**)&mono_images_init, "mono_images_init"); 431 bindFunc(cast(void**)&mono_images_cleanup, "mono_images_cleanup"); 432 bindFunc(cast(void**)&mono_image_open, "mono_image_open"); 433 bindFunc(cast(void**)&mono_image_open_full, "mono_image_open_full"); 434 bindFunc(cast(void**)&mono_pe_file_open, "mono_pe_file_open"); 435 bindFunc(cast(void**)&mono_image_open_from_data, "mono_image_open_from_data"); 436 bindFunc(cast(void**)&mono_image_open_from_data_full, "mono_image_open_from_data_full"); 437 bindFunc(cast(void**)&mono_image_open_from_data_with_name, 438 "mono_image_open_from_data_with_name"); 439 bindFunc(cast(void**)&mono_image_fixup_vtable, "mono_image_fixup_vtable"); 440 bindFunc(cast(void**)&mono_image_loaded, "mono_image_loaded"); 441 bindFunc(cast(void**)&mono_image_loaded_full, "mono_image_loaded_full"); 442 bindFunc(cast(void**)&mono_image_loaded_by_guid, "mono_image_loaded_by_guid"); 443 bindFunc(cast(void**)&mono_image_loaded_by_guid_full, "mono_image_loaded_by_guid_full"); 444 bindFunc(cast(void**)&mono_image_init, "mono_image_init"); 445 bindFunc(cast(void**)&mono_image_close, "mono_image_close"); 446 bindFunc(cast(void**)&mono_image_addref, "mono_image_addref"); 447 bindFunc(cast(void**)&mono_image_strerror, "mono_image_strerror"); 448 bindFunc(cast(void**)&mono_image_ensure_section, "mono_image_ensure_section"); 449 bindFunc(cast(void**)&mono_image_ensure_section_idx, "mono_image_ensure_section_idx"); 450 bindFunc(cast(void**)&mono_image_get_entry_point, "mono_image_get_entry_point"); 451 bindFunc(cast(void**)&mono_image_get_resource, "mono_image_get_resource"); 452 bindFunc(cast(void**)&mono_image_load_file_for_image, "mono_image_load_file_for_image"); 453 bindFunc(cast(void**)&mono_image_load_module, "mono_image_load_module"); 454 bindFunc(cast(void**)&mono_image_get_name, "mono_image_get_name"); 455 bindFunc(cast(void**)&mono_image_get_filename, "mono_image_get_filename"); 456 bindFunc(cast(void**)&mono_image_get_guid, "mono_image_get_guid"); 457 bindFunc(cast(void**)&mono_image_get_assembly, "mono_image_get_assembly"); 458 bindFunc(cast(void**)&mono_image_is_dynamic, "mono_image_is_dynamic"); 459 bindFunc(cast(void**)&mono_image_rva_map, "mono_image_rva_map"); 460 bindFunc(cast(void**)&mono_image_get_table_info, "mono_image_get_table_info"); 461 bindFunc(cast(void**)&mono_image_get_table_rows, "mono_image_get_table_rows"); 462 bindFunc(cast(void**)&mono_table_info_get_rows, "mono_table_info_get_rows"); 463 bindFunc(cast(void**)&mono_image_lookup_resource, "mono_image_lookup_resource"); 464 bindFunc(cast(void**)&mono_image_get_public_key, "mono_image_get_public_key"); 465 bindFunc(cast(void**)&mono_image_get_strong_name, "mono_image_get_strong_name"); 466 bindFunc(cast(void**)&mono_image_strong_name_position, "mono_image_strong_name_position"); 467 bindFunc(cast(void**)&mono_image_add_to_name_cache, "mono_image_add_to_name_cache"); 468 bindFunc(cast(void**)&mono_image_has_authenticode_entry, 469 "mono_image_has_authenticode_entry"); 470 // metadata/loader.h 471 bindFunc(cast(void**)&mono_get_method, "mono_get_method"); 472 bindFunc(cast(void**)&mono_get_method_full, "mono_get_method_full"); 473 bindFunc(cast(void**)&mono_get_method_constrained, "mono_get_method_constrained"); 474 bindFunc(cast(void**)&mono_free_method, "mono_free_method"); 475 bindFunc(cast(void**)&mono_method_get_signature_full, "mono_method_get_signature_full"); 476 bindFunc(cast(void**)&mono_method_get_signature, "mono_method_get_signature"); 477 bindFunc(cast(void**)&mono_method_signature, "mono_method_signature"); 478 bindFunc(cast(void**)&mono_method_get_header, "mono_method_get_header"); 479 bindFunc(cast(void**)&mono_method_get_name, "mono_method_get_name"); 480 bindFunc(cast(void**)&mono_method_get_class, "mono_method_get_class"); 481 bindFunc(cast(void**)&mono_method_get_token, "mono_method_get_token"); 482 bindFunc(cast(void**)&mono_method_get_flags, "mono_method_get_flags"); 483 bindFunc(cast(void**)&mono_method_get_index, "mono_method_get_index"); 484 //?bindFunc(cast(void**)&mono_load_image, "mono_load_image"); 485 bindFunc(cast(void**)&mono_add_internal_call, "mono_add_internal_call"); 486 bindFunc(cast(void**)&mono_lookup_internal_call, "mono_lookup_internal_call"); 487 //?bindFunc(cast(void**)&mono_lookup_internal_call_full, "mono_lookup_internal_call_full"); 488 bindFunc(cast(void**)&mono_lookup_icall_symbol, "mono_lookup_icall_symbol"); 489 bindFunc(cast(void**)&mono_dllmap_insert, "mono_dllmap_insert"); 490 bindFunc(cast(void**)&mono_lookup_pinvoke_call, "mono_lookup_pinvoke_call"); 491 bindFunc(cast(void**)&mono_method_get_param_names, "mono_method_get_param_names"); 492 bindFunc(cast(void**)&mono_method_get_param_token, "mono_method_get_param_token"); 493 bindFunc(cast(void**)&mono_method_get_marshal_info, "mono_method_get_marshal_info"); 494 bindFunc(cast(void**)&mono_method_has_marshal_info, "mono_method_has_marshal_info"); 495 bindFunc(cast(void**)&mono_method_get_last_managed, "mono_method_get_last_managed"); 496 bindFunc(cast(void**)&mono_stack_walk, "mono_stack_walk"); 497 bindFunc(cast(void**)&mono_stack_walk_no_il, "mono_stack_walk_no_il"); 498 bindFunc(cast(void**)&mono_stack_walk_async_safe, "mono_stack_walk_async_safe"); 499 bindFunc(cast(void**)&mono_method_get_header_checked, "mono_method_get_header_checked"); 500 // metadata/metadata.h 501 bindFunc(cast(void**)&mono_metadata_init, "mono_metadata_init"); 502 bindFunc(cast(void**)&mono_metadata_decode_row, "mono_metadata_decode_row"); 503 bindFunc(cast(void**)&mono_metadata_decode_row_col, "mono_metadata_decode_row_col"); 504 bindFunc(cast(void**)&mono_metadata_compute_size, "mono_metadata_compute_size"); 505 bindFunc(cast(void**)&mono_metadata_locate, "mono_metadata_locate"); 506 bindFunc(cast(void**)&mono_metadata_locate_token, "mono_metadata_locate_token"); 507 bindFunc(cast(void**)&mono_metadata_string_heap, "mono_metadata_string_heap"); 508 bindFunc(cast(void**)&mono_metadata_blob_heap, "mono_metadata_blob_heap"); 509 bindFunc(cast(void**)&mono_metadata_user_string, "mono_metadata_user_string"); 510 bindFunc(cast(void**)&mono_metadata_guid_heap, "mono_metadata_guid_heap"); 511 bindFunc(cast(void**)&mono_metadata_typedef_from_field, 512 "mono_metadata_typedef_from_field"); 513 bindFunc(cast(void**)&mono_metadata_typedef_from_method, 514 "mono_metadata_typedef_from_method"); 515 bindFunc(cast(void**)&mono_metadata_nested_in_typedef, "mono_metadata_nested_in_typedef"); 516 bindFunc(cast(void**)&mono_metadata_nesting_typedef, "mono_metadata_nesting_typedef"); 517 bindFunc(cast(void**)&mono_metadata_interfaces_from_typedef, 518 "mono_metadata_interfaces_from_typedef"); 519 bindFunc(cast(void**)&mono_metadata_events_from_typedef, 520 "mono_metadata_events_from_typedef"); 521 bindFunc(cast(void**)&mono_metadata_methods_from_event, 522 "mono_metadata_methods_from_event"); 523 bindFunc(cast(void**)&mono_metadata_properties_from_typedef, 524 "mono_metadata_properties_from_typedef"); 525 bindFunc(cast(void**)&mono_metadata_methods_from_property, 526 "mono_metadata_methods_from_property"); 527 bindFunc(cast(void**)&mono_metadata_packing_from_typedef, 528 "mono_metadata_packing_from_typedef"); 529 bindFunc(cast(void**)&mono_metadata_get_marshal_info, "mono_metadata_get_marshal_info"); 530 bindFunc(cast(void**)&mono_metadata_custom_attrs_from_index, 531 "mono_metadata_custom_attrs_from_index"); 532 bindFunc(cast(void**)&mono_metadata_parse_marshal_spec, 533 "mono_metadata_parse_marshal_spec"); 534 bindFunc(cast(void**)&mono_metadata_free_marshal_spec, "mono_metadata_free_marshal_spec"); 535 bindFunc(cast(void**)&mono_metadata_implmap_from_method, 536 "mono_metadata_implmap_from_method"); 537 bindFunc(cast(void**)&mono_metadata_field_info, "mono_metadata_field_info"); 538 bindFunc(cast(void**)&mono_metadata_get_constant_index, 539 "mono_metadata_get_constant_index"); 540 bindFunc(cast(void**)&mono_metadata_decode_value, "mono_metadata_decode_value"); 541 bindFunc(cast(void**)&mono_metadata_decode_signed_value, 542 "mono_metadata_decode_signed_value"); 543 bindFunc(cast(void**)&mono_metadata_decode_blob_size, "mono_metadata_decode_blob_size"); 544 bindFunc(cast(void**)&mono_metadata_encode_value, "mono_metadata_encode_value"); 545 bindFunc(cast(void**)&mono_type_is_byref, "mono_type_is_byref"); 546 bindFunc(cast(void**)&mono_type_get_type, "mono_type_get_type"); 547 bindFunc(cast(void**)&mono_type_get_signature, "mono_type_get_signature"); 548 bindFunc(cast(void**)&mono_type_get_class, "mono_type_get_class"); 549 bindFunc(cast(void**)&mono_type_get_array_type, "mono_type_get_array_type"); 550 bindFunc(cast(void**)&mono_type_get_ptr_type, "mono_type_get_ptr_type"); 551 bindFunc(cast(void**)&mono_type_get_modifiers, "mono_type_get_modifiers"); 552 bindFunc(cast(void**)&mono_type_is_struct, "mono_type_is_struct"); 553 bindFunc(cast(void**)&mono_type_is_void, "mono_type_is_void"); 554 bindFunc(cast(void**)&mono_type_is_pointer, "mono_type_is_pointer"); 555 bindFunc(cast(void**)&mono_type_is_reference, "mono_type_is_reference"); 556 //?bindFunc(cast(void**)&mono_type_is_generic_parameter, "mono_type_is_generic_parameter"); 557 bindFunc(cast(void**)&mono_signature_get_return_type, "mono_signature_get_return_type"); 558 bindFunc(cast(void**)&mono_signature_get_params, "mono_signature_get_params"); 559 bindFunc(cast(void**)&mono_signature_get_param_count, "mono_signature_get_param_count"); 560 bindFunc(cast(void**)&mono_signature_get_call_conv, "mono_signature_get_call_conv"); 561 bindFunc(cast(void**)&mono_signature_vararg_start, "mono_signature_vararg_start"); 562 bindFunc(cast(void**)&mono_signature_is_instance, "mono_signature_is_instance"); 563 bindFunc(cast(void**)&mono_signature_explicit_this, "mono_signature_explicit_this"); 564 bindFunc(cast(void**)&mono_signature_param_is_out, "mono_signature_param_is_out"); 565 bindFunc(cast(void**)&mono_metadata_parse_typedef_or_ref, 566 "mono_metadata_parse_typedef_or_ref"); 567 bindFunc(cast(void**)&mono_metadata_parse_custom_mod, "mono_metadata_parse_custom_mod"); 568 bindFunc(cast(void**)&mono_metadata_parse_array, "mono_metadata_parse_array"); 569 bindFunc(cast(void**)&mono_metadata_free_array, "mono_metadata_free_array"); 570 bindFunc(cast(void**)&mono_metadata_parse_type, "mono_metadata_parse_type"); 571 bindFunc(cast(void**)&mono_metadata_parse_param, "mono_metadata_parse_param"); 572 //?bindFunc(cast(void**)&mono_metadata_parse_ret_type, "mono_metadata_parse_ret_type"); 573 bindFunc(cast(void**)&mono_metadata_parse_field_type, "mono_metadata_parse_field_type"); 574 bindFunc(cast(void**)&mono_type_create_from_typespec, "mono_type_create_from_typespec"); 575 bindFunc(cast(void**)&mono_metadata_free_type, "mono_metadata_free_type"); 576 bindFunc(cast(void**)&mono_type_size, "mono_type_size"); 577 bindFunc(cast(void**)&mono_type_stack_size, "mono_type_stack_size"); 578 bindFunc(cast(void**)&mono_type_generic_inst_is_valuetype, 579 "mono_type_generic_inst_is_valuetype"); 580 bindFunc(cast(void**)&mono_metadata_generic_class_is_valuetype, 581 "mono_metadata_generic_class_is_valuetype"); 582 /*?bindFunc(cast(void**)&mono_metadata_generic_class_hash, 583 "mono_metadata_generic_class_hash");*/ 584 /*?bindFunc(cast(void**)&mono_metadata_generic_class_equal, 585 "mono_metadata_generic_class_equal");*/ 586 bindFunc(cast(void**)&mono_metadata_type_hash, "mono_metadata_type_hash"); 587 bindFunc(cast(void**)&mono_metadata_type_equal, "mono_metadata_type_equal"); 588 bindFunc(cast(void**)&mono_metadata_signature_alloc, "mono_metadata_signature_alloc"); 589 bindFunc(cast(void**)&mono_metadata_signature_dup, "mono_metadata_signature_dup"); 590 bindFunc(cast(void**)&mono_metadata_parse_signature, "mono_metadata_parse_signature"); 591 bindFunc(cast(void**)&mono_metadata_parse_method_signature, 592 "mono_metadata_parse_method_signature"); 593 bindFunc(cast(void**)&mono_metadata_free_method_signature, 594 "mono_metadata_free_method_signature"); 595 bindFunc(cast(void**)&mono_metadata_signature_equal, "mono_metadata_signature_equal"); 596 bindFunc(cast(void**)&mono_signature_hash, "mono_signature_hash"); 597 bindFunc(cast(void**)&mono_metadata_parse_mh, "mono_metadata_parse_mh"); 598 bindFunc(cast(void**)&mono_metadata_free_mh, "mono_metadata_free_mh"); 599 bindFunc(cast(void**)&mono_method_header_get_code, "mono_method_header_get_code"); 600 bindFunc(cast(void**)&mono_method_header_get_locals, "mono_method_header_get_locals"); 601 bindFunc(cast(void**)&mono_method_header_get_num_clauses, 602 "mono_method_header_get_num_clauses"); 603 bindFunc(cast(void**)&mono_method_header_get_clauses, "mono_method_header_get_clauses"); 604 bindFunc(cast(void**)&mono_type_to_unmanaged, "mono_type_to_unmanaged"); 605 bindFunc(cast(void**)&mono_metadata_token_from_dor, "mono_metadata_token_from_dor"); 606 bindFunc(cast(void**)&mono_guid_to_string, "mono_guid_to_string"); 607 bindFunc(cast(void**)&mono_guid_to_string_minimal, "mono_guid_to_string_minimal"); 608 bindFunc(cast(void**)&mono_metadata_declsec_from_index, 609 "mono_metadata_declsec_from_index"); 610 bindFunc(cast(void**)&mono_metadata_translate_token_index, 611 "mono_metadata_translate_token_index"); 612 bindFunc(cast(void**)&mono_metadata_decode_table_row, "mono_metadata_decode_table_row"); 613 bindFunc(cast(void**)&mono_metadata_decode_table_row_col, 614 "mono_metadata_decode_table_row_col"); 615 // metadata/mono-config.h 616 bindFunc(cast(void**)&mono_config_get_os, "mono_config_get_os"); 617 bindFunc(cast(void**)&mono_config_get_cpu, "mono_config_get_cpu"); 618 bindFunc(cast(void**)&mono_config_get_wordsize, "mono_config_get_wordsize"); 619 bindFunc(cast(void**)&mono_get_config_dir, "mono_get_config_dir"); 620 bindFunc(cast(void**)&mono_set_config_dir, "mono_set_config_dir"); 621 bindFunc(cast(void**)&mono_get_machine_config, "mono_get_machine_config"); 622 bindFunc(cast(void**)&mono_config_cleanup, "mono_config_cleanup"); 623 bindFunc(cast(void**)&mono_config_parse, "mono_config_parse"); 624 bindFunc(cast(void**)&mono_config_for_assembly, "mono_config_for_assembly"); 625 bindFunc(cast(void**)&mono_config_parse_memory, "mono_config_parse_memory"); 626 bindFunc(cast(void**)&mono_config_string_for_assembly_file, 627 "mono_config_string_for_assembly_file"); 628 bindFunc(cast(void**)&mono_config_set_server_mode, "mono_config_set_server_mode"); 629 bindFunc(cast(void**)&mono_config_is_server_mode, "mono_config_is_server_mode"); 630 // metadata/mono-debug.h 631 bindFunc(cast(void**)&mono_debug_init, "mono_debug_init"); 632 bindFunc(cast(void**)&mono_debug_open_image_from_memory, 633 "mono_debug_open_image_from_memory"); 634 bindFunc(cast(void**)&mono_debug_cleanup, "mono_debug_cleanup"); 635 bindFunc(cast(void**)&mono_debug_close_image, "mono_debug_close_image"); 636 bindFunc(cast(void**)&mono_debug_domain_unload, "mono_debug_domain_unload"); 637 bindFunc(cast(void**)&mono_debug_domain_create, "mono_debug_domain_create"); 638 bindFunc(cast(void**)&mono_debug_add_method, "mono_debug_add_method"); 639 bindFunc(cast(void**)&mono_debug_remove_method, "mono_debug_remove_method"); 640 bindFunc(cast(void**)&mono_debug_lookup_method, "mono_debug_lookup_method"); 641 bindFunc(cast(void**)&mono_debug_lookup_method_addresses, 642 "mono_debug_lookup_method_addresses"); 643 bindFunc(cast(void**)&mono_debug_find_method, "mono_debug_find_method"); 644 bindFunc(cast(void**)&mono_debug_free_method_jit_info, "mono_debug_free_method_jit_info"); 645 bindFunc(cast(void**)&mono_debug_add_delegate_trampoline, 646 "mono_debug_add_delegate_trampoline"); 647 bindFunc(cast(void**)&mono_debug_lookup_locals, "mono_debug_lookup_locals"); 648 /*?bindFunc(cast(void**)&mono_debug_lookup_method_async_debug_info, 649 "mono_debug_lookup_method_async_debug_info"); 650 bindFunc(cast(void**)&mono_debug_method_lookup_location, 651 "mono_debug_method_lookup_location"); 652 bindFunc(cast(void**)&mono_debug_lookup_source_location, 653 "mono_debug_lookup_source_location"); 654 bindFunc(cast(void**)&mono_debug_il_offset_from_address, 655 "mono_debug_il_offset_from_address"); 656 bindFunc(cast(void**)&mono_debug_free_source_location, "mono_debug_free_source_location");*/ 657 bindFunc(cast(void**)&mono_debug_print_stack_frame, "mono_debug_print_stack_frame"); 658 bindFunc(cast(void**)&mono_debugger_method_has_breakpoint, 659 "mono_debugger_method_has_breakpoint"); 660 bindFunc(cast(void**)&mono_debugger_insert_breakpoint, "mono_debugger_insert_breakpoint"); 661 bindFunc(cast(void**)&mono_set_is_debugger_attached, "mono_set_is_debugger_attached"); 662 bindFunc(cast(void**)&mono_is_debugger_attached, "mono_is_debugger_attached"); 663 // metadata/mono-gc.h 664 bindFunc(cast(void**)&mono_gc_collect, "mono_gc_collect"); 665 bindFunc(cast(void**)&mono_gc_max_generation, "mono_gc_max_generation"); 666 bindFunc(cast(void**)&mono_gc_get_generation, "mono_gc_get_generation"); 667 bindFunc(cast(void**)&mono_gc_collection_count, "mono_gc_collection_count"); 668 bindFunc(cast(void**)&mono_gc_get_used_size, "mono_gc_get_used_size"); 669 bindFunc(cast(void**)&mono_gc_get_heap_size, "mono_gc_get_heap_size"); 670 bindFunc(cast(void**)&mono_gc_pending_finalizers, "mono_gc_pending_finalizers"); 671 bindFunc(cast(void**)&mono_gc_finalize_notify, "mono_gc_finalize_notify"); 672 bindFunc(cast(void**)&mono_gc_invoke_finalizers, "mono_gc_invoke_finalizers"); 673 bindFunc(cast(void**)&mono_gc_walk_heap, "mono_gc_walk_heap"); 674 // metadata/object.h 675 bindFunc(cast(void**)&mono_string_chars, "mono_string_chars"); 676 bindFunc(cast(void**)&mono_string_length, "mono_string_length"); 677 bindFunc(cast(void**)&mono_object_new, "mono_object_new"); 678 bindFunc(cast(void**)&mono_object_new_specific, "mono_object_new_specific"); 679 bindFunc(cast(void**)&mono_object_new_fast, "mono_object_new_fast"); 680 bindFunc(cast(void**)&mono_object_new_alloc_specific, "mono_object_new_alloc_specific"); 681 bindFunc(cast(void**)&mono_object_new_from_token, "mono_object_new_from_token"); 682 bindFunc(cast(void**)&mono_array_new, "mono_array_new"); 683 bindFunc(cast(void**)&mono_array_new_full, "mono_array_new_full"); 684 bindFunc(cast(void**)&mono_array_new_specific, "mono_array_new_specific"); 685 bindFunc(cast(void**)&mono_array_clone, "mono_array_clone"); 686 bindFunc(cast(void**)&mono_array_addr_with_size, "mono_array_addr_with_size"); 687 bindFunc(cast(void**)&mono_array_length, "mono_array_length"); 688 bindFunc(cast(void**)&mono_string_empty, "mono_string_empty"); 689 bindFunc(cast(void**)&mono_string_empty_wrapper, "mono_string_empty_wrapper"); 690 bindFunc(cast(void**)&mono_string_new_utf16, "mono_string_new_utf16"); 691 bindFunc(cast(void**)&mono_string_new_size, "mono_string_new_size"); 692 bindFunc(cast(void**)&mono_ldstr, "mono_ldstr"); 693 bindFunc(cast(void**)&mono_string_is_interned, "mono_string_is_interned"); 694 bindFunc(cast(void**)&mono_string_intern, "mono_string_intern"); 695 bindFunc(cast(void**)&mono_string_new, "mono_string_new"); 696 bindFunc(cast(void**)&mono_string_new_wrapper, "mono_string_new_wrapper"); 697 bindFunc(cast(void**)&mono_string_new_len, "mono_string_new_len"); 698 bindFunc(cast(void**)&mono_string_new_utf32, "mono_string_new_utf32"); 699 bindFunc(cast(void**)&mono_string_to_utf8, "mono_string_to_utf8"); 700 bindFunc(cast(void**)&mono_string_to_utf8_checked, "mono_string_to_utf8_checked"); 701 bindFunc(cast(void**)&mono_string_to_utf16, "mono_string_to_utf16"); 702 bindFunc(cast(void**)&mono_string_to_utf32, "mono_string_to_utf32"); 703 bindFunc(cast(void**)&mono_string_from_utf16, "mono_string_from_utf16"); 704 bindFunc(cast(void**)&mono_string_from_utf32, "mono_string_from_utf32"); 705 bindFunc(cast(void**)&mono_string_equal, "mono_string_equal"); 706 bindFunc(cast(void**)&mono_string_hash, "mono_string_hash"); 707 bindFunc(cast(void**)&mono_object_hash, "mono_object_hash"); 708 bindFunc(cast(void**)&mono_object_to_string, "mono_object_to_string"); 709 bindFunc(cast(void**)&mono_value_box, "mono_value_box"); 710 bindFunc(cast(void**)&mono_value_copy, "mono_value_copy"); 711 bindFunc(cast(void**)&mono_value_copy_array, "mono_value_copy_array"); 712 bindFunc(cast(void**)&mono_object_get_domain, "mono_object_get_domain"); 713 bindFunc(cast(void**)&mono_object_get_class, "mono_object_get_class"); 714 bindFunc(cast(void**)&mono_object_unbox, "mono_object_unbox"); 715 bindFunc(cast(void**)&mono_object_clone, "mono_object_clone"); 716 bindFunc(cast(void**)&mono_object_isinst, "mono_object_isinst"); 717 bindFunc(cast(void**)&mono_object_isinst_mbyref, "mono_object_isinst_mbyref"); 718 bindFunc(cast(void**)&mono_object_castclass_mbyref, "mono_object_castclass_mbyref"); 719 bindFunc(cast(void**)&mono_monitor_try_enter, "mono_monitor_try_enter"); 720 bindFunc(cast(void**)&mono_monitor_enter, "mono_monitor_enter"); 721 bindFunc(cast(void**)&mono_monitor_enter_v4, "mono_monitor_enter_v4"); 722 bindFunc(cast(void**)&mono_object_get_size, "mono_object_get_size"); 723 bindFunc(cast(void**)&mono_monitor_exit, "mono_monitor_exit"); 724 bindFunc(cast(void**)&mono_raise_exception, "mono_raise_exception"); 725 bindFunc(cast(void**)&mono_runtime_object_init, "mono_runtime_object_init"); 726 bindFunc(cast(void**)&mono_runtime_class_init, "mono_runtime_class_init"); 727 bindFunc(cast(void**)&mono_object_get_virtual_method, "mono_object_get_virtual_method"); 728 bindFunc(cast(void**)&mono_runtime_invoke, "mono_runtime_invoke"); 729 bindFunc(cast(void**)&mono_get_delegate_invoke, "mono_get_delegate_invoke"); 730 bindFunc(cast(void**)&mono_get_delegate_begin_invoke, "mono_get_delegate_begin_invoke"); 731 bindFunc(cast(void**)&mono_get_delegate_end_invoke, "mono_get_delegate_end_invoke"); 732 bindFunc(cast(void**)&mono_runtime_delegate_invoke, "mono_runtime_delegate_invoke"); 733 bindFunc(cast(void**)&mono_runtime_invoke_array, "mono_runtime_invoke_array"); 734 bindFunc(cast(void**)&mono_method_get_unmanaged_thunk, "mono_method_get_unmanaged_thunk"); 735 bindFunc(cast(void**)&mono_runtime_get_main_args, "mono_runtime_get_main_args"); 736 bindFunc(cast(void**)&mono_runtime_exec_managed_code, "mono_runtime_exec_managed_code"); 737 bindFunc(cast(void**)&mono_runtime_run_main, "mono_runtime_run_main"); 738 bindFunc(cast(void**)&mono_runtime_exec_main, "mono_runtime_exec_main"); 739 bindFunc(cast(void**)&mono_runtime_set_main_args, "mono_runtime_set_main_args"); 740 bindFunc(cast(void**)&mono_load_remote_field, "mono_load_remote_field"); 741 bindFunc(cast(void**)&mono_load_remote_field_new, "mono_load_remote_field_new"); 742 bindFunc(cast(void**)&mono_store_remote_field, "mono_store_remote_field"); 743 bindFunc(cast(void**)&mono_store_remote_field_new, "mono_store_remote_field_new"); 744 bindFunc(cast(void**)&mono_unhandled_exception, "mono_unhandled_exception"); 745 bindFunc(cast(void**)&mono_print_unhandled_exception, "mono_print_unhandled_exception"); 746 bindFunc(cast(void**)&mono_compile_method, "mono_compile_method"); 747 bindFunc(cast(void**)&mono_field_set_value, "mono_field_set_value"); 748 bindFunc(cast(void**)&mono_field_static_set_value, "mono_field_static_set_value"); 749 bindFunc(cast(void**)&mono_field_get_value, "mono_field_get_value"); 750 bindFunc(cast(void**)&mono_field_static_get_value, "mono_field_static_get_value"); 751 bindFunc(cast(void**)&mono_field_get_value_object, "mono_field_get_value_object"); 752 bindFunc(cast(void**)&mono_property_set_value, "mono_property_set_value"); 753 bindFunc(cast(void**)&mono_property_get_value, "mono_property_get_value"); 754 bindFunc(cast(void**)&mono_gchandle_new, "mono_gchandle_new"); 755 bindFunc(cast(void**)&mono_gchandle_new_weakref, "mono_gchandle_new_weakref"); 756 bindFunc(cast(void**)&mono_gchandle_get_target, "mono_gchandle_get_target"); 757 bindFunc(cast(void**)&mono_gchandle_free, "mono_gchandle_free"); 758 bindFunc(cast(void**)&mono_gc_reference_queue_new, "mono_gc_reference_queue_new"); 759 bindFunc(cast(void**)&mono_gc_reference_queue_free, "mono_gc_reference_queue_free"); 760 bindFunc(cast(void**)&mono_gc_reference_queue_add, "mono_gc_reference_queue_add"); 761 bindFunc(cast(void**)&mono_gc_wbarrier_set_field, "mono_gc_wbarrier_set_field"); 762 bindFunc(cast(void**)&mono_gc_wbarrier_set_arrayref, "mono_gc_wbarrier_set_arrayref"); 763 bindFunc(cast(void**)&mono_gc_wbarrier_arrayref_copy, "mono_gc_wbarrier_arrayref_copy"); 764 bindFunc(cast(void**)&mono_gc_wbarrier_generic_store, "mono_gc_wbarrier_generic_store"); 765 bindFunc(cast(void**)&mono_gc_wbarrier_generic_store_atomic, 766 "mono_gc_wbarrier_generic_store_atomic"); 767 bindFunc(cast(void**)&mono_gc_wbarrier_generic_nostore, 768 "mono_gc_wbarrier_generic_nostore"); 769 bindFunc(cast(void**)&mono_gc_wbarrier_value_copy, "mono_gc_wbarrier_value_copy"); 770 bindFunc(cast(void**)&mono_gc_wbarrier_object_copy, "mono_gc_wbarrier_object_copy"); 771 // metadata/opcodes.h 772 bindFunc(cast(void**)&mono_opcode_name, "mono_opcode_name"); 773 bindFunc(cast(void**)&mono_opcode_value, "mono_opcode_value"); 774 // metadata/profiler.h 775 bindFunc(cast(void**)&mono_profiler_install, "mono_profiler_install"); 776 bindFunc(cast(void**)&mono_profiler_set_events, "mono_profiler_set_events"); 777 bindFunc(cast(void**)&mono_profiler_get_events, "mono_profiler_get_events"); 778 bindFunc(cast(void**)&mono_profiler_install_appdomain, "mono_profiler_install_appdomain"); 779 bindFunc(cast(void**)&mono_profiler_install_appdomain_name, 780 "mono_profiler_install_appdomain_name"); 781 bindFunc(cast(void**)&mono_profiler_install_context, "mono_profiler_install_context"); 782 bindFunc(cast(void**)&mono_profiler_install_assembly, "mono_profiler_install_assembly"); 783 bindFunc(cast(void**)&mono_profiler_install_module, "mono_profiler_install_module"); 784 bindFunc(cast(void**)&mono_profiler_install_class, "mono_profiler_install_class"); 785 bindFunc(cast(void**)&mono_profiler_install_jit_compile, 786 "mono_profiler_install_jit_compile"); 787 bindFunc(cast(void**)&mono_profiler_install_jit_end, "mono_profiler_install_jit_end"); 788 bindFunc(cast(void**)&mono_profiler_install_method_free, 789 "mono_profiler_install_method_free"); 790 bindFunc(cast(void**)&mono_profiler_install_method_invoke, 791 "mono_profiler_install_method_invoke"); 792 bindFunc(cast(void**)&mono_profiler_install_enter_leave, 793 "mono_profiler_install_enter_leave"); 794 bindFunc(cast(void**)&mono_profiler_install_thread, "mono_profiler_install_thread"); 795 bindFunc(cast(void**)&mono_profiler_install_thread_name, 796 "mono_profiler_install_thread_name"); 797 bindFunc(cast(void**)&mono_profiler_install_transition, 798 "mono_profiler_install_transition"); 799 bindFunc(cast(void**)&mono_profiler_install_allocation, 800 "mono_profiler_install_allocation"); 801 bindFunc(cast(void**)&mono_profiler_install_monitor, "mono_profiler_install_monitor"); 802 bindFunc(cast(void**)&mono_profiler_install_statistical, 803 "mono_profiler_install_statistical"); 804 bindFunc(cast(void**)&mono_profiler_install_statistical_call_chain, 805 "mono_profiler_install_statistical_call_chain"); 806 bindFunc(cast(void**)&mono_profiler_install_exception, "mono_profiler_install_exception"); 807 bindFunc(cast(void**)&mono_profiler_install_coverage_filter, 808 "mono_profiler_install_coverage_filter"); 809 bindFunc(cast(void**)&mono_profiler_coverage_get, "mono_profiler_coverage_get"); 810 bindFunc(cast(void**)&mono_profiler_install_gc, "mono_profiler_install_gc"); 811 bindFunc(cast(void**)&mono_profiler_install_gc_moves, "mono_profiler_install_gc_moves"); 812 bindFunc(cast(void**)&mono_profiler_install_gc_roots, "mono_profiler_install_gc_roots"); 813 bindFunc(cast(void**)&mono_profiler_install_gc_finalize, 814 "mono_profiler_install_gc_finalize"); 815 bindFunc(cast(void**)&mono_profiler_install_runtime_initialized, 816 "mono_profiler_install_runtime_initialized"); 817 bindFunc(cast(void**)&mono_profiler_install_code_chunk_new, 818 "mono_profiler_install_code_chunk_new"); 819 bindFunc(cast(void**)&mono_profiler_install_code_chunk_destroy, 820 "mono_profiler_install_code_chunk_destroy"); 821 bindFunc(cast(void**)&mono_profiler_install_code_buffer_new, 822 "mono_profiler_install_code_buffer_new"); 823 bindFunc(cast(void**)&mono_profiler_install_iomap, "mono_profiler_install_iomap"); 824 bindFunc(cast(void**)&mono_profiler_load, "mono_profiler_load"); 825 bindFunc(cast(void**)&mono_profiler_set_statistical_mode, 826 "mono_profiler_set_statistical_mode"); 827 // metadata/reflection.h 828 bindFunc(cast(void**)&mono_reflection_parse_type, "mono_reflection_parse_type"); 829 bindFunc(cast(void**)&mono_reflection_get_type, "mono_reflection_get_type"); 830 bindFunc(cast(void**)&mono_reflection_free_type_info, "mono_reflection_free_type_info"); 831 bindFunc(cast(void**)&mono_reflection_type_from_name, "mono_reflection_type_from_name"); 832 bindFunc(cast(void**)&mono_reflection_get_token, "mono_reflection_get_token"); 833 bindFunc(cast(void**)&mono_assembly_get_object, "mono_assembly_get_object"); 834 bindFunc(cast(void**)&mono_module_get_object, "mono_module_get_object"); 835 bindFunc(cast(void**)&mono_module_file_get_object, "mono_module_file_get_object"); 836 bindFunc(cast(void**)&mono_type_get_object, "mono_type_get_object"); 837 bindFunc(cast(void**)&mono_method_get_object, "mono_method_get_object"); 838 bindFunc(cast(void**)&mono_field_get_object, "mono_field_get_object"); 839 bindFunc(cast(void**)&mono_property_get_object, "mono_property_get_object"); 840 bindFunc(cast(void**)&mono_event_get_object, "mono_event_get_object"); 841 bindFunc(cast(void**)&mono_param_get_objects, "mono_param_get_objects"); 842 bindFunc(cast(void**)&mono_method_body_get_object, "mono_method_body_get_object"); 843 bindFunc(cast(void**)&mono_get_dbnull_object, "mono_get_dbnull_object"); 844 bindFunc(cast(void**)&mono_reflection_get_custom_attrs_by_type, 845 "mono_reflection_get_custom_attrs_by_type"); 846 bindFunc(cast(void**)&mono_reflection_get_custom_attrs, 847 "mono_reflection_get_custom_attrs"); 848 bindFunc(cast(void**)&mono_reflection_get_custom_attrs_data, 849 "mono_reflection_get_custom_attrs_data"); 850 bindFunc(cast(void**)&mono_reflection_get_custom_attrs_blob, 851 "mono_reflection_get_custom_attrs_blob"); 852 bindFunc(cast(void**)&mono_reflection_get_custom_attrs_info, 853 "mono_reflection_get_custom_attrs_info"); 854 bindFunc(cast(void**)&mono_custom_attrs_construct, "mono_custom_attrs_construct"); 855 bindFunc(cast(void**)&mono_custom_attrs_from_index, "mono_custom_attrs_from_index"); 856 bindFunc(cast(void**)&mono_custom_attrs_from_method, "mono_custom_attrs_from_method"); 857 bindFunc(cast(void**)&mono_custom_attrs_from_class, "mono_custom_attrs_from_class"); 858 bindFunc(cast(void**)&mono_custom_attrs_from_assembly, "mono_custom_attrs_from_assembly"); 859 bindFunc(cast(void**)&mono_custom_attrs_from_property, "mono_custom_attrs_from_property"); 860 bindFunc(cast(void**)&mono_custom_attrs_from_event, "mono_custom_attrs_from_event"); 861 bindFunc(cast(void**)&mono_custom_attrs_from_field, "mono_custom_attrs_from_field"); 862 bindFunc(cast(void**)&mono_custom_attrs_from_param, "mono_custom_attrs_from_param"); 863 bindFunc(cast(void**)&mono_custom_attrs_has_attr, "mono_custom_attrs_has_attr"); 864 bindFunc(cast(void**)&mono_custom_attrs_get_attr, "mono_custom_attrs_get_attr"); 865 bindFunc(cast(void**)&mono_custom_attrs_free, "mono_custom_attrs_free"); 866 bindFunc(cast(void**)&mono_declsec_flags_from_method, "mono_declsec_flags_from_method"); 867 bindFunc(cast(void**)&mono_declsec_flags_from_class, "mono_declsec_flags_from_class"); 868 bindFunc(cast(void**)&mono_declsec_flags_from_assembly, 869 "mono_declsec_flags_from_assembly"); 870 bindFunc(cast(void**)&mono_declsec_get_demands, "mono_declsec_get_demands"); 871 bindFunc(cast(void**)&mono_declsec_get_linkdemands, "mono_declsec_get_linkdemands"); 872 bindFunc(cast(void**)&mono_declsec_get_inheritdemands_class, 873 "mono_declsec_get_inheritdemands_class"); 874 bindFunc(cast(void**)&mono_declsec_get_inheritdemands_method, 875 "mono_declsec_get_inheritdemands_method"); 876 bindFunc(cast(void**)&mono_declsec_get_method_action, "mono_declsec_get_method_action"); 877 bindFunc(cast(void**)&mono_declsec_get_class_action, "mono_declsec_get_class_action"); 878 bindFunc(cast(void**)&mono_declsec_get_assembly_action, 879 "mono_declsec_get_assembly_action"); 880 bindFunc(cast(void**)&mono_reflection_type_get_type, "mono_reflection_type_get_type"); 881 bindFunc(cast(void**)&mono_reflection_assembly_get_assembly, 882 "mono_reflection_assembly_get_assembly"); 883 // metadata/row-indexes.h 884 // metadata/sgen-bridge.h 885 bindFunc(cast(void**)&mono_gc_register_bridge_callbacks, 886 "mono_gc_register_bridge_callbacks"); 887 bindFunc(cast(void**)&mono_gc_wait_for_bridge_processing, 888 "mono_gc_wait_for_bridge_processing"); 889 // metadata/threads.h 890 bindFunc(cast(void**)&mono_thread_init, "mono_thread_init"); 891 bindFunc(cast(void**)&mono_thread_cleanup, "mono_thread_cleanup"); 892 bindFunc(cast(void**)&mono_thread_manage, "mono_thread_manage"); 893 bindFunc(cast(void**)&mono_thread_current, "mono_thread_current"); 894 bindFunc(cast(void**)&mono_thread_set_main, "mono_thread_set_main"); 895 bindFunc(cast(void**)&mono_thread_get_main, "mono_thread_get_main"); 896 bindFunc(cast(void**)&mono_thread_stop, "mono_thread_stop"); 897 bindFunc(cast(void**)&mono_thread_new_init, "mono_thread_new_init"); 898 bindFunc(cast(void**)&mono_thread_create, "mono_thread_create"); 899 bindFunc(cast(void**)&mono_thread_attach, "mono_thread_attach"); 900 bindFunc(cast(void**)&mono_thread_detach, "mono_thread_detach"); 901 bindFunc(cast(void**)&mono_thread_exit, "mono_thread_exit"); 902 bindFunc(cast(void**)&mono_thread_get_name_utf8, "mono_thread_get_name_utf8"); 903 bindFunc(cast(void**)&mono_thread_get_managed_id, "mono_thread_get_managed_id"); 904 bindFunc(cast(void**)&mono_thread_set_manage_callback, "mono_thread_set_manage_callback"); 905 bindFunc(cast(void**)&mono_threads_set_default_stacksize, 906 "mono_threads_set_default_stacksize"); 907 bindFunc(cast(void**)&mono_threads_get_default_stacksize, 908 "mono_threads_get_default_stacksize"); 909 bindFunc(cast(void**)&mono_threads_request_thread_dump, 910 "mono_threads_request_thread_dump"); 911 bindFunc(cast(void**)&mono_thread_is_foreign, "mono_thread_is_foreign"); 912 bindFunc(cast(void**)&mono_thread_detach_if_exiting, "mono_thread_detach_if_exiting"); 913 // metadata/tokentype.h 914 // metadata/verify.h 915 bindFunc(cast(void**)&mono_method_verify, "mono_method_verify"); 916 bindFunc(cast(void**)&mono_free_verify_list, "mono_free_verify_list"); 917 bindFunc(cast(void**)&mono_verify_corlib, "mono_verify_corlib"); 918 // jit/jit.h 919 bindFunc(cast(void**)&mono_jit_init, "mono_jit_init"); 920 bindFunc(cast(void**)&mono_jit_init_version, "mono_jit_init_version"); 921 bindFunc(cast(void**)&mono_jit_exec, "mono_jit_exec"); 922 bindFunc(cast(void**)&mono_jit_cleanup, "mono_jit_cleanup"); 923 bindFunc(cast(void**)&mono_jit_set_trace_options, "mono_jit_set_trace_options"); 924 bindFunc(cast(void**)&mono_set_signal_chaining, "mono_set_signal_chaining"); 925 bindFunc(cast(void**)&mono_set_crash_chaining, "mono_set_crash_chaining"); 926 bindFunc(cast(void**)&mono_jit_set_aot_only, "mono_jit_set_aot_only"); 927 bindFunc(cast(void**)&mono_jit_set_aot_mode, "mono_jit_set_aot_mode"); 928 bindFunc(cast(void**)&mono_set_break_policy, "mono_set_break_policy"); 929 bindFunc(cast(void**)&mono_jit_parse_options, "mono_jit_parse_options"); 930 bindFunc(cast(void**)&mono_get_runtime_build_info, "mono_get_runtime_build_info"); 931 bindFunc(cast(void**)&mono_get_jit_info_from_method, "mono_get_jit_info_from_method"); 932 bindFunc(cast(void**)&mono_aot_get_method, "mono_aot_get_method"); 933 } 934 } 935 936 __gshared DerelictMonoLoader DerelictMono; 937 938 shared static this() 939 { 940 DerelictMono = new DerelictMonoLoader(); 941 } 942 943 // metadata/metadata.h 944 bool MONO_CLASS_IS_INTERFACE()(in MonoClass* c) 945 { 946 return ((mono_class_get_flags(c) & TYPE_ATTRIBUTE_INTERFACE) 947 || (c.byval_arg.type == MONO_TYPE_VAR) || (c.byval_arg.type == MONO_TYPE_MVAR)); 948 } 949 950 bool MONO_CLASS_IS_IMPORT()(in MonoClass* c) 951 { 952 return ((mono_class_get_flags(c) & TYPE_ATTRIBUTE_IMPORT)); 953 } 954 955 int mono_metadata_table_size()(int bitfield, int table) 956 { 957 return ((((bitfield) >> ((table) * 2)) & 0x3) + 1); 958 } 959 960 int mono_metadata_table_count()(int bitfield) 961 { 962 return ((bitfield) >> 24); 963 } 964 965 int MONO_OFFSET_IN_CLAUSE(T)(in T* clause, int offset) 966 { 967 return ((clause).try_offset <= (offset) && (offset) < ((clause).try_offset + (clause).try_len)); 968 } 969 970 int MONO_OFFSET_IN_HANDLER(T)(in T* clause, int offset) 971 { 972 return ((clause).handler_offset <= (offset) && (offset) < ((clause) 973 .handler_offset + (clause).handler_len)); 974 } 975 976 int MONO_OFFSET_IN_FILTER(T)(in T* clause, int offset) 977 { 978 return ((clause).flags == MONO_EXCEPTION_CLAUSE_FILTER && (clause) 979 .data.filter_offset <= (offset) && (offset) < ((clause).handler_offset)); 980 } 981 982 int mono_metadata_make_token()(int table, int idx) 983 { 984 return (((table) << 24) | (idx)); 985 } 986 987 int mono_metadata_token_table()(int token) 988 { 989 return ((token) >> 24); 990 } 991 992 int mono_metadata_token_index()(int token) 993 { 994 return ((token & 0xffffff)); 995 } 996 997 int mono_metadata_token_code()(int token) 998 { 999 return ((token & 0xff000000)); 1000 } 1001 1002 void MONO_OBJECT_SETREF(T, alias field, U)(T obj, U value) 1003 { 1004 mono_gc_wbarrier_set_field(cast(MonoObject*) obj, &field, cast(MonoObject*) value); 1005 } 1006 1007 void MONO_STRUCT_SETREF(alias field, U)(T obj, U value) 1008 { 1009 mono_gc_wbarrier_generic_store(&field, cast(MonoObject*) value); 1010 } 1011 1012 T* mono_array_addr(T)(MonoArray* array, size_t index) 1013 { 1014 return cast(T*) cast(void*) mono_array_addr_with_size(array, T.sizeof, index); 1015 } 1016 1017 ref T mono_array_get(T)(MonoArray* array, size_t index) 1018 { 1019 return *mono_array_addr!T(array, index); 1020 } 1021 1022 void mono_array_setref(T)(MonoArray* array, size_t index, T value) 1023 { 1024 void** p = mono_array_addr!(void*)(array, index); 1025 mono_gc_wbarrier_set_arrayref(array, p, cast(MonoObject*) value); 1026 } 1027 1028 void mono_array_memcpy_refs(MonoArray* dest, size_t destidx, MonoArray* src, 1029 size_t srcidx, int count) 1030 { 1031 void** p = mono_array_addr!(void*)(dest, destidx); 1032 void** s = mono_array_addr!(void*)(src, srcidx); 1033 mono_gc_wbarrier_arrayref_copy(cast(void*) p, cast(void*) s, count); 1034 } 1035 1036 alias MONO_TYPE_ISSTRUCT = mono_type_is_struct; 1037 alias MONO_TYPE_IS_VOID = mono_type_is_void; 1038 alias MONO_TYPE_IS_POINTER = mono_type_is_pointer; 1039 alias MONO_TYPE_IS_REFERENCE = mono_type_is_reference;