* Makefile.am: Build `docs` after `runtime`, so that it can depend
authorJonathan Pryor <jpryor@novell.com>
Fri, 31 Oct 2008 03:52:38 +0000 (03:52 -0000)
committerJonathan Pryor <jpryor@novell.com>
Fri, 31 Oct 2008 03:52:38 +0000 (03:52 -0000)
  upon mdoc.exe for it's operation.
* docs/. (svn:ignore), deploy (svn:ignore): Ignore generated files.
* docs/AgilityPack.dll, docs/api-style.css, docs/ChangeLog, docs/check,
  docs/check-coverage, docs/convert.cs, docs/current-api, docs/deploy,
  docs/documented, docs/exdoc, docs/ignore,
  docs/mono-api-metadata.html, docs/monoapi.source, docs/produce-lists,
  docs/public, docs/public-api, docs/README, docs/sources,
  docs/toc.xml, docs/TODO, docs/wapi: Copy from ../mono/docscripts.
* docs/exdoc: Use the in-tree mono program to run convert.exe.
* docs/Makefile.am: Mention files to clean/distribute; extract
  documentation (with exdoc) and then assemble documentation (with
  monoapi.make's assemble target) for use by monodoc.
* docs/monoapi.make: Added; Makefile to use mcs' buid/rules.make to compile
  convert.cs and assemble documentation.  (This is a separate file so
  that we can include mcs' build/rules.make, which needs topdir set to
  behave properly BUT must be $(mcs_topdir) from Makefile.am's
  perspective.)
* docs/monoapi.source: Add a /monodoc/node element for use with monodoc 2.2.

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

56 files changed:
1  2 
ChangeLog
Makefile.am
docs/AgilityPack.dll
docs/ChangeLog
docs/Makefile.am
docs/README
docs/TODO
docs/api-style.css
docs/check
docs/check-coverage
docs/convert.cs
docs/current-api
docs/documented
docs/exdoc
docs/ignore
docs/mono-api-metadata.html
docs/monoapi.make
docs/monoapi.source
docs/produce-lists
docs/public
docs/public-api
docs/sources/mono-api-assembly.html
docs/sources/mono-api-class.html
docs/sources/mono-api-codegen.html
docs/sources/mono-api-counters.html
docs/sources/mono-api-debug.html
docs/sources/mono-api-decimal.html
docs/sources/mono-api-domains.html
docs/sources/mono-api-dynamic-codegen.html
docs/sources/mono-api-embedding.html
docs/sources/mono-api-exc.html
docs/sources/mono-api-gc.html
docs/sources/mono-api-gchandle.html
docs/sources/mono-api-image.html
docs/sources/mono-api-internal.html
docs/sources/mono-api-interpreter.html
docs/sources/mono-api-jit.html
docs/sources/mono-api-jitinternal.html
docs/sources/mono-api-marshal.html
docs/sources/mono-api-metadata.html
docs/sources/mono-api-methods.html
docs/sources/mono-api-object.html
docs/sources/mono-api-profiler.html
docs/sources/mono-api-reflection.html
docs/sources/mono-api-security.html
docs/sources/mono-api-string.html
docs/sources/mono-api-threads.html
docs/sources/mono-api-trace.html
docs/sources/mono-api-type.html
docs/sources/mono-api-types.html
docs/sources/mono-api-unsorted.html
docs/sources/mono-api-utils.html
docs/sources/mono-api-vm.html
docs/sources/mono-api-wapi.html
docs/toc.xml
docs/wapi

diff --cc ChangeLog
index 6e42826243656533c1db9ff9c890c55af6271be4,36d3ec4dec0b3606fed6fee20957f39e1ffa8f43..92578a84eeea5f66a3a3d0ea670d49ce9cba6b16
+++ b/ChangeLog
@@@ -1,62 -1,3 +1,67 @@@
++2008-10-30  Jonathan Pryor  <jpryor@novell.com>
++
++      * Makefile.am: Build `docs` after `runtime`, so that it can depend
++        upon mdoc.exe for it's operation.
++
 +2008-10-30  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * man/mdoc-assemble.1: Document //node use within .source files.
 +
 +2008-10-27  Jb Evain  <jbevain@novell.com>
 +
 +      * data/cecil.pc.in: update version.
 +
 +2008-10-22  Zoltan Varga  <vargaz@gmail.com>
 +
 +      * scripts/Makefile.am: Add gacutil1 script.
 +
 +2008-10-21  Atsushi Enomoto  <atsushi@ximian.com>
 +
 +      * data/dotnet35.pc.in : added sys.cm.dataannotations.dll too.
 +
 +2008-10-21  Atsushi Enomoto  <atsushi@ximian.com>
 +
 +      * data/net_2_0/web.config : added new assemblies and namespaces in
 +        pages and compilation sections.
 +
 +2008-10-21  Atsushi Enomoto  <atsushi@ximian.com>
 +
 +      * data/dotnet35.pc.in : added new assemblies (dlinq, abstractions,
 +        routing, dynamic data).
 +
 +2008-10-20  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * scripts/mod.in: Remove bash-isms.
 +
 +2008-10-18  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * configure.in: Generate data/monodoc.pc.
 +
 +2008-10-18  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * data/Makefile.am: Add monodoc.pc to $(pkgconfig_DATA), $(DISTCLEANFILES).
 +
 +2008-10-18  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * data/monodoc.pc.in: Fixup sourcesdir.
 +      * data/Makefile.am (EXTRA_DIST): Add monodoc.pc.in.
 +
 +2008-10-17  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * scripts/Makefile.am: Install scripts for mdoc-compat commands.
 +      * scripts (svn:ignore): Ignore generated files.
 +      * mdassembler, mdvalidater, monodocer, monodocs2html, 
 +        monodocs2slashdoc: Added; "compatibility" scripts, converting the
 +        previous commands into mdoc commands.
 +
 +2008-10-17  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * scripts/Makefile.am: Create scripts for mdoc sub-commands.
 +
 +2008-10-17  Jonathan Pryor  <jpryor@novell.com>
 +
 +      * scripts/Makefile.am: Add mod.
 +
  2008-10-16  Jonathan Pryor  <jpryor@novell.com>
  
        * scripts/Makefile.am: Move mono-shlib-cop to scripts_2_0.
diff --cc Makefile.am
index 766e1aa3167d971dc34e5ecc4fb58224f7888d7f,766e1aa3167d971dc34e5ecc4fb58224f7888d7f..efef751ba711ca9f97e18c51d85122b3c0af9466
@@@ -1,11 -1,11 +1,11 @@@
  AUTOMAKE_OPTIONS = foreign
  ACLOCAL_AMFLAGS = -I .
  
--SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support docs data runtime scripts man samples web msvc
++SUBDIRS = po $(libgc_dir) $(eglib_dir) mono $(ikvm_native_dir) support data runtime scripts man samples web msvc docs
  
  # Keep in sync with SUBDIRS
  ## 'tools' is not normally built
--DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support docs data runtime scripts man samples web tools msvc
++DIST_SUBDIRS = po libgc $(eglib_dir) mono ikvm-native support data runtime scripts man samples web tools msvc docs
  
  EXTRA_DIST= nls.m4 po.m4 progtest.m4 mono-uninstalled.pc.in dtrace-prelink.sh build-mingw32.sh LICENSE mkinstalldirs
  
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..881836dcb59e9cf30c15293a04e771a8b4d85375
new file mode 100755 (executable)
Binary files differ
diff --cc docs/ChangeLog
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e5460ca3a3756f93be23191af2b54e388febf8e6
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,28 @@@
++2008-10-30  Jonathan Pryor  <jpryor@novell.com>
++
++      * . (svn:ignore), deploy (svn:ignore): Ignore generated files.
++      * AgilityPack.dll, api-style.css, ChangeLog, check, check-coverage, 
++        convert.cs, current-api, deploy, documented, exdoc, ignore, 
++        mono-api-metadata.html, monoapi.source, produce-lists, public, 
++        public-api, README, sources, toc.xml, TODO, wapi: Copy from
++        ../mono/docscripts.
++      * exdoc: Use the in-tree mono program to run convert.exe.
++      * Makefile.am: Mention files to clean/distribute; extract
++        documentation (with exdoc) and then assemble documentation (with
++        monoapi.make's assemble target) for use by monodoc.
++      * monoapi.make: Added; Makefile to use mcs' buid/rules.make to compile
++        convert.cs and assemble documentation.  (This is a separate file so
++        that we can include mcs' build/rules.make, which needs topdir set to
++        behave properly BUT must be $(mcs_topdir) from Makefile.am's
++        perspective.)
++      * monoapi.source: Add a /monodoc/node element for use with monodoc 2.2.
++
++2006-11-19  Miguel de Icaza  <miguel@novell.com>
++
++      * exdoc: Move to use CSS instead of tables, this will break
++      GtkHTML rendering.
++
++      * ignore: Updated with more hidden APIs.
++
++      * Bunch of documentation work.
++
index c74733ebddf14c07760611baae550a458686a7a9,c74733ebddf14c07760611baae550a458686a7a9..40796e411683c0f6381cdc95da3b304c7827618d
@@@ -1,14 -1,14 +1,33 @@@
++sourcesdir = $(prefix)/lib/monodoc/sources
++
++sources_DATA = \
++      monoapi.source \
++      $(ASSEMBLED_DOCS)
++
++ASSEMBLED_DOCS = \
++      monoapi.tree monoapi.zip
++
  EXTRA_DIST = \
        abc-removal.txt         \
++      AgilityPack.dll         \
        aot-compiler.txt        \
++      api-style.css           \
        assembly-bundle         \
++      check                   \
++      check-coverage          \
++      convert.cs              \
++      current-api             \
++      deploy                  \
++      documented              \
        embedded-api            \
        exception-handling.txt  \
        exceptions              \
++      exdoc                   \
        file-share-modes        \
        gc-issues               \
        gc-variables-in-c       \
        glossary.txt            \
++      ignore                  \
        internal-calls          \
        ir-desc                 \
        jit-imt                 \
        magic.diff              \
        mini-doc.txt            \
        mini-porting.txt        \
++      mono-api-metadata.html  \
        mono_handle_d           \
++      monoapi.make            \
++      monoapi.source          \
        new-regalloc            \
        object-layout           \
        opcode-decomp.txt       \
        precise-gc              \
++      produce-lists           \
++      public                  \
++      public-api              \
++      README                  \
        release-notes-1.0.html  \
        remoting                \
        ssapre.txt              \
        stack-alignment         \
        stack-overflow.txt      \
--      threading               \
        thread-safety.txt       \
++      threading               \
++      toc.xml                 \
++      TODO                    \
        tree-mover.txt          \
        unmanaged-calls 
++
++dist-hook:
++      $(mkdir_p)  $(distdir)/sources
++      $(mkdir_p)  $(distdir)/svgs
++      cp sources/*  $(distdir)/sources
++      cp svgs/*     $(distdir)/svgs
++
++CLEANFILES = \
++      convert.exe* \
++      deploy/.stamp \
++      $(wildcard deploy/*) \
++      $(ASSEMBLED_DOCS)
++
++clean-local:
++      -rm -Rf html
++
++monoapi.tree monoapi.zip: monoapi.make Makefile.am toc.xml deploy/.stamp
++      cp api-style.css deploy
++      $(MAKE) -f $< topdir=$(mcs_topdir) assemble
++
++deploy/.stamp: convert.exe Makefile.am
++      $(mkdir_p) html
++      perl exdoc -h . ../mono/*/*.c
++      touch $@
++
++extract : deply/.stamp
++
++convert.exe: monoapi.make convert.cs Makefile.am
++      $(MAKE) -f $< topdir=$(mcs_topdir) convert.exe
++
diff --cc docs/README
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b705b8f6ec9f193f0c0105035f346ebda9628abf
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,81 @@@
++* Scripts to maintain the Mono VM internal API
++
++Layout
++------
++
++      sources/
++              mono-api-*.html
++
++              Contains the various source files, each source file
++              contains HTML, and a line for each API call like this:
++
++              <h4><a name="api:mono_something">mono_something</a></h4>
++
++              The format is static, notice that the tools actually search
++              for the above format and process that (both the tools here, 
++              as well as the upcoming Monodoc tools and index creation
++              tools).
++
++              The files can contain any ammount of extra information.
++
++              The documentation from the source code is then merged with 
++              these files and the header/footer information to produce
++              the deploy directory.
++
++      deploy/
++
++              Scripts produce a ready-to-use set of XHTML files that can
++              be either fed into a monodoc XHTML provider or can be published
++              directly on the web.
++
++PROGRAMS
++--------
++* check-coverage
++
++      Run this script every once in a while to make sure that a
++      public symbol that has been added to Mono has a corresponding
++      section on the mono-vm-api.html
++
++      This works by looking for the <h4>APICALL</h4> pattern on the
++      HTML file.
++      
++* produce-lists
++
++      Produces the public-api and wapi files that contain the public
++      libmono API.
++
++* exdoc
++
++      Extracts the embedded documentation from the sources.
++
++* check
++
++      This script is used to verify which routines are missing inline
++      documentation, usage:
++
++              check mono/metadata/*.c
++
++* convert.cs
++
++      Converts an HTML file into a valid XML document, uses the
++      AgilityPack.dll.  The sources to this DLL live in GNOME CVS
++      module beagle/Filters/AgilityPack.
++
++      A binary is shipped for our convenience.
++
++DATAFILES:
++---------
++
++      ignore
++
++              Contains the list of public symbols that should be
++              ignored, they come from tests for example, or are known
++              to be exposed.
++
++              This is consumed by produce-lists
++      
++      public-api 
++      wapi
++              These two are produced by the produce-lists script
++              and it documents all the public methods.
++
diff --cc docs/TODO
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..202887aeeb8b6629ec56f7357c05d1a0c26e42c3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
+++ b/docs/TODO
@@@ -1,0 -1,0 +1,37 @@@
++* Methods that should be static, but I cant commit now because of other patches:
++
++      mono_class_set_failure
++      mono_class_get_nullable_param
++      mono_assembly_loaded_full
++
++* Methods that might need to be static, but am not sure:
++      mono_assembly_loaded_full
++      mono_image_loaded_by_guid_full
++      mono_image_loaded_full
++
++* Namespacing
++
++      Do we need to re-namespace the published helper_ routines to avoid
++      poluting the namespace?
++
++              helper_compile_generic_method
++              helper_ldstr
++              helper_ldstr_mscorlib
++              helper_newobj_mscorlib
++              helper_stelem_ref
++              helper_stelem_ref_check
++
++* Need to make public:
++
++      If the mono_mb_ interface is public, we need to make public:
++      
++      MonoWrapperType
++      MonoDefaults.
++
++* Generate a table of contents at the begining of each page for APIs.
++
++* Fill in with a concept guide
++
++* Install documentation into monodoc's standard location.
++
++* Add support for inserting "api:" nodes into the index in the Monodoc XHTML provider.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..910ac49e55b888631cc0f169b5969d3031a88f95
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,40 @@@
++   h3 { 
++       font-size: 18px;
++       padding-bottom: 4pt;
++       border-bottom: 2px solid #dddddd;
++   }
++       
++   .api {
++     border: 1px solid;
++     padding: 10pt;
++     margin: 10pt;
++   } 
++
++   .api-entry { 
++       border-bottom: none;
++       font-size: 18px;
++   }
++
++   .prototype {
++     border: 1px solid;
++     background-color: #f2f2f2;
++     padding: 5pt;
++     margin-top: 5pt;
++     margin-bottom: 5pt;  
++   } 
++
++   .header {
++     border: 1px solid;
++     padding: 0 0 5pt 5pt;
++     margin: 10pt;
++     white-space: pre;
++       font-family: monospace;
++   }
++    
++   .code {
++     border: 1px solid;
++     padding: 0 0 5pt 5pt;
++     margin: 10pt;
++     white-space: pre;
++       font-family: monospace;
++   }
diff --cc docs/check
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..549a0d4ae5e238171b4f296cd4a2719b9ebd8fd9
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,15 @@@
++#!/bin/sh
++dir=`dirname $0`
++
++for file in $*; 
++do
++      perl $dir/exdoc $file | grep ^Function:  | sed -e 's/Function: //' -e 's/://' > documented
++      nm `dirname $file`/.libs/`basename $file .c`.o | grep ' T ' | sed 's/.* T //' > public
++      for i in `cat public | grep -v $dir/ignore`; do
++              if grep $i documented > /dev/null; then
++                      true
++              else
++                      echo $i is not documented | grep -v ves_icall
++              fi
++      done
++done
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b73ffa9c35598cd2fa6a10ef3cf58162d5dbc10f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++#!/bin/sh
++add_h4()
++{
++      sed -e 's,^\(.*\)$,<h4><a name="api:\1">\1</a></h4>,'
++}
++
++dir=`dirname $0`
++sh $dir/produce-lists || exit 1
++cat $dir/public-api $dir/wapi > $dir/current-api
++for i in `cat $dir/current-api`; do
++      if grep "api:$i" $dir/sources/mono-api-*.html > /dev/null; then
++              true;
++      else
++              echo "Missing: $i from the template";
++      fi
++done
diff --cc docs/convert.cs
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..50680f6713fce06e14697712745f60143b06f498
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++using HtmlAgilityPack;
++
++class Convert {
++      
++      static void Main (string [] args)
++      {
++              HtmlDocument doc = new HtmlDocument();
++              doc.Load(args [0]);
++              doc.OptionOutputAsXml = true;
++              doc.Save(args [1]);
++      }
++}
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1e12ae493a26ce85ac564bb8f828883b18ac388e
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1030 @@@
++mono_check_corlib_version
++mono_domain_has_type_resolve
++mono_domain_is_unloading
++mono_domain_owns_vtable_slot
++mono_domain_set
++mono_domain_try_type_resolve
++mono_install_runtime_cleanup
++mono_runtime_cleanup
++mono_runtime_init
++mono_runtime_is_shutting_down
++mono_runtime_quit
++mono_assemblies_cleanup
++mono_assembly_addref
++mono_assembly_close
++mono_assembly_get_image
++mono_assembly_get_main
++mono_assembly_getrootdir
++mono_assembly_load
++mono_assembly_loaded
++mono_assembly_loaded_full
++mono_assembly_load_from
++mono_assembly_load_full
++mono_assembly_name_free
++mono_assembly_name_parse
++mono_assembly_names_equal
++mono_assembly_open
++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_register_bundled_assemblies
++mono_set_dirs
++mono_stringify_assembly_name
++mono_gc_alloc_fixed
++mono_gc_base_init
++mono_gc_collect
++mono_gc_disable
++mono_gc_enable
++mono_gc_enable_events
++mono_gc_free_fixed
++mono_gc_get_heap_size
++mono_gc_get_used_size
++mono_gc_invoke_finalizers
++mono_gc_is_gc_thread
++mono_gc_make_descr_from_bitmap
++mono_gc_max_generation
++mono_gc_pending_finalizers
++mono_gc_register_thread
++mono_gc_wbarrier_arrayref_copy
++mono_gc_wbarrier_generic_store
++mono_gc_wbarrier_set_arrayref
++mono_gc_wbarrier_set_field
++mono_gc_wbarrier_value_copy
++mono_gc_weak_link_add
++mono_gc_weak_link_get
++mono_gc_weak_link_remove
++mono_object_is_alive
++mono_array_class_get
++mono_array_element_size
++mono_bounded_array_class_get
++mono_class_array_element_size
++mono_class_data_size
++mono_class_enum_basetype
++mono_classes_cleanup
++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_cctor
++mono_class_get_element_class
++mono_class_get_events
++mono_class_get_event_token
++mono_class_get_exception_for_failure
++mono_class_get_field
++mono_class_get_field_from_name
++mono_class_get_fields
++mono_class_get_field_token
++mono_class_get_finalizer
++mono_class_get_flags
++mono_class_get_full
++mono_class_get_image
++mono_class_get_implemented_interfaces
++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_nullable_param
++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_type
++mono_class_init
++mono_class_instance_size
++mono_class_is_assignable_from
++mono_class_is_enum
++mono_class_is_nullable
++mono_class_is_open_constructed_type
++mono_class_is_subclass_of
++mono_class_is_valuetype
++mono_class_layout_fields
++mono_class_min_align
++mono_class_name_from_token
++mono_class_needs_cctor_run
++mono_class_num_events
++mono_class_num_fields
++mono_class_num_methods
++mono_class_num_properties
++mono_class_set_failure
++mono_class_setup_methods
++mono_class_setup_mono_type
++mono_class_setup_parent
++mono_class_setup_supertypes
++mono_class_setup_vtable
++mono_class_setup_vtable_general
++mono_class_value_size
++mono_dup_array_type
++mono_event_get_add_method
++mono_event_get_flags
++mono_event_get_name
++mono_event_get_parent
++mono_event_get_raise_method
++mono_event_get_remove_method
++mono_field_get_data
++mono_field_get_flags
++mono_field_get_name
++mono_field_get_parent
++mono_field_get_type
++mono_get_inflated_generic_class
++mono_get_shared_generic_inst
++mono_image_add_to_name_cache
++mono_install_get_class_from_name
++mono_install_lookup_dynamic_token
++mono_ldtoken
++mono_lookup_dynamic_token
++mono_lookup_dynamic_token_class
++mono_property_get_flags
++mono_property_get_get_method
++mono_property_get_name
++mono_property_get_parent
++mono_property_get_set_method
++mono_ptr_class_get
++mono_type_get_full_name
++mono_type_get_name
++mono_type_get_name_full
++mono_type_get_underlying_type
++mono_class_describe_statics
++mono_disasm_code
++mono_disasm_code_one
++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_object_describe
++mono_object_describe_fields
++mono_signature_get_desc
++mono_type_full_name
++mono_type_get_desc
++mono_value_describe_fields
++_mono_debug_address_from_il_offset
++mono_debug_close_mono_symbol_file
++mono_debug_open_mono_symbols
++mono_debug_symfile_lookup_location
++mono_debug_symfile_lookup_method
++mono_decimal2double
++mono_decimal2Int64
++mono_decimal2string
++mono_decimal2UInt64
++mono_decimalCompare
++mono_decimalDiv
++mono_decimalFloorAndTrunc
++mono_decimalIncr
++mono_decimalIntDiv
++mono_decimalMult
++mono_decimalRound
++mono_decimalSetExponent
++mono_double2decimal
++mono_string2decimal
++mono_cleanup
++mono_context_get
++mono_context_set
++mono_debugger_check_runtime_version
++mono_domain_assembly_open
++mono_domain_create
++mono_domain_foreach
++mono_domain_free
++mono_domain_get
++mono_domain_get_by_id
++mono_domain_get_id
++mono_domain_get_tls_key
++mono_domain_set_internal
++mono_get_array_class
++mono_get_boolean_class
++mono_get_byte_class
++mono_get_char_class
++mono_get_corlib
++mono_get_double_class
++mono_get_enum_class
++mono_get_exception_class
++mono_get_int16_class
++mono_get_int32_class
++mono_get_int64_class
++mono_get_intptr_class
++mono_get_object_class
++mono_get_root_domain
++mono_get_sbyte_class
++mono_get_single_class
++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_init
++mono_init_from_assembly
++mono_init_version
++mono_jit_info_get_code_size
++mono_jit_info_get_code_start
++mono_jit_info_get_method
++mono_jit_info_table_find
++mono_string_equal
++mono_string_hash
++mono_environment_exitcode_get
++mono_environment_exitcode_set
++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_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_cannot_unload_appdomain
++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_state
++mono_get_exception_type_initialization
++mono_get_exception_type_load
++mono_domain_finalize
++mono_gc_finalize_notify
++mono_gchandle_free
++mono_gchandle_free_domain
++mono_gchandle_get_target
++mono_gchandle_is_in_domain
++mono_gchandle_new
++mono_gchandle_new_weakref
++mono_gc_is_finalizer_thread
++mono_gc_out_of_memory
++mono_object_register_finalizer
++mono_add_internal_call
++mono_create_icall_signature
++mono_lookup_internal_call
++mono_cli_rva_image_map
++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_is_dynamic
++mono_image_loaded
++mono_image_loaded_by_guid
++mono_image_loaded_by_guid_full
++mono_image_loaded_full
++mono_image_load_file_for_image
++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_images_cleanup
++mono_image_strerror
++mono_image_strong_name_position
++mono_pe_file_open
++mono_table_info_get_rows
++mono_dllmap_insert
++mono_field_from_token
++mono_free_method
++mono_get_method
++mono_get_method_full
++mono_get_shared_generic_method
++mono_install_stack_walk
++mono_loader_cleanup
++mono_loader_clear_error
++mono_loader_error_prepare_exception
++mono_loader_get_last_error
++mono_loader_lock
++mono_loader_set_error_assembly_load
++mono_loader_set_error_field_load
++mono_loader_set_error_method_load
++mono_loader_set_error_type_load
++mono_loader_unlock
++mono_lookup_pinvoke_call
++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_param_names
++mono_method_get_param_token
++mono_method_get_signature
++mono_method_get_signature_full
++mono_method_get_token
++mono_method_get_wrapper_data
++mono_method_has_marshal_info
++mono_method_signature
++mono_stack_walk
++mono_stack_walk_no_il
++load_normalization_resource
++mono_array_to_lparray
++mono_array_to_savearray
++mono_class_native_size
++mono_delegate_free_ftnptr
++mono_delegate_to_ftnptr
++mono_ftnptr_to_delegate
++mono_marshal_alloc
++mono_marshal_asany
++mono_marshal_cleanup
++mono_marshal_free
++mono_marshal_free_array
++mono_marshal_free_asany
++mono_marshal_get_castclass
++mono_marshal_get_delegate_begin_invoke
++mono_marshal_get_delegate_end_invoke
++mono_marshal_get_delegate_invoke
++mono_marshal_get_generic_array_helper
++mono_marshal_get_icall_wrapper
++mono_marshal_get_isinst
++mono_marshal_get_ldfld_remote_wrapper
++mono_marshal_get_ldfld_wrapper
++mono_marshal_get_managed_wrapper
++mono_marshal_get_native_func_wrapper
++mono_marshal_get_native_wrapper
++mono_marshal_get_proxy_cancast
++mono_marshal_get_ptr_to_struct
++mono_marshal_get_remoting_invoke
++mono_marshal_get_remoting_invoke_for_target
++mono_marshal_get_remoting_invoke_with_check
++mono_marshal_get_runtime_invoke
++mono_marshal_get_stelemref
++mono_marshal_get_stfld_remote_wrapper
++mono_marshal_get_stfld_wrapper
++mono_marshal_get_struct_to_ptr
++mono_marshal_get_synchronized_wrapper
++mono_marshal_get_unbox_wrapper
++mono_marshal_get_write_barrier
++mono_marshal_get_xappdomain_invoke
++mono_marshal_load_type_info
++mono_marshal_method_from_wrapper
++mono_marshal_realloc
++mono_marshal_set_last_error
++mono_marshal_string_to_utf16
++mono_marshal_type_size
++mono_mb_add_data
++mono_mb_add_local
++mono_mb_create_method
++mono_mb_emit_add_to_local
++mono_mb_emit_branch
++mono_mb_emit_byte
++mono_mb_emit_exception
++mono_mb_emit_i2
++mono_mb_emit_i4
++mono_mb_emit_icon
++mono_mb_emit_ldarg
++mono_mb_emit_ldarg_addr
++mono_mb_emit_ldflda
++mono_mb_emit_ldloc
++mono_mb_emit_ldloc_addr
++mono_mb_emit_ldstr
++mono_mb_emit_managed_call
++mono_mb_emit_native_call
++mono_mb_emit_short_branch
++mono_mb_emit_stloc
++mono_mb_free
++mono_mb_new
++mono_mb_patch_addr
++mono_mb_patch_addr_s
++mono_string_builder_to_utf16
++mono_string_builder_to_utf8
++mono_string_to_ansibstr
++mono_string_to_bstr
++mono_string_to_byvalstr
++mono_string_to_byvalwstr
++mono_string_utf16_to_builder
++mono_string_utf8_to_builder
++mono_type_native_stack_size
++mono_type_to_ldind
++mono_type_to_stind
++mono_upgrade_remote_class_wrapper
++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_guid_to_string
++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_generic_method_equal
++mono_metadata_get_constant_index
++mono_metadata_get_marshal_info
++mono_metadata_guid_heap
++mono_metadata_has_generic_params
++mono_metadata_implmap_from_method
++mono_metadata_inflate_generic_inst
++mono_metadata_interfaces_from_typedef
++mono_metadata_interfaces_from_typedef_full
++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_array_full
++mono_metadata_parse_custom_mod
++mono_metadata_parse_field_type
++mono_metadata_parse_generic_inst
++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_signature_full
++mono_metadata_parse_type
++mono_metadata_parse_typedef_or_ref
++mono_metadata_parse_type_full
++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_typedef_from_field
++mono_metadata_typedef_from_method
++mono_metadata_type_equal
++mono_metadata_type_hash
++mono_metadata_user_string
++mono_method_header_get_clauses
++mono_method_header_get_code
++mono_method_header_get_locals
++mono_method_header_get_num_clauses
++mono_signature_explicit_this
++mono_signature_get_call_conv
++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_type_create_from_typespec
++mono_type_generic_inst_is_valuetype
++mono_type_get_array_type
++mono_type_get_class
++mono_type_get_modifiers
++mono_type_get_ptr_type
++mono_type_get_signature
++mono_type_get_type
++mono_type_is_byref
++mono_type_size
++mono_type_stack_size
++mono_type_to_unmanaged
++mono_monitor_cleanup
++mono_monitor_enter
++mono_monitor_exit
++mono_monitor_try_enter
++mono_config_for_assembly
++mono_config_parse
++mono_config_parse_memory
++mono_get_config_dir
++mono_debugger_add_symbol_file
++mono_debugger_breakpoint_callback
++mono_debugger_event
++mono_debugger_handle_exception
++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_runtime_invoke
++mono_debugger_start_add_type
++mono_debugger_throw_exception
++mono_debugger_unhandled_exception
++mono_debugger_unlock
++mono_debug_add_method
++mono_debug_find_method
++mono_debug_free_source_location
++mono_debug_lookup_method
++mono_debug_lookup_source_location
++mono_debug_print_stack_frame
++mono_debug_using_mono_debugger
++mono_array_clone
++mono_array_clone_in_domain
++mono_array_full_copy
++mono_array_new
++mono_array_new_full
++mono_array_new_specific
++mono_async_result_new
++mono_class_get_allocation_ftn
++mono_class_vtable
++mono_compile_method
++mono_delegate_ctor
++mono_field_get_value
++mono_field_get_value_object
++mono_field_set_value
++mono_field_static_get_value
++mono_field_static_set_value
++mono_get_addr_from_ftnptr
++mono_get_constant_value_from_blob
++mono_get_delegate_invoke
++mono_install_compile_method
++mono_install_delegate_trampoline
++mono_install_free_method
++mono_install_handler
++mono_install_remoting_trampoline
++mono_install_runtime_invoke
++mono_install_trampoline
++mono_ldstr
++mono_load_remote_field
++mono_load_remote_field_new
++mono_message_init
++mono_message_invoke
++mono_method_call_message_new
++mono_method_return_message_restore
++mono_nullable_box
++mono_nullable_init
++mono_object_castclass_mbyref
++mono_object_clone
++mono_object_get_class
++mono_object_get_domain
++mono_object_get_size
++mono_object_get_virtual_method
++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_print_unhandled_exception
++mono_property_get_value
++mono_property_set_value
++mono_raise_exception
++mono_release_type_locks
++mono_remote_class
++mono_remote_class_vtable
++mono_remoting_invoke
++mono_runtime_class_init
++mono_runtime_delegate_invoke
++mono_runtime_exec_main
++mono_runtime_exec_managed_code
++mono_runtime_free_method
++mono_runtime_get_main_args
++mono_runtime_invoke
++mono_runtime_invoke_array
++mono_runtime_object_init
++mono_runtime_run_main
++mono_store_remote_field
++mono_store_remote_field_new
++mono_string_from_utf16
++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_string_to_utf8_mp
++mono_thread_get_main
++mono_thread_set_main
++mono_type_initialization_cleanup
++mono_type_initialization_init
++mono_unhandled_exception
++mono_upgrade_remote_class
++mono_value_box
++mono_value_copy
++mono_value_copy_array
++mono_vtable_get_static_field_data
++mono_wait_handle_new
++mono_opcode_name
++mono_opcode_value
++mono_profiler_allocation
++mono_profiler_appdomain_event
++mono_profiler_appdomain_loaded
++mono_profiler_assembly_event
++mono_profiler_assembly_loaded
++mono_profiler_class_event
++mono_profiler_class_loaded
++mono_profiler_code_transition
++mono_profiler_coverage_get
++mono_profiler_gc_event
++mono_profiler_gc_heap_resize
++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_method_end_jit
++mono_profiler_method_enter
++mono_profiler_method_jit
++mono_profiler_method_leave
++mono_profiler_module_event
++mono_profiler_module_loaded
++mono_profiler_set_events
++mono_profiler_shutdown
++mono_profiler_stat_hit
++mono_profiler_thread_end
++mono_profiler_thread_start
++mono_raw_buffer_cleanup
++mono_raw_buffer_free
++mono_raw_buffer_load
++mono_raw_buffer_update
++mono_assembly_get_object
++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_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_event_get_object
++mono_field_get_object
++mono_get_dbnull_object
++mono_image_basic_init
++mono_image_build_metadata
++mono_image_create_method_token
++mono_image_create_pefile
++mono_image_create_token
++mono_image_insert_string
++mono_image_load_module
++mono_method_body_get_object
++mono_method_get_object
++mono_module_file_get_object
++mono_module_get_object
++mono_param_get_objects
++mono_property_get_object
++mono_reflection_bind_generic_method_parameters
++mono_reflection_bind_generic_parameters
++mono_reflection_call_is_assignable_to
++mono_reflection_create_dynamic_method
++mono_reflection_create_generic_class
++mono_reflection_create_internal_class
++mono_reflection_create_runtime_class
++mono_reflection_event_builder_get_event_info
++mono_reflection_generic_class_initialize
++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_initialize_generic_parameter
++mono_reflection_lookup_dynamic_token
++mono_reflection_marshal_from_marshal_spec
++mono_reflection_parse_type
++mono_reflection_setup_generic_class
++mono_reflection_setup_internal_class
++mono_reflection_sighelper_get_signature_field
++mono_reflection_sighelper_get_signature_local
++mono_reflection_type_from_name
++mono_type_get_object
++mono_activate_security_manager
++mono_get_context_capture_method
++mono_is_ecma_key
++mono_is_security_manager_active
++mono_security_manager_get_methods
++mono_thread_pool_add
++mono_thread_pool_finish
++mono_alloc_special_static_data
++mono_get_special_static_data
++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_pending_exception
++mono_thread_get_tls_key
++mono_thread_has_appdomain_ref
++mono_thread_interruption_checkpoint
++mono_thread_interruption_requested
++mono_thread_interruption_request_flag
++mono_thread_manage
++mono_thread_new_init
++mono_thread_pop_appdomain_ref
++mono_thread_push_appdomain_ref
++mono_thread_request_interruption
++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_thread_stop
++mono_thread_suspend_all_other_threads
++mono_free_verify_list
++mono_image_verify_tables
++mono_method_verify
++mono_verify_corlib
++mono_perform_abc_removal
++mono_debugger_main
++mono_debug_add_aot_method
++mono_debug_print_vars
++mono_jit_cleanup
++mono_jit_exec
++mono_jit_init
++mono_main
++mono_parse_default_optimizations
++mono_inst_name
++mono_burg_emit
++mono_burg_kids
++mono_burg_label
++mono_burg_rule
++mono_debugger_run_finally
++mono_handle_exception
++mono_print_thread_dump
++mono_walk_stack
++mono_create_jump_trampoline
++mono_pmip
++mono_print_method_from_ip
++mono_set_defaults
++mono_trace_enter_method
++mono_trace_leave_method
++mono_debugger_create_notification_function
++mono_profiler_startup
++mono_profiler_startup
++add_delegate
++mono_invoke_delegate
++mono_test_marshal_inout_byval_class_delegate
++mono_test_marshal_lpstruct
++mono_test_marshal_lpstruct_blittable
++mono_test_marshal_pass_inout_custom
++mono_test_marshal_pass_out_byval_custom
++mono_test_marshal_return_fnptr
++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_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_counters_dump
++mono_counters_enable
++mono_counters_register
++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_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_signbit_double
++mono_signbit_float
++mono_md5_final
++mono_md5_get_digest
++mono_md5_get_digest_from_file
++mono_md5_init
++mono_md5_update
++mono_path_canonicalize
++mono_path_resolve_symlinks
++mono_digest_get_public_token
++mono_sha1_final
++mono_sha1_get_digest
++mono_sha1_get_digest_from_file
++mono_sha1_init
++mono_sha1_update
++mono_escape_uri_string
++mono_unicode_from_external
++mono_unicode_to_external
++mono_utf8_from_external
++GetThreadContext
++DeleteCriticalSection
++InitializeCriticalSection
++InitializeCriticalSectionAndSpinCount
++SetCriticalSectionSpinCount
++TryEnterCriticalSection
++errno_to_WSA
++GetLastError
++SetLastError
++CreateEvent
++OpenEvent
++PulseEvent
++ResetEvent
++SetEvent
++CloseHandle
++DuplicateHandle
++CopyFile
++CreateDirectory
++CreateFile
++CreatePipe
++DeleteFile
++FileTimeToSystemTime
++FindClose
++FindFirstFile
++FindNextFile
++FlushFileBuffers
++GetCurrentDirectory
++GetFileAttributes
++GetFileAttributesEx
++GetFileSize
++GetFileTime
++GetFileType
++GetLogicalDriveStrings
++GetStdHandle
++GetTempPath
++LockFile
++MoveFile
++ReadFile
++RemoveDirectory
++SetCurrentDirectory
++SetEndOfFile
++SetFileAttributes
++SetFilePointer
++SetFileTime
++UnlockFile
++WriteFile
++mono_once
++CreateMutex
++OpenMutex
++ReleaseMutex
++CreateProcess
++EnumProcesses
++EnumProcessModules
++GetCurrentProcess
++GetCurrentProcessId
++GetExitCodeProcess
++GetModuleBaseName
++GetProcessId
++GetProcessTimes
++GetProcessWorkingSetSize
++OpenProcess
++SetProcessWorkingSetSize
++ShellExecuteEx
++TerminateProcess
++ImpersonateLoggedOnUser
++RevertToSelf
++CreateSemaphore
++OpenSemaphore
++ReleaseSemaphore
++closesocket
++ioctlsocket
++WSACleanup
++WSAGetLastError
++WSAIoctl
++WSASetLastError
++WSAStartup
++GetSystemInfo
++CreateThread
++ExitThread
++GetCurrentThread
++GetCurrentThreadId
++GetExitCodeThread
++mono_pthread_key_for_tls
++OpenThread
++QueueUserAPC
++ResumeThread
++Sleep
++SleepEx
++SuspendThread
++TlsAlloc
++TlsFree
++TlsGetValue
++TlsSetValue
++GetTickCount
++QueryPerformanceCounter
++QueryPerformanceFrequency
++SignalObjectAndWait
++WaitForMultipleObjects
++WaitForMultipleObjectsEx
++WaitForSingleObject
++WaitForSingleObjectEx
diff --cc docs/documented
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6fa1b8977745030a79a0e431fec35e2823761768
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1012 @@@
++mono_assembly_open
++mono_assembly_close
++mono_assembly_load
++mono_assembly_load_from
++mono_assembly_load_full
++mono_assembly_loaded
++mono_assembly_get_image
++mono_assembly_get_main
++mono_assembly_getrootdir
++mono_assembly_addref
++mono_assembly_name_parse
++mono_assembly_name_free
++mono_stringify_assembly_name
++mono_assembly_names_equal
++mono_class_array_element_size
++mono_class_create_generic_2
++mono_class_create_generic
++mono_class_data_size
++mono_class_enum_basetype
++mono_class_from_generic_parameter
++mono_class_from_mono_type
++mono_class_from_name_case
++mono_class_from_name
++mono_class_from_typeref
++mono_class_get_allocation_ftn
++mono_class_get_byref_type
++mono_class_get_element_class
++mono_class_get_events
++mono_class_get_event_token
++mono_class_get_field_from_name
++mono_class_get_field
++mono_class_get_fields
++mono_class_get_field_token
++mono_class_get_flags
++mono_class_get_full
++mono_class_get_image
++mono_class_get_implemented_interfaces
++mono_class_get_interfaces
++mono_class_get_method_from_name
++mono_class_get_methods
++mono_class_get
++mono_class_get_name
++mono_class_get_namespace
++mono_class_get_nested_types
++mono_class_get_nesting_type
++mono_class_get_overrides
++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_inflate_generic_method
++mono_class_inflate_generic_type
++mono_class_init
++mono_class_instance_size
++mono_class_is_assignable_from
++mono_class_is_enum
++mono_class_is_open_constructed_type
++mono_class_is_subclass_of
++mono_class_is_valuetype
++mono_class_layout_fields
++mono_class_min_align
++mono_class_native_size
++mono_class_needs_cctor_run
++mono_class_num_events
++mono_class_num_fields
++mono_class_num_methods
++mono_class_num_properties
++mono_class_setup_mono_type
++mono_class_setup_parent
++mono_class_setup_supertypes
++mono_class_setup_vtable
++mono_class_value_size
++mono_class_vtable
++mono_class_get_cctor
++mono_class_get_finalizer
++mono_class_get_method_from_name_flags
++mono_class_inflate_generic_signature
++mono_class_name_from_token
++mono_class_setup_methods
++mono_class_setup_vtable_general
++mono_class_get_exception_for_failure
++mono_class_is_nullable
++mono_code_manager_commit
++mono_code_manager_destroy
++mono_code_manager_foreach
++mono_code_manager_invalidate
++mono_code_manager_new_dynamic
++mono_code_manager_new
++mono_code_manager_reserve
++mono_install_assembly_load_hook
++mono_install_assembly_preload_hook
++mono_install_assembly_search_hook
++mono_install_compile_method
++mono_install_free_method
++mono_install_handler
++mono_install_lookup_dynamic_token
++mono_install_remoting_trampoline
++mono_install_runtime_invoke
++mono_install_stack_walk
++mono_install_thread_callbacks
++mono_install_trampoline
++mono_install_runtime_cleanup
++mono_install_assembly_postload_refonly_search_hook
++mono_install_assembly_postload_search_hook
++mono_install_assembly_refonly_preload_hook
++mono_install_assembly_refonly_search_hook
++mono_install_delegate_trampoline
++mono_counters_dump
++mono_counters_enable
++mono_counters_register
++mono_debug_il_offset_from_address
++mono_debug_open_mono_symbol_file
++mono_debug_source_location_from_address
++mono_debug_source_location_from_il_offset
++mono_debug_add_aot_method
++mono_debug_add_method
++_mono_debug_address_from_il_offset
++mono_debug_address_from_il_offset
++mono_debug_add_wrapper
++mono_debug_close_mono_symbol_file
++mono_debug_find_method
++mono_debug_find_source_location
++mono_debug_using_mono_debugger
++mono_debugger_add_builtin_types
++mono_debugger_add_method
++mono_debugger_add_symbol_file
++mono_debugger_add_type
++mono_debugger_add_wrapper
++mono_debugger_breakpoint_callback
++mono_debugger_check_runtime_version
++mono_debugger_create_notification_function
++mono_debugger_event
++_mono_debugger_get_symfile
++mono_debugger_handle_exception
++mono_debugger_insert_breakpoint_full
++mono_debugger_insert_breakpoint
++mono_debugger_lock
++mono_debugger_lookup_assembly
++mono_debugger_lookup_type
++mono_debugger_method_has_breakpoint
++mono_debugger_remove_breakpoint
++mono_debugger_runtime_invoke
++mono_debugger_start_add_type
++mono_debugger_throw_exception
++mono_debugger_unhandled_exception
++mono_debugger_unlock
++mono_debugger_finalize_threads
++mono_debugger_main
++mono_debugger_run_finally
++mono_decimal2double
++mono_decimal2Int64
++mono_decimal2string
++mono_decimal2UInt64
++mono_decimalCompare
++mono_decimalDiv
++mono_decimalFloorAndTrunc
++mono_decimalIncr
++mono_decimalIntDiv
++mono_decimalMult
++mono_decimalRound
++mono_decimalSetExponent
++mono_double2decimal
++mono_string2decimal
++mono_domain_assembly_open
++mono_domain_create
++mono_domain_finalize
++mono_domain_foreach
++mono_domain_free
++mono_domain_get_by_id
++mono_domain_get_id
++mono_domain_get
++mono_domain_has_type_resolve
++mono_domain_is_unloading
++mono_domain_set_internal
++mono_domain_set
++mono_domain_try_type_resolve
++mono_domain_get_tls_key
++mono_domain_owns_vtable_slot
++mono_context_get
++mono_context_set
++mono_create_jit_trampoline
++mono_mb_new
++mono_mb_add_data
++mono_mb_add_local
++mono_mb_create_method
++mono_mb_emit_add_to_local
++mono_mb_emit_branch
++mono_mb_emit_byte
++mono_mb_emit_exception
++mono_mb_emit_i2
++mono_mb_emit_i4
++mono_mb_emit_icon
++mono_mb_emit_ldarg_addr
++mono_mb_emit_ldarg
++mono_mb_emit_ldflda
++mono_mb_emit_ldloc_addr
++mono_mb_emit_ldloc
++mono_mb_emit_ldstr
++mono_mb_emit_managed_call
++mono_mb_emit_native_call
++mono_mb_emit_stloc
++mono_mb_free
++mono_mb_patch_addr
++mono_mb_patch_addr_s
++mono_metadata_signature_alloc
++mono_metadata_signature_dup
++mono_metadata_signature_equal
++mono_jit_init
++mono_set_dirs
++mono_runtime_exec_main
++mono_runtime_exec_managed_code
++mono_jit_cleanup
++mono_set_defaults
++mono_add_internal_call
++mono_config_parse
++mono_config_parse_memory
++mono_create_ftnptr
++mono_raise_exception
++mono_unhandled_exception
++mono_print_unhandled_exception
++mono_handle_exception
++mono_exception_from_name_domain
++mono_exception_from_name
++mono_exception_from_name_msg
++mono_exception_from_name_two_strings
++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_cannot_unload_appdomain
++mono_get_exception_class
++mono_get_exception_divide_by_zero
++mono_get_exception_execution_engine
++mono_get_exception_file_not_found2
++mono_get_exception_file_not_found
++mono_get_exception_index_out_of_range
++mono_get_exception_invalid_cast
++mono_get_exception_io
++mono_get_exception_missing_method
++mono_get_exception_not_implemented
++mono_get_exception_null_reference
++mono_get_exception_overflow
++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_state
++mono_get_exception_type_initialization
++mono_get_exception_type_load
++mono_get_exception_invalid_operation
++mono_get_exception_missing_field
++mono_get_exception_not_supported
++mono_get_exception_reflection_type_load
++mono_gchandle_new
++mono_gchandle_new_weakref
++mono_gchandle_new
++mono_gchandle_new_weakref
++mono_gchandle_get_target
++mono_gchandle_is_in_domain
++mono_gchandle_free
++mono_gc_collect
++mono_gc_max_generation
++mono_gc_get_heap_size
++mono_gc_get_used_size
++mono_gc_weak_link_add
++mono_gc_weak_link_get
++mono_gc_weak_link_remove
++mono_gc_disable
++mono_gc_enable
++mono_gc_is_finalizer_thread
++mono_gc_out_of_memory
++mono_gc_start_world
++mono_gc_stop_world
++mono_gc_alloc_fixed
++mono_gc_enable_events
++mono_gc_free_fixed
++mono_gc_make_descr_from_bitmap
++mono_gc_base_init
++mono_gc_invoke_finalizers
++mono_gc_is_gc_thread
++mono_gc_pending_finalizers
++mono_gc_register_thread
++mono_gc_finalize_notify
++mono_image_addref
++mono_image_add_to_name_cache
++mono_image_close
++mono_image_ensure_section_idx
++mono_image_ensure_section
++mono_image_get_assembly
++mono_image_get_entry_point
++mono_image_get_filename
++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_is_dynamic
++mono_image_loaded_by_guid
++mono_image_loaded
++mono_image_load_file_for_image
++mono_image_lookup_resource
++mono_image_open_from_data
++mono_image_open
++mono_image_rva_map
++mono_image_strerror
++mono_image_strong_name_position
++mono_image_verify_tables
++mono_image_get_guid
++mono_image_open_from_data_full
++mono_image_open_full
++mono_image_basic_init
++mono_image_build_metadata
++mono_image_create_method_token
++mono_image_create_pefile
++mono_image_create_token
++mono_image_insert_string
++mono_image_load_module
++mono_burg_kids
++mono_burg_label
++mono_burg_rule
++mono_interp_dis_mintop
++mono_interp_exec
++mono_interp_ftnptr_to_delegate
++mono_interp_get_runtime_method
++mono_interp_transform_init
++mono_interp_transform_method
++mono_pmip
++mono_print_code
++mono_print_method_from_ip
++mono_print_thread_dump
++mono_threads_request_thread_dump
++mono_inst_name
++mono_profiler_load
++mono_profiler_allocation
++mono_profiler_stat_hit
++mono_profiler_thread_start
++mono_profiler_thread_end
++mono_profiler_appdomain_event
++mono_profiler_appdomain_loaded
++mono_profiler_assembly_event
++mono_profiler_assembly_loaded
++mono_profiler_class_event
++mono_profiler_class_loaded
++mono_profiler_code_transition
++mono_profiler_method_end_jit
++mono_profiler_method_enter
++mono_profiler_method_jit
++mono_profiler_method_leave
++mono_profiler_module_event
++mono_profiler_module_loaded
++mono_profiler_shutdown
++mono_profiler_startup
++mono_profiler_gc_event
++mono_profiler_gc_heap_resize
++mono_profiler_gc_event
++mono_profiler_gc_heap_resize
++mono_profiler_stat_hit
++mono_delegate_free_ftnptr
++mono_delegate_to_ftnptr
++mono_ftnptr_to_delegate
++mono_marshal_alloc
++mono_marshal_asany
++mono_marshal_free_array
++mono_marshal_free_asany
++mono_marshal_free
++mono_marshal_get_castclass
++mono_marshal_get_delegate_begin_invoke
++mono_marshal_get_delegate_end_invoke
++mono_marshal_get_delegate_invoke
++mono_marshal_get_icall_wrapper
++mono_marshal_get_isinst
++mono_marshal_get_ldfld_remote_wrapper
++mono_marshal_get_ldfld_wrapper
++mono_marshal_get_managed_wrapper
++mono_marshal_get_native_wrapper
++mono_marshal_get_proxy_cancast
++mono_marshal_get_ptr_to_struct
++mono_marshal_get_remoting_invoke_for_target
++mono_marshal_get_remoting_invoke
++mono_marshal_get_remoting_invoke_with_check
++mono_marshal_get_runtime_invoke
++mono_marshal_get_stelemref
++mono_marshal_get_stfld_remote_wrapper
++mono_marshal_get_stfld_wrapper
++mono_marshal_get_struct_to_ptr
++mono_marshal_get_synchronized_wrapper
++mono_marshal_get_unbox_wrapper
++mono_marshal_get_xappdomain_invoke
++mono_marshal_load_type_info
++mono_marshal_method_from_wrapper
++mono_marshal_realloc
++mono_marshal_set_last_error
++mono_marshal_string_to_utf16
++mono_marshal_type_size
++mono_loader_lock
++mono_loader_unlock
++mono_cli_rva_image_map
++mono_pe_file_open
++mono_meta_table_name
++mono_metadata_blob_heap
++mono_metadata_compute_size
++mono_metadata_custom_attrs_from_index
++mono_metadata_decode_blob_size
++mono_metadata_decode_row_col
++mono_metadata_decode_row
++mono_metadata_decode_signed_value
++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_mh
++mono_metadata_free_type
++mono_metadata_generic_inst_equal
++mono_metadata_generic_inst_hash
++mono_metadata_generic_inst_is_valuetype
++mono_metadata_generic_method_equal
++mono_metadata_get_constant_index
++mono_metadata_get_marshal_info
++mono_metadata_get_table
++mono_metadata_guid_heap
++mono_metadata_implmap_from_method
++mono_metadata_interfaces_from_typedef_full
++mono_metadata_interfaces_from_typedef
++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_full
++mono_metadata_parse_array
++mono_metadata_parse_custom_mod
++mono_metadata_parse_field_type
++mono_metadata_parse_marshal_spec
++mono_metadata_parse_method_signature_full
++mono_metadata_parse_method_signature
++mono_metadata_parse_mh_full
++mono_metadata_parse_mh
++mono_metadata_parse_param
++mono_metadata_parse_signature_full
++mono_metadata_parse_signature
++mono_metadata_parse_typedef_or_ref
++mono_metadata_parse_type_full
++mono_metadata_parse_type
++mono_metadata_properties_from_typedef
++mono_metadata_string_heap
++mono_metadata_token_from_dor
++mono_metadata_typedef_from_field
++mono_metadata_typedef_from_method
++mono_metadata_type_equal
++mono_metadata_type_hash
++mono_metadata_user_string
++mono_metadata_declsec_from_index
++mono_metadata_free_method_signature
++mono_metadata_generic_class_is_valuetype
++mono_metadata_has_generic_params
++mono_metadata_inflate_generic_inst
++mono_metadata_parse_generic_inst
++mono_ldtoken
++mono_lookup_dynamic_token
++mono_ldstr
++mono_exception_from_token
++mono_create_jit_trampoline_from_token
++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_opcode_name
++mono_opcode_value
++mono_loader_set_error_field_load
++mono_loader_set_error_method_load
++mono_loader_set_error_type_load
++mono_loader_get_last_error
++mono_loader_clear_error
++mono_loader_error_prepare_exception
++mono_runtime_invoke_array
++mono_runtime_invoke
++mono_remoting_invoke
++mono_runtime_delegate_invoke
++mono_method_call_message_new
++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_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_index
++mono_method_get_signature_full
++mono_method_get_token
++mono_method_get_wrapper_data
++mono_method_has_marshal_info
++mono_method_return_message_restore
++mono_method_same_domain
++mono_method_signature
++mono_method_verify
++mono_method_get_header
++mono_method_header_get_clauses
++mono_method_header_get_code
++mono_method_header_get_locals
++mono_method_header_get_num_clauses
++mono_object_new
++mono_object_new_alloc_specific
++mono_object_new_fast
++mono_object_new_from_token
++mono_object_new_specific
++mono_object_clone
++mono_object_get_class
++mono_object_get_domain
++mono_object_get_virtual_method
++mono_object_isinst_mbyref
++mono_object_isinst
++mono_object_register_finalizer
++mono_object_unbox
++mono_object_castclass_mbyref
++mono_object_is_alive
++mono_object_get_size
++mono_value_box
++mono_value_copy
++mono_value_copy_array
++mono_array_class_get
++mono_array_clone_in_domain
++mono_array_clone
++mono_array_element_size
++mono_array_full_copy
++mono_array_new_full
++mono_array_new
++mono_array_new_specific
++mono_array_to_lparray
++mono_array_to_savearray
++mono_dup_array_type
++mono_field_from_token
++mono_field_get_flags
++mono_field_get_name
++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_property_get_flags
++mono_property_get_get_method
++mono_property_get_name
++mono_property_get_parent
++mono_property_get_set_method
++mono_property_get_value
++mono_property_set_value
++mono_event_get_add_method
++mono_event_get_flags
++mono_event_get_name
++mono_event_get_parent
++mono_event_get_raise_method
++mono_event_get_remove_method
++mono_delegate_ctor
++mono_async_result_new
++mono_load_remote_field
++mono_load_remote_field_new
++mono_store_remote_field
++mono_store_remote_field_new
++mono_nullable_box
++mono_nullable_init
++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_jit_compile
++mono_profiler_install_module
++mono_profiler_install_thread
++mono_profiler_install_transition
++mono_profiler_install_gc
++mono_profiler_install_statistical
++mono_profiler_set_events
++mono_profiler_get_events
++mono_profiler_coverage_get
++mono_reflection_bind_generic_method_parameters
++mono_reflection_bind_generic_parameters
++mono_reflection_create_dynamic_method
++mono_reflection_create_generic_class
++mono_reflection_create_internal_class
++mono_reflection_create_runtime_class
++mono_reflection_event_builder_get_event_info
++mono_reflection_generic_inst_initialize
++mono_reflection_get_custom_attrs_blob
++mono_reflection_get_custom_attrs
++mono_custom_attrs_get_attr
++mono_reflection_get_token
++mono_reflection_get_type
++mono_reflection_initialize_generic_parameter
++mono_reflection_lookup_dynamic_token
++mono_reflection_marshal_from_marshal_spec
++mono_reflection_parse_type
++mono_reflection_setup_generic_class
++mono_reflection_setup_internal_class
++mono_reflection_sighelper_get_signature_field
++mono_reflection_sighelper_get_signature_local
++mono_reflection_type_from_name
++mono_reflection_generic_class_initialize
++mono_reflection_get_custom_attrs_info
++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_has_attr
++mono_module_file_get_object
++mono_module_get_object
++mono_method_body_get_object
++mono_event_get_object
++mono_assembly_get_object
++mono_param_get_objects
++mono_field_get_object
++mono_property_get_object
++mono_type_get_object
++mono_is_security_manager_active
++mono_security_manager_get_methods
++mono_activate_security_manager
++mono_is_ecma_key
++mono_get_context_capture_method
++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_string_new
++mono_string_new_len
++mono_string_new_size
++mono_string_new_utf16
++mono_string_from_utf16
++mono_string_intern
++mono_string_is_interned
++mono_string_new_wrapper
++mono_string_to_ansibstr
++mono_string_to_bstr
++mono_string_to_byvalstr
++mono_string_to_byvalwstr
++mono_string_to_utf16
++mono_string_to_utf8
++mono_string_utf16_to_builder
++mono_string_utf8_to_builder
++mono_string_equal
++mono_string_hash
++mono_string_builder_to_utf16
++mono_string_builder_to_utf8
++mono_unicode_from_external
++mono_unicode_to_external
++mono_utf8_from_external
++mono_thread_abort_all_other_threads
++mono_thread_attach
++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_pending_exception
++mono_thread_interruption_checkpoint
++mono_thread_interruption_requested
++mono_thread_interruption_request_flag
++mono_thread_manage
++mono_thread_new_init
++mono_thread_pop_appdomain_ref
++mono_thread_push_appdomain_ref
++mono_thread_request_interruption
++mono_threads_abort_appdomain_threads
++mono_threads_get_default_stacksize
++mono_threads_install_cleanup
++mono_threads_set_default_stacksize
++mono_thread_stop
++mono_thread_get_main
++mono_thread_set_main
++mono_thread_get_tls_key
++mono_pthread_key_for_tls
++mono_thread_pool_add
++mono_thread_pool_finish
++mono_monitor_enter
++mono_monitor_exit
++mono_monitor_try_enter
++mono_threads_clear_cached_culture
++mono_thread_suspend_all_other_threads
++mono_thread_has_appdomain_ref
++mono_trace_cleanup
++mono_trace_enter_method
++mono_trace_eval
++mono_trace_leave_method
++mono_trace
++mono_trace_parse_options
++mono_trace_pop
++mono_trace_push
++mono_trace_set_assembly
++mono_trace_set_level
++mono_trace_set_level_string
++mono_trace_set_mask
++mono_trace_set_mask_string
++mono_tracev
++mono_trace_is_traced
++mono_trace_enable
++mono_trace_is_enabled
++mono_type_create_from_typespec_full
++mono_type_create_from_typespec
++mono_type_full_name
++mono_type_get_array_type
++mono_type_get_class
++mono_type_get_desc
++mono_type_get_full_name
++mono_type_get_modifiers
++mono_type_get_name
++mono_type_get_signature
++mono_type_get_type
++mono_type_get_underlying_type
++mono_type_initialization_init
++mono_type_is_byref
++mono_type_native_stack_size
++mono_type_size
++mono_type_stack_size
++mono_type_to_ldind
++mono_type_to_stind
++mono_type_to_unmanaged
++mono_type_get_name_full
++mono_type_generic_inst_is_valuetype
++mono_get_object_class
++mono_get_int16_class
++mono_get_int32_class
++mono_get_int64_class
++mono_get_double_class
++mono_get_enum_class
++mono_get_intptr_class
++mono_get_sbyte_class
++mono_get_single_class
++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_get_array_class
++mono_get_boolean_class
++mono_get_byte_class
++mono_get_char_class
++mono_get_dbnull_object
++mini_compile_generic_method
++mono_alloc_special_static_data
++mono_bounded_array_class_get
++mono_check_corlib_version
++mono_compile_method
++mono_config_for_assembly
++mono_create_icall_signature
++mono_create_jit_trampoline
++mono_create_jump_table
++mono_create_jump_trampoline
++mono_dllmap_insert
++mono_environment_exitcode_get
++mono_environment_exitcode_set
++mono_find_method_by_name
++mono_free_method
++mono_free_verify_list
++mono_get_config_dir
++mono_get_constant_value_from_blob
++mono_get_corlib
++mono_get_delegate_invoke
++mono_get_framework_version
++mono_get_method_full
++mono_get_method
++mono_get_root_domain
++mono_get_runtime_version
++mono_get_special_static_data
++mono_init_from_assembly
++mono_init
++mono_init_version
++mono_invoke_delegate
++mono_jit_exec
++mono_lookup_internal_call
++mono_lookup_pinvoke_call
++mono_main
++mono_message_init
++mono_message_invoke
++mono_parse_default_optimizations
++mono_perform_abc_removal
++mono_ptr_class_get
++mono_register_bundled_assemblies
++mono_release_type_locks
++mono_remote_class
++mono_remote_class_vtable
++mono_runtime_class_init
++mono_runtime_cleanup
++mono_runtime_free_method
++mono_runtime_get_main_args
++mono_runtime_init
++mono_runtime_is_shutting_down
++mono_runtime_object_init
++mono_runtime_quit
++mono_runtime_run_main
++mono_table_info_get_rows
++mono_upgrade_remote_class
++mono_upgrade_remote_class_wrapper
++mono_verify_corlib
++mono_vtable_get_static_field_data
++mono_wait_handle_new
++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_last
++mono_bitset_find_start
++mono_bitset_foreach
++mono_bitset_free
++mono_bitset_intersection
++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_bitset_find_first_unset
++mono_bitset_intersection_2
++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_remap
++mono_g_hash_table_remove
++mono_g_hash_table_replace
++mono_g_hash_table_size
++mono_g_hash_table_steal
++mono_raw_buffer_load
++mono_raw_buffer_update
++mono_raw_buffer_free
++mono_sha1_init
++mono_sha1_update
++mono_sha1_get_digest_from_file
++mono_sha1_get_digest
++mono_sha1_final
++mono_md5_init
++mono_md5_update
++mono_md5_get_digest_from_file
++mono_md5_get_digest
++mono_md5_final
++mono_digest_get_public_token
++mono_mempool_alloc0
++mono_mempool_alloc
++mono_mempool_destroy
++mono_mempool_empty
++mono_mempool_invalidate
++mono_mempool_new
++mono_mempool_stats
++mono_mempool_contains_addr
++mono_is_power_of_two
++mono_signbit_double
++mono_signbit_float
++mono_disasm_code
++mono_disasm_code_one
++mono_disassemble_code
++mono_walk_stack
++mono_stack_walk_no_il
++mono_escape_uri_string
++mono_guid_to_string
++GetThreadContext
++DeleteCriticalSection
++EnterCriticalSection
++InitializeCriticalSection
++InitializeCriticalSectionAndSpinCount
++LeaveCriticalSection
++SetCriticalSectionSpinCount
++TryEnterCriticalSection
++errno_to_WSA
++GetLastError
++SetLastError
++CreateEvent
++PulseEvent
++ResetEvent
++SetEvent
++CloseHandle
++CopyFile
++CreateDirectory
++CreateFile
++CreatePipe
++DeleteFile
++FileTimeToSystemTime
++FindClose
++FindFirstFile
++FindNextFile
++FlushFileBuffers
++GetCurrentDirectory
++GetFileAttributes
++GetFileAttributesEx
++GetFileSize
++GetFileTime
++GetFileType
++GetLogicalDriveStrings
++GetStdHandle
++GetTempPath
++LockFile
++MoveFile
++ReadFile
++RemoveDirectory
++SetCurrentDirectory
++SetEndOfFile
++SetFileAttributes
++SetFilePointer
++SetFileTime
++UnlockFile
++WriteFile
++mono_once
++CreateMutex
++ReleaseMutex
++CreateProcess
++EnumProcesses
++EnumProcessModules
++GetCurrentProcess
++GetCurrentProcessId
++GetExitCodeProcess
++GetModuleBaseName
++GetProcessTimes
++GetProcessWorkingSetSize
++OpenProcess
++SetProcessWorkingSetSize
++TerminateProcess
++ImpersonateLoggedOnUser
++RevertToSelf
++CreateSemaphore
++ReleaseSemaphore
++closesocket
++ioctlsocket
++WSACleanup
++WSAGetLastError
++WSAIoctl
++WSASetLastError
++WSAStartup
++GetSystemInfo
++BindIoCompletionCallback
++CreateThread
++ExitThread
++GetCurrentThread
++GetCurrentThreadId
++GetExitCodeThread
++OpenThread
++QueueUserAPC
++ResumeThread
++Sleep
++SleepEx
++SuspendThread
++TlsAlloc
++TlsFree
++TlsGetValue
++TlsSetValue
++GetTickCount
++QueryPerformanceCounter
++QueryPerformanceFrequency
++SignalObjectAndWait
++WaitForMultipleObjects
++WaitForMultipleObjectsEx
++WaitForSingleObject
++WaitForSingleObjectEx
++OpenEvent
++OpenMutex
++GetProcessId
++ShellExecuteEx
++OpenSemaphore
diff --cc docs/exdoc
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..671dc02b608ab0197e0210729d02a4e8d3cd2939
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,293 @@@
++#!/usr/bin/perl
++
++if ($ARGV[0] eq "-h"){
++    $dir = $ARGV[1];
++    $html = 1;
++    shift @ARGV;
++    shift @ARGV;
++}
++
++if ($html){
++    opendir (D, "$dir/sources/") || die "Can not open $dir";
++    while ($n = readdir (D)){
++      if ($n =~ /mono-api-.*\.html$/){
++          open (IN, "$dir/sources/$n") || die "Can not open $n";
++          $files[$filecount] = $n;
++          while (<IN>){
++              @files_content[$filecount] .= $_;
++              if (/name="api:(.*?)"/){
++                  $_ =~ s/.*name="api:(\w+?)".*/\1/;
++                  $apis[$filecount] .= "$_";
++              }
++          }
++          $filecount++;
++          close IN;
++      }
++    }
++}
++
++while (<ARGV>){
++      if (/\/\*\* *\n/){
++              &process_doc;
++      } else {
++              #print "IGNORING: $_";
++      }
++}
++
++if ($html){
++    for ($f = 0; $f < $filecount; $f++){
++      $name = $files[$f];
++      open (OUT, "> $dir/html/$name") || die "Can not create $dir/html/$name";
++      print "Merging: $name\n";
++      print OUT<<EOF;
++<?xml version="1.0" encoding="utf-8"?>
++<html xmlns="http://www.w3.org/1999/xhtml">
++<head>
++   <title>$name</title>
++   <style type="text/css">
++   h3 { 
++       font-size: 18px;
++       padding-bottom: 4pt;
++       border-bottom: 2px solid #dddddd;
++   }
++       
++   .api {
++     border: 1px solid;
++     padding: 10pt;
++     margin: 10pt;
++   } 
++
++   .api-entry { 
++       border-bottom: none;
++       font-size: 18px;
++   }
++
++   .prototype {
++     border: 1px solid;
++     background-color: #f2f2f2;
++     padding: 5pt;
++     margin-top: 5pt;
++     margin-bottom: 5pt;  
++   } 
++
++   .header {
++     border: 1px solid;
++     padding: 0 0 5pt 5pt;
++     margin: 10pt;
++     white-space: pre;
++       font-family: monospace;
++   }
++    
++   .code {
++     border: 1px solid;
++     padding: 0 0 5pt 5pt;
++     margin: 10pt;
++     white-space: pre;
++       font-family: monospace;
++   }
++   </style>
++</head>
++<body>
++EOF
++      @a = split (/\n/, $files_content[$f]);
++
++      for ($ai = 0; $ai < $#a; $ai++){
++          $line = $a[$ai];
++          
++          ($api,$caption) = $line =~  /<h4><a name=\"api:(\w+)\">(\w+)<\/a><\/h4>/;
++          if ($api ne ""){
++              if ($api_shown == 1){
++                  print OUT "</div>";
++              }
++              $api_shown = 1;
++              $proto = $prototype{$api};
++              if ($proto eq ""){
++                  $proto = "Prototype: $api";
++              }
++
++print OUT<<EOF;
++ <a name="api:$api"></a>
++ <div class="api">
++    <div class="api-entry">$api</div>
++
++    <div class="prototype">$proto</div>
++<p>
++EOF
++                  &opt_print ("Parameters", $arguments{$api}, 1);
++                  &opt_print ("Returns", $returns{$api}, 1);
++                  &opt_print ("Remarks", $bodies{$api}, 0);
++                  print OUT "\n";
++          } else {
++              if ($line =~ /@API_IDX@/){
++                  $apis_toc = &create_toc ($apis[$f]);
++                  $line =~ s/\@API_IDX\@/$apis_toc/;
++              }
++              if ($line =~ /^<h/){
++                  print OUT "</div>";
++                  $api_shown = 0;
++              }
++
++              print OUT "$line\n";
++          }
++      }
++      print OUT<<EOF;
++</body>
++</html>
++EOF
++      close OUT;
++      system ("../runtime/mono-wrapper convert.exe $dir/html/$name $dir/html/x-$name");
++
++      # clean up the mess that AgilityPack does, it CDATAs our CSS
++      open HACK, "$dir/html/x-$name" || die "Could not open $dir/html/x-$name";
++      open HACKOUT, ">$dir/deploy/$name" || die "Could not open output";
++
++      while (<HACK>){
++          s/^\/\/<!\[CDATA\[//;
++          s/^\/\/\]\]>\/\///;
++          print HACKOUT $_;
++      }
++      #system ("cp.exe $dir/html/$name $dir/deploy/$name");
++    }
++}
++
++sub process_doc {
++      $doc = "";
++      $func = <>;
++      chop $func;
++      $func =~ s/^ \* //;
++      $func =~ s/:$//;
++      print "Function: $func\n" if (!$html);
++      $args = "";
++      $inbody = 0;
++      $returns = "";
++      $body = "";
++      $functions[$fn++] = $func;
++
++      # Process arguments
++      while (<>){
++              if (/^ \*\*?\//){
++                  $body =~ s/[@#](\w+)/<i>\1<\/i>/g;
++                  $returns =~ s/[@#](\w+)/<i>\1<\/i>/g;
++
++                  $args =~ s/@(\w+)/<i>\1<\/i>/g;
++                  $body =~ s/\n/ /;
++                  $bodies{$func} = $body;
++                  $arguments{$func} = $args;
++                  $returns{$func} = $returns;
++                  $proto = "";
++                  while (<>){
++                      $proto .= $_;
++                      last if (/\{/);
++                  }
++                  $proto =~ s/{//;
++                  # clean it up a little, remove newlines, empty space at end
++                  $proto =~ s/ +$//;
++                  # Turn "Type * xxx" into "Type* xxx"
++                  $proto =~ s/^(\w+)\W+\*/\1\*/;
++                  $prototype{$func} = $proto;
++                  return;
++              }
++              chop;
++              s/^\ \*//;
++              $_ = "\n<p>" if (/^\s+$/);
++                              
++              if ($inbody == 0){
++                  if (/\s*(\w+):(.*)/){
++                      $args .= "<dt><i>$1:</i></dt><dd>$2</dd>";
++                  } else {
++                      
++                      $body = "\t$_\n";
++                      $inbody = 1;
++                  }
++              } elsif ($inbody == 1) {
++                  if (/Returns?:/){
++                      s/Returns?://;
++                      $returns = "\t$_\n";
++                      $inbody = 2;
++                  } else {
++                      $body .= "\n\t$_";
++                  }
++              } else {
++                  $returns .= "\n\t$_";
++              }
++                 
++      }
++}
++
++sub create_toc {
++    my ($apis_listed) = @_;
++    my $type_size = 0;
++    my $name_size = 0;
++    my $ret, $xname, $args, $line;
++    $apis_toc = "";
++
++
++    # Try to align things, so compute type size, method size, and arguments
++    foreach $line (split /\n/, $apis_listed){
++      $p = $prototype{$line};
++      ($ret, $xname, $args) = $p =~ /(.*)\n(\w+)[ \t](.*)/;
++      $tl = length ($ret);
++      $pl = length ($xname);
++
++      $type_size = $tl if ($tl > $type_size);
++      $name_size = $pl if ($pl > $name_size);
++    }
++
++    $type_size++;
++    $name_size++;
++
++    foreach $line (split /\n/, $apis_listed){
++      chop;
++      $p = $prototype{$line};
++      ($ret, $xname, $args) = $p =~ /(.*)\n(\w+)[ \t](.*)/;
++      
++      $rspace = " " x ($type_size - length ($ret));
++      $nspace = " " x ($name_size - length ($xname));
++      $args = &format ($args, length ($ret . $rspace . $xname . $nspace), 60);
++      $apis_toc .= "$ret$rspace<a href=\"\#api:$line\">$xname</a>$nspace$args\n";
++    }
++    return $apis_toc;
++}
++
++#
++# Formats the rest of the arguments in a way that will fit in N columns
++#
++sub format {
++    my ($args, $size, $limit) = @_;
++    my $sret = "";
++
++#    return $args if ((length (args) + size) < $limit);
++    
++    $remain = $limit - $size;
++    @sa = split /,/, $args;
++    $linelen = $size;
++    foreach $arg (@sa){
++      if ($sret eq ""){
++          $sret = $arg . ", ";
++          $linelen += length ($sret);
++      } else {
++          if ($linelen + length ($arg) < $limit){
++              $sret .= "FITS" . $arg . ", ";
++          } else {
++              $newline = " " x ($size) . $arg . ", ";
++              $linelen = length ($newline);
++              $sret .= "\n" . $newline;
++          }
++      }
++    }
++    $sret =~ s/, $/;/;
++    return $sret;
++}
++
++sub opt_print {
++    my ($caption, $opttext, $quote) = @_;
++
++    if ($opttext ne "" && (!($opttext =~ /^[ \t]+$/))){
++      print OUT "<b>$caption</b>\n";
++      if ($quote == 1){
++          print OUT "<blockquote>$opttext</blockquote>\n";
++      } else {
++          print OUT "<p>$opttext\n";
++      }
++    }
++}
diff --cc docs/ignore
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..d48dbbd371b0107dba7dbeb32230022fb82cf2f3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,477 @@@
++stackval_to_data
++stackval_from_data
++ves_exec_method
++string_marshal_test0
++string_marshal_test1
++string_marshal_test2
++string_marshal_test3
++test_lpwstr_marshal
++return_self
++BugGetVersionEx
++callFunction
++class_marshal_test0
++class_marshal_test1
++class_marshal_test2
++class_marshal_test4
++GetVersionEx
++HexDump
++HexDump1W
++HexDumpA
++marshal_test_bool_struct
++marshal_test_ref_bool
++TestVectorList
++__bsd_dtoa
++bsd_strtod
++TestBlittableClass
++# 
++# Produced by the tests
++#
++mono_test_asany
++mono_test_byvalstr_check
++mono_test_byvalstr_gen
++mono_test_delegate_struct
++mono_test_empty_pinvoke
++mono_test_empty_struct
++mono_test_last_error
++mono_test_many_byte_arguments
++mono_test_many_double_arguments
++mono_test_many_float_arguments
++mono_test_many_int_arguments
++mono_test_many_short_arguments
++mono_test_marshal_amd64_pass_return_struct1
++mono_test_marshal_amd64_pass_return_struct2
++mono_test_marshal_amd64_pass_return_struct3
++mono_test_marshal_amd64_pass_return_struct4
++mono_test_marshal_array
++mono_test_marshal_bool_byref
++mono_test_marshal_byref_class
++mono_test_marshal_byref_string_array
++mono_test_marshal_char
++mono_test_marshal_char_array
++mono_test_marshal_class
++mono_test_marshal_delegate
++mono_test_marshal_delegate10
++mono_test_marshal_delegate2
++mono_test_marshal_delegate4
++mono_test_marshal_delegate5
++mono_test_marshal_delegate6
++mono_test_marshal_delegate7
++mono_test_marshal_delegate8
++mono_test_marshal_delegate9
++mono_test_marshal_delegate_struct
++mono_test_marshal_empty_string_array
++mono_test_marshal_inout_array
++mono_test_marshal_inout_nonblittable_array
++mono_test_marshal_long_align_struct_array
++mono_test_marshal_mixed_point
++mono_test_marshal_mixed_point_2
++mono_test_marshal_out_struct
++mono_test_marshal_pass_return_custom
++mono_test_marshal_pass_return_custom_in_delegate
++mono_test_marshal_point
++mono_test_marshal_primitive_byref_delegate
++mono_test_marshal_return_delegate
++mono_test_marshal_return_delegate_delegate
++mono_test_marshal_string_array
++mono_test_marshal_stringbuilder
++mono_test_marshal_stringbuilder_array
++mono_test_marshal_stringbuilder_unicode
++mono_test_marshal_struct
++mono_test_marshal_struct2
++mono_test_marshal_struct2_2
++mono_test_marshal_struct_array
++mono_test_marshal_unicode_string_array
++mono_test_marshal_asany_inout
++mono_test_marshal_byref_struct
++mono_test_marshal_cdecl_delegate
++mono_test_marshal_ia64_pass_return_struct5
++mono_test_marshal_ia64_pass_return_struct6
++mono_test_marshal_out_array
++mono_test_marshal_out_array_delegate
++mono_test_marshal_out_string_array_delegate
++mono_test_marshal_pass_byref_custom
++mono_test_marshal_pass_out_custom
++mono_test_marshal_return_string_array_delegate
++mono_test_marshal_small_struct_delegate1
++mono_test_marshal_small_struct_delegate10
++mono_test_marshal_small_struct_delegate11
++mono_test_marshal_small_struct_delegate2
++mono_test_marshal_small_struct_delegate3
++mono_test_marshal_small_struct_delegate4
++mono_test_marshal_small_struct_delegate5
++mono_test_marshal_small_struct_delegate6
++mono_test_marshal_small_struct_delegate7
++mono_test_marshal_small_struct_delegate8
++mono_test_marshal_small_struct_delegate9
++mono_test_puts_static
++mono_test_ref_vtype
++mono_test_return_string
++mono_test_marshal_blittable_struct_delegate
++mono_test_marshal_return_enum_delegate
++mono_test_return_vtype
++mono_test_split_double_arguments
++mono_test_stdcall_name_mangling
++mono_union_test_1
++NameManglingAnsi
++NameManglingAnsi2A
++NameManglingAnsi2W
++NameManglingAnsiA
++NameManglingAnsiW
++NameManglingAuto
++NameManglingAutoW
++NameManglingUnicode
++NameManglingUnicode2
++NameManglingUnicodeW
++reliable_delegate
++#
++# Some internals
++#
++mini_emit_castclass_iface_class
++mini_emit_castclass_iface
++mini_emit_castclass
++mini_emit_isninst_cast
++mini_emit_isninst_iface_cast
++mini_emit_isninst_iface_class_cast
++mini_emit_memcpy
++mini_emit_memset
++mini_emit_virtual_call
++ldind_to_load_membase
++mono_return_int
++mono_return_int_ss
++mono_return_int_su
++mono_return_sc1
++mono_return_sc3
++mono_return_sc5
++mono_return_ss
++#
++# The following are internal calls that are exposed because of cross 
++# library dependencies but could be private
++#
++mono_assembly_load_corlib
++mono_assembly_load_from
++mono_jit_walk_stack
++mono_init_icall
++mono_eval_cond_branch
++mini_emit_aotconst
++mono_add_ins_to_end
++mono_type_from_stack_type
++mono_perform_ssapre">mono_perform_ssapre
++mono_get_shared_generic_class
++mono_dynamic_stream_reset">mono_dynamic_stream_reset
++mono_allocate_stack_slots
++mono_get_inflated_method
++mono_debug_read_method
++mono_domain_get_tls_offset 
++mono_thread_get_tls_offset
++mono_class_init_trampoline
++mono_classes_init
++mono_class_inflate_generic_method_full
++mono_class_setup_interface_offsets
++mono_class_get_overrides_full
++mono_class_has_special_static_fields
++mono_class_bind_generic_parameters
++mono_config_parse_publisher_policy
++mono_get_trampoline_code
++mono_helper_compile_generic_method
++mono_helper_ldstr
++mono_helper_ldstr_mscorlib
++mono_helper_newobj_mscorlib
++mono_helper_stelem_ref
++mono_helper_stelem_ref_check
++mono_metadata_get_generic_param_row
++mono_metadata_signature_deep_dup
++mono_metadata_get_param_attrs
++mono_metadata_load_generic_param_constraints
++mono_find_jit_opcode_emulation
++mono_marshal_get_ldflda_wrapper
++mono_debug_free_method_jit_info
++mono_jit_info_table_add
++mono_jit_info_table_remove
++mono_jit_info_add_aot_module
++mono_install_jit_info_find_in_aot
++mono_reflection_get_dynamic_overrides
++mono_poll
++mono_dynamic_stream_reset
++mono_domain_get_tls_offset
++mono_domain_add_class_static_data
++mono_handle_native_sigsegv
++mono_set_config_dir
++mono_profiler_coverage_alloc
++mono_profiler_coverage_free
++mini_method_compile
++mono_destroy_compile
++mono_get_method_constrained
++mono_constant_fold_inst
++mono_is_power_of_two
++mono_blockset_print
++mono_print_tree
++mono_print_tree_nl
++mono_resolve_patch_target
++mono_get_lmf_addr
++mono_draw_graph
++mono_icall_get_wrapper
++mono_find_class_init_trampoline_by_addr
++mono_class_init_trampoline
++mono_regname_full
++mono_codegen
++mono_free_loop_info
++mono_varlist_sort
++mono_varlist_insert_sorted
++mono_metadata_generic_method_hash
++mono_metadata_lookup_generic_inst
++mono_metadata_lookup_generic_class
++mono_config_parse_publisher_policy
++mono_unload_interface_ids
++mono_metadata_type_dup_mp
++mono_array_new_va
++mono_ldtoken_wrapper
++mono_jump_info_token_new
++#
++# declarative security
++#
++mono_method_has_declsec
++mono_declsec_cache_stack_modifiers
++mono_declsec_create_frame
++mono_declsec_linkdemand
++#
++# Bundles, internal:
++#
++mono_register_config_for_assembly
++#
++# Optimizations methods, exposed because they are used across files
++#
++mono_analyze_liveness
++mono_perform_ssapre
++mono_local_cprop
++mono_local_regalloc
++mono_aliasing_deadce
++mono_aliasing_get_affected_variables_for_inst
++mono_aliasing_get_affected_variables_for_inst_in_bb
++mono_aliasing_get_affected_variables_for_inst_traversing_code
++mono_aliasing_initialize_code_traversal
++mono_branch_optimize_exception_target
++mono_destroy_aliasing_information
++mono_build_aliasing_information
++mono_unlink_bblock
++mono_ssa_compute
++mono_ssa_remove
++mono_ssa_cprop
++mono_ssa_deadce
++mono_find_spvar_for_region
++mono_add_varcopy_to_end
++mono_image_build_metadata
++#
++# JIT code genreation internals
++#
++mono_bblock_add_inst
++mono_constant_fold
++mono_delegate_trampoline
++mono_magic_trampoline
++mono_call_inst_add_outarg_reg
++mono_compile_create_var
++mono_compile_make_var_load
++mono_compile_create_var_load
++mono_compile_create_var_store
++mono_compile_assembly
++mono_compile_dominator_info
++mono_compute_natural_loops
++mono_compile_iterated_dfrontier
++mono_create_jump_table
++mono_create_ftnptr
++mono_create_class_init_trampoline
++mono_class_init_trampoline
++mono_create_jit_trampoline
++mono_create_jit_trampoline_from_token
++mono_find_jit_icall_by_name
++mono_find_jit_icall_by_addr
++mono_register_jit_icall
++mono_running_on_valgrind
++mono_global_codeman_reserve
++mono_linear_scan
++#
++# Most init/cleanup routines are internally called, so they do not need to be
++# documented
++#
++mono_thread_init
++mono_assemblies_init
++mono_assembly_load_corlib
++mono_get_runtime_info
++mono_aligned_addr_hash
++mono_meta_table_name
++mono_ldtoken_wrapper
++mini_init
++mini_cleanup
++mono_metadata_compute_table_bases
++mono_image_basic_init
++mono_image_create_method_token
++mono_image_create_pefile
++mono_image_insert_strings
++mono_image_load_module
++mono_image_add_to_name_cache
++mono_image_verify_tables
++mono_debug_init_1
++mono_debug_init_2
++mono_debug_init
++mono_aot_init
++mono_init_debugger
++mono_debugger_initialize
++mono_debug_init_method
++mono_image_init
++mono_images_init
++mono_burg_init
++mono_burg_kids
++mono_burg_label
++mono_interp_cleanup
++mono_marshal_init
++mono_loader_init
++mono_metadata_init
++mono_thread_pool_init
++mono_network_init
++mono_network_cleanup
++mono_raw_buffer_init
++mono_debugger_cleanup
++mono_thread_pool_cleanup
++mono_gc_cleanup
++mono_interp_init
++mono_context_init
++mono_gc_init
++mono_debug_cleanup
++mono_image_module_basic_init
++mono_thread_pool_cleanup
++mono_icall_cleanup
++mono_icall_init
++mono_monitor_init
++mono_install_init_vtable
++mono_x86_tramp_init
++mono_install_get_cached_class_info
++mono_debugger_init
++#
++# Internal JIT icalls
++#
++mono_lldiv
++mono_lldiv_un
++mono_llmult
++mono_llmult_ovf
++mono_llmult_ovf_un
++mono_llrem
++mono_llrem_un
++mono_fconv_ovf_i8
++mono_fconv_ovf_u8
++mono_fconv_u4
++mono_fconv_u8
++mono_ldftn
++mono_ldftn_nosync
++mono_ldtoken_wrapper
++mono_ldvirtfn
++mono_class_static_field_address
++ves_array_element_address
++mono_runtime_set_shutting_down
++mono_set_rootdir
++mono_object_hash
++mono_thread_pool_remove_socket
++mono_thread_free_local_slot_values
++mono_get_jit_tls_key
++mono_get_lmf_tls_offset
++mono_jit_thread_attach
++#
++# Internally used
++# 
++mono_assembly_load_from_full
++mono_assembly_load_module
++mono_assembly_load_reference
++mono_assembly_load_references
++mono_assembly_load_with_partial_name
++mono_assembly_fill_assembly_name
++mono_assembly_foreach
++mono_assembly_invoke_load_hook
++mono_assembly_invoke_search_hook
++mono_assembly_name_parse_full
++mono_assembly_set_main
++mono_assembly_get_assemblyref
++mono_assembly_setrootdir
++mono_trace_enable
++mono_trace_is_enabled
++mono_trace_set_assembly
++mono_trace_eval
++mono_patch_info_dup_mp
++mono_patch_info_hash
++mono_patch_info_equal
++mono_remove_patch_info
++mono_add_patch_info
++mono_disassemble_code
++mono_inst_foreach
++mono_print_code
++mono_method_same_domain
++mono_register_opcode_emulation
++#
++# I believe these are internal, but I should check with the JIT guys
++#
++mono_assembly_open_full
++#
++# These are internal rawbuffer structures that we use to explore the
++# access to the metadata.
++#
++mono_raw_buffer_get_n_pagefaults
++mono_raw_buffer_handle_pagefault
++mono_raw_buffer_is_pagefault
++mono_raw_buffer_set_make_unreadable
++#
++# AOT: I believe that the AOT API is completely internal, so am listing it
++# here for now, unless we decide there are pieces that should be documneted
++#
++mono_precompile_assemblies
++mono_aot_get_class_from_name
++mono_aot_find_jit_info
++mono_aot_get_method_from_token
++mono_aot_get_n_pagefaults
++mono_aot_handle_pagefault
++mono_aot_is_pagefault
++mono_aot_set_make_unreadable
++mono_aot_find_jit_info
++mono_aot_get_method_from_token
++mono_aot_get_n_pagefaults
++mono_aot_get_plt_entry
++mono_aot_handle_pagefault
++mono_aot_is_pagefault
++mono_aot_plt_resolve
++mono_aot_set_make_unreadable
++mono_aot_plt_trampoline
++mono_aot_trampoline
++mono_aot_get_cached_class_info
++mono_aot_get_method
++mono_aot_is_got_entry
++mono_aot_get_class_from_name
++#
++# These should be static, but require some ugly changes
++#
++alu_reg_to_alu_imm
++alu_reg_to_alu_membase_imm
++#
++# Internal security manager
++#
++mono_secman_inheritancedemand_method
++mono_secman_inheritancedemand_class
++#
++# Produced by matching against the MONO_INTERNAL macro
++# 
++mono_regstate_free
++mono_regstate_free_float
++mono_regstate_free_int
++mono_regstate_alloc_float
++mono_regstate_alloc_int
++mono_regstate_assign
++mono_regstate_new
++mono_regstate_next_long
++mono_regstate_reset
++mono_debug_open_method
++mono_debug_close_method
++mono_debug_open_block
++mono_debug_record_line_number
++mono_debug_serialize_debug_info
++mono_debug_add_icall_wrapper
++__i686.get_pc_thunk
++mono_trace_enable
++mono_trace_is_enabled
++mono_trace_eval
++mono_trace_leave_method
++mono_trace_enter_method
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ff60ca2b6d09336d6275be068cd8d0565679cc57
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,103 @@@
++<h3>Metadata Loader Locking</h3>
++
++      <p>The locking functions here are used by code in class.c and
++      metadata.c to lock access to the shared hashtables inside the
++      MonoImage
++      
++<h4><a name="api:mono_loader_lock">mono_loader_lock</a></h4>
++<h4><a name="api:mono_loader_unlock">mono_loader_unlock</a></h4>
++
++<h3>Metadata access API</h3>
++
++      <p>This is the low-level API for accessing the metadata
++      images.
++      
++<h4><a name="api:mono_cli_rva_image_map">mono_cli_rva_image_map</a></h4>
++<h4><a name="api:mono_meta_table_name">mono_meta_table_name</a></h4>
++<h4><a name="api:mono_metadata_blob_heap">mono_metadata_blob_heap</a></h4>
++<h4><a name="api:mono_metadata_compute_size">mono_metadata_compute_size</a></h4>
++<h4><a name="api:mono_metadata_compute_table_bases">mono_metadata_compute_table_bases</a></h4>
++<h4><a name="api:mono_metadata_custom_attrs_from_index">mono_metadata_custom_attrs_from_index</a></h4>
++<h4><a name="api:mono_metadata_decode_blob_size">mono_metadata_decode_blob_size</a></h4>
++<h4><a name="api:mono_metadata_decode_row_col">mono_metadata_decode_row_col</a></h4>
++<h4><a name="api:mono_metadata_decode_row">mono_metadata_decode_row</a></h4>
++<h4><a name="api:mono_metadata_decode_value">mono_metadata_decode_value</a></h4>
++<h4><a name="api:mono_metadata_encode_value">mono_metadata_encode_value</a></h4>
++<h4><a name="api:mono_metadata_events_from_typedef">mono_metadata_events_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_field_info">mono_metadata_field_info</a></h4>
++<h4><a name="api:mono_metadata_free_array">mono_metadata_free_array</a></h4>
++<h4><a name="api:mono_metadata_free_marshal_spec">mono_metadata_free_marshal_spec</a></h4>
++<h4><a name="api:mono_metadata_free_method_signature">mono_metadata_free_method_signature</a></h4>
++<h4><a name="api:mono_metadata_free_mh">mono_metadata_free_mh</a></h4>
++<h4><a name="api:mono_metadata_free_type">mono_metadata_free_type</a></h4>
++<h4><a name="api:mono_metadata_generic_inst_equal">mono_metadata_generic_inst_equal</a></h4>
++<h4><a name="api:mono_metadata_generic_inst_hash">mono_metadata_generic_inst_hash</a></h4>
++<h4><a name="api:mono_metadata_generic_inst_is_valuetype">mono_metadata_generic_inst_is_valuetype</a></h4>
++<h4><a name="api:mono_metadata_generic_method_equal">mono_metadata_generic_method_equal</a></h4>
++<h4><a name="api:mono_metadata_generic_method_hash">mono_metadata_generic_method_hash</a></h4>
++<h4><a name="api:mono_metadata_get_constant_index">mono_metadata_get_constant_index</a></h4>
++<h4><a name="api:mono_metadata_get_marshal_info">mono_metadata_get_marshal_info</a></h4>
++<h4><a name="api:mono_metadata_get_table">mono_metadata_get_table</a></h4>
++<h4><a name="api:mono_metadata_guid_heap">mono_metadata_guid_heap</a></h4>
++<h4><a name="api:mono_metadata_implmap_from_method">mono_metadata_implmap_from_method</a></h4>
++<h4><a name="api:mono_metadata_interfaces_from_typedef_full">mono_metadata_interfaces_from_typedef_full</a></h4>
++<h4><a name="api:mono_metadata_interfaces_from_typedef">mono_metadata_interfaces_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_load_generic_params">mono_metadata_load_generic_params</a></h4>
++<h4><a name="api:mono_metadata_locate">mono_metadata_locate</a></h4>
++<h4><a name="api:mono_metadata_locate_token">mono_metadata_locate_token</a></h4>
++<h4><a name="api:mono_metadata_methods_from_event">mono_metadata_methods_from_event</a></h4>
++<h4><a name="api:mono_metadata_methods_from_property">mono_metadata_methods_from_property</a></h4>
++<h4><a name="api:mono_metadata_nested_in_typedef">mono_metadata_nested_in_typedef</a></h4>
++<h4><a name="api:mono_metadata_nesting_typedef">mono_metadata_nesting_typedef</a></h4>
++<h4><a name="api:mono_metadata_packing_from_typedef">mono_metadata_packing_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_parse_array_full">mono_metadata_parse_array_full</a></h4>
++<h4><a name="api:mono_metadata_parse_array">mono_metadata_parse_array</a></h4>
++<h4><a name="api:mono_metadata_parse_custom_mod">mono_metadata_parse_custom_mod</a></h4>
++<h4><a name="api:mono_metadata_parse_field_type">mono_metadata_parse_field_type</a></h4>
++<h4><a name="api:mono_metadata_parse_marshal_spec">mono_metadata_parse_marshal_spec</a></h4>
++<h4><a name="api:mono_metadata_parse_method_signature_full">mono_metadata_parse_method_signature_full</a></h4>
++<h4><a name="api:mono_metadata_parse_method_signature">mono_metadata_parse_method_signature</a></h4>
++<h4><a name="api:mono_metadata_parse_mh_full">mono_metadata_parse_mh_full</a></h4>
++<h4><a name="api:mono_metadata_parse_mh">mono_metadata_parse_mh</a></h4>
++<h4><a name="api:mono_metadata_parse_param">mono_metadata_parse_param</a></h4>
++<h4><a name="api:mono_metadata_parse_signature_full">mono_metadata_parse_signature_full</a></h4>
++<h4><a name="api:mono_metadata_parse_signature">mono_metadata_parse_signature</a></h4>
++<h4><a name="api:mono_metadata_parse_typedef_or_ref">mono_metadata_parse_typedef_or_ref</a></h4>
++<h4><a name="api:mono_metadata_parse_type_full">mono_metadata_parse_type_full</a></h4>
++<h4><a name="api:mono_metadata_parse_type">mono_metadata_parse_type</a></h4>
++<h4><a name="api:mono_metadata_properties_from_typedef">mono_metadata_properties_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_signature_alloc">mono_metadata_signature_alloc</a></h4>
++<h4><a name="api:mono_metadata_signature_dup">mono_metadata_signature_dup</a></h4>
++<h4><a name="api:mono_metadata_signature_equal">mono_metadata_signature_equal</a></h4>
++<h4><a name="api:mono_metadata_string_heap">mono_metadata_string_heap</a></h4>
++<h4><a name="api:mono_metadata_token_from_dor">mono_metadata_token_from_dor</a></h4>
++<h4><a name="api:mono_metadata_typedef_from_field">mono_metadata_typedef_from_field</a></h4>
++<h4><a name="api:mono_metadata_typedef_from_method">mono_metadata_typedef_from_method</a></h4>
++<h4><a name="api:mono_metadata_type_equal">mono_metadata_type_equal</a></h4>
++<h4><a name="api:mono_metadata_type_hash">mono_metadata_type_hash</a></h4>
++<h4><a name="api:mono_metadata_user_string">mono_metadata_user_string</a></h4>
++
++<h3>Tokens</h3>
++
++<h4><a name="api:mono_ldtoken">mono_ldtoken</a></h4>
++<h4><a name="api:mono_lookup_dynamic_token">mono_lookup_dynamic_token</a></h4>
++<h4><a name="api:mono_ldstr">mono_ldstr</a></h4>
++
++<h3>Working with signatures</h3>
++
++<h4><a name="api:mono_signature_explicit_this">mono_signature_explicit_this</a></h4>
++<h4><a name="api:mono_signature_get_call_conv">mono_signature_get_call_conv</a></h4>
++<h4><a name="api:mono_signature_get_desc">mono_signature_get_desc</a></h4>
++<h4><a name="api:mono_signature_get_param_count">mono_signature_get_param_count</a></h4>
++<h4><a name="api:mono_signature_get_params">mono_signature_get_params</a></h4>
++<h4><a name="api:mono_signature_get_return_type">mono_signature_get_return_type</a></h4>
++<h4><a name="api:mono_signature_hash">mono_signature_hash</a></h4>
++<h4><a name="api:mono_signature_is_instance">mono_signature_is_instance</a></h4>
++<h4><a name="api:mono_signature_vararg_start">mono_signature_vararg_start</a></h4>
++
++
++<h3>OpCodes</h3>
++
++<h4><a name="api:mono_opcode_name">mono_opcode_name</a></h4>
++<h4><a name="api:mono_opcode_value">mono_opcode_value</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f5a936269566c917903f30d32eb9cd45e65e0e4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,12 @@@
++thisdir = docs
++SUBDIRS = 
++include $(topdir)/build/rules.make
++
++assemble: toc.xml
++      $(MDOC) assemble -o monoapi -f hb toc.xml
++
++convert.exe: convert.cs AgilityPack.dll
++      $(CSCOMPILE) -out:$@ $< -r:AgilityPack.dll
++
++.doc-stamp:
++      
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3f25f3201a2854cd46df5dd857205d96f255bd55
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++<?xml version="1.0"?>
++<monodoc>
++  <node label="Mono Embedding" name="embed" parent="libraries"/>
++  <source provider="xhtml" basefile="monoapi" path="embed"/>
++</monodoc>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..43770131acf541e615789cbbb2cfb781864cd336
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,36 @@@
++#!/bin/sh
++#
++# Produces two lists in docscripts:
++#    public-api with the public API except the Wapi 
++#    wapi       the public WAPI API
++#
++
++dir=`dirname $0`
++add_h4()
++{
++      sed -e 's/^\t<h4>//' -e 's/$/<\/h4>/'
++}
++
++ignore_known()
++{
++      egrep -v -f $dir/ignore
++}
++
++clean_nm ()
++{
++      grep ' T ' | sed 's/.* T //'
++}
++
++ignore_wapi ()
++{
++      grep -v _wapi | fgrep -v -f $dir/wapi
++}
++
++if grep ^$ ignore >/dev/null; then
++    echo The ignore file contains empty lines, which breaks this script, please remove
++    echo the empty lines.
++    exit 1
++fi
++
++nm  $dir/../io-layer/.libs/*.o | clean_nm | grep -v _wapi | ignore_known > $dir/wapi
++nm  $dir/../*/.libs/*.o | clean_nm | ignore_known | ignore_wapi | grep -v ^ves_icall | grep -v ^mono_arch_ > $dir/public-api
diff --cc docs/public
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1defaf0f689b2ded3e9fa2690452abc0afb833aa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,79 @@@
++mono_array_clone
++mono_array_clone_in_domain
++mono_array_full_copy
++mono_array_new
++mono_array_new_full
++mono_array_new_specific
++mono_async_result_new
++mono_class_get_allocation_ftn
++mono_class_vtable
++mono_compile_method
++mono_delegate_ctor
++mono_field_get_value
++mono_field_get_value_object
++mono_field_set_value
++mono_field_static_get_value
++mono_field_static_set_value
++mono_get_constant_value_from_blob
++mono_get_delegate_invoke
++mono_install_compile_method
++mono_install_free_method
++mono_install_handler
++mono_install_remoting_trampoline
++mono_install_runtime_invoke
++mono_install_trampoline
++mono_ldstr
++mono_load_remote_field
++mono_load_remote_field_new
++mono_message_init
++mono_message_invoke
++mono_method_call_message_new
++mono_method_return_message_restore
++mono_object_castclass_mbyref
++mono_object_clone
++mono_object_get_class
++mono_object_get_domain
++mono_object_get_virtual_method
++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_print_unhandled_exception
++mono_property_get_value
++mono_property_set_value
++mono_raise_exception
++mono_release_type_locks
++mono_remote_class
++mono_remote_class_vtable
++mono_remoting_invoke
++mono_runtime_class_init
++mono_runtime_delegate_invoke
++mono_runtime_exec_main
++mono_runtime_exec_managed_code
++mono_runtime_free_method
++mono_runtime_get_main_args
++mono_runtime_invoke
++mono_runtime_invoke_array
++mono_runtime_object_init
++mono_runtime_run_main
++mono_store_remote_field
++mono_store_remote_field_new
++mono_string_from_utf16
++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_type_initialization_init
++mono_unhandled_exception
++mono_upgrade_remote_class
++mono_value_box
++mono_wait_handle_new
diff --cc docs/public-api
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3a56f5810c49e05c6c2a237045a4087eb4f4a1af
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,929 @@@
++mono_check_corlib_version
++mono_domain_has_type_resolve
++mono_domain_is_unloading
++mono_domain_owns_vtable_slot
++mono_domain_set
++mono_domain_try_type_resolve
++mono_install_runtime_cleanup
++mono_runtime_cleanup
++mono_runtime_init
++mono_runtime_is_shutting_down
++mono_runtime_quit
++mono_assemblies_cleanup
++mono_assembly_addref
++mono_assembly_close
++mono_assembly_get_image
++mono_assembly_get_main
++mono_assembly_getrootdir
++mono_assembly_load
++mono_assembly_loaded
++mono_assembly_loaded_full
++mono_assembly_load_from
++mono_assembly_load_full
++mono_assembly_name_free
++mono_assembly_name_parse
++mono_assembly_names_equal
++mono_assembly_open
++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_register_bundled_assemblies
++mono_set_dirs
++mono_stringify_assembly_name
++mono_gc_alloc_fixed
++mono_gc_base_init
++mono_gc_collect
++mono_gc_disable
++mono_gc_enable
++mono_gc_enable_events
++mono_gc_free_fixed
++mono_gc_get_heap_size
++mono_gc_get_used_size
++mono_gc_invoke_finalizers
++mono_gc_is_gc_thread
++mono_gc_make_descr_from_bitmap
++mono_gc_max_generation
++mono_gc_pending_finalizers
++mono_gc_register_thread
++mono_gc_wbarrier_arrayref_copy
++mono_gc_wbarrier_generic_store
++mono_gc_wbarrier_set_arrayref
++mono_gc_wbarrier_set_field
++mono_gc_wbarrier_value_copy
++mono_gc_weak_link_add
++mono_gc_weak_link_get
++mono_gc_weak_link_remove
++mono_object_is_alive
++mono_array_class_get
++mono_array_element_size
++mono_bounded_array_class_get
++mono_class_array_element_size
++mono_class_data_size
++mono_class_enum_basetype
++mono_classes_cleanup
++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_cctor
++mono_class_get_element_class
++mono_class_get_events
++mono_class_get_event_token
++mono_class_get_exception_for_failure
++mono_class_get_field
++mono_class_get_field_from_name
++mono_class_get_fields
++mono_class_get_field_token
++mono_class_get_finalizer
++mono_class_get_flags
++mono_class_get_full
++mono_class_get_image
++mono_class_get_implemented_interfaces
++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_nullable_param
++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_type
++mono_class_init
++mono_class_instance_size
++mono_class_is_assignable_from
++mono_class_is_enum
++mono_class_is_nullable
++mono_class_is_open_constructed_type
++mono_class_is_subclass_of
++mono_class_is_valuetype
++mono_class_layout_fields
++mono_class_min_align
++mono_class_name_from_token
++mono_class_needs_cctor_run
++mono_class_num_events
++mono_class_num_fields
++mono_class_num_methods
++mono_class_num_properties
++mono_class_set_failure
++mono_class_setup_methods
++mono_class_setup_mono_type
++mono_class_setup_parent
++mono_class_setup_supertypes
++mono_class_setup_vtable
++mono_class_setup_vtable_general
++mono_class_value_size
++mono_dup_array_type
++mono_event_get_add_method
++mono_event_get_flags
++mono_event_get_name
++mono_event_get_parent
++mono_event_get_raise_method
++mono_event_get_remove_method
++mono_field_get_data
++mono_field_get_flags
++mono_field_get_name
++mono_field_get_parent
++mono_field_get_type
++mono_get_inflated_generic_class
++mono_get_shared_generic_inst
++mono_image_add_to_name_cache
++mono_install_get_class_from_name
++mono_install_lookup_dynamic_token
++mono_ldtoken
++mono_lookup_dynamic_token
++mono_lookup_dynamic_token_class
++mono_property_get_flags
++mono_property_get_get_method
++mono_property_get_name
++mono_property_get_parent
++mono_property_get_set_method
++mono_ptr_class_get
++mono_type_get_full_name
++mono_type_get_name
++mono_type_get_name_full
++mono_type_get_underlying_type
++mono_class_describe_statics
++mono_disasm_code
++mono_disasm_code_one
++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_object_describe
++mono_object_describe_fields
++mono_signature_get_desc
++mono_type_full_name
++mono_type_get_desc
++mono_value_describe_fields
++_mono_debug_address_from_il_offset
++mono_debug_close_mono_symbol_file
++mono_debug_open_mono_symbols
++mono_debug_symfile_lookup_location
++mono_debug_symfile_lookup_method
++mono_decimal2double
++mono_decimal2Int64
++mono_decimal2string
++mono_decimal2UInt64
++mono_decimalCompare
++mono_decimalDiv
++mono_decimalFloorAndTrunc
++mono_decimalIncr
++mono_decimalIntDiv
++mono_decimalMult
++mono_decimalRound
++mono_decimalSetExponent
++mono_double2decimal
++mono_string2decimal
++mono_cleanup
++mono_context_get
++mono_context_set
++mono_debugger_check_runtime_version
++mono_domain_assembly_open
++mono_domain_create
++mono_domain_foreach
++mono_domain_free
++mono_domain_get
++mono_domain_get_by_id
++mono_domain_get_id
++mono_domain_get_tls_key
++mono_domain_set_internal
++mono_get_array_class
++mono_get_boolean_class
++mono_get_byte_class
++mono_get_char_class
++mono_get_corlib
++mono_get_double_class
++mono_get_enum_class
++mono_get_exception_class
++mono_get_int16_class
++mono_get_int32_class
++mono_get_int64_class
++mono_get_intptr_class
++mono_get_object_class
++mono_get_root_domain
++mono_get_sbyte_class
++mono_get_single_class
++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_init
++mono_init_from_assembly
++mono_init_version
++mono_jit_info_get_code_size
++mono_jit_info_get_code_start
++mono_jit_info_get_method
++mono_jit_info_table_find
++mono_string_equal
++mono_string_hash
++mono_environment_exitcode_get
++mono_environment_exitcode_set
++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_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_cannot_unload_appdomain
++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_state
++mono_get_exception_type_initialization
++mono_get_exception_type_load
++mono_domain_finalize
++mono_gc_finalize_notify
++mono_gchandle_free
++mono_gchandle_free_domain
++mono_gchandle_get_target
++mono_gchandle_is_in_domain
++mono_gchandle_new
++mono_gchandle_new_weakref
++mono_gc_is_finalizer_thread
++mono_gc_out_of_memory
++mono_object_register_finalizer
++mono_add_internal_call
++mono_create_icall_signature
++mono_lookup_internal_call
++mono_cli_rva_image_map
++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_is_dynamic
++mono_image_loaded
++mono_image_loaded_by_guid
++mono_image_loaded_by_guid_full
++mono_image_loaded_full
++mono_image_load_file_for_image
++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_images_cleanup
++mono_image_strerror
++mono_image_strong_name_position
++mono_pe_file_open
++mono_table_info_get_rows
++mono_dllmap_insert
++mono_field_from_token
++mono_free_method
++mono_get_method
++mono_get_method_full
++mono_get_shared_generic_method
++mono_install_stack_walk
++mono_loader_cleanup
++mono_loader_clear_error
++mono_loader_error_prepare_exception
++mono_loader_get_last_error
++mono_loader_lock
++mono_loader_set_error_assembly_load
++mono_loader_set_error_field_load
++mono_loader_set_error_method_load
++mono_loader_set_error_type_load
++mono_loader_unlock
++mono_lookup_pinvoke_call
++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_param_names
++mono_method_get_param_token
++mono_method_get_signature
++mono_method_get_signature_full
++mono_method_get_token
++mono_method_get_wrapper_data
++mono_method_has_marshal_info
++mono_method_signature
++mono_stack_walk
++mono_stack_walk_no_il
++load_normalization_resource
++mono_array_to_lparray
++mono_array_to_savearray
++mono_class_native_size
++mono_delegate_free_ftnptr
++mono_delegate_to_ftnptr
++mono_ftnptr_to_delegate
++mono_marshal_alloc
++mono_marshal_asany
++mono_marshal_cleanup
++mono_marshal_free
++mono_marshal_free_array
++mono_marshal_free_asany
++mono_marshal_get_castclass
++mono_marshal_get_delegate_begin_invoke
++mono_marshal_get_delegate_end_invoke
++mono_marshal_get_delegate_invoke
++mono_marshal_get_generic_array_helper
++mono_marshal_get_icall_wrapper
++mono_marshal_get_isinst
++mono_marshal_get_ldfld_remote_wrapper
++mono_marshal_get_ldfld_wrapper
++mono_marshal_get_managed_wrapper
++mono_marshal_get_native_func_wrapper
++mono_marshal_get_native_wrapper
++mono_marshal_get_proxy_cancast
++mono_marshal_get_ptr_to_struct
++mono_marshal_get_remoting_invoke
++mono_marshal_get_remoting_invoke_for_target
++mono_marshal_get_remoting_invoke_with_check
++mono_marshal_get_runtime_invoke
++mono_marshal_get_stelemref
++mono_marshal_get_stfld_remote_wrapper
++mono_marshal_get_stfld_wrapper
++mono_marshal_get_struct_to_ptr
++mono_marshal_get_synchronized_wrapper
++mono_marshal_get_unbox_wrapper
++mono_marshal_get_write_barrier
++mono_marshal_get_xappdomain_invoke
++mono_marshal_load_type_info
++mono_marshal_method_from_wrapper
++mono_marshal_realloc
++mono_marshal_set_last_error
++mono_marshal_string_to_utf16
++mono_marshal_type_size
++mono_mb_add_data
++mono_mb_add_local
++mono_mb_create_method
++mono_mb_emit_add_to_local
++mono_mb_emit_branch
++mono_mb_emit_byte
++mono_mb_emit_exception
++mono_mb_emit_i2
++mono_mb_emit_i4
++mono_mb_emit_icon
++mono_mb_emit_ldarg
++mono_mb_emit_ldarg_addr
++mono_mb_emit_ldflda
++mono_mb_emit_ldloc
++mono_mb_emit_ldloc_addr
++mono_mb_emit_ldstr
++mono_mb_emit_managed_call
++mono_mb_emit_native_call
++mono_mb_emit_short_branch
++mono_mb_emit_stloc
++mono_mb_free
++mono_mb_new
++mono_mb_patch_addr
++mono_mb_patch_addr_s
++mono_string_builder_to_utf16
++mono_string_builder_to_utf8
++mono_string_to_ansibstr
++mono_string_to_bstr
++mono_string_to_byvalstr
++mono_string_to_byvalwstr
++mono_string_utf16_to_builder
++mono_string_utf8_to_builder
++mono_type_native_stack_size
++mono_type_to_ldind
++mono_type_to_stind
++mono_upgrade_remote_class_wrapper
++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_guid_to_string
++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_generic_method_equal
++mono_metadata_get_constant_index
++mono_metadata_get_marshal_info
++mono_metadata_guid_heap
++mono_metadata_has_generic_params
++mono_metadata_implmap_from_method
++mono_metadata_inflate_generic_inst
++mono_metadata_interfaces_from_typedef
++mono_metadata_interfaces_from_typedef_full
++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_array_full
++mono_metadata_parse_custom_mod
++mono_metadata_parse_field_type
++mono_metadata_parse_generic_inst
++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_signature_full
++mono_metadata_parse_type
++mono_metadata_parse_typedef_or_ref
++mono_metadata_parse_type_full
++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_typedef_from_field
++mono_metadata_typedef_from_method
++mono_metadata_type_equal
++mono_metadata_type_hash
++mono_metadata_user_string
++mono_method_header_get_clauses
++mono_method_header_get_code
++mono_method_header_get_locals
++mono_method_header_get_num_clauses
++mono_signature_explicit_this
++mono_signature_get_call_conv
++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_type_create_from_typespec
++mono_type_generic_inst_is_valuetype
++mono_type_get_array_type
++mono_type_get_class
++mono_type_get_modifiers
++mono_type_get_ptr_type
++mono_type_get_signature
++mono_type_get_type
++mono_type_is_byref
++mono_type_size
++mono_type_stack_size
++mono_type_to_unmanaged
++mono_monitor_cleanup
++mono_monitor_enter
++mono_monitor_exit
++mono_monitor_try_enter
++mono_config_for_assembly
++mono_config_parse
++mono_config_parse_memory
++mono_get_config_dir
++mono_debugger_add_symbol_file
++mono_debugger_breakpoint_callback
++mono_debugger_event
++mono_debugger_handle_exception
++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_runtime_invoke
++mono_debugger_start_add_type
++mono_debugger_throw_exception
++mono_debugger_unhandled_exception
++mono_debugger_unlock
++mono_debug_add_method
++mono_debug_find_method
++mono_debug_free_source_location
++mono_debug_lookup_method
++mono_debug_lookup_source_location
++mono_debug_print_stack_frame
++mono_debug_using_mono_debugger
++mono_array_clone
++mono_array_clone_in_domain
++mono_array_full_copy
++mono_array_new
++mono_array_new_full
++mono_array_new_specific
++mono_async_result_new
++mono_class_get_allocation_ftn
++mono_class_vtable
++mono_compile_method
++mono_delegate_ctor
++mono_field_get_value
++mono_field_get_value_object
++mono_field_set_value
++mono_field_static_get_value
++mono_field_static_set_value
++mono_get_addr_from_ftnptr
++mono_get_constant_value_from_blob
++mono_get_delegate_invoke
++mono_install_compile_method
++mono_install_delegate_trampoline
++mono_install_free_method
++mono_install_handler
++mono_install_remoting_trampoline
++mono_install_runtime_invoke
++mono_install_trampoline
++mono_ldstr
++mono_load_remote_field
++mono_load_remote_field_new
++mono_message_init
++mono_message_invoke
++mono_method_call_message_new
++mono_method_return_message_restore
++mono_nullable_box
++mono_nullable_init
++mono_object_castclass_mbyref
++mono_object_clone
++mono_object_get_class
++mono_object_get_domain
++mono_object_get_size
++mono_object_get_virtual_method
++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_print_unhandled_exception
++mono_property_get_value
++mono_property_set_value
++mono_raise_exception
++mono_release_type_locks
++mono_remote_class
++mono_remote_class_vtable
++mono_remoting_invoke
++mono_runtime_class_init
++mono_runtime_delegate_invoke
++mono_runtime_exec_main
++mono_runtime_exec_managed_code
++mono_runtime_free_method
++mono_runtime_get_main_args
++mono_runtime_invoke
++mono_runtime_invoke_array
++mono_runtime_object_init
++mono_runtime_run_main
++mono_store_remote_field
++mono_store_remote_field_new
++mono_string_from_utf16
++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_string_to_utf8_mp
++mono_thread_get_main
++mono_thread_set_main
++mono_type_initialization_cleanup
++mono_type_initialization_init
++mono_unhandled_exception
++mono_upgrade_remote_class
++mono_value_box
++mono_value_copy
++mono_value_copy_array
++mono_vtable_get_static_field_data
++mono_wait_handle_new
++mono_opcode_name
++mono_opcode_value
++mono_profiler_allocation
++mono_profiler_appdomain_event
++mono_profiler_appdomain_loaded
++mono_profiler_assembly_event
++mono_profiler_assembly_loaded
++mono_profiler_class_event
++mono_profiler_class_loaded
++mono_profiler_code_transition
++mono_profiler_coverage_get
++mono_profiler_gc_event
++mono_profiler_gc_heap_resize
++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_method_end_jit
++mono_profiler_method_enter
++mono_profiler_method_jit
++mono_profiler_method_leave
++mono_profiler_module_event
++mono_profiler_module_loaded
++mono_profiler_set_events
++mono_profiler_shutdown
++mono_profiler_stat_hit
++mono_profiler_thread_end
++mono_profiler_thread_start
++mono_raw_buffer_cleanup
++mono_raw_buffer_free
++mono_raw_buffer_load
++mono_raw_buffer_update
++mono_assembly_get_object
++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_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_event_get_object
++mono_field_get_object
++mono_get_dbnull_object
++mono_image_basic_init
++mono_image_build_metadata
++mono_image_create_method_token
++mono_image_create_pefile
++mono_image_create_token
++mono_image_insert_string
++mono_image_load_module
++mono_method_body_get_object
++mono_method_get_object
++mono_module_file_get_object
++mono_module_get_object
++mono_param_get_objects
++mono_property_get_object
++mono_reflection_bind_generic_method_parameters
++mono_reflection_bind_generic_parameters
++mono_reflection_call_is_assignable_to
++mono_reflection_create_dynamic_method
++mono_reflection_create_generic_class
++mono_reflection_create_internal_class
++mono_reflection_create_runtime_class
++mono_reflection_event_builder_get_event_info
++mono_reflection_generic_class_initialize
++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_initialize_generic_parameter
++mono_reflection_lookup_dynamic_token
++mono_reflection_marshal_from_marshal_spec
++mono_reflection_parse_type
++mono_reflection_setup_generic_class
++mono_reflection_setup_internal_class
++mono_reflection_sighelper_get_signature_field
++mono_reflection_sighelper_get_signature_local
++mono_reflection_type_from_name
++mono_type_get_object
++mono_activate_security_manager
++mono_get_context_capture_method
++mono_is_ecma_key
++mono_is_security_manager_active
++mono_security_manager_get_methods
++mono_thread_pool_add
++mono_thread_pool_finish
++mono_alloc_special_static_data
++mono_get_special_static_data
++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_pending_exception
++mono_thread_get_tls_key
++mono_thread_has_appdomain_ref
++mono_thread_interruption_checkpoint
++mono_thread_interruption_requested
++mono_thread_interruption_request_flag
++mono_thread_manage
++mono_thread_new_init
++mono_thread_pop_appdomain_ref
++mono_thread_push_appdomain_ref
++mono_thread_request_interruption
++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_thread_stop
++mono_thread_suspend_all_other_threads
++mono_free_verify_list
++mono_image_verify_tables
++mono_method_verify
++mono_verify_corlib
++mono_perform_abc_removal
++mono_debugger_main
++mono_debug_add_aot_method
++mono_debug_print_vars
++mono_jit_cleanup
++mono_jit_exec
++mono_jit_init
++mono_main
++mono_parse_default_optimizations
++mono_inst_name
++mono_burg_emit
++mono_burg_kids
++mono_burg_label
++mono_burg_rule
++mono_debugger_run_finally
++mono_handle_exception
++mono_print_thread_dump
++mono_walk_stack
++mono_create_jump_trampoline
++mono_pmip
++mono_print_method_from_ip
++mono_set_defaults
++mono_trace_enter_method
++mono_trace_leave_method
++mono_debugger_create_notification_function
++mono_profiler_startup
++mono_profiler_startup
++add_delegate
++mono_invoke_delegate
++mono_test_marshal_inout_byval_class_delegate
++mono_test_marshal_lpstruct
++mono_test_marshal_lpstruct_blittable
++mono_test_marshal_pass_inout_custom
++mono_test_marshal_pass_out_byval_custom
++mono_test_marshal_return_fnptr
++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_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_counters_dump
++mono_counters_enable
++mono_counters_register
++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_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_signbit_double
++mono_signbit_float
++mono_md5_final
++mono_md5_get_digest
++mono_md5_get_digest_from_file
++mono_md5_init
++mono_md5_update
++mono_path_canonicalize
++mono_path_resolve_symlinks
++mono_digest_get_public_token
++mono_sha1_final
++mono_sha1_get_digest
++mono_sha1_get_digest_from_file
++mono_sha1_init
++mono_sha1_update
++mono_escape_uri_string
++mono_unicode_from_external
++mono_unicode_to_external
++mono_utf8_from_external
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b207cb72c8e78fcb961a7a1ed2dad58ecbe0869b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,55 @@@
++<h2>Assemblies</h2>
++
++<h3>Synopsis</h3>
++
++      <div class="header">
++#include &lt;metadata/assembly.h&gt;
++
++typedef struct _MonoImage MonoImage;
++typedef struct _MonoAssembly MonoAssembly;
++
++typedef struct {
++      const char *name;
++      const char *culture;
++      const char *hash_value;
++      const guint8* public_key;
++      guchar public_key_token [MONO_PUBLIC_KEY_TOKEN_LENGTH];
++      guint32 hash_alg;
++      guint32 hash_len;
++      guint32 flags;
++      guint16 major, minor, build, revision;
++} MonoAssemblyName;
++
++@API_IDX@
++      
++      </div>
++      
++<h3>Assembly Loading</h3>
++
++<h4><a name="api:mono_assembly_open">mono_assembly_open</a></h4>
++<h4><a name="api:mono_assembly_close">mono_assembly_close</a></h4>
++<h4><a name="api:mono_assembly_load">mono_assembly_load</a></h4>
++<h4><a name="api:mono_assembly_load_full">mono_assembly_load_full</a></h4>
++<h4><a name="api:mono_assembly_loaded">mono_assembly_loaded</a></h4>
++
++<h3>Working with Assemblies</h3>
++
++<h4><a name="api:mono_assembly_get_image">mono_assembly_get_image</a></h4>
++<h4><a name="api:mono_assembly_get_main">mono_assembly_get_main</a></h4>
++<h4><a name="api:mono_assembly_getrootdir">mono_assembly_getrootdir</a></h4>
++<h4><a name="api:mono_assembly_addref">mono_assembly_addref</a></h4>
++
++<h3>Assembly Names</h3>
++
++      <p>The MonoAssemblyName contains the full identity of an
++      assembly (name, culture, public key, public key token,
++      version and any other flags).
++
++      <p>These unmanaged objects represent the <a
++      href="http://www.mono-project.com/monodoc/T:System.Reflection.AssemblyName">System.Reflection.AssemblyName</a>
++      managed type.
++
++<h4><a name="api:mono_assembly_name_parse">mono_assembly_name_parse</a></h4>
++<h4><a name="api:mono_assembly_name_free">mono_assembly_name_free</a></h4>
++<h4><a name="api:mono_stringify_assembly_name">mono_stringify_assembly_name</a></h4>
++<h4><a name="api:mono_assembly_names_equal">mono_assembly_names_equal</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1e1bb68f5dd2987514828221d99b0afebeea225c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,72 @@@
++<h2>Class Operations</h2>
++
++<h4><a name="api:mono_class_array_element_size">mono_class_array_element_size</a></h4>
++<h4><a name="api:mono_class_create_generic_2">mono_class_create_generic_2</a></h4>
++<h4><a name="api:mono_class_create_generic">mono_class_create_generic</a></h4>
++<h4><a name="api:mono_class_data_size">mono_class_data_size</a></h4>
++<h4><a name="api:mono_class_enum_basetype">mono_class_enum_basetype</a></h4>
++<h4><a name="api:mono_class_from_generic_parameter">mono_class_from_generic_parameter</a></h4>
++<h4><a name="api:mono_class_from_mono_type">mono_class_from_mono_type</a></h4>
++<h4><a name="api:mono_class_from_name_case">mono_class_from_name_case</a></h4>
++<h4><a name="api:mono_class_from_name">mono_class_from_name</a></h4>
++<h4><a name="api:mono_class_from_typeref">mono_class_from_typeref</a></h4>
++<h4><a name="api:mono_class_get_allocation_ftn">mono_class_get_allocation_ftn</a></h4>
++<h4><a name="api:mono_class_get_byref_type">mono_class_get_byref_type</a></h4>
++<h4><a name="api:mono_class_get_element_class">mono_class_get_element_class</a></h4>
++<h4><a name="api:mono_class_get_events">mono_class_get_events</a></h4>
++<h4><a name="api:mono_class_get_event_token">mono_class_get_event_token</a></h4>
++<h4><a name="api:mono_class_get_field_from_name">mono_class_get_field_from_name</a></h4>
++<h4><a name="api:mono_class_get_field">mono_class_get_field</a></h4>
++<h4><a name="api:mono_class_get_fields">mono_class_get_fields</a></h4>
++<h4><a name="api:mono_class_get_field_token">mono_class_get_field_token</a></h4>
++<h4><a name="api:mono_class_get_flags">mono_class_get_flags</a></h4>
++<h4><a name="api:mono_class_get_full">mono_class_get_full</a></h4>
++<h4><a name="api:mono_class_get_image">mono_class_get_image</a></h4>
++<h4><a name="api:mono_class_get_implemented_interfaces">mono_class_get_implemented_interfaces</a></h4>
++<h4><a name="api:mono_class_get_interfaces">mono_class_get_interfaces</a></h4>
++<h4><a name="api:mono_class_get_method_from_name">mono_class_get_method_from_name</a></h4>
++<h4><a name="api:mono_class_get_methods">mono_class_get_methods</a></h4>
++<h4><a name="api:mono_class_get">mono_class_get</a></h4>
++<h4><a name="api:mono_class_get_name">mono_class_get_name</a></h4>
++<h4><a name="api:mono_class_get_namespace">mono_class_get_namespace</a></h4>
++<h4><a name="api:mono_class_get_nested_types">mono_class_get_nested_types</a></h4>
++<h4><a name="api:mono_class_get_nesting_type">mono_class_get_nesting_type</a></h4>
++<h4><a name="api:mono_class_get_overrides">mono_class_get_overrides</a></h4>
++<h4><a name="api:mono_class_get_parent">mono_class_get_parent</a></h4>
++<h4><a name="api:mono_class_get_properties">mono_class_get_properties</a></h4>
++<h4><a name="api:mono_class_get_property_from_name">mono_class_get_property_from_name</a></h4>
++<h4><a name="api:mono_class_get_property_token">mono_class_get_property_token</a></h4>
++<h4><a name="api:mono_class_get_rank">mono_class_get_rank</a></h4>
++<h4><a name="api:mono_class_get_type">mono_class_get_type</a></h4>
++<h4><a name="api:mono_class_inflate_generic_method">mono_class_inflate_generic_method</a></h4>
++<h4><a name="api:mono_class_inflate_generic_type">mono_class_inflate_generic_type</a></h4>
++<h4><a name="api:mono_class_init">mono_class_init</a></h4>
++<h4><a name="api:mono_class_instance_size">mono_class_instance_size</a></h4>
++<h4><a name="api:mono_class_is_assignable_from">mono_class_is_assignable_from</a></h4>
++<h4><a name="api:mono_class_is_enum">mono_class_is_enum</a></h4>
++<h4><a name="api:mono_class_is_open_constructed_type">mono_class_is_open_constructed_type</a></h4>
++<h4><a name="api:mono_class_is_subclass_of">mono_class_is_subclass_of</a></h4>
++<h4><a name="api:mono_class_is_valuetype">mono_class_is_valuetype</a></h4>
++<h4><a name="api:mono_class_layout_fields">mono_class_layout_fields</a></h4>
++<h4><a name="api:mono_class_min_align">mono_class_min_align</a></h4>
++<h4><a name="api:mono_class_native_size">mono_class_native_size</a></h4>
++<h4><a name="api:mono_class_needs_cctor_run">mono_class_needs_cctor_run</a></h4>
++<h4><a name="api:mono_class_num_events">mono_class_num_events</a></h4>
++<h4><a name="api:mono_class_num_fields">mono_class_num_fields</a></h4>
++<h4><a name="api:mono_class_num_methods">mono_class_num_methods</a></h4>
++<h4><a name="api:mono_class_num_properties">mono_class_num_properties</a></h4>
++<h4><a name="api:mono_class_setup_mono_type">mono_class_setup_mono_type</a></h4>
++<h4><a name="api:mono_class_setup_parent">mono_class_setup_parent</a></h4>
++<h4><a name="api:mono_class_setup_supertypes">mono_class_setup_supertypes</a></h4>
++<h4><a name="api:mono_class_setup_vtable">mono_class_setup_vtable</a></h4>
++<h4><a name="api:mono_class_value_size">mono_class_value_size</a></h4>
++<h4><a name="api:mono_class_vtable">mono_class_vtable</a></h4>
++<h4><a name="api:mono_class_get_cctor">mono_class_get_cctor</a></h4> 
++<h4><a name="api:mono_class_get_finalizer">mono_class_get_finalizer</a></h4> 
++<h4><a name="api:mono_class_get_method_from_name_flags">mono_class_get_method_from_name_flags</a></h4> 
++<h4><a name="api:mono_class_inflate_generic_signature">mono_class_inflate_generic_signature</a></h4> 
++<h4><a name="api:mono_class_name_from_token">mono_class_name_from_token</a></h4> 
++<h4><a name="api:mono_class_setup_methods">mono_class_setup_methods</a></h4> 
++<h4><a name="api:mono_class_setup_vtable_general">mono_class_setup_vtable_general</a></h4> 
++<h4><a name="api:mono_class_get_exception_for_failure">mono_class_get_exception_for_failure</a></h4>
++<h4><a name="api:mono_class_is_nullable">mono_class_is_nullable</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..36273fd5a3c957be05fb134db95ad614a2ac603d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,40 @@@
++<h3>Code manager</h3>
++
++<h4><a name="api:mono_code_manager_commit">mono_code_manager_commit</a></h4>
++<h4><a name="api:mono_code_manager_destroy">mono_code_manager_destroy</a></h4>
++<h4><a name="api:mono_code_manager_foreach">mono_code_manager_foreach</a></h4>
++<h4><a name="api:mono_code_manager_invalidate">mono_code_manager_invalidate</a></h4>
++<h4><a name="api:mono_code_manager_new_dynamic">mono_code_manager_new_dynamic</a></h4>
++<h4><a name="api:mono_code_manager_new">mono_code_manager_new</a></h4>
++<h4><a name="api:mono_code_manager_reserve">mono_code_manager_reserve</a></h4>
++
++<h3>Registration services</h3>
++
++      <p>The core services of Mono are independent of the execution
++      system.  The interpreter and the native code generator both
++      use the functions in the following section to register
++      handlers to execute code with the execution system.
++
++      <p>These APIs would allow a different execution engine (code
++      generator or interpreter) to be hooked to the rest of the Mono
++      VM. 
++      
++<h4><a name="api:mono_install_assembly_load_hook">mono_install_assembly_load_hook</a></h4>
++<h4><a name="api:mono_install_assembly_preload_hook">mono_install_assembly_preload_hook</a></h4>
++<h4><a name="api:mono_install_assembly_search_hook">mono_install_assembly_search_hook</a></h4>
++<h4><a name="api:mono_install_compile_method">mono_install_compile_method</a></h4>
++<h4><a name="api:mono_install_free_method">mono_install_free_method</a></h4>
++<h4><a name="api:mono_install_handler">mono_install_handler</a></h4>
++<h4><a name="api:mono_install_lookup_dynamic_token">mono_install_lookup_dynamic_token</a></h4>
++<h4><a name="api:mono_install_remoting_trampoline">mono_install_remoting_trampoline</a></h4>
++<h4><a name="api:mono_install_runtime_invoke">mono_install_runtime_invoke</a></h4>
++<h4><a name="api:mono_install_stack_walk">mono_install_stack_walk</a></h4>
++<h4><a name="api:mono_install_thread_callbacks">mono_install_thread_callbacks</a></h4>
++<h4><a name="api:mono_install_trampoline">mono_install_trampoline</a></h4>
++<h4><a name="api:mono_install_runtime_cleanup">mono_install_runtime_cleanup</a></h4>
++<h4><a name="api:mono_install_assembly_postload_refonly_search_hook">mono_install_assembly_postload_refonly_search_hook</a></h4>
++<h4><a name="api:mono_install_assembly_postload_search_hook">mono_install_assembly_postload_search_hook</a></h4>
++<h4><a name="api:mono_install_assembly_refonly_preload_hook">mono_install_assembly_refonly_preload_hook</a></h4>
++<h4><a name="api:mono_install_assembly_refonly_search_hook">mono_install_assembly_refonly_search_hook</a></h4>
++<h4><a name="api:mono_install_delegate_trampoline">mono_install_delegate_trampoline</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b8ca9f4a0d4f1ccddb2678516b5d237d1d71d96d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,44 @@@
++<h2>Counters</h2>
++      
++      <p>Counters is a Mono API for flexible statistics collection
++      and is used to track different events inside the JIT.
++
++        <p>You would typically register an address with the
++        <tt>mono_counters_register</tt> routine and increment the
++        counters from your application as you go.   At the end of the
++        program you would call mono_counters_dump which will display
++        all the registered counters.
++
++      <p>If you need more complicated counter computation, a
++        function can be provided instead of an address.  In that case
++        the <tt>MONO_COUNTER_CALLBACK</tt> flag must be ored in the
++        type request. 
++
++      <p>The types that can be rendered are:
++              
++<pre>
++       MONO_COUNTER_INT
++       MONO_COUNTER_UINT
++       MONO_COUNTER_WORD
++       MONO_COUNTER_LONG
++       MONO_COUNTER_ULONG
++       MONO_COUNTER_DOUBLE
++       MONO_COUNTER_STRING
++</pre>
++      
++      <p>To organize the output, you register also a section where
++      the counter will be displayed, or one of the following values
++      when you register your counter:
++
++<pre>
++
++       MONO_COUNTER_JIT
++       MONO_COUNTER_GC
++       MONO_COUNTER_METADATA
++       MONO_COUNTER_GENERICS
++       MONO_COUNTER_SECURITY
++</pre>
++      
++<h4><a name="api:mono_counters_dump">mono_counters_dump</a></h4>
++<h4><a name="api:mono_counters_enable">mono_counters_enable</a></h4>
++<h4><a name="api:mono_counters_register">mono_counters_register</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3642e852456793215ad4da3d0e1c19a165961c2f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,45 @@@
++<h4><a name="api:mono_debug_il_offset_from_address">mono_debug_il_offset_from_address</a></h4>
++<h4><a name="api:mono_debug_open_mono_symbol_file">mono_debug_open_mono_symbol_file</a></h4>
++<h4><a name="api:mono_debug_source_location_from_address">mono_debug_source_location_from_address</a></h4>
++<h4><a name="api:mono_debug_source_location_from_il_offset">mono_debug_source_location_from_il_offset</a></h4>
++<h4><a name="api:mono_debug_add_aot_method">mono_debug_add_aot_method</a></h4>
++<h4><a name="api:mono_debug_add_method">mono_debug_add_method</a></h4>
++<h4><a name="api:_mono_debug_address_from_il_offset">_mono_debug_address_from_il_offset</a></h4>
++<h4><a name="api:mono_debug_address_from_il_offset">mono_debug_address_from_il_offset</a></h4>
++<h4><a name="api:mono_debug_add_wrapper">mono_debug_add_wrapper</a></h4>
++<h4><a name="api:mono_debug_close_mono_symbol_file">mono_debug_close_mono_symbol_file</a></h4>
++<h4><a name="api:mono_debug_find_method">mono_debug_find_method</a></h4>
++<h4><a name="api:mono_debug_find_source_location">mono_debug_find_source_location</a></h4>
++<h4><a name="api:mono_debug_using_mono_debugger">mono_debug_using_mono_debugger</a></h4>
++
++<h3>Mono Debugger Interface</h3>
++
++      <p>These are methods that are invoked by the debugger at
++      runtime.
++      
++<h4><a name="api:mono_debugger_add_builtin_types">mono_debugger_add_builtin_types</a></h4>
++<h4><a name="api:mono_debugger_add_method">mono_debugger_add_method</a></h4>
++<h4><a name="api:mono_debugger_add_symbol_file">mono_debugger_add_symbol_file</a></h4>
++<h4><a name="api:mono_debugger_add_type">mono_debugger_add_type</a></h4>
++<h4><a name="api:mono_debugger_add_wrapper">mono_debugger_add_wrapper</a></h4>
++<h4><a name="api:mono_debugger_breakpoint_callback">mono_debugger_breakpoint_callback</a></h4>
++<h4><a name="api:mono_debugger_check_runtime_version">mono_debugger_check_runtime_version</a></h4>
++<h4><a name="api:mono_debugger_create_notification_function">mono_debugger_create_notification_function</a></h4>
++<h4><a name="api:mono_debugger_event">mono_debugger_event</a></h4>
++<h4><a name="api:_mono_debugger_get_symfile">_mono_debugger_get_symfile</a></h4>
++<h4><a name="api:mono_debugger_handle_exception">mono_debugger_handle_exception</a></h4>
++<h4><a name="api:mono_debugger_insert_breakpoint_full">mono_debugger_insert_breakpoint_full</a></h4>
++<h4><a name="api:mono_debugger_insert_breakpoint">mono_debugger_insert_breakpoint</a></h4>
++<h4><a name="api:mono_debugger_lock">mono_debugger_lock</a></h4>
++<h4><a name="api:mono_debugger_lookup_assembly">mono_debugger_lookup_assembly</a></h4>
++<h4><a name="api:mono_debugger_lookup_type">mono_debugger_lookup_type</a></h4>
++<h4><a name="api:mono_debugger_method_has_breakpoint">mono_debugger_method_has_breakpoint</a></h4>
++<h4><a name="api:mono_debugger_remove_breakpoint">mono_debugger_remove_breakpoint</a></h4>
++<h4><a name="api:mono_debugger_runtime_invoke">mono_debugger_runtime_invoke</a></h4>
++<h4><a name="api:mono_debugger_start_add_type">mono_debugger_start_add_type</a></h4>
++<h4><a name="api:mono_debugger_throw_exception">mono_debugger_throw_exception</a></h4>
++<h4><a name="api:mono_debugger_unhandled_exception">mono_debugger_unhandled_exception</a></h4>
++<h4><a name="api:mono_debugger_unlock">mono_debugger_unlock</a></h4>
++<h4><a name="api:mono_debugger_finalize_threads">mono_debugger_finalize_threads</a></h4>
++<h4><a name="api:mono_debugger_main">mono_debugger_main</a></h4>
++<h4><a name="api:mono_debugger_run_finally">mono_debugger_run_finally</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..41c9347811f1570134ad80d2dfbebbb262565304
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,19 @@@
++<h1>Decimal Support</h1>
++
++      <p>You can use the mono_decimal functions to access and
++      manipulate <tt>System.Decimal</tt> types from C.
++      
++<h4><a name="api:mono_decimal2double">mono_decimal2double</a></h4>
++<h4><a name="api:mono_decimal2Int64">mono_decimal2Int64</a></h4>
++<h4><a name="api:mono_decimal2string">mono_decimal2string</a></h4>
++<h4><a name="api:mono_decimal2UInt64">mono_decimal2UInt64</a></h4>
++<h4><a name="api:mono_decimalCompare">mono_decimalCompare</a></h4>
++<h4><a name="api:mono_decimalDiv">mono_decimalDiv</a></h4>
++<h4><a name="api:mono_decimalFloorAndTrunc">mono_decimalFloorAndTrunc</a></h4>
++<h4><a name="api:mono_decimalIncr">mono_decimalIncr</a></h4>
++<h4><a name="api:mono_decimalIntDiv">mono_decimalIntDiv</a></h4>
++<h4><a name="api:mono_decimalMult">mono_decimalMult</a></h4>
++<h4><a name="api:mono_decimalRound">mono_decimalRound</a></h4>
++<h4><a name="api:mono_decimalSetExponent">mono_decimalSetExponent</a></h4>
++<h4><a name="api:mono_double2decimal">mono_double2decimal</a></h4>
++<h4><a name="api:mono_string2decimal">mono_string2decimal</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..bbcfd57908ba92c53324b040a954c291db0878e1
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,55 @@@
++<h2>Application Domains</h2>
++
++<h3>Synopsis</h3>
++
++<div class="header">
++#include &lt;metadata/appdomain.h&gt;
++
++/* Managed AppDomain */
++typedef struct _MonoAppDomain MonoAppDomain;
++
++/* Unmanaged representation */
++typedef struct _MonoDomain MonoDomain;
++
++/* Represents System.Runtime.Remoting.Contexts.Context */
++typedef struct _MonoAppContext MonoAppContext
++@API_IDX@
++</div>
++
++      <p>Application domains are used to isolate multiple
++      applications on a single Mono virtual machine.  They are
++      conceptually similiar to processes, the difference is that
++      processes are managed by the operating system, while
++      application domains are managed by the Mono virtual machine.
++
++      <p>For more information on applications domains see the <a
++      href="http://www.gotdotnet.com/team/clr/AppdomainFAQ.aspx">AppDomain FAQ</a>.
++              
++      <p>The <tt>MonoDomain</tt> is the unmanaged representation of
++      the <a
++      href="http://www.mono-project.com/monodoc/T:System.AppDomain">System.AppDomain</a>
++      managed type, while the <tt>MonoAppDomain</tt> type represents
++      the managed version (<tt>MonoAppDomain</tt> has a pointer to
++      a <tt>MonoDomain</tt>).
++
++<h4><a name="api:mono_domain_assembly_open">mono_domain_assembly_open</a></h4>
++<h4><a name="api:mono_domain_create">mono_domain_create</a></h4>
++<h4><a name="api:mono_domain_finalize">mono_domain_finalize</a></h4>
++<h4><a name="api:mono_domain_foreach">mono_domain_foreach</a></h4>
++<h4><a name="api:mono_domain_free">mono_domain_free</a></h4>
++<h4><a name="api:mono_domain_get_by_id">mono_domain_get_by_id</a></h4>
++<h4><a name="api:mono_domain_get_id">mono_domain_get_id</a></h4>
++<h4><a name="api:mono_domain_get">mono_domain_get</a></h4>
++<h4><a name="api:mono_domain_has_type_resolve">mono_domain_has_type_resolve</a></h4>
++<h4><a name="api:mono_domain_is_unloading">mono_domain_is_unloading</a></h4>
++<h4><a name="api:mono_domain_set_internal">mono_domain_set_internal</a></h4>
++<h4><a name="api:mono_domain_set">mono_domain_set</a></h4>
++<h4><a name="api:mono_domain_try_type_resolve">mono_domain_try_type_resolve</a></h4>
++<h4><a name="api:mono_domain_get_tls_key">mono_domain_get_tls_key</a></h4> 
++<h4><a name="api:mono_domain_owns_vtable_slot">mono_domain_owns_vtable_slot</a></h4> 
++
++<h3>Contexts</h3>
++
++<h4><a name="api:mono_context_get">mono_context_get</a></h4>
++<h4><a name="api:mono_context_set">mono_context_set</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..eba41a13bec76aa53daed33fdd3887d5846e5913
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,141 @@@
++<h2>Dynamic Code Generation</h2>
++
++      <p>The dynamic code generation interface inside the Mono
++      runtime is similar to the API exposed by
++      System.Reflection.Emit.
++
++      <p>This interface is used by Mono internally to generate code
++      on the flight in a cross-platform fashion.  For example,
++      P/Invoke marshalling in Mono is implemented in terms of this
++      interface, but it is also used in various other parts of the
++      runtime.
++
++      <p>Unlike Reflection.Emit, the dynamic code generation
++      interface does not start with an assembly builder.   The code
++      generation interface starts directly at the method level,
++      which is represented by a pointer to the MonoMethodBuilder
++      structure.
++
++      <p>To JIT this method, the process is this:
++
++      <ul>
++              <li>Create a <tt>MonoMethodBuilder</tt> object using
++              the <tt>mono_mb_new</tt> method.  The method's class
++              is specified as the first argument.
++
++              <li>Create the method signature, using
++              <tt>mono_metadata_signature_alloc</tt>.  The call
++              takes the number of arguments that the method takes.
++              Then you must initialize the types for each one of the
++              parameters.
++
++              <li>Emit the CIL code, using one of the
++              <tt>mono_mb_emit_*</tt> functions.   There are some
++              helper routines that you can use.
++
++              <li>Create the <tt>MonoMethod</tt> from the
++              <tt>MethodBuilder</tt> using
++              <tt>mono_mb_create_method</tt>.
++
++              <li>Release the <tt>MonoMethodBuilder</tt> resources
++              using mono_mb_free. 
++      </ul>
++
++      <p>The result of this process is a <tt>MonoMethod</tt> which
++      can be called using <tt><a
++      href="api:mono_create_jit_trampoline">mono_create_jit_trampoline</a></tt>
++      routine or can be passed to any other functions that require
++      the MonoMethod.
++
++      <p>Example:
++
++      <pre>
++MonoMethod *adder ()
++{
++    MonoMethodBuilder *mb;
++    MonoMethodSignature *sig;
++    MonoMethod *method;
++    
++    mb = mono_mb_new (mono_defaults.object_class, "adder", MONO_WRAPPER_NONE);
++
++    /* Setup method signature */
++    sig = mono_metadata_signature_alloc (2);
++    sig->ret = &amp;mono_get_int32_class ()->byval_arg;
++    sig->params [0] = &amp;mono_get_int32_class ()->byval_arg;
++    sig->params [1] = &amp;mono_defaults.int32_class->byval_arg;
++
++    /* Emit CIL code */
++    mono_mb_emit_ldarg (mb, 0);
++    mono_mb_emit_ldarg (mb, 1);
++    mono_mb_emit_byte (mb, CEE_ADD);
++    mono_mb_emit_byte (mb, CEE_RET);
++
++    /* Get the method */
++    method = mono_mb_create_method (mb, sig, max_stack);
++    
++    /* Cleanup */
++    mono_mb-free (mb);
++    return method;
++}
++      </pre>
++      
++<h4><a name="api:mono_mb_new">mono_mb_new</a></h4>
++
++      <p>The possible values for the <i>type</i> argument are:
++
++<pre>
++        MONO_WRAPPER_NONE
++        MONO_WRAPPER_DELEGATE_INVOKE
++        MONO_WRAPPER_DELEGATE_BEGIN_INVOKE
++        MONO_WRAPPER_DELEGATE_END_INVOKE
++        MONO_WRAPPER_RUNTIME_INVOKE
++        MONO_WRAPPER_NATIVE_TO_MANAGED
++        MONO_WRAPPER_MANAGED_TO_NATIVE
++        MONO_WRAPPER_REMOTING_INVOKE
++        MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK
++        MONO_WRAPPER_XDOMAIN_INVOKE
++        MONO_WRAPPER_XDOMAIN_DISPATCH
++        MONO_WRAPPER_LDFLD
++        MONO_WRAPPER_STFLD
++        MONO_WRAPPER_LDFLD_REMOTE
++        MONO_WRAPPER_STFLD_REMOTE
++        MONO_WRAPPER_SYNCHRONIZED
++        MONO_WRAPPER_DYNAMIC_METHOD
++        MONO_WRAPPER_ISINST
++        MONO_WRAPPER_CASTCLASS
++        MONO_WRAPPER_PROXY_ISINST
++        MONO_WRAPPER_STELEMREF
++        MONO_WRAPPER_UNBOX
++        MONO_WRAPPER_LDFLDA
++        MONO_WRAPPER_UNKNOWN
++</pre>
++
++<h4><a name="api:mono_mb_add_data">mono_mb_add_data</a></h4>
++<h4><a name="api:mono_mb_add_local">mono_mb_add_local</a></h4>
++<h4><a name="api:mono_mb_create_method">mono_mb_create_method</a></h4>
++<h4><a name="api:mono_mb_emit_add_to_local">mono_mb_emit_add_to_local</a></h4>
++<h4><a name="api:mono_mb_emit_branch">mono_mb_emit_branch</a></h4>
++<h4><a name="api:mono_mb_emit_byte">mono_mb_emit_byte</a></h4>
++<h4><a name="api:mono_mb_emit_exception">mono_mb_emit_exception</a></h4>
++<h4><a name="api:mono_mb_emit_i2">mono_mb_emit_i2</a></h4>
++<h4><a name="api:mono_mb_emit_i4">mono_mb_emit_i4</a></h4>
++<h4><a name="api:mono_mb_emit_icon">mono_mb_emit_icon</a></h4>
++<h4><a name="api:mono_mb_emit_ldarg_addr">mono_mb_emit_ldarg_addr</a></h4>
++<h4><a name="api:mono_mb_emit_ldarg">mono_mb_emit_ldarg</a></h4>
++<h4><a name="api:mono_mb_emit_ldflda">mono_mb_emit_ldflda</a></h4>
++<h4><a name="api:mono_mb_emit_ldloc_addr">mono_mb_emit_ldloc_addr</a></h4>
++<h4><a name="api:mono_mb_emit_ldloc">mono_mb_emit_ldloc</a></h4>
++<h4><a name="api:mono_mb_emit_ldstr">mono_mb_emit_ldstr</a></h4>
++<h4><a name="api:mono_mb_emit_managed_call">mono_mb_emit_managed_call</a></h4>
++<h4><a name="api:mono_mb_emit_native_call">mono_mb_emit_native_call</a></h4>
++<h4><a name="api:mono_mb_emit_stloc">mono_mb_emit_stloc</a></h4>
++<h4><a name="api:mono_mb_free">mono_mb_free</a></h4>
++
++<h4><a name="api:mono_mb_patch_addr">mono_mb_patch_addr</a></h4>
++<h4><a name="api:mono_mb_patch_addr_s">mono_mb_patch_addr_s</a></h4>
++              
++<h4><a name="api:mono_metadata_signature_alloc">mono_metadata_signature_alloc</a></h4>
++<h4><a name="api:mono_metadata_signature_dup">mono_metadata_signature_dup</a></h4>
++<h4><a name="api:mono_metadata_signature_equal">mono_metadata_signature_equal</a></h4>
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..71038a59872b617128dcadc6c3bb64e05389b3a8
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,78 @@@
++<h2>Embedding Mono</h2>
++
++<h4><a name="api:mono_jit_init">mono_jit_init</a></h4>
++<h4><a name="api:mono_set_dirs">mono_set_dirs</a></h4>
++<h4><a name="api:mono_runtime_exec_main">mono_runtime_exec_main</a></h4>
++<h4><a name="api:mono_runtime_exec_managed_code">mono_runtime_exec_managed_code</a></h4>
++
++<h4><a name="api:mono_jit_cleanup">mono_jit_cleanup</a></h4>
++<h4><a name="api:mono_set_defaults">mono_set_defaults</a></h4>
++
++<h3>Internal Calls</h3>
++
++      <p>The Mono runtime provides two mechanisms to expose C code
++      to the CIL universe: internal calls and native C
++      code. Internal calls are tightly integrated with the runtime,
++      and have the least overhead, as they use the same data types
++      that the runtime uses.
++
++      <p>The other option is to use the Platform Invoke (P/Invoke)
++      to call C code from the CIL universe, using the standard
++      P/Invoke mechanisms.
++
++      <p>To register an internal call, use this call you use the
++      <tt>mono_add_internal_call</tt> routine.
++
++<h4>Data Marshalling</h4>
++
++      <p>Managed objects are represented as <tt>MonoObject*</tt>
++      types.  Those objects that the runtime consumes directly have
++      more specific C definitions (for example strings are of type
++      <tt>MonoString *</tt>, delegates are of type
++      <tt>MonoDelegate*</tt> but they are still <tt>MonoObject
++      *</tt>s).
++
++      <p>As of Mono 1.2.x types defined in mscorlib.dll do not have
++      their fields reordered in any way.   But other libraries might
++      have their fields reordered.   In these cases, Managed
++      structures and objects have the same layout in the C# code as
++      they do in the unmanaged world.
++
++      <p>Structures defined outside corlib must have a specific
++      StructLayout definition, and have it set as sequential if you
++      plan on accessing these fields directly from C code.
++
++      <p><b>Important</B> Internal calls do not provide support for
++      marshalling structures.  This means that any API calls that
++      take a structure (excluding the system types like int32,
++      int64, etc) must be passed as a pointer, in C# this means
++      passing the value as a "ref" or "out" parameter.
++
++<h4><a name="api:mono_add_internal_call">mono_add_internal_call</a></h4>
++
++<h3>Mono Runtime Configuration</h3>
++
++      <p>Certain features of the Mono runtime, like DLL mapping, are
++      available through a configuration file that is loaded at
++      runtime.   The default Mono implementation loads the
++      configuration file from <tt>$sysconfig/mono/config</tt>
++      (typically this is <tt>/etc/mono/config</tt>).
++
++      <p>See the <tt>mono-config(5)</tt> man page for more details
++      on what goes in this file.
++
++      <p>The following APIs expose this functionality:
++      
++<h4><a name="api:mono_config_parse">mono_config_parse</a></h4>
++<h4><a name="api:mono_config_parse_memory">mono_config_parse_memory</a></h4>
++
++<h3>Function Pointers</h3>
++
++      <p>To wrap a function pointer into something that the Mono
++      runtime can consume, you should use the mono_create_ftnptr.
++      This is only important if you plan on running on the IA64
++      architecture.   Otherwise you can just use the function
++      pointer address.
++      
++<h4><a name="api:mono_create_ftnptr">mono_create_ftnptr</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..13d97ca7a8e0e81151185d05d021fd73a0eac65d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,59 @@@
++<h2>Exception Handling</h2>
++
++<div class="header">
++@API_IDX@
++</div>
++
++<h3>Raising and Catching exceptions</h3>
++
++<h4><a name="api:mono_raise_exception">mono_raise_exception</a></h4>
++<h4><a name="api:mono_unhandled_exception">mono_unhandled_exception</a></h4>
++<h4><a name="api:mono_print_unhandled_exception">mono_print_unhandled_exception</a></h4>
++<h4><a name="api:mono_handle_exception">mono_handle_exception</a></h4>
++
++
++<h3>Exception Types: General API</h3>
++
++<h4><a name="api:mono_exception_from_name_domain">mono_exception_from_name_domain</a></h4>
++<h4><a name="api:mono_exception_from_name">mono_exception_from_name</a></h4>
++<h4><a name="api:mono_exception_from_name_msg">mono_exception_from_name_msg</a></h4>
++<h4><a name="api:mono_exception_from_name_two_strings">mono_exception_from_name_two_strings</a></h4>
++
++<h3>Obtaining Common Exceptions</h3>
++
++      <p>There are a number of common exceptions that are used by
++      the runtime, use the routines in this section to get a copy of
++      those exceptions.
++      
++<h4><a name="api:mono_get_exception_appdomain_unloaded">mono_get_exception_appdomain_unloaded</a></h4>
++<h4><a name="api:mono_get_exception_argument">mono_get_exception_argument</a></h4>
++<h4><a name="api:mono_get_exception_argument_null">mono_get_exception_argument_null</a></h4>
++<h4><a name="api:mono_get_exception_argument_out_of_range">mono_get_exception_argument_out_of_range</a></h4>
++<h4><a name="api:mono_get_exception_arithmetic">mono_get_exception_arithmetic</a></h4>
++<h4><a name="api:mono_get_exception_array_type_mismatch">mono_get_exception_array_type_mismatch</a></h4>
++<h4><a name="api:mono_get_exception_bad_image_format">mono_get_exception_bad_image_format</a></h4>
++<h4><a name="api:mono_get_exception_cannot_unload_appdomain">mono_get_exception_cannot_unload_appdomain</a></h4>
++<h4><a name="api:mono_get_exception_class">mono_get_exception_class</a></h4>
++<h4><a name="api:mono_get_exception_divide_by_zero">mono_get_exception_divide_by_zero</a></h4>
++<h4><a name="api:mono_get_exception_execution_engine">mono_get_exception_execution_engine</a></h4>
++<h4><a name="api:mono_get_exception_file_not_found2">mono_get_exception_file_not_found2</a></h4>
++<h4><a name="api:mono_get_exception_file_not_found">mono_get_exception_file_not_found</a></h4>
++<h4><a name="api:mono_get_exception_index_out_of_range">mono_get_exception_index_out_of_range</a></h4>
++<h4><a name="api:mono_get_exception_invalid_cast">mono_get_exception_invalid_cast</a></h4>
++<h4><a name="api:mono_get_exception_io">mono_get_exception_io</a></h4>
++<h4><a name="api:mono_get_exception_missing_method">mono_get_exception_missing_method</a></h4>
++<h4><a name="api:mono_get_exception_not_implemented">mono_get_exception_not_implemented</a></h4>
++<h4><a name="api:mono_get_exception_null_reference">mono_get_exception_null_reference</a></h4>
++<h4><a name="api:mono_get_exception_overflow">mono_get_exception_overflow</a></h4>
++<h4><a name="api:mono_get_exception_security">mono_get_exception_security</a></h4>
++<h4><a name="api:mono_get_exception_serialization">mono_get_exception_serialization</a></h4>
++<h4><a name="api:mono_get_exception_stack_overflow">mono_get_exception_stack_overflow</a></h4>
++<h4><a name="api:mono_get_exception_synchronization_lock">mono_get_exception_synchronization_lock</a></h4>
++<h4><a name="api:mono_get_exception_thread_abort">mono_get_exception_thread_abort</a></h4>
++<h4><a name="api:mono_get_exception_thread_state">mono_get_exception_thread_state</a></h4>
++<h4><a name="api:mono_get_exception_type_initialization">mono_get_exception_type_initialization</a></h4>
++<h4><a name="api:mono_get_exception_type_load">mono_get_exception_type_load</a></h4>
++<h4><a name="api:mono_get_exception_invalid_operation">mono_get_exception_invalid_operation</a></h4>
++<h4><a name="api:mono_get_exception_missing_field">mono_get_exception_missing_field</a></h4>
++<h4><a name="api:mono_get_exception_not_supported">mono_get_exception_not_supported</a></h4>
++<h4><a name="api:mono_get_exception_reflection_type_load">mono_get_exception_reflection_type_load</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7f73304c680a7579e8929a2c7c09a104e45bbbcd
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,42 @@@
++<h1>Garbage Collector Interface</h1>
++
++<h1>Public Interface</h1>
++
++      <p>The public interface of the Mono GC is fairly limited, and
++      its the only one that embedders should be using:
++      
++<h4><a name="api:mono_gc_collect">mono_gc_collect</a></h4> 
++<h4><a name="api:mono_gc_max_generation">mono_gc_max_generation</a></h4> 
++<h4><a name="api:mono_gc_get_heap_size">mono_gc_get_heap_size</a></h4> 
++<h4><a name="api:mono_gc_get_used_size">mono_gc_get_used_size</a></h4> 
++
++<h3>Weak Links</h3>
++
++<h4><a name="api:mono_gc_weak_link_add">mono_gc_weak_link_add</a></h4> 
++<h4><a name="api:mono_gc_weak_link_get">mono_gc_weak_link_get</a></h4> 
++<h4><a name="api:mono_gc_weak_link_remove">mono_gc_weak_link_remove</a></h4> 
++
++<h2>Internal Interface</h2>
++
++      <p>The internal interface of the Mono GC is the interface used
++      between the runtime engine and the garbage collector.
++      
++<h4><a name="api:mono_gc_disable">mono_gc_disable</a></h4>
++<h4><a name="api:mono_gc_enable">mono_gc_enable</a></h4>
++<h4><a name="api:mono_gc_is_finalizer_thread">mono_gc_is_finalizer_thread</a></h4>
++<h4><a name="api:mono_gc_out_of_memory">mono_gc_out_of_memory</a></h4>
++<h4><a name="api:mono_gc_start_world">mono_gc_start_world</a></h4>
++<h4><a name="api:mono_gc_stop_world">mono_gc_stop_world</a></h4>
++<h4><a name="api:mono_gc_alloc_fixed">mono_gc_alloc_fixed</a></h4> 
++<h4><a name="api:mono_gc_enable_events">mono_gc_enable_events</a></h4> 
++<h4><a name="api:mono_gc_free_fixed">mono_gc_free_fixed</a></h4> 
++<h4><a name="api:mono_gc_make_descr_from_bitmap">mono_gc_make_descr_from_bitmap</a></h4> 
++
++
++<h4><a name="api:mono_gc_base_init">mono_gc_base_init</a></h4>
++<h4><a name="api:mono_gc_invoke_finalizers">mono_gc_invoke_finalizers</a></h4>
++<h4><a name="api:mono_gc_is_gc_thread">mono_gc_is_gc_thread</a></h4>
++<h4><a name="api:mono_gc_pending_finalizers">mono_gc_pending_finalizers</a></h4>
++<h4><a name="api:mono_gc_register_thread">mono_gc_register_thread</a></h4>
++<h4><a name="api:mono_gc_finalize_notify">mono_gc_finalize_notify</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2f090b7773bd19cf1275632ce40d1603d6eda4fa
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,95 @@@
++<h1>GC Handles</h1>
++
++<h3>Synopsys</h3>
++
++      <div class="header">
++@API_IDX@
++      </div>
++      
++      <p>GC handles are wrappers that are used to keep references to
++      managed objects in the unmanaged space and preventing the
++      object from being disposed.
++      
++      <p>These are the C equivalents of the <tt>System.GCHandle</tt>
++      structure.
++
++      <p>There are two kinds of GCHandles that can be created:
++
++      <ul>
++              <li>Handles to objects (use <tt><a
++              href="#api:mono_gchandle_new">mono_gchandle_new</a></tt>). 
++
++              <li>Weak handles to objects (use <tt><a
++              href="#api:mono_gchandle_new_weakref">mono_gchandle_new_weakref</a></tt>).
++              Weak handles can have the objects reclaimed by the
++              garbage collector. 
++              
++      </ul>
++
++      <p>To retrieve the target address of an object pointed to by a
++      <tt>GCHandle</tt> you should use
++      <tt>mono_gchandle_get_target</tt>.
++
++      <p>For example, consider the following C code:
++<div class="code">
++static MonoObject* o = NULL;
++</div>
++
++      <p>The object in `o' will *NOT* be scanned.
++
++      <p>If you need to store an object in a C variable and prevent
++      it from being collected, you need to acquire a GC handle for
++      it.
++
++<div class="code">
++        guint32 handle = mono_gchandle_new (my_object, TRUE);
++</div>
++
++      <p>TRUE means the object will be pinned, so it won't move in
++      memory when we'll use a moving GC. You can access the
++      MonoObject* referenced by a handle with:
++
++<div class="code">
++        MonoObject* obj = mono_gchandle_get_target (handle);
++</div>
++
++      <p>When you don't need the handle anymore you need to call:
++
++<div class="code">
++        mono_gchandle_free (handle);
++</div>
++
++      <p>Note that if you assign a new object to the C var, you need
++      to get a new handle, it's not enough to store a new object in
++      the C var.
++
++      <p>So code that looked like this:
++
++<div class="code">
++        static MonoObject* o = NULL;
++        ...
++        o = mono_object_new (...);
++        /* use o */
++        ...
++        /* when done to allow the GC to collect o */
++        o = NULL;
++</div>
++
++      <p>should now be changed to:
++
++<div class="code">
++        static guint32 o_handle;
++        ...
++        MonoObject *o = mono_object_new (...);
++        o_handle = mono_gchandle_new (o, TRUE);
++        /* use o or mono_gchandle_get_target (o_handle) */
++        ...
++        /* when done to allow the GC to collect o */
++        mono_gchandle_free (o_handle);
++</div>
++              
++<h4><a name="api:mono_gchandle_new">mono_gchandle_new</a></h4>
++<h4><a name="api:mono_gchandle_new_weakref">mono_gchandle_new_weakref</a></h4>
++<h4><a name="api:mono_gchandle_get_target">mono_gchandle_get_target</a></h4>
++<h4><a name="api:mono_gchandle_is_in_domain">mono_gchandle_is_in_domain</a></h4> 
++<h4><a name="api:mono_gchandle_free">mono_gchandle_free</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8fb3c8fd5405957e93f47e952ec47055438cb868
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,64 @@@
++<h2>Image Manipulation</h2>
++
++      <p>Images are the component of assemblies that actually hold
++      the CIL code in the extended PE/COFF file. 
++
++<h3>Synopsis</h3>
++
++      <div class="header">
++#include &lt;metadata/image.h&gt;
++
++typedef struct _MonoImage MonoImage;
++typedef enum {
++        MONO_IMAGE_OK,
++        MONO_IMAGE_ERROR_ERRNO,
++        MONO_IMAGE_MISSING_ASSEMBLYREF,
++        MONO_IMAGE_IMAGE_INVALID
++} MonoImageOpenStatus;
++
++@API_IDX@
++      </div>
++
++<h3>Image APIs</h3>
++
++      <p>Images are the actual elements in the runtime that contain
++      the actual code being executed. 
++      
++<h3>Opening and closing MonoImages</h3>
++
++<h4><a name="api:mono_image_open">mono_image_open</a></h4>
++<h4><a name="api:mono_image_open_full">mono_image_open_full</a></h4>
++<h4><a name="api:mono_image_open_from_data">mono_image_open_from_data</a></h4>
++<h4><a name="api:mono_image_open_from_data_full">mono_image_open_from_data_full</a></h4>
++<h4><a name="api:mono_image_close">mono_image_close</a></h4>
++<h4><a name="api:mono_image_addref">mono_image_addref</a></h4>
++<h4><a name="api:mono_image_load_file_for_image">mono_image_load_file_for_image</a></h4>
++
++<h3>Image Information</h3>
++
++<h4><a name="api:mono_image_get_guid">mono_image_get_guid</a></h4>
++<h4><a name="api:mono_image_get_assembly">mono_image_get_assembly</a></h4>
++<h4><a name="api:mono_image_get_entry_point">mono_image_get_entry_point</a></h4>
++<h4><a name="api:mono_image_get_filename">mono_image_get_filename</a></h4>
++<h4><a name="api:mono_image_get_name">mono_image_get_name</a></h4>
++<h4><a name="api:mono_image_get_resource">mono_image_get_resource</a></h4>
++<h4><a name="api:mono_image_get_table_info">mono_image_get_table_info</a></h4>
++<h4><a name="api:mono_image_get_table_rows">mono_image_get_table_rows</a></h4>
++<h4><a name="api:mono_image_is_dynamic">mono_image_is_dynamic</a></h4>
++<h4><a name="api:mono_image_loaded_by_guid">mono_image_loaded_by_guid</a></h4>
++<h4><a name="api:mono_image_loaded">mono_image_loaded</a></h4>
++<h4><a name="api:mono_image_lookup_resource">mono_image_lookup_resource</a></h4>
++<h4><a name="api:mono_image_strerror">mono_image_strerror</a></h4>
++
++<h3>Public Keys, Strong Names and Certificates</h3>
++
++<h4><a name="api:mono_image_strong_name_position">mono_image_strong_name_position</a></h4>
++<h4><a name="api:mono_image_get_public_key">mono_image_get_public_key</a></h4>
++<h4><a name="api:mono_image_get_strong_name">mono_image_get_strong_name</a></h4>
++<h4><a name="api:mono_image_has_authenticode_entry">mono_image_has_authenticode_entry</a></h4>
++
++<h3>Low-level features</h3>
++
++<h4><a name="api:mono_image_rva_map">mono_image_rva_map</a></h4>
++<h4><a name="api:mono_image_ensure_section_idx">mono_image_ensure_section_idx</a></h4>
++<h4><a name="api:mono_image_ensure_section">mono_image_ensure_section</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1d292ce0deafe75fd2b4c30ed7015a1d10272b6f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++<h1>Code Generator Internals</h1>
++
++      <p>The functions in this document are internal to the JIT,
++      they are here for completeness, but you should refer to the
++      source code for more details.
++      
++<h3>BURG public API</h3>
++
++<h4><a name="api:mono_burg_kids">mono_burg_kids</a></h4>
++<h4><a name="api:mono_burg_label">mono_burg_label</a></h4>
++<h4><a name="api:mono_burg_rule">mono_burg_rule</a></h4>
++
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4a36104e7e0da8a890e191577cfac46128f396c2
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,11 @@@
++<h3>Interpreter API</h3>
++
++      <p>This describes the API exposed by the interpreter, but it
++      is for the most part an internal to the interpreter. 
++      
++<h4><a name="api:mono_interp_dis_mintop">mono_interp_dis_mintop</a></h4>
++<h4><a name="api:mono_interp_exec">mono_interp_exec</a></h4>
++<h4><a name="api:mono_interp_ftnptr_to_delegate">mono_interp_ftnptr_to_delegate</a></h4>
++<h4><a name="api:mono_interp_get_runtime_method">mono_interp_get_runtime_method</a></h4>
++<h4><a name="api:mono_interp_transform_init">mono_interp_transform_init</a></h4>
++<h4><a name="api:mono_interp_transform_method">mono_interp_transform_method</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..0618d0c5a628a34b7096edfb5b6aa4fd1a087482
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++<h2>Synopsis</h2>
++
++<div class="header">
++@API_IDX@
++</div>
++
++<h3>Useful Debugging Functions</h3>
++
++      <p>These functions are useful when running the Mono VM inside
++      a debugger.
++
++<h4><a name="api:mono_pmip">mono_pmip</a></h4>
++<h4><a name="api:mono_print_method_from_ip">mono_print_method_from_ip</a></h4>
++<h4><a name="api:mono_print_thread_dump">mono_print_thread_dump</a></h4>
++<h4><a name="api:mono_threads_request_thread_dump">mono_threads_request_thread_dump</a></h4>
++
++<h3>Helper Tools For Native Ports</h3>
++
++<h4><a name="api:mono_inst_name">mono_inst_name</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..25dd46cb5fa99f3dccc8f431051234f30a786909
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,38 @@@
++<h1>Notification Interface</h1>
++
++      <p>Am not sure that we want to document this;  This seems like
++      an internal interface that third parties would not likely
++      use, and if they do, they probably are reading the JIT's
++      source code. 
++
++      <p>These methods must be called to notify the profiler of an
++      event that must be recorded.   Mono's JIT engine currently
++      calls these routines, but if you are extending Mono in some
++      way these are the methods that you might invoke to notify the
++      profiler of an event.
++
++<h4><a name="api:mono_profiler_load">mono_profiler_load</a></h4>
++<h4><a name="api:mono_profiler_allocation">mono_profiler_allocation</a></h4>
++<h4><a name="api:mono_profiler_stat_hit">mono_profiler_stat_hit</a></h4> 
++<h4><a name="api:mono_profiler_thread_start">mono_profiler_thread_start</a></h4>
++<h4><a name="api:mono_profiler_thread_end">mono_profiler_thread_end</a></h4>
++<h4><a name="api:mono_profiler_appdomain_event">mono_profiler_appdomain_event</a></h4>
++<h4><a name="api:mono_profiler_appdomain_loaded">mono_profiler_appdomain_loaded</a></h4>
++<h4><a name="api:mono_profiler_assembly_event">mono_profiler_assembly_event</a></h4>
++<h4><a name="api:mono_profiler_assembly_loaded">mono_profiler_assembly_loaded</a></h4>
++<h4><a name="api:mono_profiler_class_event">mono_profiler_class_event</a></h4>
++<h4><a name="api:mono_profiler_class_loaded">mono_profiler_class_loaded</a></h4>
++<h4><a name="api:mono_profiler_code_transition">mono_profiler_code_transition</a></h4>
++<h4><a name="api:mono_profiler_method_end_jit">mono_profiler_method_end_jit</a></h4>
++<h4><a name="api:mono_profiler_method_enter">mono_profiler_method_enter</a></h4>
++<h4><a name="api:mono_profiler_method_jit">mono_profiler_method_jit</a></h4>
++<h4><a name="api:mono_profiler_method_leave">mono_profiler_method_leave</a></h4>
++<h4><a name="api:mono_profiler_module_event">mono_profiler_module_event</a></h4>
++<h4><a name="api:mono_profiler_module_loaded">mono_profiler_module_loaded</a></h4>
++<h4><a name="api:mono_profiler_shutdown">mono_profiler_shutdown</a></h4>
++<h4><a name="api:mono_profiler_startup">mono_profiler_startup</a></h4>
++<h4><a name="api:mono_profiler_gc_event">mono_profiler_gc_event</a></h4> 
++<h4><a name="api:mono_profiler_gc_heap_resize">mono_profiler_gc_heap_resize</a></h4> 
++<h4><a name="api:mono_profiler_gc_event">mono_profiler_gc_event</a></h4> 
++<h4><a name="api:mono_profiler_gc_heap_resize">mono_profiler_gc_heap_resize</a></h4>
++<h4><a name="api:mono_profiler_stat_hit">mono_profiler_stat_hit</a></h4> 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..605896db854c8cef22db8372448d6982b242e56c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,39 @@@
++
++
++<h4><a name="api:mono_delegate_free_ftnptr">mono_delegate_free_ftnptr</a></h4>
++<h4><a name="api:mono_delegate_to_ftnptr">mono_delegate_to_ftnptr</a></h4>
++<h4><a name="api:mono_ftnptr_to_delegate">mono_ftnptr_to_delegate</a></h4>
++<h4><a name="api:mono_marshal_alloc">mono_marshal_alloc</a></h4>
++<h4><a name="api:mono_marshal_asany">mono_marshal_asany</a></h4>
++<h4><a name="api:mono_marshal_free_array">mono_marshal_free_array</a></h4>
++<h4><a name="api:mono_marshal_free_asany">mono_marshal_free_asany</a></h4>
++<h4><a name="api:mono_marshal_free">mono_marshal_free</a></h4>
++<h4><a name="api:mono_marshal_get_castclass">mono_marshal_get_castclass</a></h4>
++<h4><a name="api:mono_marshal_get_delegate_begin_invoke">mono_marshal_get_delegate_begin_invoke</a></h4>
++<h4><a name="api:mono_marshal_get_delegate_end_invoke">mono_marshal_get_delegate_end_invoke</a></h4>
++<h4><a name="api:mono_marshal_get_delegate_invoke">mono_marshal_get_delegate_invoke</a></h4>
++<h4><a name="api:mono_marshal_get_icall_wrapper">mono_marshal_get_icall_wrapper</a></h4>
++<h4><a name="api:mono_marshal_get_isinst">mono_marshal_get_isinst</a></h4>
++<h4><a name="api:mono_marshal_get_ldfld_remote_wrapper">mono_marshal_get_ldfld_remote_wrapper</a></h4> 
++<h4><a name="api:mono_marshal_get_ldfld_wrapper">mono_marshal_get_ldfld_wrapper</a></h4>
++<h4><a name="api:mono_marshal_get_managed_wrapper">mono_marshal_get_managed_wrapper</a></h4>
++<h4><a name="api:mono_marshal_get_native_wrapper">mono_marshal_get_native_wrapper</a></h4>
++<h4><a name="api:mono_marshal_get_proxy_cancast">mono_marshal_get_proxy_cancast</a></h4>
++<h4><a name="api:mono_marshal_get_ptr_to_struct">mono_marshal_get_ptr_to_struct</a></h4>
++<h4><a name="api:mono_marshal_get_remoting_invoke_for_target">mono_marshal_get_remoting_invoke_for_target</a></h4>
++<h4><a name="api:mono_marshal_get_remoting_invoke">mono_marshal_get_remoting_invoke</a></h4>
++<h4><a name="api:mono_marshal_get_remoting_invoke_with_check">mono_marshal_get_remoting_invoke_with_check</a></h4>
++<h4><a name="api:mono_marshal_get_runtime_invoke">mono_marshal_get_runtime_invoke</a></h4>
++<h4><a name="api:mono_marshal_get_stelemref">mono_marshal_get_stelemref</a></h4>
++<h4><a name="api:mono_marshal_get_stfld_remote_wrapper">mono_marshal_get_stfld_remote_wrapper</a></h4> 
++<h4><a name="api:mono_marshal_get_stfld_wrapper">mono_marshal_get_stfld_wrapper</a></h4>
++<h4><a name="api:mono_marshal_get_struct_to_ptr">mono_marshal_get_struct_to_ptr</a></h4>
++<h4><a name="api:mono_marshal_get_synchronized_wrapper">mono_marshal_get_synchronized_wrapper</a></h4>
++<h4><a name="api:mono_marshal_get_unbox_wrapper">mono_marshal_get_unbox_wrapper</a></h4> 
++<h4><a name="api:mono_marshal_get_xappdomain_invoke">mono_marshal_get_xappdomain_invoke</a></h4>
++<h4><a name="api:mono_marshal_load_type_info">mono_marshal_load_type_info</a></h4>
++<h4><a name="api:mono_marshal_method_from_wrapper">mono_marshal_method_from_wrapper</a></h4>
++<h4><a name="api:mono_marshal_realloc">mono_marshal_realloc</a></h4>
++<h4><a name="api:mono_marshal_set_last_error">mono_marshal_set_last_error</a></h4>
++<h4><a name="api:mono_marshal_string_to_utf16">mono_marshal_string_to_utf16</a></h4>
++<h4><a name="api:mono_marshal_type_size">mono_marshal_type_size</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..272e0e6a1ca67b81269674e04919c172dbf8f86d
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,146 @@@
++<h3>Metadata Loader Locking</h3>
++
++      <p>The locking functions here are used by code in class.c and
++      metadata.c to lock access to the shared hashtables inside the
++      MonoImage
++      
++<h4><a name="api:mono_loader_lock">mono_loader_lock</a></h4>
++<h4><a name="api:mono_loader_unlock">mono_loader_unlock</a></h4>
++
++<h3>Metadata access API</h3>
++
++      <p>This is the low-level API for accessing the metadata
++      images.
++      
++<h4><a name="api:mono_cli_rva_image_map">mono_cli_rva_image_map</a></h4>
++<h4><a name="api:mono_pe_file_open">mono_pe_file_open</a></h4> 
++<h4><a name="api:mono_meta_table_name">mono_meta_table_name</a></h4>
++<h4><a name="api:mono_metadata_blob_heap">mono_metadata_blob_heap</a></h4>
++<h4><a name="api:mono_metadata_compute_size">mono_metadata_compute_size</a></h4>
++<h4><a name="api:mono_metadata_custom_attrs_from_index">mono_metadata_custom_attrs_from_index</a></h4>
++<h4><a name="api:mono_metadata_decode_blob_size">mono_metadata_decode_blob_size</a></h4>
++<h4><a name="api:mono_metadata_decode_row_col">mono_metadata_decode_row_col</a></h4>
++<h4><a name="api:mono_metadata_decode_row">mono_metadata_decode_row</a></h4>
++<h4><a name="api:mono_metadata_decode_signed_value">mono_metadata_decode_signed_value</a></h4>
++<h4><a name="api:mono_metadata_decode_value">mono_metadata_decode_value</a></h4>
++<h4><a name="api:mono_metadata_encode_value">mono_metadata_encode_value</a></h4>
++<h4><a name="api:mono_metadata_events_from_typedef">mono_metadata_events_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_field_info">mono_metadata_field_info</a></h4>
++<h4><a name="api:mono_metadata_free_array">mono_metadata_free_array</a></h4>
++<h4><a name="api:mono_metadata_free_marshal_spec">mono_metadata_free_marshal_spec</a></h4>
++<h4><a name="api:mono_metadata_free_mh">mono_metadata_free_mh</a></h4>
++<h4><a name="api:mono_metadata_free_type">mono_metadata_free_type</a></h4>
++<h4><a name="api:mono_metadata_generic_inst_equal">mono_metadata_generic_inst_equal</a></h4>
++<h4><a name="api:mono_metadata_generic_inst_hash">mono_metadata_generic_inst_hash</a></h4>
++<h4><a name="api:mono_metadata_generic_inst_is_valuetype">mono_metadata_generic_inst_is_valuetype</a></h4>
++<h4><a name="api:mono_metadata_generic_method_equal">mono_metadata_generic_method_equal</a></h4>
++<h4><a name="api:mono_metadata_get_constant_index">mono_metadata_get_constant_index</a></h4>
++<h4><a name="api:mono_metadata_get_marshal_info">mono_metadata_get_marshal_info</a></h4>
++<h4><a name="api:mono_metadata_get_table">mono_metadata_get_table</a></h4>
++<h4><a name="api:mono_metadata_guid_heap">mono_metadata_guid_heap</a></h4>
++<h4><a name="api:mono_metadata_implmap_from_method">mono_metadata_implmap_from_method</a></h4>
++<h4><a name="api:mono_metadata_interfaces_from_typedef_full">mono_metadata_interfaces_from_typedef_full</a></h4>
++<h4><a name="api:mono_metadata_interfaces_from_typedef">mono_metadata_interfaces_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_load_generic_params">mono_metadata_load_generic_params</a></h4>
++<h4><a name="api:mono_metadata_locate">mono_metadata_locate</a></h4>
++<h4><a name="api:mono_metadata_locate_token">mono_metadata_locate_token</a></h4>
++<h4><a name="api:mono_metadata_methods_from_event">mono_metadata_methods_from_event</a></h4>
++<h4><a name="api:mono_metadata_methods_from_property">mono_metadata_methods_from_property</a></h4>
++<h4><a name="api:mono_metadata_nested_in_typedef">mono_metadata_nested_in_typedef</a></h4>
++<h4><a name="api:mono_metadata_nesting_typedef">mono_metadata_nesting_typedef</a></h4>
++<h4><a name="api:mono_metadata_packing_from_typedef">mono_metadata_packing_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_parse_array_full">mono_metadata_parse_array_full</a></h4>
++<h4><a name="api:mono_metadata_parse_array">mono_metadata_parse_array</a></h4>
++<h4><a name="api:mono_metadata_parse_custom_mod">mono_metadata_parse_custom_mod</a></h4>
++<h4><a name="api:mono_metadata_parse_field_type">mono_metadata_parse_field_type</a></h4>
++<h4><a name="api:mono_metadata_parse_marshal_spec">mono_metadata_parse_marshal_spec</a></h4>
++<h4><a name="api:mono_metadata_parse_method_signature_full">mono_metadata_parse_method_signature_full</a></h4>
++<h4><a name="api:mono_metadata_parse_method_signature">mono_metadata_parse_method_signature</a></h4>
++<h4><a name="api:mono_metadata_parse_mh_full">mono_metadata_parse_mh_full</a></h4>
++<h4><a name="api:mono_metadata_parse_mh">mono_metadata_parse_mh</a></h4>
++<h4><a name="api:mono_metadata_parse_param">mono_metadata_parse_param</a></h4>
++<h4><a name="api:mono_metadata_parse_signature_full">mono_metadata_parse_signature_full</a></h4>
++<h4><a name="api:mono_metadata_parse_signature">mono_metadata_parse_signature</a></h4>
++<h4><a name="api:mono_metadata_parse_typedef_or_ref">mono_metadata_parse_typedef_or_ref</a></h4>
++<h4><a name="api:mono_metadata_parse_type_full">mono_metadata_parse_type_full</a></h4>
++<h4><a name="api:mono_metadata_parse_type">mono_metadata_parse_type</a></h4>
++<h4><a name="api:mono_metadata_properties_from_typedef">mono_metadata_properties_from_typedef</a></h4>
++<h4><a name="api:mono_metadata_string_heap">mono_metadata_string_heap</a></h4>
++<h4><a name="api:mono_metadata_token_from_dor">mono_metadata_token_from_dor</a></h4>
++<h4><a name="api:mono_metadata_typedef_from_field">mono_metadata_typedef_from_field</a></h4>
++<h4><a name="api:mono_metadata_typedef_from_method">mono_metadata_typedef_from_method</a></h4>
++<h4><a name="api:mono_metadata_type_equal">mono_metadata_type_equal</a></h4>
++<h4><a name="api:mono_metadata_type_hash">mono_metadata_type_hash</a></h4>
++<h4><a name="api:mono_metadata_user_string">mono_metadata_user_string</a></h4>
++<h4><a name="api:mono_metadata_declsec_from_index">mono_metadata_declsec_from_index</a></h4>
++<h4><a name="api:mono_metadata_free_method_signature">mono_metadata_free_method_signature</a></h4>
++
++<h3>Generics Support</h3>
++
++<h4><a name="api:mono_metadata_generic_class_is_valuetype">mono_metadata_generic_class_is_valuetype</a></h4> 
++<h4><a name="api:mono_metadata_has_generic_params">mono_metadata_has_generic_params</a></h4> 
++<h4><a name="api:mono_metadata_inflate_generic_inst">mono_metadata_inflate_generic_inst</a></h4> 
++<h4><a name="api:mono_metadata_parse_generic_inst">mono_metadata_parse_generic_inst</a></h4> 
++
++<h3>Tokens</h3>
++
++<h4><a name="api:mono_ldtoken">mono_ldtoken</a></h4>
++<h4><a name="api:mono_lookup_dynamic_token">mono_lookup_dynamic_token</a></h4>
++<h4><a name="api:mono_ldstr">mono_ldstr</a></h4>
++<h4><a name="api:mono_exception_from_token">mono_exception_from_token</a></h4> 
++<h4><a name="api:mono_create_jit_trampoline_from_token">mono_create_jit_trampoline_from_token</a></h4> 
++
++<h3>Working with signatures</h3>
++
++<h4><a name="api:mono_signature_explicit_this">mono_signature_explicit_this</a></h4>
++<h4><a name="api:mono_signature_get_call_conv">mono_signature_get_call_conv</a></h4>
++<h4><a name="api:mono_signature_get_desc">mono_signature_get_desc</a></h4>
++<h4><a name="api:mono_signature_get_param_count">mono_signature_get_param_count</a></h4>
++<h4><a name="api:mono_signature_get_params">mono_signature_get_params</a></h4>
++<h4><a name="api:mono_signature_get_return_type">mono_signature_get_return_type</a></h4>
++<h4><a name="api:mono_signature_hash">mono_signature_hash</a></h4>
++<h4><a name="api:mono_signature_is_instance">mono_signature_is_instance</a></h4>
++<h4><a name="api:mono_signature_vararg_start">mono_signature_vararg_start</a></h4>
++
++
++<h3>OpCodes</h3>
++
++<h4><a name="api:mono_opcode_name">mono_opcode_name</a></h4>
++<h4><a name="api:mono_opcode_value">mono_opcode_value</a></h4>
++
++<h3>Metadata Loading Errors</h3>
++
++      <p>The routines in this section are used to cope with errors
++      during metadata loading.  Errors in metadata handling can
++      happen for many reason, and these include (this is not an
++      exhaustive list).
++
++      <ul>
++              <li>An assembly referenced is missing.
++              <li>Fields referenced are missing.
++              <li>Methods referenced are missing.
++      </ul>
++
++      <p>The <tt>mono_loader_set_*</tt> routines are invoked during
++      metadata loading to flag that an error has happened.  The
++      class loading errros are flagged in a per-thread basis.
++
++      <P>In various spots in the runtime the
++      <tt>mono_loader_get_last_error</tt> routine is called to check
++      if there was a problem, and then errors are propagated upwards
++      on the stack until we reach a point where an exception can be
++      raised and no runtime locks are held.
++
++      <p>The <tt>mono_loader_error_prepare_exception</tt> takes a
++      <tt>MonoLoaderError</tt> structure (the value returned from
++      <tt>mono_loader_get_last_error</tt>), turns that into an
++      exception and clears the error condition from the current
++      thread. 
++      
++<h4><a name="api:mono_loader_set_error_field_load">mono_loader_set_error_field_load</a></h4>
++<h4><a name="api:mono_loader_set_error_method_load">mono_loader_set_error_method_load</a></h4>
++<h4><a name="api:mono_loader_set_error_type_load">mono_loader_set_error_type_load</a></h4>
++
++<h4><a name="api:mono_loader_get_last_error">mono_loader_get_last_error</a></h4>
++<h4><a name="api:mono_loader_clear_error">mono_loader_clear_error</a></h4>
++<h4><a name="api:mono_loader_error_prepare_exception">mono_loader_error_prepare_exception</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..aa1ece2f788e3642b53533f763703b9993ee9cd0
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,66 @@@
++<h3>Methods</h3>
++
++<h3>Invoking Methods</h3>
++
++<h4><a name="api:mono_runtime_invoke">mono_runtime_invoke</a></h4>
++
++If you want to invoke generic methods, you must call the method on the
++"inflated" class, which you can obtain from the
++<tt>mono_object_get_class()</tt>
++
++<div class="code">
++MonoClass *clazz;
++MonoMethod *method;
++
++clazz = mono_object_get_class (obj);
++
++/*
++ * If there are more Add methods declared, you
++ * may use mono_method_desc_search_in_class (clazz, ":Add(T)"),
++ * you must substitute ":Add(T)" with the correct type, for example
++ * for List&lt;int&gt;, you would use ":Add(int)".
++ */
++method = mono_class_get_method_from_name (clazz, "Add", 1);
++mono_runtime_invoke (method, obj, args, &amp;exception);
++</div>
++
++
++<h4><a name="api:mono_runtime_invoke_array">mono_runtime_invoke_array</a></h4>
++<h4><a name="api:mono_remoting_invoke">mono_remoting_invoke</a></h4>
++<h4><a name="api:mono_runtime_delegate_invoke">mono_runtime_delegate_invoke</a></h4>
++
++<h4><a name="api:mono_method_call_message_new">mono_method_call_message_new</a></h4>
++<h4><a name="api:mono_method_desc_free">mono_method_desc_free</a></h4>
++<h4><a name="api:mono_method_desc_from_method">mono_method_desc_from_method</a></h4>
++<h4><a name="api:mono_method_desc_full_match">mono_method_desc_full_match</a></h4>
++<h4><a name="api:mono_method_desc_match">mono_method_desc_match</a></h4>
++<h4><a name="api:mono_method_desc_new">mono_method_desc_new</a></h4>
++<h4><a name="api:mono_method_desc_search_in_class">mono_method_desc_search_in_class</a></h4>
++<h4><a name="api:mono_method_desc_search_in_image">mono_method_desc_search_in_image</a></h4>
++<h4><a name="api:mono_method_full_name">mono_method_full_name</a></h4>
++<h4><a name="api:mono_method_get_class">mono_method_get_class</a></h4>
++<h4><a name="api:mono_method_get_flags">mono_method_get_flags</a></h4>
++<h4><a name="api:mono_method_get_last_managed">mono_method_get_last_managed</a></h4>
++<h4><a name="api:mono_method_get_marshal_info">mono_method_get_marshal_info</a></h4>
++<h4><a name="api:mono_method_get_name">mono_method_get_name</a></h4>
++<h4><a name="api:mono_method_get_object">mono_method_get_object</a></h4>
++<h4><a name="api:mono_method_get_param_names">mono_method_get_param_names</a></h4>
++<h4><a name="api:mono_method_get_param_token">mono_method_get_param_token</a></h4>
++<h4><a name="api:mono_method_get_signature">mono_method_get_signature</a></h4>
++<h4><a name="api:mono_method_get_index">mono_method_get_index</a></h4> 
++<h4><a name="api:mono_method_get_signature_full">mono_method_get_signature_full</a></h4> 
++<h4><a name="api:mono_method_get_token">mono_method_get_token</a></h4>
++<h4><a name="api:mono_method_get_wrapper_data">mono_method_get_wrapper_data</a></h4>
++<h4><a name="api:mono_method_has_marshal_info">mono_method_has_marshal_info</a></h4>
++<h4><a name="api:mono_method_return_message_restore">mono_method_return_message_restore</a></h4>
++<h4><a name="api:mono_method_same_domain">mono_method_same_domain</a></h4>
++<h4><a name="api:mono_method_signature">mono_method_signature</a></h4>
++<h4><a name="api:mono_method_verify">mono_method_verify</a></h4>
++
++<h3>Methods Header Operations</h3>
++
++<h4><a name="api:mono_method_get_header">mono_method_get_header</a></h4>
++<h4><a name="api:mono_method_header_get_clauses">mono_method_header_get_clauses</a></h4>
++<h4><a name="api:mono_method_header_get_code">mono_method_header_get_code</a></h4>
++<h4><a name="api:mono_method_header_get_locals">mono_method_header_get_locals</a></h4>
++<h4><a name="api:mono_method_header_get_num_clauses">mono_method_header_get_num_clauses</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2878a5844b9d13ea8a45eaf64d1222e654c3faf5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,214 @@@
++<h1>Object API</h1>
++
++      <p>The object API deals with all the operations shared by
++      <a href="#objects">objects</a>, <a href="#valuetypes">value
++      types</a>, <a href="#arrays">arrays</a> and <a
++      href="#nullable">nullable types</a>.
++
++      <p>The object API has methods for accessing <a
++      href="#fields">fields</a>, <a
++      href="#properties">properties</a>, <a
++      href="#events">events</a>, <a href="#delegates">delegates</a>.
++
++      <p>There are some advanced uses that are useful to document
++      here dealing with <a href="#async">AsyncResults</a> and <a
++      href="#remote">remote fields</a>.
++      
++<h2>Synopsis</h2>
++
++<div class="header">
++#include &lt;metadata/object.h&gt;
++
++typedef struct MonoVTable MonoVTable;
++typedef struct _MonoThreadsSync MonoThreadsSync;
++
++typedef struct {
++      MonoVTable *vtable;
++      MonoThreadsSync *synchronisation;
++} MonoObject;
++
++typedef struct {
++      guint32 length;
++      guint32 lower_bound;
++} MonoArrayBounds;
++
++typedef struct {
++      MonoObject obj;
++      /* bounds is NULL for szarrays */
++      MonoArrayBounds *bounds;
++      /* total number of elements of the array */
++      guint32 max_length; 
++      /* we use double to ensure proper alignment on platforms that need it */
++      double vector [MONO_ZERO_LEN_ARRAY];
++} MonoArray;
++
++@API_IDX@
++</div>
++
++      <p>MonoObject is the base definition for all managed objects
++      in the Mono runtime, it represents the <a
++      href="http://www.mono-project.com/monodoc/T:System.Object">System.Object</a>
++      managed type.
++
++      <p>All objects that derive from <a
++      href="http://www.mono-project.com/monodoc/T:System.Object">System.Object</a>
++      do have this base definition.  Derived objects are declared
++      following the pattern where the parent class is the first
++      field of a structure definition, for example:
++
++      <div class="code">
++      typedef struct {
++              MonoObject parent;
++              int my_new_field;
++      } MyNewObject
++      </div>
++
++<a name="objects"></a>
++<h2>Core Object Methods</h2>
++
++<h4><a name="api:mono_object_new">mono_object_new</a></h4>
++
++      <p>For example, if you wanted to create an object of type
++      System.Version, you would use a piece of code like this:
++
++      <div class="code">
++MonoClass *version_class;
++MonoObject *result;
++
++/* Get the class from mscorlib */
++version_class = mono_class_from_name (mono_get_corlib (),
++      "System", "Version");
++
++/* Create an object of that class */
++result = mono_object_new (mono_domain_get (), version_class);
++      </div>
++
++<h4><a name="api:mono_object_new_alloc_specific">mono_object_new_alloc_specific</a></h4>
++<h4><a name="api:mono_object_new_fast">mono_object_new_fast</a></h4>
++<h4><a name="api:mono_object_new_from_token">mono_object_new_from_token</a></h4>
++<h4><a name="api:mono_object_new_specific">mono_object_new_specific</a></h4>
++<h4><a name="api:mono_object_clone">mono_object_clone</a></h4>
++<h4><a name="api:mono_object_get_class">mono_object_get_class</a></h4>
++<h4><a name="api:mono_object_get_domain">mono_object_get_domain</a></h4>
++<h4><a name="api:mono_object_get_virtual_method">mono_object_get_virtual_method</a></h4>
++<h4><a name="api:mono_object_isinst_mbyref">mono_object_isinst_mbyref</a></h4>
++<h4><a name="api:mono_object_isinst">mono_object_isinst</a></h4>
++<h4><a name="api:mono_object_register_finalizer">mono_object_register_finalizer</a></h4>
++<h4><a name="api:mono_object_unbox">mono_object_unbox</a></h4>
++<h4><a name="api:mono_object_castclass_mbyref">mono_object_castclass_mbyref</a></h4>
++<h4><a name="api:mono_object_is_alive">mono_object_is_alive</a></h4> 
++<h4><a name="api:mono_object_get_size">mono_object_get_size</a></h4>
++
++<a name="valuetypes"></a>
++<h2>Value Types</h2>
++
++<h4><a name="api:mono_value_box">mono_value_box</a></h4>
++<h4><a name="api:mono_value_copy">mono_value_copy</a></h4>
++<h4><a name="api:mono_value_copy_array">mono_value_copy_array</a></h4>
++
++<a name="arrays"></a>
++<h2>Array Methods</h2>
++
++      <p>Use the <tt>mono_array_new_*</tt> methods to create arrays
++      of a given type.
++
++      <p>For example, the following code creates an array with two
++      elements of type <tt>System.Byte</tt>, and sets the values
++      0xca and 0xfe on it:
++      
++      <pre class="code">
++
++      MonoArray *CreateByteArray (MonoDomain *domain)
++      {
++          MonoArray *data;
++
++          data = mono_array_new (domain, mono_get_byte_class (), 2);
++          mono_array_set (data, guint8, 0, 0xca);
++          mono_array_set (data, guint8, 0, 0xfe);
++
++          return data;
++      }
++
++      </pre>
++
++<h3>Creating Arrays</h3>
++
++<h4><a name="api:mono_array_new">mono_array_new</a></h4>
++<h4><a name="api:mono_array_new_full">mono_array_new_full</a></h4>
++<h4><a name="api:mono_array_new_specific">mono_array_new_specific</a></h4>
++<h4><a name="api:mono_array_class_get">mono_array_class_get</a></h4>
++<h4><a name="api:mono_array_clone_in_domain">mono_array_clone_in_domain</a></h4>
++<h4><a name="api:mono_array_clone">mono_array_clone</a></h4>
++<h4><a name="api:mono_array_full_copy">mono_array_full_copy</a></h4>
++<h4><a name="api:mono_array_to_lparray">mono_array_to_lparray</a></h4>
++<h4><a name="api:mono_array_to_savearray">mono_array_to_savearray</a></h4>
++<h4><a name="api:mono_dup_array_type">mono_dup_array_type</a></h4>
++
++<h3>Using Arrays</h3>
++
++<h4><a name="api:mono_array_set">mono_array_set</a></h4>
++<h4><a name="api:mono_array_setref">mono_array_setref</a></h4>
++<h4><a name="api:mono_array_length">mono_array_length</a></h4>
++<h4><a name="api:mono_array_addr">mono_array_addr</a></h4>
++<h4><a name="api:mono_array_addr_with_size">mono_array_addr_with_size</a></h4>
++<h4><a name="api:mono_array_get">mono_array_get</a></h4>
++<h4><a name="api:mono_array_element_size">mono_array_element_size</a></h4>
++
++<a name="fields"></a>
++<h2>Fields</h2>
++
++<h4><a name="api:mono_field_from_token">mono_field_from_token</a></h4>
++<h4><a name="api:mono_field_get_flags">mono_field_get_flags</a></h4>
++<h4><a name="api:mono_field_get_name">mono_field_get_name</a></h4>
++<h4><a name="api:mono_field_get_parent">mono_field_get_parent</a></h4>
++<h4><a name="api:mono_field_get_type">mono_field_get_type</a></h4>
++<h4><a name="api:mono_field_get_value">mono_field_get_value</a></h4>
++<h4><a name="api:mono_field_get_value_object">mono_field_get_value_object</a></h4>
++<h4><a name="api:mono_field_set_value">mono_field_set_value</a></h4>
++<h4><a name="api:mono_field_static_get_value">mono_field_static_get_value</a></h4>
++<h4><a name="api:mono_field_static_set_value">mono_field_static_set_value</a></h4>
++
++<a name="properties"></a>
++<h2>Properties</h2>
++
++<h4><a name="api:mono_property_get_flags">mono_property_get_flags</a></h4>
++<h4><a name="api:mono_property_get_get_method">mono_property_get_get_method</a></h4>
++<h4><a name="api:mono_property_get_name">mono_property_get_name</a></h4>
++<h4><a name="api:mono_property_get_parent">mono_property_get_parent</a></h4>
++<h4><a name="api:mono_property_get_set_method">mono_property_get_set_method</a></h4>
++<h4><a name="api:mono_property_get_value">mono_property_get_value</a></h4>
++<h4><a name="api:mono_property_set_value">mono_property_set_value</a></h4>
++
++<a name="events"></a>
++<h2>Events</h2>
++
++<h4><a name="api:mono_event_get_add_method">mono_event_get_add_method</a></h4>
++<h4><a name="api:mono_event_get_flags">mono_event_get_flags</a></h4>
++<h4><a name="api:mono_event_get_name">mono_event_get_name</a></h4>
++<h4><a name="api:mono_event_get_parent">mono_event_get_parent</a></h4>
++<h4><a name="api:mono_event_get_raise_method">mono_event_get_raise_method</a></h4>
++<h4><a name="api:mono_event_get_remove_method">mono_event_get_remove_method</a></h4>
++
++<a name="delegates"></a>
++<h2>Delegates</h2>
++<h4><a name="api:mono_delegate_ctor">mono_delegate_ctor</a></h4>
++
++<a name="async"></a>
++<h2>AsyncResults</h2>
++<h4><a name="api:mono_async_result_new">mono_async_result_new</a></h4>
++
++<a name="remote"></a>
++<h2>Remote Fields</h2>
++<h4><a name="api:mono_load_remote_field">mono_load_remote_field</a></h4>
++<h4><a name="api:mono_load_remote_field_new">mono_load_remote_field_new</a></h4>
++<h4><a name="api:mono_store_remote_field">mono_store_remote_field</a></h4>
++<h4><a name="api:mono_store_remote_field_new">mono_store_remote_field_new</a></h4>
++
++<a name="nullable"></a>
++<h2>Nullable Objects</h2>
++
++      <p>These methods are used to manipulate objects of type
++      System.Nullable&lt;T&gt;
++      
++<h4><a name="api:mono_nullable_box">mono_nullable_box</a></h4>
++<h4><a name="api:mono_nullable_init">mono_nullable_init</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fb51ef2e0f7a02959dc054775d916a671f7bac90
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,73 @@@
++<h1>Profiling Interface</h1>
++
++<h3>Profiler Operation</h3>
++
++      <p>The following methods can be used by dynamic profiler
++      methods to monitor different aspects of the program.
++
++      <p>A custom profiler will have one public method defined in
++      the shared library which is the entry point that Mono calls at
++      startup, it has the following signature:
++
++      <pre>
++      void mono_profiler_startup (const char *desc)
++      </pre>
++
++      <p>Where "desc" is the set of arguments that were passed from
++      the command line.  This routine will call
++      <tt>mono_profiler_install</tt> to activate the profiler and
++      will install one or more filters (one of the various
++      <tt>mono_profiler_install_</tt> functions).
++
++      <p>In addition, a profiler developer will typically call
++      <tt>mono_profiler_set_events</tt> to register which kinds of
++      traces should be enabled, these can be an OR-ed combination of
++      the following:
++
++      <pre>
++      MONO_PROFILE_NONE
++        MONO_PROFILE_APPDOMAIN_EVENTS
++        MONO_PROFILE_ASSEMBLY_EVENTS
++        MONO_PROFILE_MODULE_EVENTS    
++        MONO_PROFILE_CLASS_EVENTS     
++        MONO_PROFILE_JIT_COMPILATION  
++        MONO_PROFILE_INLINING         
++        MONO_PROFILE_EXCEPTIONS       
++        MONO_PROFILE_ALLOCATIONS      
++        MONO_PROFILE_GC               
++        MONO_PROFILE_THREADS          
++        MONO_PROFILE_REMOTING         
++        MONO_PROFILE_TRANSITIONS      
++        MONO_PROFILE_ENTER_LEAVE      
++        MONO_PROFILE_COVERAGE         
++        MONO_PROFILE_INS_COVERAGE     
++        MONO_PROFILE_STATISTICAL      
++      </pre>
++
++      <p>Developers can change the set of monitored events at
++      runtime by calling <tt>mono_profiler_set_events</tt>.
++      
++<h4><a name="api:mono_profiler_install">mono_profiler_install</a></h4>
++<h4><a name="api:mono_profiler_install_allocation">mono_profiler_install_allocation</a></h4>
++<h4><a name="api:mono_profiler_install_appdomain">mono_profiler_install_appdomain</a></h4>
++<h4><a name="api:mono_profiler_install_assembly">mono_profiler_install_assembly</a></h4>
++<h4><a name="api:mono_profiler_install_class">mono_profiler_install_class</a></h4>
++<h4><a name="api:mono_profiler_install_coverage_filter">mono_profiler_install_coverage_filter</a></h4>
++<h4><a name="api:mono_profiler_install_enter_leave">mono_profiler_install_enter_leave</a></h4>
++<h4><a name="api:mono_profiler_install_jit_compile">mono_profiler_install_jit_compile</a></h4>
++<h4><a name="api:mono_profiler_install_module">mono_profiler_install_module</a></h4>
++<h4><a name="api:mono_profiler_install_thread">mono_profiler_install_thread</a></h4>
++<h4><a name="api:mono_profiler_install_transition">mono_profiler_install_transition</a></h4>
++<h4><a name="api:mono_profiler_install_gc">mono_profiler_install_gc</a></h4> 
++<h4><a name="api:mono_profiler_install_statistical">mono_profiler_install_statistical</a></h4> 
++<h4><a name="api:mono_profiler_set_events">mono_profiler_set_events</a></h4>
++<h4><a name="api:mono_profiler_get_events">mono_profiler_get_events</a></h4>
++
++<h3>Coverage</h3>
++
++      <p>To support profiling modules that need to do code coverage
++      analysis, the following routines is provided:
++      
++<h4><a name="api:mono_profiler_coverage_get">mono_profiler_coverage_get</a></h4>
++
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..896448e4d0b65c47c66552c8b46930c246ee9266
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++<h4><a name="api:mono_reflection_bind_generic_method_parameters">mono_reflection_bind_generic_method_parameters</a></h4>
++<h4><a name="api:mono_reflection_bind_generic_parameters">mono_reflection_bind_generic_parameters</a></h4>
++<h4><a name="api:mono_reflection_create_dynamic_method">mono_reflection_create_dynamic_method</a></h4>
++<h4><a name="api:mono_reflection_create_generic_class">mono_reflection_create_generic_class</a></h4>
++<h4><a name="api:mono_reflection_create_internal_class">mono_reflection_create_internal_class</a></h4>
++<h4><a name="api:mono_reflection_create_runtime_class">mono_reflection_create_runtime_class</a></h4>
++<h4><a name="api:mono_reflection_event_builder_get_event_info">mono_reflection_event_builder_get_event_info</a></h4>
++<h4><a name="api:mono_reflection_generic_inst_initialize">mono_reflection_generic_inst_initialize</a></h4>
++<h4><a name="api:mono_reflection_get_custom_attrs_blob">mono_reflection_get_custom_attrs_blob</a></h4>
++<h4><a name="api:mono_reflection_get_custom_attrs">mono_reflection_get_custom_attrs</a></h4>
++<h4><a name="api:mono_custom_attrs_get_attr">mono_custom_attrs_get_attr</a></h4>
++<h4><a name="api:mono_reflection_get_token">mono_reflection_get_token</a></h4>
++<h4><a name="api:mono_reflection_get_type">mono_reflection_get_type</a></h4>
++<h4><a name="api:mono_reflection_initialize_generic_parameter">mono_reflection_initialize_generic_parameter</a></h4>
++<h4><a name="api:mono_reflection_lookup_dynamic_token">mono_reflection_lookup_dynamic_token</a></h4>
++<h4><a name="api:mono_reflection_marshal_from_marshal_spec">mono_reflection_marshal_from_marshal_spec</a></h4>
++<h4><a name="api:mono_reflection_parse_type">mono_reflection_parse_type</a></h4>
++<h4><a name="api:mono_reflection_setup_generic_class">mono_reflection_setup_generic_class</a></h4>
++<h4><a name="api:mono_reflection_setup_internal_class">mono_reflection_setup_internal_class</a></h4>
++<h4><a name="api:mono_reflection_sighelper_get_signature_field">mono_reflection_sighelper_get_signature_field</a></h4>
++<h4><a name="api:mono_reflection_sighelper_get_signature_local">mono_reflection_sighelper_get_signature_local</a></h4>
++<h4><a name="api:mono_reflection_type_from_name">mono_reflection_type_from_name</a></h4>
++<h4><a name="api:mono_reflection_generic_class_initialize">mono_reflection_generic_class_initialize</a></h4> 
++<h4><a name="api:mono_reflection_get_custom_attrs_info">mono_reflection_get_custom_attrs_info</a></h4> 
++
++<h4><a name="api:mono_custom_attrs_construct">mono_custom_attrs_construct</a></h4>
++<h4><a name="api:mono_custom_attrs_free">mono_custom_attrs_free</a></h4>
++<h4><a name="api:mono_custom_attrs_from_assembly">mono_custom_attrs_from_assembly</a></h4>
++<h4><a name="api:mono_custom_attrs_from_class">mono_custom_attrs_from_class</a></h4>
++<h4><a name="api:mono_custom_attrs_from_event">mono_custom_attrs_from_event</a></h4>
++<h4><a name="api:mono_custom_attrs_from_field">mono_custom_attrs_from_field</a></h4>
++<h4><a name="api:mono_custom_attrs_from_index">mono_custom_attrs_from_index</a></h4>
++<h4><a name="api:mono_custom_attrs_from_method">mono_custom_attrs_from_method</a></h4>
++<h4><a name="api:mono_custom_attrs_from_param">mono_custom_attrs_from_param</a></h4>
++<h4><a name="api:mono_custom_attrs_from_property">mono_custom_attrs_from_property</a></h4>
++<h4><a name="api:mono_custom_attrs_has_attr">mono_custom_attrs_has_attr</a></h4> 
++
++<h4><a name="api:mono_module_file_get_object">mono_module_file_get_object</a></h4>
++<h4><a name="api:mono_module_get_object">mono_module_get_object</a></h4>
++<h4><a name="api:mono_method_body_get_object">mono_method_body_get_object</a></h4>
++<h4><a name="api:mono_event_get_object">mono_event_get_object</a></h4>
++<h4><a name="api:mono_assembly_get_object">mono_assembly_get_object</a></h4>
++<h4><a name="api:mono_param_get_objects">mono_param_get_objects</a></h4>
++<h4><a name="api:mono_field_get_object">mono_field_get_object</a></h4>
++<h4><a name="api:mono_property_get_object">mono_property_get_object</a></h4>
++<h4><a name="api:mono_type_get_object">mono_type_get_object</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b301dea713109f1bcef816b579982226951ab5b3
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,20 @@@
++<h3>Security Manager</h3>
++
++<h4><a name="api:mono_is_security_manager_active">mono_is_security_manager_active</a></h4> 
++<h4><a name="api:mono_security_manager_get_methods">mono_security_manager_get_methods</a></h4>
++<h4><a name="api:mono_activate_security_manager">mono_activate_security_manager</a></h4> 
++<h4><a name="api:mono_is_ecma_key">mono_is_ecma_key</a></h4> 
++<h4><a name="api:mono_get_context_capture_method">mono_get_context_capture_method</a></h4>
++
++<h3>Declarative Security</h3>
++
++<h4><a name="api:mono_declsec_flags_from_assembly">mono_declsec_flags_from_assembly</a></h4> 
++<h4><a name="api:mono_declsec_flags_from_class">mono_declsec_flags_from_class</a></h4> 
++<h4><a name="api:mono_declsec_flags_from_method">mono_declsec_flags_from_method</a></h4> 
++<h4><a name="api:mono_declsec_get_assembly_action">mono_declsec_get_assembly_action</a></h4> 
++<h4><a name="api:mono_declsec_get_class_action">mono_declsec_get_class_action</a></h4> 
++<h4><a name="api:mono_declsec_get_demands">mono_declsec_get_demands</a></h4> 
++<h4><a name="api:mono_declsec_get_inheritdemands_class">mono_declsec_get_inheritdemands_class</a></h4> 
++<h4><a name="api:mono_declsec_get_inheritdemands_method">mono_declsec_get_inheritdemands_method</a></h4> 
++<h4><a name="api:mono_declsec_get_linkdemands">mono_declsec_get_linkdemands</a></h4> 
++<h4><a name="api:mono_declsec_get_method_action">mono_declsec_get_method_action</a></h4> 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ce1ff3d4f75cd1592b5c7eae486cfc941ae1872b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,89 @@@
++<h2>Strings</h2>
++
++      <p>Strings representation inside the Mono runtime.
++
++<h3>Synopsis</h3>
++
++      <div class="header">
++#include &lt;metadata/object.h&gt;
++
++typedef struct {
++      MonoObject object;
++      gint32 length;
++      gunichar2 chars [0];
++} MonoString;
++
++@API_IDX@
++      </div>
++
++      <p>All of the operations on strings are done on pointers to
++      MonoString objects, like this:
++
++      <div class="code">
++      MonoString *hello = mono_string_new (mono_domain_get (), "hello, world");
++      </div>
++
++      <p>Strings are bound to a particular application domain, which
++      is why it is necessary to pass a MonoDomain argument as the
++      first parameter to all the constructor functions. 
++
++      <p>Typically, you want to create the strings on the current
++      application domain, so a call to <tt>mono_domain_get()</tt> is
++      sufficient.
++      
++<h3>Constructors</h3>
++      
++<h4><a name="api:mono_string_new">mono_string_new</a></h4>
++<h4><a name="api:mono_string_new_len">mono_string_new_len</a></h4>
++<h4><a name="api:mono_string_new_size">mono_string_new_size</a></h4>
++<h4><a name="api:mono_string_new_utf16">mono_string_new_utf16</a></h4>
++<h4><a name="api:mono_string_from_utf16">mono_string_from_utf16</a></h4>
++
++<h3>Conversions</h3>
++
++<h4><a name="api:mono_string_to_byvalstr">mono_string_to_byvalstr</a></h4>
++<h4><a name="api:mono_string_to_byvalwstr">mono_string_to_byvalwstr</a></h4>
++<h4><a name="api:mono_string_to_utf16">mono_string_to_utf16</a></h4>
++<h4><a name="api:mono_string_to_utf8">mono_string_to_utf8</a></h4>
++<h4><a name="api:mono_string_utf16_to_builder">mono_string_utf16_to_builder</a></h4>
++<h4><a name="api:mono_string_utf8_to_builder">mono_string_utf8_to_builder</a></h4>
++
++<h3>Methods</h3>
++
++<h4><a name="api:mono_string_equal">mono_string_equal</a></h4> 
++<h4><a name="api:mono_string_hash">mono_string_hash</a></h4> 
++<h4><a name="api:mono_string_intern">mono_string_intern</a></h4>
++<h4><a name="api:mono_string_is_interned">mono_string_is_interned</a></h4>
++<h4><a name="api:mono_string_new_wrapper">mono_string_new_wrapper</a></h4>
++<h4><a name="api:mono_string_chars">mono_string_chars</a></h4>
++<h4><a name="api:mono_string_length">mono_string_length</a></h4>
++
++
++<h3>String Builders</h3>
++
++      <p>These routines are used to work with the managed types
++      <tt>System.Text.StringBuilder</tt>.
++      
++<h4><a name="api:mono_string_builder_to_utf16">mono_string_builder_to_utf16</a></h4>
++<h4><a name="api:mono_string_builder_to_utf8">mono_string_builder_to_utf8</a></h4>
++
++<h3>Other Encodings</h3>
++
++      <p>These routines are used when coping with strings that come
++      from Mono's environment, and might be encoded in one or more
++      of the external encodings.
++
++      <p>For example, some file systems might historically contain a
++      mix of file names with both old and new encodings, typically
++      UTF8 for new files, and the old files would be encoded in an 8
++      bit character set (ISO-8859-1 for example).
++      
++      <p>These routines try a number of encodings, those specified
++      in the <tt>MONO_ENCODINGS</tt> environment variable and return
++      unicode strings that can be used internally.
++
++      <p>See the mono(1) man page for more details.
++      
++<h4><a name="api:mono_unicode_from_external">mono_unicode_from_external</a></h4>
++<h4><a name="api:mono_unicode_to_external">mono_unicode_to_external</a></h4>
++<h4><a name="api:mono_utf8_from_external">mono_utf8_from_external</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3696f37885615ecfdcd84dd3f9ceeb7315e2988c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,46 @@@
++<h2>Working with threads</h2>
++
++<h3>Thread API</h3>
++<h4><a name="api:mono_thread_abort_all_other_threads">mono_thread_abort_all_other_threads</a></h4>
++<h4><a name="api:mono_thread_attach">mono_thread_attach</a></h4>
++<h4><a name="api:mono_thread_create">mono_thread_create</a></h4>
++<h4><a name="api:mono_thread_current">mono_thread_current</a></h4>
++<h4><a name="api:mono_thread_detach">mono_thread_detach</a></h4>
++<h4><a name="api:mono_thread_exit">mono_thread_exit</a></h4>
++<h4><a name="api:mono_thread_force_interruption_checkpoint">mono_thread_force_interruption_checkpoint</a></h4>
++<h4><a name="api:mono_thread_get_abort_signal">mono_thread_get_abort_signal</a></h4>
++<h4><a name="api:mono_thread_get_pending_exception">mono_thread_get_pending_exception</a></h4>
++<h4><a name="api:mono_thread_interruption_checkpoint">mono_thread_interruption_checkpoint</a></h4>
++<h4><a name="api:mono_thread_interruption_requested">mono_thread_interruption_requested</a></h4>
++<h4><a name="api:mono_thread_interruption_request_flag">mono_thread_interruption_request_flag</a></h4>
++<h4><a name="api:mono_thread_manage">mono_thread_manage</a></h4>
++<h4><a name="api:mono_thread_new_init">mono_thread_new_init</a></h4>
++<h4><a name="api:mono_thread_pop_appdomain_ref">mono_thread_pop_appdomain_ref</a></h4>
++<h4><a name="api:mono_thread_push_appdomain_ref">mono_thread_push_appdomain_ref</a></h4>
++<h4><a name="api:mono_thread_request_interruption">mono_thread_request_interruption</a></h4>
++<h4><a name="api:mono_threads_abort_appdomain_threads">mono_threads_abort_appdomain_threads</a></h4>
++<h4><a name="api:mono_threads_get_default_stacksize">mono_threads_get_default_stacksize</a></h4>
++<h4><a name="api:mono_threads_install_cleanup">mono_threads_install_cleanup</a></h4>
++<h4><a name="api:mono_threads_set_default_stacksize">mono_threads_set_default_stacksize</a></h4>
++<h4><a name="api:mono_thread_stop">mono_thread_stop</a></h4>
++
++<h4><a name="api:mono_thread_get_main">mono_thread_get_main</a></h4> 
++<h4><a name="api:mono_thread_set_main">mono_thread_set_main</a></h4> 
++<h4><a name="api:mono_thread_get_tls_key">mono_thread_get_tls_key</a></h4> 
++<h4><a name="api:mono_pthread_key_for_tls">mono_pthread_key_for_tls</a></h4> 
++
++
++<h3>Thread Pool API</h3>
++<h4><a name="api:mono_thread_pool_add">mono_thread_pool_add</a></h4>
++<h4><a name="api:mono_thread_pool_finish">mono_thread_pool_finish</a></h4>
++
++<h3>Monitors</h3>
++
++<h4><a name="api:mono_monitor_enter">mono_monitor_enter</a></h4>
++<h4><a name="api:mono_monitor_exit">mono_monitor_exit</a></h4>
++<h4><a name="api:mono_monitor_try_enter">mono_monitor_try_enter</a></h4>
++
++<h3>Mono VM development</h3>
++<h4><a name="api:mono_threads_clear_cached_culture">mono_threads_clear_cached_culture</a></h4> 
++<h4><a name="api:mono_thread_suspend_all_other_threads">mono_thread_suspend_all_other_threads</a></h4> 
++<h4><a name="api:mono_thread_has_appdomain_ref">mono_thread_has_appdomain_ref</a></h4> 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..2783263b8321a7e5eeb39923215d000a70c7f939
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++<h2>Tracing</h2>
++
++<h4><a name="api:mono_trace_cleanup">mono_trace_cleanup</a></h4>
++<h4><a name="api:mono_trace">mono_trace</a></h4>
++<h4><a name="api:mono_trace_parse_options">mono_trace_parse_options</a></h4>
++<h4><a name="api:mono_trace_pop">mono_trace_pop</a></h4>
++<h4><a name="api:mono_trace_push">mono_trace_push</a></h4>
++<h4><a name="api:mono_trace_set_assembly">mono_trace_set_assembly</a></h4>
++<h4><a name="api:mono_trace_set_level">mono_trace_set_level</a></h4>
++<h4><a name="api:mono_trace_set_level_string">mono_trace_set_level_string</a></h4>
++<h4><a name="api:mono_trace_set_mask">mono_trace_set_mask</a></h4>
++<h4><a name="api:mono_trace_set_mask_string">mono_trace_set_mask_string</a></h4>
++<h4><a name="api:mono_tracev">mono_tracev</a></h4>
++<h4><a name="api:mono_trace_is_traced">mono_trace_is_traced</a></h4> 
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..91cb9cce8656d7be53658017d83f67111975160b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,22 @@@
++<h4><a name="api:mono_type_create_from_typespec_full">mono_type_create_from_typespec_full</a></h4>
++<h4><a name="api:mono_type_create_from_typespec">mono_type_create_from_typespec</a></h4>
++<h4><a name="api:mono_type_full_name">mono_type_full_name</a></h4>
++<h4><a name="api:mono_type_get_array_type">mono_type_get_array_type</a></h4>
++<h4><a name="api:mono_type_get_class">mono_type_get_class</a></h4>
++<h4><a name="api:mono_type_get_desc">mono_type_get_desc</a></h4>
++<h4><a name="api:mono_type_get_full_name">mono_type_get_full_name</a></h4>
++<h4><a name="api:mono_type_get_modifiers">mono_type_get_modifiers</a></h4>
++<h4><a name="api:mono_type_get_name">mono_type_get_name</a></h4>
++<h4><a name="api:mono_type_get_signature">mono_type_get_signature</a></h4>
++<h4><a name="api:mono_type_get_type">mono_type_get_type</a></h4>
++<h4><a name="api:mono_type_get_underlying_type">mono_type_get_underlying_type</a></h4>
++<h4><a name="api:mono_type_initialization_init">mono_type_initialization_init</a></h4>
++<h4><a name="api:mono_type_is_byref">mono_type_is_byref</a></h4>
++<h4><a name="api:mono_type_native_stack_size">mono_type_native_stack_size</a></h4>
++<h4><a name="api:mono_type_size">mono_type_size</a></h4>
++<h4><a name="api:mono_type_stack_size">mono_type_stack_size</a></h4>
++<h4><a name="api:mono_type_to_ldind">mono_type_to_ldind</a></h4>
++<h4><a name="api:mono_type_to_stind">mono_type_to_stind</a></h4>
++<h4><a name="api:mono_type_to_unmanaged">mono_type_to_unmanaged</a></h4>
++<h4><a name="api:mono_type_get_name_full">mono_type_get_name_full</a></h4>
++<h4><a name="api:mono_type_generic_inst_is_valuetype">mono_type_generic_inst_is_valuetype</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..819f26ba283f038fb679cdb55a4d7e2c3185add4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,27 @@@
++<h3>Common core types</h3>
++
++      <p>These are accesor methods to retrieve the <tt>MonoClass
++      *</tt> handle for the various built-in CLI types. 
++      
++<h4><a name="api:mono_get_object_class">mono_get_object_class</a></h4>
++<h4><a name="api:mono_get_int16_class">mono_get_int16_class</a></h4>
++<h4><a name="api:mono_get_int32_class">mono_get_int32_class</a></h4>
++<h4><a name="api:mono_get_int64_class">mono_get_int64_class</a></h4>
++<h4><a name="api:mono_get_double_class">mono_get_double_class</a></h4>
++<h4><a name="api:mono_get_enum_class">mono_get_enum_class</a></h4>
++<h4><a name="api:mono_get_intptr_class">mono_get_intptr_class</a></h4>
++<h4><a name="api:mono_get_sbyte_class">mono_get_sbyte_class</a></h4>
++<h4><a name="api:mono_get_single_class">mono_get_single_class</a></h4>
++<h4><a name="api:mono_get_string_class">mono_get_string_class</a></h4>
++<h4><a name="api:mono_get_thread_class">mono_get_thread_class</a></h4>
++<h4><a name="api:mono_get_uint16_class">mono_get_uint16_class</a></h4>
++<h4><a name="api:mono_get_uint32_class">mono_get_uint32_class</a></h4>
++<h4><a name="api:mono_get_uint64_class">mono_get_uint64_class</a></h4>
++<h4><a name="api:mono_get_uintptr_class">mono_get_uintptr_class</a></h4>
++<h4><a name="api:mono_get_void_class">mono_get_void_class</a></h4>
++<h4><a name="api:mono_get_array_class">mono_get_array_class</a></h4>
++<h4><a name="api:mono_get_boolean_class">mono_get_boolean_class</a></h4>
++<h4><a name="api:mono_get_byte_class">mono_get_byte_class</a></h4>
++<h4><a name="api:mono_get_char_class">mono_get_char_class</a></h4>
++
++<h4><a name="api:mono_get_dbnull_object">mono_get_dbnull_object</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..42e7fe0647e8c6c6bef4bffa9dd1b7897959d26a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,60 @@@
++
++
++<h4><a name="api:mini_compile_generic_method">mini_compile_generic_method</a></h4>
++<h4><a name="api:mono_alloc_special_static_data">mono_alloc_special_static_data</a></h4>
++<h4><a name="api:mono_bounded_array_class_get">mono_bounded_array_class_get</a></h4>
++<h4><a name="api:mono_check_corlib_version">mono_check_corlib_version</a></h4>
++<h4><a name="api:mono_compile_method">mono_compile_method</a></h4>
++<h4><a name="api:mono_config_for_assembly">mono_config_for_assembly</a></h4>
++<h4><a name="api:mono_create_icall_signature">mono_create_icall_signature</a></h4>
++<h4><a name="api:mono_create_jit_trampoline">mono_create_jit_trampoline</a></h4>
++<h4><a name="api:mono_create_jump_table">mono_create_jump_table</a></h4>
++<h4><a name="api:mono_create_jump_trampoline">mono_create_jump_trampoline</a></h4>
++<h4><a name="api:mono_dllmap_insert">mono_dllmap_insert</a></h4>
++<h4><a name="api:mono_environment_exitcode_get">mono_environment_exitcode_get</a></h4>
++<h4><a name="api:mono_environment_exitcode_set">mono_environment_exitcode_set</a></h4>
++<h4><a name="api:mono_find_method_by_name">mono_find_method_by_name</a></h4>
++<h4><a name="api:mono_free_method">mono_free_method</a></h4>
++<h4><a name="api:mono_free_verify_list">mono_free_verify_list</a></h4>
++<h4><a name="api:mono_get_config_dir">mono_get_config_dir</a></h4>
++<h4><a name="api:mono_get_constant_value_from_blob">mono_get_constant_value_from_blob</a></h4>
++<h4><a name="api:mono_get_corlib">mono_get_corlib</a></h4>
++<h4><a name="api:mono_get_delegate_invoke">mono_get_delegate_invoke</a></h4>
++<h4><a name="api:mono_get_framework_version">mono_get_framework_version</a></h4>
++<h4><a name="api:mono_get_method_full">mono_get_method_full</a></h4>
++<h4><a name="api:mono_get_method">mono_get_method</a></h4>
++<h4><a name="api:mono_get_root_domain">mono_get_root_domain</a></h4>
++<h4><a name="api:mono_get_runtime_version">mono_get_runtime_version</a></h4>
++<h4><a name="api:mono_get_special_static_data">mono_get_special_static_data</a></h4>
++<h4><a name="api:mono_init_from_assembly">mono_init_from_assembly</a></h4>
++<h4><a name="api:mono_init">mono_init</a></h4>
++<h4><a name="api:mono_init_version">mono_init_version</a></h4>
++<h4><a name="api:mono_invoke_delegate">mono_invoke_delegate</a></h4>
++<h4><a name="api:mono_jit_exec">mono_jit_exec</a></h4>
++<h4><a name="api:mono_lookup_internal_call">mono_lookup_internal_call</a></h4>
++<h4><a name="api:mono_lookup_pinvoke_call">mono_lookup_pinvoke_call</a></h4>
++<h4><a name="api:mono_main">mono_main</a></h4>
++<h4><a name="api:mono_message_init">mono_message_init</a></h4>
++<h4><a name="api:mono_message_invoke">mono_message_invoke</a></h4>
++<h4><a name="api:mono_parse_default_optimizations">mono_parse_default_optimizations</a></h4>
++<h4><a name="api:mono_perform_abc_removal">mono_perform_abc_removal</a></h4>
++<h4><a name="api:mono_ptr_class_get">mono_ptr_class_get</a></h4>
++<h4><a name="api:mono_register_bundled_assemblies">mono_register_bundled_assemblies</a></h4>
++<h4><a name="api:mono_release_type_locks">mono_release_type_locks</a></h4>
++<h4><a name="api:mono_remote_class">mono_remote_class</a></h4>
++<h4><a name="api:mono_remote_class_vtable">mono_remote_class_vtable</a></h4>
++<h4><a name="api:mono_runtime_class_init">mono_runtime_class_init</a></h4>
++<h4><a name="api:mono_runtime_cleanup">mono_runtime_cleanup</a></h4>
++<h4><a name="api:mono_runtime_free_method">mono_runtime_free_method</a></h4>
++<h4><a name="api:mono_runtime_get_main_args">mono_runtime_get_main_args</a></h4>
++<h4><a name="api:mono_runtime_init">mono_runtime_init</a></h4>
++<h4><a name="api:mono_runtime_is_shutting_down">mono_runtime_is_shutting_down</a></h4>
++<h4><a name="api:mono_runtime_object_init">mono_runtime_object_init</a></h4>
++<h4><a name="api:mono_runtime_quit">mono_runtime_quit</a></h4>
++<h4><a name="api:mono_runtime_run_main">mono_runtime_run_main</a></h4>
++<h4><a name="api:mono_table_info_get_rows">mono_table_info_get_rows</a></h4>
++<h4><a name="api:mono_upgrade_remote_class">mono_upgrade_remote_class</a></h4>
++<h4><a name="api:mono_upgrade_remote_class_wrapper">mono_upgrade_remote_class_wrapper</a></h4>
++<h4><a name="api:mono_verify_corlib">mono_verify_corlib</a></h4>
++<h4><a name="api:mono_vtable_get_static_field_data">mono_vtable_get_static_field_data</a></h4>
++<h4><a name="api:mono_wait_handle_new">mono_wait_handle_new</a></h4>
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..8b013eb0d565620347cc85f78dfea58e31875cfc
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,140 @@@
++<h2>Utility Methods</h2>
++
++<h3>Bitsets</h3>
++
++      <p>MonoBitsets are a set of routines used to manipulate sets
++      of bits.
++      
++<h4><a name="api:mono_bitset_alloc_size">mono_bitset_alloc_size</a></h4>
++<h4><a name="api:mono_bitset_clear">mono_bitset_clear</a></h4>
++<h4><a name="api:mono_bitset_clear_all">mono_bitset_clear_all</a></h4>
++<h4><a name="api:mono_bitset_clone">mono_bitset_clone</a></h4>
++<h4><a name="api:mono_bitset_copyto">mono_bitset_copyto</a></h4>
++<h4><a name="api:mono_bitset_count">mono_bitset_count</a></h4>
++<h4><a name="api:mono_bitset_equal">mono_bitset_equal</a></h4>
++<h4><a name="api:mono_bitset_find_first">mono_bitset_find_first</a></h4>
++<h4><a name="api:mono_bitset_find_last">mono_bitset_find_last</a></h4>
++<h4><a name="api:mono_bitset_find_start">mono_bitset_find_start</a></h4>
++<h4><a name="api:mono_bitset_foreach">mono_bitset_foreach</a></h4>
++<h4><a name="api:mono_bitset_free">mono_bitset_free</a></h4>
++<h4><a name="api:mono_bitset_intersection">mono_bitset_intersection</a></h4>
++<h4><a name="api:mono_bitset_invert">mono_bitset_invert</a></h4>
++<h4><a name="api:mono_bitset_mem_new">mono_bitset_mem_new</a></h4>
++<h4><a name="api:mono_bitset_new">mono_bitset_new</a></h4>
++<h4><a name="api:mono_bitset_set">mono_bitset_set</a></h4>
++<h4><a name="api:mono_bitset_set_all">mono_bitset_set_all</a></h4>
++<h4><a name="api:mono_bitset_size">mono_bitset_size</a></h4>
++<h4><a name="api:mono_bitset_sub">mono_bitset_sub</a></h4>
++<h4><a name="api:mono_bitset_test">mono_bitset_test</a></h4>
++<h4><a name="api:mono_bitset_test_bulk">mono_bitset_test_bulk</a></h4>
++<h4><a name="api:mono_bitset_union">mono_bitset_union</a></h4>
++<h4><a name="api:mono_bitset_find_first_unset">mono_bitset_find_first_unset</a></h4>
++<h4><a name="api:mono_bitset_intersection_2">mono_bitset_intersection_2</a></h4>
++
++<h3>Hashtables</h3>
++
++      <p><tt>GHashTable</tt> is used when you need to store object
++      references into a hashtable, objects stored in a
++      <tt>MonoGHashTable</tt> are properly tracked by the garbage
++      collector.
++
++      <p>The <tt>MonoGHashTable</tt> data type has the same API as
++      the GLIB.
++      
++<h4><a name="api:mono_g_hash_table_destroy">mono_g_hash_table_destroy</a></h4>
++<h4><a name="api:mono_g_hash_table_foreach">mono_g_hash_table_foreach</a></h4>
++<h4><a name="api:mono_g_hash_table_foreach_remove">mono_g_hash_table_foreach_remove</a></h4>
++<h4><a name="api:mono_g_hash_table_foreach_steal">mono_g_hash_table_foreach_steal</a></h4>
++<h4><a name="api:mono_g_hash_table_insert">mono_g_hash_table_insert</a></h4>
++<h4><a name="api:mono_g_hash_table_lookup">mono_g_hash_table_lookup</a></h4>
++<h4><a name="api:mono_g_hash_table_lookup_extended">mono_g_hash_table_lookup_extended</a></h4>
++<h4><a name="api:mono_g_hash_table_new">mono_g_hash_table_new</a></h4>
++<h4><a name="api:mono_g_hash_table_new_full">mono_g_hash_table_new_full</a></h4>
++<h4><a name="api:mono_g_hash_table_remap">mono_g_hash_table_remap</a></h4>
++<h4><a name="api:mono_g_hash_table_remove">mono_g_hash_table_remove</a></h4>
++<h4><a name="api:mono_g_hash_table_replace">mono_g_hash_table_replace</a></h4>
++<h4><a name="api:mono_g_hash_table_size">mono_g_hash_table_size</a></h4>
++<h4><a name="api:mono_g_hash_table_steal">mono_g_hash_table_steal</a></h4>
++
++<h3>Raw buffer</h3>
++
++      <p>Raw buffers provide an abstraction to load segments of
++      files into memory.  If the operating system supports it, the
++      files are not loaded, but are mapped into the address space of
++      the process (On Unix, this is done using the <tt>mmap(2)</tt>
++      system call).
++      
++<h4><a name="api:mono_raw_buffer_load">mono_raw_buffer_load</a></h4>
++<h4><a name="api:mono_raw_buffer_update">mono_raw_buffer_update</a></h4>
++<h4><a name="api:mono_raw_buffer_free">mono_raw_buffer_free</a></h4>
++
++<h3>SHA1 Signatures</h3>
++
++<h4><a name="api:mono_sha1_init">mono_sha1_init</a></h4>
++<h4><a name="api:mono_sha1_update">mono_sha1_update</a></h4>
++<h4><a name="api:mono_sha1_get_digest_from_file">mono_sha1_get_digest_from_file</a></h4>
++<h4><a name="api:mono_sha1_get_digest">mono_sha1_get_digest</a></h4>
++<h4><a name="api:mono_sha1_final">mono_sha1_final</a></h4>
++
++<h3>MD5 Signatures</h3>
++
++<h4><a name="api:mono_md5_init">mono_md5_init</a></h4>
++<h4><a name="api:mono_md5_update">mono_md5_update</a></h4>
++<h4><a name="api:mono_md5_get_digest_from_file">mono_md5_get_digest_from_file</a></h4>
++<h4><a name="api:mono_md5_get_digest">mono_md5_get_digest</a></h4>
++<h4><a name="api:mono_md5_final">mono_md5_final</a></h4>
++
++<h4><a name="api:mono_digest_get_public_token">mono_digest_get_public_token</a></h4>
++
++<h3>Memory Pools</h3>
++
++      <p>Memory pools are a convenient way of tracking memory
++      allocations that are used for one specific task, they are also
++      faster than using the standard memory allocation procedures,
++      as they are designed to be used only by a single thread at a
++      time. 
++
++      <p><tt>MonoMemPool</tt> objects are not thread safe, which
++      means that you should not share the objects across multiple
++      threads without providing proper locking around it (unlike
++      <tt>malloc</tt> and <tt>free</tt> which are thread safe). 
++
++      <p>When a <tt>MonoMemPool</tt> is released with
++      <tt>mono_mempool_destroy</tt> all of the of the memory
++      allocated from that memory pool with
++      <tt>mono_mempool_alloc</tt> and <tt>mono_mempool_alloc0</tt>
++      is released.
++      
++<h4><a name="api:mono_mempool_new">mono_mempool_new</a></h4>
++<h4><a name="api:mono_mempool_destroy">mono_mempool_destroy</a></h4>
++<h4><a name="api:mono_mempool_alloc">mono_mempool_alloc</a></h4>
++<h4><a name="api:mono_mempool_alloc0">mono_mempool_alloc0</a></h4>
++<h4><a name="api:mono_mempool_empty">mono_mempool_empty</a></h4>
++<h4><a name="api:mono_mempool_invalidate">mono_mempool_invalidate</a></h4>
++<h4><a name="api:mono_mempool_stats">mono_mempool_stats</a></h4>
++<h4><a name="api:mono_mempool_contains_addr">mono_mempool_contains_addr</a></h4> 
++ 
++<h3>JIT utilities</h3>
++
++<h4><a name="api:mono_is_power_of_two">mono_is_power_of_two</a></h4>
++<h4><a name="api:mono_signbit_double">mono_signbit_double</a></h4>
++<h4><a name="api:mono_signbit_float">mono_signbit_float</a></h4>
++
++<h3>Disassembling Generated Code</h3>
++
++      <p>Routines used to debug the JIT-produced code.
++      
++<h4><a name="api:mono_disasm_code">mono_disasm_code</a></h4>
++<h4><a name="api:mono_disasm_code_one">mono_disasm_code_one</a></h4>
++<h4><a name="api:mono_disassemble_code">mono_disassemble_code</a></h4>
++
++<h3>Walking the Stack</h3>
++
++<h4><a name="api:mono_walk_stack">mono_walk_stack</a></h4> 
++<h4><a name="api:mono_stack_walk_no_il">mono_stack_walk_no_il</a></h4>
++
++<h3>Others</h3>
++
++<h4><a name="api:mono_escape_uri_string">mono_escape_uri_string</a></h4>
++<h4><a name="api:mono_guid_to_string">mono_guid_to_string</a></h4>
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
new file mode 100644 (file)
--- /dev/null
--- /dev/null
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..3bb1d1110df36b64d7ecef3ce74b5dffa5007852
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,111 @@@
++<h2>Windows Compatibility API</h2>
++
++      <p>Mono implements a small subset of the Win32 API for some
++      file system interaction, I/O, thread and process operations.
++
++      <p>On Windows, Mono uses directly the services provided by the
++      operating system.   On other operating system it uses its own
++      implementation (referred to as the "io-layer" or "wapi"). 
++      
++<h4><a name="api:GetThreadContext">GetThreadContext</a></h4>
++<h4><a name="api:DeleteCriticalSection">DeleteCriticalSection</a></h4>
++<h4><a name="api:EnterCriticalSection">EnterCriticalSection</a></h4>
++<h4><a name="api:InitializeCriticalSection">InitializeCriticalSection</a></h4>
++<h4><a name="api:InitializeCriticalSectionAndSpinCount">InitializeCriticalSectionAndSpinCount</a></h4>
++<h4><a name="api:LeaveCriticalSection">LeaveCriticalSection</a></h4>
++<h4><a name="api:SetCriticalSectionSpinCount">SetCriticalSectionSpinCount</a></h4>
++<h4><a name="api:TryEnterCriticalSection">TryEnterCriticalSection</a></h4>
++<h4><a name="api:errno_to_WSA">errno_to_WSA</a></h4>
++<h4><a name="api:GetLastError">GetLastError</a></h4>
++<h4><a name="api:SetLastError">SetLastError</a></h4>
++<h4><a name="api:CreateEvent">CreateEvent</a></h4>
++<h4><a name="api:PulseEvent">PulseEvent</a></h4>
++<h4><a name="api:ResetEvent">ResetEvent</a></h4>
++<h4><a name="api:SetEvent">SetEvent</a></h4>
++<h4><a name="api:CloseHandle">CloseHandle</a></h4>
++<h4><a name="api:CopyFile">CopyFile</a></h4>
++<h4><a name="api:CreateDirectory">CreateDirectory</a></h4>
++<h4><a name="api:CreateFile">CreateFile</a></h4>
++<h4><a name="api:CreatePipe">CreatePipe</a></h4>
++<h4><a name="api:DeleteFile">DeleteFile</a></h4>
++<h4><a name="api:FileTimeToSystemTime">FileTimeToSystemTime</a></h4>
++<h4><a name="api:FindClose">FindClose</a></h4>
++<h4><a name="api:FindFirstFile">FindFirstFile</a></h4>
++<h4><a name="api:FindNextFile">FindNextFile</a></h4>
++<h4><a name="api:FlushFileBuffers">FlushFileBuffers</a></h4>
++<h4><a name="api:GetCurrentDirectory">GetCurrentDirectory</a></h4>
++<h4><a name="api:GetFileAttributes">GetFileAttributes</a></h4>
++<h4><a name="api:GetFileAttributesEx">GetFileAttributesEx</a></h4>
++<h4><a name="api:GetFileSize">GetFileSize</a></h4>
++<h4><a name="api:GetFileTime">GetFileTime</a></h4>
++<h4><a name="api:GetFileType">GetFileType</a></h4>
++<h4><a name="api:GetLogicalDriveStrings">GetLogicalDriveStrings</a></h4>
++<h4><a name="api:GetStdHandle">GetStdHandle</a></h4>
++<h4><a name="api:GetTempPath">GetTempPath</a></h4>
++<h4><a name="api:LockFile">LockFile</a></h4>
++<h4><a name="api:MoveFile">MoveFile</a></h4>
++<h4><a name="api:ReadFile">ReadFile</a></h4>
++<h4><a name="api:RemoveDirectory">RemoveDirectory</a></h4>
++<h4><a name="api:SetCurrentDirectory">SetCurrentDirectory</a></h4>
++<h4><a name="api:SetEndOfFile">SetEndOfFile</a></h4>
++<h4><a name="api:SetFileAttributes">SetFileAttributes</a></h4>
++<h4><a name="api:SetFilePointer">SetFilePointer</a></h4>
++<h4><a name="api:SetFileTime">SetFileTime</a></h4>
++<h4><a name="api:UnlockFile">UnlockFile</a></h4>
++<h4><a name="api:WriteFile">WriteFile</a></h4>
++<h4><a name="api:mono_once">mono_once</a></h4>
++<h4><a name="api:CreateMutex">CreateMutex</a></h4>
++<h4><a name="api:ReleaseMutex">ReleaseMutex</a></h4>
++<h4><a name="api:CreateProcess">CreateProcess</a></h4>
++<h4><a name="api:EnumProcesses">EnumProcesses</a></h4>
++<h4><a name="api:EnumProcessModules">EnumProcessModules</a></h4>
++<h4><a name="api:GetCurrentProcess">GetCurrentProcess</a></h4>
++<h4><a name="api:GetCurrentProcessId">GetCurrentProcessId</a></h4>
++<h4><a name="api:GetExitCodeProcess">GetExitCodeProcess</a></h4>
++<h4><a name="api:GetModuleBaseName">GetModuleBaseName</a></h4>
++<h4><a name="api:GetProcessTimes">GetProcessTimes</a></h4>
++<h4><a name="api:GetProcessWorkingSetSize">GetProcessWorkingSetSize</a></h4>
++<h4><a name="api:OpenProcess">OpenProcess</a></h4>
++<h4><a name="api:SetProcessWorkingSetSize">SetProcessWorkingSetSize</a></h4>
++<h4><a name="api:TerminateProcess">TerminateProcess</a></h4>
++<h4><a name="api:ImpersonateLoggedOnUser">ImpersonateLoggedOnUser</a></h4>
++<h4><a name="api:RevertToSelf">RevertToSelf</a></h4>
++<h4><a name="api:CreateSemaphore">CreateSemaphore</a></h4>
++<h4><a name="api:ReleaseSemaphore">ReleaseSemaphore</a></h4>
++<h4><a name="api:closesocket">closesocket</a></h4>
++<h4><a name="api:ioctlsocket">ioctlsocket</a></h4>
++<h4><a name="api:WSACleanup">WSACleanup</a></h4>
++<h4><a name="api:WSAGetLastError">WSAGetLastError</a></h4>
++<h4><a name="api:WSAIoctl">WSAIoctl</a></h4>
++<h4><a name="api:WSASetLastError">WSASetLastError</a></h4>
++<h4><a name="api:WSAStartup">WSAStartup</a></h4>
++<h4><a name="api:GetSystemInfo">GetSystemInfo</a></h4>
++<h4><a name="api:BindIoCompletionCallback">BindIoCompletionCallback</a></h4>
++<h4><a name="api:CreateThread">CreateThread</a></h4>
++<h4><a name="api:ExitThread">ExitThread</a></h4>
++<h4><a name="api:GetCurrentThread">GetCurrentThread</a></h4>
++<h4><a name="api:GetCurrentThreadId">GetCurrentThreadId</a></h4>
++<h4><a name="api:GetExitCodeThread">GetExitCodeThread</a></h4>
++<h4><a name="api:OpenThread">OpenThread</a></h4>
++<h4><a name="api:QueueUserAPC">QueueUserAPC</a></h4>
++<h4><a name="api:ResumeThread">ResumeThread</a></h4>
++<h4><a name="api:Sleep">Sleep</a></h4>
++<h4><a name="api:SleepEx">SleepEx</a></h4>
++<h4><a name="api:SuspendThread">SuspendThread</a></h4>
++<h4><a name="api:TlsAlloc">TlsAlloc</a></h4>
++<h4><a name="api:TlsFree">TlsFree</a></h4>
++<h4><a name="api:TlsGetValue">TlsGetValue</a></h4>
++<h4><a name="api:TlsSetValue">TlsSetValue</a></h4>
++<h4><a name="api:GetTickCount">GetTickCount</a></h4>
++<h4><a name="api:QueryPerformanceCounter">QueryPerformanceCounter</a></h4>
++<h4><a name="api:QueryPerformanceFrequency">QueryPerformanceFrequency</a></h4>
++<h4><a name="api:SignalObjectAndWait">SignalObjectAndWait</a></h4>
++<h4><a name="api:WaitForMultipleObjects">WaitForMultipleObjects</a></h4>
++<h4><a name="api:WaitForMultipleObjectsEx">WaitForMultipleObjectsEx</a></h4>
++<h4><a name="api:WaitForSingleObject">WaitForSingleObject</a></h4>
++<h4><a name="api:WaitForSingleObjectEx">WaitForSingleObjectEx</a></h4>
++<h4><a name="api:OpenEvent">OpenEvent</a></h4>
++<h4><a name="api:OpenMutex">OpenMutex</a></h4>
++<h4><a name="api:GetProcessId">GetProcessId</a></h4>
++<h4><a name="api:ShellExecuteEx">ShellExecuteEx</a></h4>
++<h4><a name="api:OpenSemaphore">OpenSemaphore</a></h4>
diff --cc docs/toc.xml
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f131df4499f948eb5466de65717593aa66474f4c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,193 @@@
++<?xml version="1.0"?>
++<html xmlns="http://www.w3.org/1999/xhtml" xmlns:monodoc="http://www.go-mono.org/xml/monodoc">
++<head/>
++<body>
++  <object type="text/site properties">
++    <param name="Auto Generated" value="No"/>
++  </object>
++    <ul>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Mono Runtime API"/>
++          <param name="Local" value="DoesNotExist"/>
++        </object>
++      </li>
++      <ul>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Assemblies"/>
++          <param name="Local" value="deploy/mono-api-assembly.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Images"/>
++          <param name="Local" value="deploy/mono-api-image.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Objects"/>
++          <param name="Local" value="deploy/mono-api-object.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Strings"/>
++          <param name="Local" value="deploy/mono-api-string.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Methods"/>
++          <param name="Local" value="deploy/mono-api-methods.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Classes"/>
++          <param name="Local" value="deploy/mono-api-class.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Code Generation"/>
++          <param name="Local" value="deploy/mono-api-codegen.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Decimal Representation"/>
++          <param name="Local" value="deploy/mono-api-decimal.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Application Domains"/>
++          <param name="Local" value="deploy/mono-api-domains.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Dynamic Code Generation"/>
++          <param name="Local" value="deploy/mono-api-dynamic-codegen.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Exceptions"/>
++          <param name="Local" value="deploy/mono-api-exc.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="GC Handles"/>
++          <param name="Local" value="deploy/mono-api-gchandle.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Garbage Collection"/>
++          <param name="Local" value="deploy/mono-api-gc.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Embedding Mono"/>
++          <param name="Local" value="deploy/mono-api-embedding.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Just in Time Compiler"/>
++          <param name="Local" value="deploy/mono-api-jit.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Marshalling"/>
++          <param name="Local" value="deploy/mono-api-marshal.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Metadata access"/>
++          <param name="Local" value="deploy/mono-api-metadata.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Profiler"/>
++          <param name="Local" value="deploy/mono-api-profiler.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Reflection"/>
++          <param name="Local" value="deploy/mono-api-reflection.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Threading API"/>
++          <param name="Local" value="deploy/mono-api-threads.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Tracing"/>
++          <param name="Local" value="deploy/mono-api-trace.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="JIT Counters"/>
++          <param name="Local" value="deploy/mono-api-counters.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Types"/>
++          <param name="Local" value="deploy/mono-api-type.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Common Types"/>
++          <param name="Local" value="deploy/mono-api-types.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Security API calls"/>
++          <param name="Local" value="deploy/mono-api-security.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Portable Windows Layer"/>
++          <param name="Local" value="deploy/mono-api-wapi.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Debugging API"/>
++          <param name="Local" value="deploy/mono-api-debug.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Utility Functions"/>
++          <param name="Local" value="deploy/mono-api-utils.html"/>
++        </object>
++      </li>
++      <li>
++        <object type="text/sitemap">
++          <param name="Name" value="Unsorted"/>
++          <param name="Local" value="deploy/mono-api-unsorted.html"/>
++        </object>
++      </li>
++      </ul>
++    </ul>
++  </body>
++</html>
diff --cc docs/wapi
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..858228be8204a88b6ecc7b988a12e4a26f34f7a4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
+++ b/docs/wapi
@@@ -1,0 -1,0 +1,101 @@@
++GetThreadContext
++DeleteCriticalSection
++InitializeCriticalSection
++InitializeCriticalSectionAndSpinCount
++SetCriticalSectionSpinCount
++TryEnterCriticalSection
++errno_to_WSA
++GetLastError
++SetLastError
++CreateEvent
++OpenEvent
++PulseEvent
++ResetEvent
++SetEvent
++CloseHandle
++DuplicateHandle
++CopyFile
++CreateDirectory
++CreateFile
++CreatePipe
++DeleteFile
++FileTimeToSystemTime
++FindClose
++FindFirstFile
++FindNextFile
++FlushFileBuffers
++GetCurrentDirectory
++GetFileAttributes
++GetFileAttributesEx
++GetFileSize
++GetFileTime
++GetFileType
++GetLogicalDriveStrings
++GetStdHandle
++GetTempPath
++LockFile
++MoveFile
++ReadFile
++RemoveDirectory
++SetCurrentDirectory
++SetEndOfFile
++SetFileAttributes
++SetFilePointer
++SetFileTime
++UnlockFile
++WriteFile
++mono_once
++CreateMutex
++OpenMutex
++ReleaseMutex
++CreateProcess
++EnumProcesses
++EnumProcessModules
++GetCurrentProcess
++GetCurrentProcessId
++GetExitCodeProcess
++GetModuleBaseName
++GetProcessId
++GetProcessTimes
++GetProcessWorkingSetSize
++OpenProcess
++SetProcessWorkingSetSize
++ShellExecuteEx
++TerminateProcess
++ImpersonateLoggedOnUser
++RevertToSelf
++CreateSemaphore
++OpenSemaphore
++ReleaseSemaphore
++closesocket
++ioctlsocket
++WSACleanup
++WSAGetLastError
++WSAIoctl
++WSASetLastError
++WSAStartup
++GetSystemInfo
++CreateThread
++ExitThread
++GetCurrentThread
++GetCurrentThreadId
++GetExitCodeThread
++mono_pthread_key_for_tls
++OpenThread
++QueueUserAPC
++ResumeThread
++Sleep
++SleepEx
++SuspendThread
++TlsAlloc
++TlsFree
++TlsGetValue
++TlsSetValue
++GetTickCount
++QueryPerformanceCounter
++QueryPerformanceFrequency
++SignalObjectAndWait
++WaitForMultipleObjects
++WaitForMultipleObjectsEx
++WaitForSingleObject
++WaitForSingleObjectEx