Imported Upstream version 5.10.0.47

Former-commit-id: d0813289fa2d35e1f8ed77530acb4fb1df441bc0
This commit is contained in:
Xamarin Public Jenkins (auto-signing) 2018-01-24 17:04:36 +00:00
parent 88ff76fe28
commit e46a49ecf1
5927 changed files with 226314 additions and 129848 deletions

View File

@ -46,7 +46,7 @@ embeddable runtime:
* mono/utils/bsearch.c: BSD license.
* mono/io-layer/wapi_glob.h, wapi_glob.c: BSD license
* mono/metadata/w32file-unix-glob.c, w32file-unix-glob.h: BSD license
Class Library code
==================

View File

@ -11,9 +11,15 @@ else
tools_dir = tools
endif
SUBDIRS = po $(libgc_dir) mono $(ikvm_native_dir) support data runtime scripts man samples $(tools_dir) msvc $(docs_dir) acceptance-tests llvm
if BUILD_SUPPORT
support_dir = support
else
support_dir =
endif
SUBDIRS = po $(libgc_dir) mono $(ikvm_native_dir) $(support_dir) data runtime scripts man samples $(tools_dir) msvc $(docs_dir) acceptance-tests llvm
# Keep in sync with SUBDIRS
DIST_SUBDIRS = m4 po $(libgc_dir) mono ikvm-native support data runtime scripts man samples tools msvc docs acceptance-tests llvm
DIST_SUBDIRS = m4 po $(libgc_dir) mono ikvm-native $(support_dir) data runtime scripts man samples tools msvc docs acceptance-tests llvm
all: update_submodules

View File

@ -444,9 +444,11 @@ MONOTOUCH_SUBDIRS = $(libgc_dir) mono
# Some tools might not build when cross-compiling
@CROSS_COMPILING_TRUE@tools_dir =
SUBDIRS = po $(libgc_dir) mono $(ikvm_native_dir) support data runtime scripts man samples $(tools_dir) msvc $(docs_dir) acceptance-tests llvm
@BUILD_SUPPORT_FALSE@support_dir =
@BUILD_SUPPORT_TRUE@support_dir = support
SUBDIRS = po $(libgc_dir) mono $(ikvm_native_dir) $(support_dir) data runtime scripts man samples $(tools_dir) msvc $(docs_dir) acceptance-tests llvm
# Keep in sync with SUBDIRS
DIST_SUBDIRS = m4 po $(libgc_dir) mono ikvm-native support data runtime scripts man samples tools msvc docs acceptance-tests llvm
DIST_SUBDIRS = m4 po $(libgc_dir) mono ikvm-native $(support_dir) data runtime scripts man samples tools msvc docs acceptance-tests llvm
SUBMODULE_ERROR = 'Could not recursively update all git submodules. You may experience compilation problems if some submodules are out of date'
EXTRA_DIST = \
README.md \

View File

@ -308,16 +308,6 @@ should be used.
* Or you can specify a path to a libgdiplus.
* `--disable-shared-memory`
* Use this option to disable the use of shared memory in
Mono (this is equivalent to setting the MONO_DISABLE_SHM
environment variable, although this removes the feature
completely).
* Disabling the shared memory support will disable certain
features like cross-process named mutexes.
* `--enable-minimal=LIST`
* Use this feature to specify optional runtime

View File

@ -14,6 +14,7 @@ RUNTIME = MONO_PATH=$(CLASS) $(abs_top_builddir)/runtime/mono-wrapper --debug
TOOLS_RUNTIME = MONO_PATH=$(TOOLS_CLASS) $(abs_top_builddir)/runtime/mono-wrapper --debug
MCS = $(TOOLS_RUNTIME) $(CSC) -nologo -noconfig -lib:$(CLASS) -r:System.dll -r:System.Core.dll -r:System.Xml.dll -r:Microsoft.CSharp.dll
ILASM = $(TOOLS_RUNTIME) $(TOOLS_CLASS)/ilasm.exe
XUNIT = $(RUNTIME) $(abs_top_builddir)/external/xunit-binaries/xunit.console.exe
include versions.mk
include profiler-stress.mk

View File

@ -1 +1 @@
fa3deb0e32592c4b1df3beb35a88ba20c203d4a3
1f1cceb22b20c4572e28fe691242ed1310de17b6

View File

@ -1,16 +1,16 @@
[
{
"name": "roslyn",
"url": "git://github.com/dotnet/roslyn.git",
"rev": "322bd5b2bbf07df6a67de35cbcb2365484412f70",
"remote-branch": "origin/master",
"branch": "master",
"url": "git://github.com/mono/roslyn.git",
"rev": "1d9895045041925490038c5df0d8f947d8dcbd7f",
"remote-branch": "origin/mono-testing",
"branch": "mono-testing",
"directory": "roslyn"
},
{
"name": "coreclr",
"url": "git://github.com/mono/coreclr.git",
"rev": "d0e6a36f782f5ee1ca0b7d3ec0c55725c3571b1f",
"rev": "83d8279997d8ce4ad344ff9b937b2d13d074dcaa",
"remote-branch": "origin/mono",
"branch": "mono",
"directory": "coreclr"
@ -18,7 +18,7 @@
{
"name": "ms-test-suite",
"url": "git@github.com:xamarin/ms-test-suite.git",
"rev": "25f495326e141163d59e52ef499227a2f38fe036",
"rev": "67f29dfc0741b5311dd746c75760963a2915e648",
"remote-branch": "origin/master",
"branch": "master",
"directory": "ms-test-suite"

View File

@ -1 +1 @@
6fc6a28236467657b04c41902a5452ebf4d475c2
4cc234e1abb16add35f675272bf36aa78fb4f1b9

View File

@ -1,18 +1,5 @@
check-roslyn:
@$(MAKE) validate-roslyn RESET_VERSIONS=1
@if [ -z $$PREFIX ]; then echo "You need to set PREFIX to the prefix of the Mono installation that should be used for testing Roslyn." && exit 1; fi
sed -i -e 's/\\4.5-api"/\\4.5"/g' $$PREFIX/lib/mono/xbuild-frameworks/.NETFramework/v4.5/RedistList/FrameworkList.xml; \
export MSBuildExtensionsPath=$$PREFIX/lib/mono/xbuild; \
MONO_DOTNET_PORTABLE_DIR=$$PREFIX/lib/mono/xbuild-frameworks/.NETPortable/; \
if [ ! -d "$$MONO_DOTNET_PORTABLE_DIR/v4.6" ]; then \
mkdir -p $$MONO_DOTNET_PORTABLE_DIR; \
curl -SL "http://download.mono-project.com/third-party/RoslynBuildDependencies.zip" > /tmp/RoslynBuildDependencies.zip; \
unzip -o /tmp/RoslynBuildDependencies.zip -d /tmp/RoslynBuildDependencies; \
cp -r /tmp/RoslynBuildDependencies/PortableReferenceAssemblies/* $$MONO_DOTNET_PORTABLE_DIR; \
fi; \
cd $(ROSLYN_PATH); \
sed -i -e 'N; s/bootstrapArg=".*\n.*"/bootstrapArg=""/g' cibuild.sh; \
sed -i -e 's#-xml Binaries/\$$BUILD_CONFIGURATION/xUnitResults/#-nunit $(abs_top_builddir)/acceptance-tests/TestResult-#g' cibuild.sh; \
./cibuild.sh --mono-path $$PREFIX/bin || EXIT_CODE=1; \
sed -i -e 's/\\4.5"/\\4.5-api"/g' $$PREFIX/lib/mono/xbuild-frameworks/.NETFramework/v4.5/RedistList/FrameworkList.xml; \
exit $$EXIT_CODE
./mono-testing.sh "$(XUNIT)" || exit; \
echo "done"

View File

@ -42,7 +42,11 @@
/* Icall tables disabled */
#undef DISABLE_ICALL_TABLES
/* Disable the JIT, only full-aot mode will be supported by the runtime. */
/* Disable the interpreter. */
#undef DISABLE_INTERPRETER
/* Disable the JIT, only full-aot mode or interpreter will be supported by the
runtime. */
#undef DISABLE_JIT
/* Disable support for huge assemblies */
@ -142,9 +146,6 @@
/* Icall symbol map enabled */
#undef ENABLE_ICALL_SYMBOL_MAP
/* Enable Interpreter */
#undef ENABLE_INTERPRETER
/* Enable the LLVM back end */
#undef ENABLE_LLVM
@ -355,6 +356,9 @@
/* Define to 1 if you have the `getdomainname' function. */
#undef HAVE_GETDOMAINNAME
/* Define to 1 if you have the `getentropy' function. */
#undef HAVE_GETENTROPY
/* Define to 1 if you have the `getfsstat' function. */
#undef HAVE_GETFSSTAT
@ -406,6 +410,9 @@
/* Define to 1 if you have the `getpwuid_r' function. */
#undef HAVE_GETPWUID_R
/* Define to 1 if you have the `getrandom' function. */
#undef HAVE_GETRANDOM
/* Define to 1 if you have the `getresuid' function. */
#undef HAVE_GETRESUID
@ -917,6 +924,9 @@
/* Define to 1 if you have the <sys/prctl.h> header file. */
#undef HAVE_SYS_PRCTL_H
/* Define to 1 if you have the <sys/random.h> header file. */
#undef HAVE_SYS_RANDOM_H
/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H

View File

@ -1 +1 @@
3f09b601878b3b0733df5bf60b63d9f073a2ddd9
d13f7ea6116e119ab479d11eb1c2998854e15762

View File

@ -1 +1 @@
5c436fa207f4194311d1484a2af27b92af78515a
c88fcfe91d4abdcba2e28a486d695c94df35b127

View File

@ -11,9 +11,9 @@ def print_frames(thread, num_frames, current_thread):
pc = str(frame.addr)
var = frame
function_name = frame.GetFunctionName()
if function_name == "ves_exec_method_with_context":
if function_name == "interp_exec_method_full":
try:
s = 'frame->runtime_method->method'
s = 'frame->imethod->method'
klassname = frame.EvaluateExpression('(char*) ' + s + '->klass->name').summary[1:-1]
methodname = frame.EvaluateExpression('(char*) ' + s + '->name').summary[1:-1]

View File

@ -11,11 +11,11 @@
<section name="assemblyBinding" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
<section name="satelliteassemblies" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
<section name="startup" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false"/>
<section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="system.data" type="System.Data.Common.DbProviderFactoriesConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="system.diagnostics" type="System.Diagnostics.SystemDiagnosticsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="system.runtime.remoting" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
<section name="system.windows.forms" type="System.Windows.Forms.WindowsFormsSection, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="system.codedom" type="System.CodeDom.Compiler.CodeDomConfigurationHandler, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="windows" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" allowLocation="false" />
<section name="strongNames" type="System.Configuration.IgnoreSection, System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowLocation="false"/>
<sectionGroup name="system.runtime.serialization" type="System.Runtime.Serialization.Configuration.SerializationSectionGroup, System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">

View File

@ -43,6 +43,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;

View File

@ -43,6 +43,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -240,7 +250,10 @@ mono_assembly_close (MonoAssembly *assembly)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i></td><td> the assembly to release.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method releases a reference to the <i>assembly</i>. The assembly is only released when all the outstanding references to it are released.</div>
<div>
<p />
This method releases a reference to the <i>assembly</i>. The assembly is
only released when all the outstanding references to it are released.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -287,7 +300,11 @@ mono_assembly_load (MonoAssemblyName *aname, const char *basedir, MonoImageOpenS
value pointed by <i>status</i> is updated with an error code.</div>
<div class="mapi-section">Description</div>
<div> <p /> Loads the assembly referenced by <i>aname</i>, if the value of <i>basedir</i> is not <code>NULL</code>, it attempts to load the assembly from that directory before probing the standard locations. <p /></div>
<div>
<p />
Loads the assembly referenced by <i>aname</i>, if the value of <i>basedir</i> is not <code>NULL</code>, it
attempts to load the assembly from that directory before probing the standard locations.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -312,7 +329,14 @@ mono_assembly_load_full (MonoAssemblyName *aname, const char *basedir, MonoImage
value pointed by <i>status</i> is updated with an error code.</div>
<div class="mapi-section">Description</div>
<div> <p /> Loads the assembly referenced by <i>aname</i>, if the value of <i>basedir</i> is not <code>NULL</code>, it attempts to load the assembly from that directory before probing the standard locations. <p /> If the assembly is being opened in reflection-only mode (<i>refonly</i> set to <code>TRUE</code>) then no assembly binding takes place. <p /></div>
<div>
<p />
Loads the assembly referenced by <i>aname</i>, if the value of <i>basedir</i> is not <code>NULL</code>, it
attempts to load the assembly from that directory before probing the standard locations.
<p />
If the assembly is being opened in reflection-only mode (<i>refonly</i> set to <code>TRUE</code>) then no
assembly binding takes place.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -337,7 +361,10 @@ mono_assembly_loaded (MonoAssemblyName *aname)
a <code>MonoAssembly</code> that matches the <code>MonoAssemblyName</code> specified.</div>
<div class="mapi-section">Description</div>
<div> <p /> This is used to determine if the specified assembly has been loaded <p /></div>
<div>
<p />
This is used to determine if the specified assembly has been loaded
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -368,7 +395,15 @@ mono_assembly_load_from (MonoImage *image, const char *fname,
image did not contain an assembly reference table.
<p /></div>
<div class="mapi-section">Description</div>
<div> <p /> If the provided <i>image</i> has an assembly reference, it will process the given image as an assembly with the given name. <p /> Most likely you want to use the `api:mono_assembly_load_full` method instead. <p /> This is equivalent to calling `api:mono_assembly_load_from_full` with the <i>refonly</i> parameter set to <code>FALSE</code>.</div>
<div>
<p />
If the provided <i>image</i> has an assembly reference, it will process the given
image as an assembly with the given name.
<p />
Most likely you want to use the `api:mono_assembly_load_full` method instead.
<p />
This is equivalent to calling `api:mono_assembly_load_from_full` with the
<i>refonly</i> parameter set to <code>FALSE</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -398,7 +433,13 @@ mono_assembly_load_from_full (MonoImage *image, const char*fname,
reason with <i>status</i> being set to <code>MONO_IMAGE_INVALID</code> if the
image did not contain an assembly reference table.</div>
<div class="mapi-section">Description</div>
<div> <p /> If the provided <i>image</i> has an assembly reference, it will process the given image as an assembly with the given name. <p /> Most likely you want to use the `api:mono_assembly_load_full` method instead. <p /></div>
<div>
<p />
If the provided <i>image</i> has an assembly reference, it will process the given
image as an assembly with the given name.
<p />
Most likely you want to use the `api:mono_assembly_load_full` method instead.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -422,7 +463,18 @@ mono_assembly_load_with_partial_name (const char *name, MonoImageOpenStatus *sta
<div> <code>NULL</code> on failure, or a pointer to a <code>MonoAssembly</code> on success.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Loads a <code>MonoAssembly</code> from a name. The name is parsed using `api:mono_assembly_name_parse`, so it might contain a qualified type name, version, culture and token. <p /> This will load the assembly from the file whose name is derived from the assembly name by appending the <code>.dll</code> extension. <p /> The assembly is loaded from either one of the extra Global Assembly Caches specified by the extra GAC paths (specified by the <code>MONO_GAC_PREFIX</code> environment variable) or if that fails from the GAC. <p /></div>
<div>
<p />
Loads a <code>MonoAssembly</code> from a name. The name is parsed using `api:mono_assembly_name_parse`,
so it might contain a qualified type name, version, culture and token.
<p />
This will load the assembly from the file whose name is derived from the assembly name
by appending the <code>.dll</code> extension.
<p />
The assembly is loaded from either one of the extra Global Assembly Caches specified
by the extra GAC paths (specified by the <code>MONO_GAC_PREFIX</code> environment variable) or
if that fails from the GAC.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -448,7 +500,21 @@ mono_assembly_open (const char *filename, MonoImageOpenStatus *status)
assembly or <code>NULL</code> on error. Details about the error are stored in the
<i>status</i> variable.</div>
<div class="mapi-section">Description</div>
<div> <p /> This loads an assembly from the specified <i>filename</i>. The <i>filename</i> allows a local URL (starting with a <code>file://</code> prefix). If a file prefix is used, the filename is interpreted as a URL, and the filename is URL-decoded. Otherwise the file is treated as a local path. <p /> First, an attempt is made to load the assembly from the bundled executable (for those deployments that have been done with the <code>mkbundle</code> tool or for scenarios where the assembly has been registered as an embedded assembly). If this is not the case, then the assembly is loaded from disk using `api:mono_image_open_full`. <p /> If the pointed assembly does not live in the Global Assembly Cache, a shadow copy of the assembly is made. <p /></div>
<div>
<p />
This loads an assembly from the specified <i>filename</i>. The <i>filename</i> allows
a local URL (starting with a <code>file://</code> prefix). If a file prefix is used, the
filename is interpreted as a URL, and the filename is URL-decoded. Otherwise the file
is treated as a local path.
<p />
First, an attempt is made to load the assembly from the bundled executable (for those
deployments that have been done with the <code>mkbundle</code> tool or for scenarios where the
assembly has been registered as an embedded assembly). If this is not the case, then
the assembly is loaded from disk using `api:mono_image_open_full`.
<p />
If the pointed assembly does not live in the Global Assembly Cache, a shadow copy of
the assembly is made.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -473,7 +539,24 @@ mono_assembly_open_full (const char *filename, MonoImageOpenStatus *status, gboo
to the assembly.</div>
<div class="mapi-section">Description</div>
<div> <p /> This loads an assembly from the specified <i>filename</i>. The <i>filename</i> allows a local URL (starting with a <code>file://</code> prefix). If a file prefix is used, the filename is interpreted as a URL, and the filename is URL-decoded. Otherwise the file is treated as a local path. <p /> First, an attempt is made to load the assembly from the bundled executable (for those deployments that have been done with the <code>mkbundle</code> tool or for scenarios where the assembly has been registered as an embedded assembly). If this is not the case, then the assembly is loaded from disk using `api:mono_image_open_full`. <p /> If the pointed assembly does not live in the Global Assembly Cache, a shadow copy of the assembly is made. <p /> If <i>refonly</i> is set to true, then the assembly is loaded purely for inspection with the <code>System.Reflection</code> API. <p /></div>
<div>
<p />
This loads an assembly from the specified <i>filename</i>. The <i>filename</i> allows
a local URL (starting with a <code>file://</code> prefix). If a file prefix is used, the
filename is interpreted as a URL, and the filename is URL-decoded. Otherwise the file
is treated as a local path.
<p />
First, an attempt is made to load the assembly from the bundled executable (for those
deployments that have been done with the <code>mkbundle</code> tool or for scenarios where the
assembly has been registered as an embedded assembly). If this is not the case, then
the assembly is loaded from disk using `api:mono_image_open_full`.
<p />
If the pointed assembly does not live in the Global Assembly Cache, a shadow copy of
the assembly is made.
<p />
If <i>refonly</i> is set to true, then the assembly is loaded purely for inspection with
the <code>System.Reflection</code> API.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -494,7 +577,16 @@ mono_set_assemblies_path (const char* path)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>path</i></td><td> list of paths that contain directories where Mono will look for assemblies</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Use this method to override the standard assembly lookup system and override any assemblies coming from the GAC. This is the method that supports the <code>MONO_PATH</code> variable. <p /> Notice that <code>MONO_PATH</code> and this method are really a very bad idea as it prevents the GAC from working and it prevents the standard resolution mechanisms from working. Nonetheless, for some debugging situations and bootstrapping setups, this is useful to have. </div>
<div>
<p />
Use this method to override the standard assembly lookup system and
override any assemblies coming from the GAC. This is the method
that supports the <code>MONO_PATH</code> variable.
<p />
Notice that <code>MONO_PATH</code> and this method are really a very bad idea as
it prevents the GAC from working and it prevents the standard
resolution mechanisms from working. Nonetheless, for some debugging
situations and bootstrapping setups, this is useful to have. </div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -514,7 +606,10 @@ mono_set_rootdir (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Registers the root directory for the Mono runtime, for Linux and Solaris 10, this auto-detects the prefix where Mono was installed. </div>
<div>
<p />
Registers the root directory for the Mono runtime, for Linux and Solaris 10,
this auto-detects the prefix where Mono was installed. </div>
</div><!--mapi-description -->
</div><!--height container -->
@ -561,7 +656,14 @@ mono_assembly_foreach (GFunc func, gpointer user_data)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>func</i></td><td> function to invoke for each assembly loaded</td></tr><tr><td><i>user_data</i></td><td> data passed to the callback</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Invokes the provided <i>func</i> callback for each assembly loaded into the runtime. The first parameter passed to the callback is the <code>MonoAssembly*</code>, and the second parameter is the <i>user_data</i>. <p /> This is done for all assemblies loaded in the runtime, not just those loaded in the current application domain.</div>
<div>
<p />
Invokes the provided <i>func</i> callback for each assembly loaded into
the runtime. The first parameter passed to the callback is the
<code>MonoAssembly*</code>, and the second parameter is the <i>user_data</i>.
<p />
This is done for all assemblies loaded in the runtime, not just
those loaded in the current application domain.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -585,7 +687,8 @@ mono_assembly_get_image (MonoAssembly *assembly)
<div> the <code>MonoImage</code> associated with this assembly.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -608,7 +711,8 @@ mono_assembly_get_main (void)
<div> the assembly for the application, the first assembly that is loaded by the VM
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -632,7 +736,10 @@ mono_assembly_get_name (MonoAssembly *assembly)
<div> the <code>MonoAssemblyName</code> associated with this assembly.
</div>
<div class="mapi-section">Description</div>
<div> <p /> The returned name's lifetime is the same as <i>assembly</i>'s. <p /></div>
<div>
<p />
The returned name's lifetime is the same as <i>assembly</i>'s.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -655,7 +762,10 @@ mono_assembly_getrootdir (void)
<div> a string with the directory, this string should not be freed.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Obtains the root directory used for looking up assemblies. <p /></div>
<div>
<p />
Obtains the root directory used for looking up assemblies.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -676,7 +786,9 @@ mono_assembly_get_assemblyref (MonoImage *image, int index, MonoAssemblyName *an
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> pointer to the <code>MonoImage</code> to extract the information from.</td></tr><tr><td><i>index</i></td><td> index to the assembly reference in the image.</td></tr><tr><td><i>aname</i></td><td> pointer to a <code>MonoAssemblyName</code> that will hold the returned value.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Fills out the <i>aname</i> with the assembly name of the <i>index</i> assembly reference in <i>image</i>.</div>
<div>
<p />
Fills out the <i>aname</i> with the assembly name of the <i>index</i> assembly reference in <i>image</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -701,7 +813,9 @@ mono_assembly_loaded_full (MonoAssemblyName *aname, gboolean refonly)
a <code>MonoAssembly</code> that matches the <code>MonoAssemblyName</code> specified.</div>
<div class="mapi-section">Description</div>
<div> <p /> This is used to determine if the specified assembly has been loaded</div>
<div>
<p />
This is used to determine if the specified assembly has been loaded</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -740,7 +854,9 @@ mono_assembly_load_references (MonoImage *image, MonoImageOpenStatus *status)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td></td></tr><tr><td><i>status</i></td><td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method is now a no-op, it does nothing other than setting the <i>status</i> to <code>MONO_IMAGE_OK</code></div>
<div>
<p />
This method is now a no-op, it does nothing other than setting the <i>status</i> to <code>MONO_IMAGE_OK</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -833,7 +949,14 @@ mono_assembly_setrootdir (const char *root_dir)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>root_dir</i></td><td> The pathname of the root directory where we will locate assemblies</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This routine sets the internal default root directory for looking up assemblies. <p /> This is used by Windows installations to compute dynamically the place where the Mono assemblies are located. <p /></div>
<div>
<p />
This routine sets the internal default root directory for looking up
assemblies.
<p />
This is used by Windows installations to compute dynamically the
place where the Mono assemblies are located.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -904,7 +1027,11 @@ mono_assembly_name_new (const char *name)
<div> a newly allocated structure or <code>NULL</code> if there was any failure.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Allocate a new <code>MonoAssemblyName</code> and fill its values from the passed <i>name</i>. <p /></div>
<div>
<p />
Allocate a new <code>MonoAssemblyName</code> and fill its values from the
passed <i>name</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -997,7 +1124,10 @@ mono_assembly_name_free (MonoAssemblyName *aname)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>aname</i></td><td> assembly name to free</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Frees the provided assembly name object. (it does not frees the object itself, only the name members).</div>
<div>
<p />
Frees the provided assembly name object.
(it does not frees the object itself, only the name members).</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1022,7 +1152,11 @@ mono_stringify_assembly_name (MonoAssemblyName *aname)
the assembly name.</div>
<div class="mapi-section">Description</div>
<div> <p /> Convert <i>aname</i> into its string format. The returned string is dynamically allocated and should be freed by the caller. <p /></div>
<div>
<p />
Convert <i>aname</i> into its string format. The returned string is dynamically
allocated and should be freed by the caller.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1046,7 +1180,13 @@ mono_assembly_names_equal (MonoAssemblyName *l, MonoAssemblyName *r)
<div> <code>TRUE</code> if both assembly names are equal.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Compares two <code>MonoAssemblyName</code> instances and returns whether they are equal. <p /> This compares the names, the cultures, the release version and their public tokens. <p /></div>
<div>
<p />
Compares two <code>MonoAssemblyName</code> instances and returns whether they are equal.
<p />
This compares the names, the cultures, the release version and their
public tokens.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -280,7 +290,14 @@ mono_class_from_name (MonoImage *image, const char* name_space, const char *name
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> The <code>MonoImage</code> where the type is looked up in</td></tr><tr><td><i>name_space</i></td><td> the type namespace</td></tr><tr><td><i>name</i></td><td> the type short name.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Obtains a <code>MonoClass</code> with a given namespace and a given name which is located in the given <code>MonoImage</code>. <p /> To reference nested classes, use the &quot;/&quot; character as a separator. For example use <code>&quot;Foo/Bar&quot;</code> to reference the class <code>Bar</code> that is nested inside <code>Foo</code>, like this: &quot;class Foo { class Bar {} }&quot;.</div>
<div>
<p />
Obtains a <code>MonoClass</code> with a given namespace and a given name which
is located in the given <code>MonoImage</code>.
<p />
To reference nested classes, use the &quot;/&quot; character as a separator.
For example use <code>&quot;Foo/Bar&quot;</code> to reference the class <code>Bar</code> that is nested
inside <code>Foo</code>, like this: &quot;class Foo { class Bar {} }&quot;.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -301,7 +318,11 @@ mono_class_from_name_case (MonoImage *image, const char* name_space, const char
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> The MonoImage where the type is looked up in</td></tr><tr><td><i>name_space</i></td><td> the type namespace</td></tr><tr><td><i>name</i></td><td> the type short name.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Obtains a <code>MonoClass</code> with a given namespace and a given name which is located in the given <code>MonoImage</code>. The namespace and name lookups are case insensitive.</div>
<div>
<p />
Obtains a <code>MonoClass</code> with a given namespace and a given name which
is located in the given <code>MonoImage</code>. The namespace and name
lookups are case insensitive.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -326,7 +347,10 @@ mono_class_from_typeref (MonoImage *image, guint32 type_token)
not be loaded.</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates the <code>MonoClass*</code> structure representing the type defined by the typeref token valid inside <i>image</i>.</div>
<div>
<p />
Creates the <code>MonoClass*</code> structure representing the type defined by
the typeref token valid inside <i>image</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -352,7 +376,11 @@ mono_class_from_typeref_checked (MonoImage *image, guint32 type_token, MonoError
not be loaded with the <i>error</i> value filled with the information about the
error.</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates the <code>MonoClass*</code> structure representing the type defined by the typeref token valid inside <i>image</i>. <p /></div>
<div>
<p />
Creates the <code>MonoClass*</code> structure representing the type defined by
the typeref token valid inside <i>image</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -398,7 +426,8 @@ mono_class_array_element_size (MonoClass *klass)
<div> The number of bytes an element of type <i>klass</i> uses when stored into an array.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -422,7 +451,8 @@ mono_class_data_size (MonoClass *klass)
<div> The size of the static class data
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -446,7 +476,10 @@ mono_class_enum_basetype (MonoClass *klass)
<div> The underlying type representation for an enumeration.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to get the underlying type for an enumeration value. <p /></div>
<div>
<p />
Use this function to get the underlying type for an enumeration value.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -467,7 +500,9 @@ mono_class_get_byref_type (MonoClass *klass)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> the <code>MonoClass</code> to act on</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> <p /></div>
<div>
<p />
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -491,7 +526,10 @@ mono_class_get_element_class (MonoClass *klass)
<div> The element class of an array.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to get the element class of an array. <p /></div>
<div>
<p />
Use this function to get the element class of an array.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -535,7 +573,8 @@ mono_class_get_field (MonoClass *klass, guint32 field_token)
the field, or a <code>NULL</code> value if the field does not belong to this
class.</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -559,7 +598,11 @@ mono_class_get_field_token (MonoClassField *field)
<div> The token representing the field in the image it was loaded from.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Get the token of a field. Note that the tokesn is only valid for the image the field was loaded from. Don't use this function for fields in dynamic types. <p /></div>
<div>
<p />
Get the token of a field. Note that the tokesn is only valid for the image
the field was loaded from. Don't use this function for fields in dynamic types.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -627,7 +670,10 @@ mono_class_get_image (MonoClass *klass)
<div> The image where this class is defined.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this method to get the <code>MonoImage*</code> where this class came from. <p /></div>
<div>
<p />
Use this method to get the <code>MonoImage*</code> where this class came from.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -651,7 +697,14 @@ mono_class_get_interfaces (MonoClass* klass, gpointer *iter)
<div> a <code>MonoClass*</code> on each invocation, or <code>NULL</code> when no more are available.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine is an iterator routine for retrieving the interfaces implemented by this class. <p /> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p /></div>
<div>
<p />
This routine is an iterator routine for retrieving the interfaces implemented by this class.
<p />
You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to
iterate over all of the elements. When no more values are
available, the return value is <code>NULL</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -675,7 +728,8 @@ mono_class_get_name (MonoClass *klass)
<div> The name of the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -699,7 +753,8 @@ mono_class_get_namespace (MonoClass *klass)
<div> The namespace of the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -723,7 +778,12 @@ mono_class_get_nesting_type (MonoClass *klass)
<div> The container type where this type is nested or <code>NULL</code> if this type is not a nested type.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to obtain the class that the provided <code>MonoClass*</code> is nested on. <p /> If the return is <code>NULL</code>, this indicates that this class is not nested. <p /></div>
<div>
<p />
Use this function to obtain the class that the provided <code>MonoClass*</code> is nested on.
<p />
If the return is <code>NULL</code>, this indicates that this class is not nested.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -747,7 +807,8 @@ mono_class_get_parent (MonoClass *klass)
<div> The parent class for this class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -771,7 +832,8 @@ mono_class_get_property_token (MonoProperty *prop)
<div> The ECMA token for the specified property.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -795,7 +857,8 @@ mono_class_get_rank (MonoClass *klass)
<div> The rank for the array (the number of dimensions).
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -819,7 +882,10 @@ mono_class_get_type (MonoClass *klass)
<div> The <code>MonoType</code> from the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This method returns the internal <code>MonoType</code> representation for the class. <p /></div>
<div>
<p />
This method returns the internal <code>MonoType</code> representation for the class.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -843,7 +909,10 @@ mono_class_get_type_token (MonoClass *klass)
<div> The type token for the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This method returns type token for the class. <p /></div>
<div>
<p />
This method returns type token for the class.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -867,7 +936,8 @@ mono_class_implements_interface (MonoClass* klass, MonoClass* iface)
<div> <code>TRUE</code> if <i>klass</i> implements <i>interface</i>.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -891,7 +961,10 @@ mono_class_inflate_generic_method (MonoMethod *method, MonoGenericContext *conte
<div> The new instantiated method
</div>
<div class="mapi-section">Description</div>
<div> <p /> Instantiate the generic method <i>method</i> using the generics context <i>context</i>. <p /></div>
<div>
<p />
Instantiate the generic method <i>method</i> using the generics context <i>context</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -916,7 +989,11 @@ mono_class_inflate_generic_type (MonoType *type, MonoGenericContext *context)
on the heap and is owned by the caller. Returns <code>NULL</code> on error.</div>
<div class="mapi-section">Description</div>
<div> <p /> If <i>type</i> is a generic type and <i>context</i> is not <code>NULL</code>, instantiate it using the generics context <i>context</i>. <p /></div>
<div>
<p />
If <i>type</i> is a generic type and <i>context</i> is not <code>NULL</code>, instantiate it using the
generics context <i>context</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -941,7 +1018,18 @@ mono_class_init (MonoClass *klass)
the type (incorrect assemblies, missing assemblies, methods, etc).</div>
<div class="mapi-section">Description</div>
<div> <p /> Compute the <code>instance_size</code>, <code>class_size</code> and other infos that cannot be computed at <code>mono_class_get</code> time. Also compute vtable_size if possible. Initializes the following fields in <i>klass</i>: - all the fields initialized by <code>mono_class_init_sizes</code> - has_cctor - ghcimpl - inited <p /> LOCKING: Acquires the loader lock. <p /></div>
<div>
<p />
Compute the <code>instance_size</code>, <code>class_size</code> and other infos that cannot be
computed at <code>mono_class_get</code> time. Also compute vtable_size if possible.
Initializes the following fields in <i>klass</i>:
- all the fields initialized by <code>mono_class_init_sizes</code>
- has_cctor
- ghcimpl
- inited
<p />
LOCKING: Acquires the loader lock.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -965,7 +1053,10 @@ mono_class_instance_size (MonoClass *klass)
<div> The size of an object instance
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use to get the size of a class in bytes. <p /></div>
<div>
<p />
Use to get the size of a class in bytes.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -990,7 +1081,8 @@ mono_class_is_assignable_from (MonoClass *klass, MonoClass *oklass)
instance of class <i>klass</i></div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1014,7 +1106,8 @@ mono_class_is_delegate (MonoClass *klass)
<div> <code>TRUE</code> if the <code>MonoClass</code> represents a <code>System.Delegate</code>.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1038,7 +1131,10 @@ mono_class_is_enum (MonoClass *klass)
<div> <code>TRUE</code> if the <code>MonoClass</code> represents an enumeration.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to determine if the provided <code>MonoClass*</code> represents an enumeration. <p /></div>
<div>
<p />
Use this function to determine if the provided <code>MonoClass*</code> represents an enumeration.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1060,7 +1156,20 @@ mono_class_is_subclass_of (MonoClass *klass, MonoClass *klassc,
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> class to probe if it is a subclass of another one</td></tr><tr><td><i>klassc</i></td><td> the class we suspect is the base class</td></tr><tr><td><i>check_interfaces</i></td><td> whether we should perform interface checks</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method determines whether <i>klass</i> is a subclass of <i>klassc</i>. <p /> If the <i>check_interfaces</i> flag is set, then if <i>klassc</i> is an interface this method return <code>TRUE</code> if the <i>klass</i> implements the interface or if <i>klass</i> is an interface, if one of its base classes is <i>klass</i>. <p /> If <i>check_interfaces</i> is false, then if <i>klass</i> is not an interface, it returns <code>TRUE</code> if the <i>klass</i> is a subclass of <i>klassc</i>. <p /> if <i>klass</i> is an interface and <i>klassc</i> is <code>System.Object</code>, then this function returns <code>TRUE</code>. <p /></div>
<div>
<p />
This method determines whether <i>klass</i> is a subclass of <i>klassc</i>.
<p />
If the <i>check_interfaces</i> flag is set, then if <i>klassc</i> is an interface
this method return <code>TRUE</code> if the <i>klass</i> implements the interface or
if <i>klass</i> is an interface, if one of its base classes is <i>klass</i>.
<p />
If <i>check_interfaces</i> is false, then if <i>klass</i> is not an interface,
it returns <code>TRUE</code> if the <i>klass</i> is a subclass of <i>klassc</i>.
<p />
if <i>klass</i> is an interface and <i>klassc</i> is <code>System.Object</code>, then this function
returns <code>TRUE</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1084,7 +1193,11 @@ mono_class_is_valuetype (MonoClass *klass)
<div> <code>TRUE</code> if the <code>MonoClass</code> represents a <code>ValueType</code>, <code>FALSE</code> if it represents a reference type.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this method to determine if the provided <code>MonoClass*</code> represents a value type, or a reference type. <p /></div>
<div>
<p />
Use this method to determine if the provided <code>MonoClass*</code> represents a value type,
or a reference type.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1108,7 +1221,10 @@ mono_class_min_align (MonoClass *klass)
<div> minimum alignment requirements
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use to get the computed minimum alignment requirements for the specified class. <p /></div>
<div>
<p />
Use to get the computed minimum alignment requirements for the specified class.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1150,7 +1266,8 @@ mono_class_num_events (MonoClass *klass)
<div> The number of events in the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1174,7 +1291,8 @@ mono_class_num_fields (MonoClass *klass)
<div> The number of static and instance fields in the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1198,7 +1316,8 @@ mono_class_num_methods (MonoClass *klass)
<div> The number of methods in the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1222,7 +1341,8 @@ mono_class_num_properties (MonoClass *klass)
<div> The number of properties in the class.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1246,7 +1366,11 @@ mono_class_value_size (MonoClass *klass, guint32 *align)
<div> the size of a value of kind <i>klass</i>
</div>
<div class="mapi-section">Description</div>
<div> <p /> This function is used for value types, and return the space and the alignment to store that kind of value object. <p /></div>
<div>
<p />
This function is used for value types, and return the
space and the alignment to store that kind of value object.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1267,7 +1391,10 @@ mono_class_vtable (MonoDomain *domain, MonoClass *klass)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> the application domain</td></tr><tr><td><i>class</i></td><td> the class to initialize</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> VTables are domain specific because we create domain specific code, and they contain the domain specific static class data. On failure, <code>NULL</code> is returned, and <code>class-&gt;exception_type</code> is set.</div>
<div>
VTables are domain specific because we create domain specific code, and
they contain the domain specific static class data.
On failure, <code>NULL</code> is returned, and <code>class-&gt;exception_type</code> is set.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1295,7 +1422,14 @@ mono_class_get_fields (MonoClass* klass, gpointer *iter)
<div> a <code>MonoClassField*</code> on each iteration, or <code>NULL</code> when no more fields are available.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine is an iterator routine for retrieving the fields in a class. <p /> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p /></div>
<div>
<p />
This routine is an iterator routine for retrieving the fields in a class.
<p />
You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to
iterate over all of the elements. When no more values are
available, the return value is <code>NULL</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1319,7 +1453,10 @@ mono_class_get_field_from_name (MonoClass *klass, const char *name)
<div> The <code>MonoClassField</code> pointer of the named field or <code>NULL</code>
</div>
<div class="mapi-section">Description</div>
<div> <p /> Search the class <i>klass</i> and its parents for a field with the name <i>name</i>. <p /></div>
<div>
<p />
Search the class <i>klass</i> and its parents for a field with the name <i>name</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1343,7 +1480,14 @@ mono_class_get_methods (MonoClass* klass, gpointer *iter)
<div> a <code>MonoMethod</code> on each iteration or <code>NULL</code> when no more methods are available.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine is an iterator routine for retrieving the fields in a class. <p /> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p /></div>
<div>
<p />
This routine is an iterator routine for retrieving the fields in a class.
<p />
You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to
iterate over all of the elements. When no more values are
available, the return value is <code>NULL</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1364,7 +1508,10 @@ mono_class_get_method_from_name (MonoClass *klass, const char *name, int param_c
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> where to look for the method</td></tr><tr><td><i>name</i></td><td> name of the method</td></tr><tr><td><i>param_count</i></td><td> number of parameters. -1 for any number.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Obtains a <code>MonoMethod</code> with a given name and number of parameters. It only works if there are no multiple signatures for any given method name.</div>
<div>
<p />
Obtains a <code>MonoMethod</code> with a given name and number of parameters.
It only works if there are no multiple signatures for any given method name.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1385,7 +1532,10 @@ mono_class_get_method_from_name_flags (MonoClass *klass, const char *name, int p
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> where to look for the method</td></tr><tr><td><i>name_space</i></td><td> name of the method</td></tr><tr><td><i>param_count</i></td><td> number of parameters. -1 for any number.</td></tr><tr><td><i>flags</i></td><td> flags which must be set in the method</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Obtains a <code>MonoMethod</code> with a given name and number of parameters. It only works if there are no multiple signatures for any given method name.</div>
<div>
<p />
Obtains a <code>MonoMethod</code> with a given name and number of parameters.
It only works if there are no multiple signatures for any given method name.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1409,7 +1559,15 @@ mono_class_get_nested_types (MonoClass* klass, gpointer *iter)
<div> a <code>Monoclass*</code> on each invocation, or <code>NULL</code> when no more are available.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine is an iterator routine for retrieving the nested types of a class. This works only if <i>klass</i> is non-generic, or a generic type definition. <p /> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p /></div>
<div>
<p />
This routine is an iterator routine for retrieving the nested types of a class.
This works only if <i>klass</i> is non-generic, or a generic type definition.
<p />
You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to
iterate over all of the elements. When no more values are
available, the return value is <code>NULL</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1433,7 +1591,14 @@ mono_class_get_properties (MonoClass* klass, gpointer *iter)
<div> a <code>MonoProperty*</code> on each invocation, or <code>NULL</code> when no more are available.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine is an iterator routine for retrieving the properties in a class. <p /> You must pass a gpointer that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p /></div>
<div>
<p />
This routine is an iterator routine for retrieving the properties in a class.
<p />
You must pass a gpointer that points to zero and is treated as an opaque handle to
iterate over all of the elements. When no more values are
available, the return value is <code>NULL</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1458,7 +1623,9 @@ mono_class_get_property_from_name (MonoClass *klass, const char *name)
does not exist on the <i>klass</i>.</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this method to lookup a property in a class</div>
<div>
<p />
Use this method to lookup a property in a class</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1482,7 +1649,14 @@ mono_class_get_events (MonoClass* klass, gpointer *iter)
<div> a <code>MonoEvent*</code> on each invocation, or <code>NULL</code> when no more are available.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine is an iterator routine for retrieving the properties in a class. <p /> You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to iterate over all of the elements. When no more values are available, the return value is <code>NULL</code>. <p /></div>
<div>
<p />
This routine is an iterator routine for retrieving the properties in a class.
<p />
You must pass a <code>gpointer</code> that points to zero and is treated as an opaque handle to
iterate over all of the elements. When no more values are
available, the return value is <code>NULL</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1511,7 +1685,8 @@ mono_field_get_data (MonoClassField *field)
data if it has an RVA flag.</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1535,7 +1710,8 @@ mono_field_get_offset (MonoClassField *field)
<div> The field offset.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1585,7 +1761,10 @@ mono_method_can_access_field (MonoMethod *method, MonoClassField *field)
the accessibility rules of the CLI.</div>
<div class="mapi-section">Description</div>
<div> <p /> Used to determine if a method is allowed to access the specified field. <p /></div>
<div>
<p />
Used to determine if a method is allowed to access the specified field.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1610,7 +1789,10 @@ mono_method_can_access_method (MonoMethod *method, MonoMethod *called)
the accessibility rules of the CLI.</div>
<div class="mapi-section">Description</div>
<div> <p /> Used to determine if the <i>method</i> is allowed to access the specified <i>called</i> method. <p /></div>
<div>
<p />
Used to determine if the <i>method</i> is allowed to access the specified <i>called</i> method.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -244,7 +254,10 @@ mono_counters_dump (int section_mask, FILE *outfile)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>section_mask</i></td><td> The sections to dump counters for</td></tr><tr><td><i>outfile</i></td><td> a FILE to dump the results to</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Displays the counts of all the enabled counters registered. To filter by variance, you can OR one or more variance with the specific section you want. Use <code>MONO_COUNTER_SECTION_MASK</code> to dump all categories of a specific variance.</div>
<div>
Displays the counts of all the enabled counters registered.
To filter by variance, you can OR one or more variance with the specific section you want.
Use <code>MONO_COUNTER_SECTION_MASK</code> to dump all categories of a specific variance.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -265,6 +278,7 @@ mono_counters_enable (int section_mask)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>sectionmask</i></td><td> a mask listing the sections that will be displayed</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This is used to track which counters will be displayed.</div>
<div>
This is used to track which counters will be displayed.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -259,7 +269,10 @@ mono_debug_symfile_free_location (MonoDebugSourceLocation *location)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Free a <code>MonoDebugSourceLocation</code> returned by <code>mono_debug_symfile_lookup_location</code></div>
<div>
<p />
Free a <code>MonoDebugSourceLocation</code> returned by
<code>mono_debug_symfile_lookup_location</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -297,7 +310,11 @@ mono_debug_symfile_lookup_locals (MonoDebugMethodInfo *minfo)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Return information about the local variables of <i>minfo</i> from the symbol file. Return <code>NULL</code> if no information can be found. The result should be freed using <code>mono_debug_symfile_free_locals</code>.</div>
<div>
<p />
Return information about the local variables of <i>minfo</i> from the symbol file.
Return <code>NULL</code> if no information can be found.
The result should be freed using <code>mono_debug_symfile_free_locals</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -318,7 +335,11 @@ mono_debug_symfile_lookup_location (MonoDebugMethodInfo *minfo, uint32_t offset)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>minfo</i></td><td> A <code>MonoDebugMethodInfo</code> which can be retrieved by <code>mono_debug_lookup_method</code>.</td></tr><tr><td><i>offset</i></td><td> IL offset within the corresponding method's CIL code.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This function is similar to <code>mono_debug_lookup_location</code>, but we already looked up the method and also already did the native address -&gt; IL offset mapping.</div>
<div>
<p />
This function is similar to <code>mono_debug_lookup_location</code>, but we
already looked up the method and also already did the
native address -&gt; IL offset mapping.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -428,7 +449,9 @@ mono_debug_enabled (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Returns true is debug information is enabled. This doesn't relate if a debugger is present or not.</div>
<div>
<p />
Returns true is debug information is enabled. This doesn't relate if a debugger is present or not.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -464,7 +487,8 @@ mono_debug_free_source_location (MonoDebugSourceLocation *location)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>location</i></td><td> A <code>MonoDebugSourceLocation</code></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Frees the <i>location</i>.</div>
<div>
Frees the <i>location</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -499,7 +523,11 @@ mono_debug_lookup_method (MonoMethod *method)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Lookup symbol file information for the method <i>method</i>. The returned <code>MonoDebugMethodInfo</code> is a private structure, but it can be passed to <code>mono_debug_symfile_lookup_location</code>.</div>
<div>
<p />
Lookup symbol file information for the method <i>method</i>. The returned
<code>MonoDebugMethodInfo</code> is a private structure, but it can be passed to
<code>mono_debug_symfile_lookup_location</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -535,7 +563,12 @@ mono_debug_lookup_source_location (MonoMethod *method, guint32 address, MonoDoma
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>address</i></td><td> Native offset within the <i>method</i>'s machine code.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Lookup the source code corresponding to the machine instruction located at native offset <i>address</i> within <i>method</i>. The returned <code>MonoDebugSourceLocation</code> contains both file / line number information and the corresponding IL offset. It must be freed by <code>mono_debug_free_source_location</code>.</div>
<div>
Lookup the source code corresponding to the machine instruction located at
native offset <i>address</i> within <i>method</i>.
The returned <code>MonoDebugSourceLocation</code> contains both file / line number
information and the corresponding IL offset. It must be freed by
<code>mono_debug_free_source_location</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -571,7 +604,9 @@ mono_debug_print_stack_frame (MonoMethod *method, guint32 native_offset, MonoDom
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>native_offset</i></td><td> Native offset within the <i>method</i>'s machine code.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Conventient wrapper around <code>mono_debug_lookup_source_location</code> which can be used if you only want to use the location to print a stack frame.</div>
<div>
Conventient wrapper around <code>mono_debug_lookup_source_location</code> which can be
used if you only want to use the location to print a stack frame.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -606,7 +641,10 @@ mono_debug_il_offset_from_address (MonoMethod *method, MonoDomain *domain, guint
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Compute the IL offset corresponding to <i>native_offset</i> inside the native code of <i>method</i> in <i>domain</i>.</div>
<div>
<p />
Compute the IL offset corresponding to <i>native_offset</i> inside the native
code of <i>method</i> in <i>domain</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -257,7 +267,23 @@ mono_domain_create (void)
loaded into it.</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates a new application domain, the unmanaged representation of the actual domain. <p /> Application domains provide an isolation facilty for assemblies. You can load assemblies and execute code in them that will not be visible to other application domains. This is a runtime-based virtualization technology. <p /> It is possible to unload domains, which unloads the assemblies and data that was allocated in that domain. <p /> When a domain is created a mempool is allocated for domain-specific structures, along a dedicated code manager to hold code that is associated with the domain. <p /></div>
<div>
<p />
Creates a new application domain, the unmanaged representation
of the actual domain.
<p />
Application domains provide an isolation facilty for assemblies. You
can load assemblies and execute code in them that will not be visible
to other application domains. This is a runtime-based virtualization
technology.
<p />
It is possible to unload domains, which unloads the assemblies and
data that was allocated in that domain.
<p />
When a domain is created a mempool is allocated for domain-specific
structures, along a dedicated code manager to hold code that is
associated with the domain.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -303,7 +329,11 @@ mono_domain_finalize (MonoDomain *domain, guint32 timeout)
<div> <code>TRUE</code> if succeeded, <code>FALSE</code> if there was a timeout
</div>
<div class="mapi-section">Description</div>
<div> <p /> Request finalization of all finalizable objects inside <i>domain</i>. Wait <i>timeout</i> msecs for the finalization to complete. <p /></div>
<div>
<p />
Request finalization of all finalizable objects inside <i>domain</i>. Wait
<i>timeout</i> msecs for the finalization to complete.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -324,7 +354,12 @@ mono_domain_foreach (MonoDomainFunc func, gpointer user_data)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>func</i></td><td> function to invoke with the domain data</td></tr><tr><td><i>user_data</i></td><td> user-defined pointer that is passed to the supplied <i>func</i> fo reach domain</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Use this method to safely iterate over all the loaded application domains in the current runtime. The provided <i>func</i> is invoked with a pointer to the <code>MonoDomain</code> and is given the value of the <i>user_data</i> parameter which can be used to pass state to your called routine.</div>
<div>
<p />
Use this method to safely iterate over all the loaded application
domains in the current runtime. The provided <i>func</i> is invoked with a
pointer to the <code>MonoDomain</code> and is given the value of the <i>user_data</i>
parameter which can be used to pass state to your called routine.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -345,7 +380,11 @@ mono_domain_free (MonoDomain *domain, gboolean force)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> the domain to release</td></tr><tr><td><i>force</i></td><td> if <code>TRUE</code>, it allows the root domain to be released (used at shutdown only).</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This releases the resources associated with the specific domain. This is a low-level function that is invoked by the AppDomain infrastructure when necessary.</div>
<div>
<p />
This releases the resources associated with the specific domain.
This is a low-level function that is invoked by the AppDomain infrastructure
when necessary.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -408,7 +447,11 @@ mono_domain_get_friendly_name (MonoDomain *domain)
<div> The friendly name of <i>domain</i>. Can be <code>NULL</code> if not yet set.
</div>
<div class="mapi-section">Description</div>
<div> <p /> The returned string's lifetime is the same as <i>domain</i>'s. Consider copying it if you need to store it somewhere. <p /></div>
<div>
<p />
The returned string's lifetime is the same as <i>domain</i>'s. Consider
copying it if you need to store it somewhere.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -431,7 +474,12 @@ mono_domain_get_id (MonoDomain *domain)
<div> The unique ID for <i>domain</i>.
</div>
<div class="mapi-section">Description</div>
<div> <p /> A domain ID is guaranteed to be unique for as long as the domain using it is alive. It may be reused later once the domain has been unloaded. <p /></div>
<div>
<p />
A domain ID is guaranteed to be unique for as long as the domain
using it is alive. It may be reused later once the domain has been
unloaded.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -454,7 +502,12 @@ mono_domain_get ()
<div> the current domain
</div>
<div class="mapi-section">Description</div>
<div> <p /> This method returns the value of the current <code>MonoDomain</code> that this thread and code are running under. To obtain the root domain use <code>mono_get_root_domain</code> API. <p /></div>
<div>
<p />
This method returns the value of the current <code>MonoDomain</code> that this thread
and code are running under. To obtain the root domain use
<code>mono_get_root_domain</code> API.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -478,7 +531,8 @@ mono_domain_has_type_resolve (MonoDomain *domain)
<div> <code>TRUE</code> if the <code>AppDomain.TypeResolve</code> field has been set.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -538,7 +592,13 @@ mono_domain_set_config (MonoDomain *domain, const char *base_dir, const char *co
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> <code>MonoDomain</code> initialized with the appdomain we want to change</td></tr><tr><td><i>base_dir</i></td><td> new base directory for the appdomain</td></tr><tr><td><i>config_file_name</i></td><td> path to the new configuration for the app domain</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Used to set the system configuration for an appdomain <p /> Without using this, embedded builds will get 'System.Configuration.ConfigurationErrorsException: Error Initializing the configuration system. ---&gt; System.ArgumentException: The 'ExeConfigFilename' argument cannot be null.' for some managed calls.</div>
<div>
<p />
Used to set the system configuration for an appdomain
<p />
Without using this, embedded builds will get 'System.Configuration.ConfigurationErrorsException:
Error Initializing the configuration system. ---&gt; System.ArgumentException:
The 'ExeConfigFilename' argument cannot be null.' for some managed calls.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -559,7 +619,9 @@ mono_domain_set_internal (MonoDomain *domain)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> the new domain</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Sets the current domain to <i>domain</i>.</div>
<div>
<p />
Sets the current domain to <i>domain</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -583,7 +645,11 @@ mono_domain_set (MonoDomain *domain, gboolean force)
<div> <code>TRUE</code> on success; <code>FALSE</code> if the domain is unloaded
</div>
<div class="mapi-section">Description</div>
<div> <p /> Set the current appdomain to <i>domain</i>. If <i>force</i> is set, set it even if it is being unloaded. <p /></div>
<div>
<p />
Set the current appdomain to <i>domain</i>. If <i>force</i> is set, set it even
if it is being unloaded.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -607,7 +673,13 @@ mono_domain_try_type_resolve (MonoDomain *domain, char *name, MonoObject *tb)
<div> A <code>MonoReflectionAssembly</code> or <code>NULL</code> if not found
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine invokes the internal <code>System.AppDomain.DoTypeResolve</code> and returns the assembly that matches name. <p /> If <i>name</i> is null, the value of <code>((TypeBuilder)tb).FullName</code> is used instead <p /></div>
<div>
<p />
This routine invokes the internal <code>System.AppDomain.DoTypeResolve</code> and returns
the assembly that matches name.
<p />
If <i>name</i> is null, the value of <code>((TypeBuilder)tb).FullName</code> is used instead
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -643,7 +715,21 @@ mono_domain_try_unload (MonoDomain *domain, MonoObject **exc)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> The domain to unload</td></tr><tr><td><i>exc</i></td><td> Exception information</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Unloads an appdomain. Follows the process outlined in: http://blogs.gotdotnet.com/cbrumme <p /> If doing things the 'right' way is too hard or complex, we do it the 'simple' way, which means do everything needed to avoid crashes and memory leaks, but not much else. <p /> It is required to pass a valid reference to the exc argument, upon return from this function *exc will be set to the exception thrown, if any. <p /> If this method is not called from an icall (embedded scenario for instance), it must not be called with any managed frames on the stack, since the unload process could end up trying to abort the current thread.</div>
<div>
<p />
Unloads an appdomain. Follows the process outlined in:
http://blogs.gotdotnet.com/cbrumme
<p />
If doing things the 'right' way is too hard or complex, we do it the
'simple' way, which means do everything needed to avoid crashes and
memory leaks, but not much else.
<p />
It is required to pass a valid reference to the exc argument, upon return
from this function *exc will be set to the exception thrown, if any.
<p />
If this method is not called from an icall (embedded scenario for instance),
it must not be called with any managed frames on the stack, since the unload
process could end up trying to abort the current thread.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -667,7 +753,8 @@ mono_context_init (MonoDomain *domain)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> The domain where the <code>System.Runtime.Remoting.Context.Context</code> is initialized</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Initializes the <i>domain</i>'s default <code>System.Runtime.Remoting</code> 's Context.</div>
<div>
Initializes the <i>domain</i>'s default <code>System.Runtime.Remoting</code> 's Context.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -690,7 +777,8 @@ mono_context_get (void)
<div> the current Mono Application Context.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -736,7 +824,11 @@ mono_context_get_id (MonoAppContext *context)
<div> The unique ID for <i>context</i>.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Context IDs are guaranteed to be unique for the duration of a Mono process; they are never reused. <p /></div>
<div>
<p />
Context IDs are guaranteed to be unique for the duration of a Mono
process; they are never reused.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -628,7 +638,8 @@ mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
<div> the newly created method.
</div>
<div class="mapi-section">Description</div>
<div> Create a <code>MonoMethod</code> from this method builder.</div>
<div>
Create a <code>MonoMethod</code> from this method builder.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -746,7 +757,14 @@ mono_metadata_signature_alloc (MonoImage *m, guint32 nparams)
<div> the new <code>MonoMethodSignature</code> structure.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Allocate a <code>MonoMethodSignature</code> structure with the specified number of params. The return type and the params types need to be filled later. This is a Mono runtime internal function. <p /> LOCKING: Assumes the loader lock is held. <p /></div>
<div>
<p />
Allocate a <code>MonoMethodSignature</code> structure with the specified number of params.
The return type and the params types need to be filled later.
This is a Mono runtime internal function.
<p />
LOCKING: Assumes the loader lock is held.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -770,6 +788,10 @@ mono_metadata_signature_dup (MonoMethodSignature *sig)
<div> the new <code>MonoMethodSignature</code> structure.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Duplicate an existing <code>MonoMethodSignature</code> so it can be modified. This is a Mono runtime internal function. <p /></div>
<div>
<p />
Duplicate an existing <code>MonoMethodSignature</code> so it can be modified.
This is a Mono runtime internal function.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -282,7 +292,10 @@ mono_jit_parse_options (int argc, char * argv[])
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Process the command line options in <i>argv</i> as done by the runtime executable. This should be called before <code>mono_jit_init</code>.</div>
<div>
<p />
Process the command line options in <i>argv</i> as done by the runtime executable.
This should be called before <code>mono_jit_init</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -303,7 +316,8 @@ mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i></td><td> reference to an assembly</td></tr><tr><td><i>argc</i></td><td> argument count</td></tr><tr><td><i>argv</i></td><td> argument vector</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Start execution of a program.</div>
<div>
Start execution of a program.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -324,7 +338,27 @@ mono_set_dirs (const char *assembly_dir, const char *config_dir)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly_dir</i></td><td> the base directory for assemblies</td></tr><tr><td><i>config_dir</i></td><td> the base directory for configuration files</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This routine is used internally and by developers embedding the runtime into their own applications. <p /> There are a number of cases to consider: Mono as a system-installed package that is available on the location preconfigured or Mono in a relocated location. <p /> If you are using a system-installed Mono, you can pass <code>NULL</code> to both parameters. If you are not, you should compute both directory values and call this routine. <p /> The values for a given PREFIX are: <p /> assembly_dir: PREFIX/lib config_dir: PREFIX/etc <p /> Notice that embedders that use Mono in a relocated way must compute the location at runtime, as they will be in control of where Mono is installed.</div>
<div>
<p />
This routine is used internally and by developers embedding
the runtime into their own applications.
<p />
There are a number of cases to consider: Mono as a system-installed
package that is available on the location preconfigured or Mono in
a relocated location.
<p />
If you are using a system-installed Mono, you can pass <code>NULL</code>
to both parameters. If you are not, you should compute both
directory values and call this routine.
<p />
The values for a given PREFIX are:
<p />
assembly_dir: PREFIX/lib
config_dir: PREFIX/etc
<p />
Notice that embedders that use Mono in a relocated way must
compute the location at runtime, as they will be in control
of where Mono is installed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -363,7 +397,9 @@ mono_runtime_set_main_args (int argc, char* argv[])
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>argc</i></td><td> number of arguments from the command line</td></tr><tr><td><i>argv</i></td><td> array of strings from the command line</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Set the command line arguments from an embedding application that doesn't otherwise call <code>mono_runtime_run_main</code>.</div>
<div>
Set the command line arguments from an embedding application that doesn't otherwise call
<code>mono_runtime_run_main</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -405,7 +441,10 @@ mono_jit_set_trace_options (const char* options)
<div> <code>TRUE</code> if the options were parsed and set correctly, <code>FALSE</code> otherwise.
</div>
<div class="mapi-section">Description</div>
<div> Set the options of the tracing engine. This function can be called before initializing the mono runtime. See the --trace mono(1) manpage for the options format. <p /></div>
<div>
Set the options of the tracing engine. This function can be called before initializing
the mono runtime. See the --trace mono(1) manpage for the options format.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -445,7 +484,39 @@ mono_add_internal_call (const char *name, gconstpointer method)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>name</i></td><td> method specification to surface to the managed world</td></tr><tr><td><i>method</i></td><td> pointer to a C method to invoke when the method is called</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method surfaces the C function pointed by <i>method</i> as a method that has been surfaced in managed code with the method specified in <i>name</i> as an internal call. <p /> Internal calls are surfaced to all app domains loaded and they are accessibly by a type with the specified name. <p /> You must provide a fully qualified type name, that is namespaces and type name, followed by a colon and the method name, with an optional signature to bind. <p /> For example, the following are all valid declarations: <p /> <code>MyApp.Services.ScriptService:Accelerate</code> <p /> <code>MyApp.Services.ScriptService:Slowdown(int,bool)</code> <p /> You use method parameters in cases where there might be more than one surface method to managed code. That way you can register different internal calls for different method overloads. <p /> The internal calls are invoked with no marshalling. This means that .NET types like <code>System.String</code> are exposed as <code>MonoString*</code> parameters. This is different than the way that strings are surfaced in P/Invoke. <p /> For more information on how the parameters are marshalled, see the <a href="http://www.mono-project.com/docs/advanced/embedding/">Mono Embedding</a> page. <p /> See the <a href="mono-api-methods.html&lt;code&gt;method&lt;/code&gt;-desc">Method Description</a> reference for more information on the format of method descriptions.</div>
<div>
<p />
This method surfaces the C function pointed by <i>method</i> as a method
that has been surfaced in managed code with the method specified in
<i>name</i> as an internal call.
<p />
Internal calls are surfaced to all app domains loaded and they are
accessibly by a type with the specified name.
<p />
You must provide a fully qualified type name, that is namespaces
and type name, followed by a colon and the method name, with an
optional signature to bind.
<p />
For example, the following are all valid declarations:
<p />
<code>MyApp.Services.ScriptService:Accelerate</code>
<p />
<code>MyApp.Services.ScriptService:Slowdown(int,bool)</code>
<p />
You use method parameters in cases where there might be more than
one surface method to managed code. That way you can register different
internal calls for different method overloads.
<p />
The internal calls are invoked with no marshalling. This means that .NET
types like <code>System.String</code> are exposed as <code>MonoString*</code> parameters. This is
different than the way that strings are surfaced in P/Invoke.
<p />
For more information on how the parameters are marshalled, see the
<a href="http://www.mono-project.com/docs/advanced/embedding/">Mono Embedding</a>
page.
<p />
See the <a href="mono-api-methods.html&lt;code&gt;method&lt;/code&gt;-desc">Method Description</a>
reference for more information on the format of method descriptions.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -567,7 +638,9 @@ mono_config_parse (const char *filename)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>filename</i></td><td> the filename to load the configuration variables from.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Pass a <code>NULL</code> filename to parse the default config files (or the file in the <code>MONO_CONFIG</code> env var).</div>
<div>
Pass a <code>NULL</code> filename to parse the default config files
(or the file in the <code>MONO_CONFIG</code> env var).</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -588,7 +661,8 @@ mono_config_parse_memory (const char *buffer)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>buffer</i></td><td> a pointer to an string XML representation of the configuration</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Parses the configuration from a buffer</div>
<div>
Parses the configuration from a buffer</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -698,7 +772,8 @@ mono_set_config_dir (const char *dir)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Invoked during startup</div>
<div>
Invoked during startup</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -728,7 +803,16 @@ mono_runtime_exec_managed_code (MonoDomain *domain,
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> Application domain</td></tr><tr><td><i>main_func</i></td><td> function to invoke from the execution thread</td></tr><tr><td><i>main_args</i></td><td> parameter to the main_func</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Launch a new thread to execute a function <p /> <i>main_func</i> is called back from the thread with main_args as the parameter. The callback function is expected to start <code>Main</code> eventually. This function then waits for all managed threads to finish. It is not necessary anymore to execute managed code in a subthread, so this function should not be used anymore by default: just execute the code and then call mono_thread_manage().</div>
<div>
Launch a new thread to execute a function
<p />
<i>main_func</i> is called back from the thread with main_args as the
parameter. The callback function is expected to start <code>Main</code>
eventually. This function then waits for all managed threads to
finish.
It is not necessary anymore to execute managed code in a subthread,
so this function should not be used anymore by default: just
execute the code and then call mono_thread_manage().</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -766,7 +850,14 @@ mono_init (const char *domain_name)
<div> the initial domain.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates the initial application domain and initializes the mono_defaults structure. <p /> This function is guaranteed to not run any IL code. The runtime is initialized using the default runtime version. <p /></div>
<div>
<p />
Creates the initial application domain and initializes the mono_defaults
structure.
<p />
This function is guaranteed to not run any IL code.
The runtime is initialized using the default runtime version.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -790,7 +881,17 @@ mono_init_from_assembly (const char *domain_name, const char *filename)
<div> the initial domain.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Used by the runtime, users should use mono_jit_init instead. <p /> Creates the initial application domain and initializes the mono_defaults structure. This function is guaranteed to not run any IL code. The runtime is initialized using the runtime version required by the provided executable. The version is determined by looking at the exe configuration file and the version PE field) <p /></div>
<div>
<p />
Used by the runtime, users should use mono_jit_init instead.
<p />
Creates the initial application domain and initializes the mono_defaults
structure.
This function is guaranteed to not run any IL code.
The runtime is initialized using the runtime version required by the
provided executable. The version is determined by looking at the exe
configuration file and the version PE field)
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -813,7 +914,16 @@ mono_init_version (const char *domain_name, const char *version)
<div> the initial domain.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Used by the runtime, users should use <code>mono_jit_init</code> instead. <p /> Creates the initial application domain and initializes the <code>mono_defaults</code> structure. <p /> This function is guaranteed to not run any IL code. The runtime is initialized using the provided rutime version. <p /></div>
<div>
<p />
Used by the runtime, users should use <code>mono_jit_init</code> instead.
<p />
Creates the initial application domain and initializes the <code>mono_defaults</code>
structure.
<p />
This function is guaranteed to not run any IL code.
The runtime is initialized using the provided rutime version.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -834,7 +944,8 @@ mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i></td><td> reference to an assembly</td></tr><tr><td><i>argc</i></td><td> argument count</td></tr><tr><td><i>argv</i></td><td> argument vector</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Start execution of a program.</div>
<div>
Start execution of a program.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -873,7 +984,18 @@ mono_set_break_policy (MonoBreakPolicyFunc policy_callback)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>policy_callback</i></td><td> the new callback function</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Allow embedders to decide whether to actually obey breakpoint instructions (both break IL instructions and <code>Debugger.Break</code> method calls), for example to not allow an app to be aborted by a perfectly valid IL opcode when executing untrusted or semi-trusted code. <p /> <i>policy_callback</i> will be called every time a break point instruction needs to be inserted with the method argument being the method that calls <code>Debugger.Break</code> or has the IL <code>break</code> instruction. The callback should return <code>MONO_BREAK_POLICY_NEVER</code> if it wants the breakpoint to not be effective in the given method. <code>MONO_BREAK_POLICY_ALWAYS</code> is the default.</div>
<div>
<p />
Allow embedders to decide whether to actually obey breakpoint instructions
(both break IL instructions and <code>Debugger.Break</code> method calls), for example
to not allow an app to be aborted by a perfectly valid IL opcode when executing
untrusted or semi-trusted code.
<p />
<i>policy_callback</i> will be called every time a break point instruction needs to
be inserted with the method argument being the method that calls <code>Debugger.Break</code>
or has the IL <code>break</code> instruction. The callback should return <code>MONO_BREAK_POLICY_NEVER</code>
if it wants the breakpoint to not be effective in the given method.
<code>MONO_BREAK_POLICY_ALWAYS</code> is the default.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -896,7 +1018,9 @@ mono_get_runtime_build_info (void)
<div> the runtime version + build date in string format.
</div>
<div class="mapi-section">Description</div>
<div> The returned string is owned by the caller. The returned string format is <code>VERSION (FULL_VERSION BUILD_DATE)</code> and build date is optional.</div>
<div>
The returned string is owned by the caller. The returned string
format is <code>VERSION (FULL_VERSION BUILD_DATE)</code> and build date is optional.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -919,6 +1043,16 @@ mono_set_signal_chaining (gboolean chain_signals)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Enable/disable signal chaining. This should be called before <code>mono_jit_init</code>. If signal chaining is enabled, the runtime saves the original signal handlers before installing its own handlers, and calls the original ones in the following cases: - a <code>SIGSEGV</code> / <code>SIGABRT</code> signal received while executing native (i.e. not JITted) code. - <code>SIGPROF</code> - <code>SIGFPE</code> - <code>SIGQUIT</code> - <code>SIGUSR2</code> Signal chaining only works on POSIX platforms.</div>
<div>
<p />
Enable/disable signal chaining. This should be called before <code>mono_jit_init</code>.
If signal chaining is enabled, the runtime saves the original signal handlers before
installing its own handlers, and calls the original ones in the following cases:
- a <code>SIGSEGV</code> / <code>SIGABRT</code> signal received while executing native (i.e. not JITted) code.
- <code>SIGPROF</code>
- <code>SIGFPE</code>
- <code>SIGQUIT</code>
- <code>SIGUSR2</code>
Signal chaining only works on POSIX platforms.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -221,13 +231,15 @@
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">void
mono_reraise_exception (MonoException *ex)
mono_raise_exception (MonoException *ex)
</div>
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>ex</i></td><td> exception object</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Signal the runtime that the exception <i>ex</i> has been raised in unmanaged code.</div>
<div>
Signal the runtime that the exception <i>ex</i> has been raised in unmanaged code.
DEPRECATED. DO NOT ADD NEW CALLERS FOR THIS FUNCTION.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -248,7 +260,15 @@ mono_unhandled_exception_checked (MonoObjectHandle exc, MonoError *error)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>exc</i></td><td> exception thrown</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This is a VM internal routine. <p /> We call this function when we detect an unhandled exception in the default domain. <p /> It invokes the * UnhandledException event in AppDomain or prints a warning to the console </div>
<div>
<p />
This is a VM internal routine.
<p />
We call this function when we detect an unhandled exception
in the default domain.
<p />
It invokes the * UnhandledException event in AppDomain or prints
a warning to the console </div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -269,7 +289,8 @@ mono_print_unhandled_exception (MonoObject *exc)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>exc</i></td><td> The exception</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Prints the unhandled exception.</div>
<div>
Prints the unhandled exception.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -298,7 +319,11 @@ mono_exception_from_name_domain (MonoDomain *domain, MonoImage *image,
<div> the initialized exception instance.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates an exception object of the given namespace/name class on the given domain. <p /></div>
<div>
<p />
Creates an exception object of the given namespace/name class on
the given domain.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -323,7 +348,11 @@ mono_exception_from_name (MonoImage *image, const char *name_space,
<div> the initialized exception instance.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates an exception of the given namespace/name class in the current domain. <p /></div>
<div>
<p />
Creates an exception of the given namespace/name class in the
current domain.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -348,7 +377,10 @@ mono_exception_from_name_msg (MonoImage *image, const char *name_space,
<div> the initialized exception instance.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates an exception and initializes its message field. <p /></div>
<div>
<p />
Creates an exception and initializes its message field.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -373,7 +405,11 @@ mono_exception_from_name_two_strings (MonoImage *image, const char *name_space,
<div> the initialized exception instance.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates an exception from a constructor that takes two string arguments. <p /></div>
<div>
<p />
Creates an exception from a constructor that takes two string
arguments.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -577,7 +613,8 @@ mono_get_exception_class (void)
<div> The <code>MonoClass*</code> for the <code>type</code>.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Exception</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Exception</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1096,7 +1133,10 @@ mono_exception_from_token_two_strings (MonoImage *image, guint32 token,
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Same as mono_exception_from_name_two_strings, but lookup the exception class using IMAGE and TOKEN.</div>
<div>
<p />
Same as mono_exception_from_name_two_strings, but lookup the exception class using
IMAGE and TOKEN.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -212,7 +222,15 @@ mono_gc_collect (int generation)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>generation</i></td><td> GC generation identifier</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Perform a garbage collection for the given generation, higher numbers mean usually older objects. Collecting a high-numbered generation implies collecting also the lower-numbered generations. The maximum value for <i>generation</i> can be retrieved with a call to <code>mono_gc_max_generation</code>, so this function is usually called as: <p /> <code>mono_gc_collect (mono_gc_max_generation ());</code></div>
<div>
<p />
Perform a garbage collection for the given generation, higher numbers
mean usually older objects. Collecting a high-numbered generation
implies collecting also the lower-numbered generations.
The maximum value for <i>generation</i> can be retrieved with a call to
<code>mono_gc_max_generation</code>, so this function is usually called as:
<p />
<code>mono_gc_collect (mono_gc_max_generation ());</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -236,7 +254,11 @@ mono_gc_collection_count (int generation)
<div> the number of garbage collections
</div>
<div class="mapi-section">Description</div>
<div> <p /> Get how many times a garbage collection has been performed for the given <i>generation</i> number. <p /></div>
<div>
<p />
Get how many times a garbage collection has been performed
for the given <i>generation</i> number.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -259,7 +281,12 @@ mono_gc_max_generation (void)
<div> the maximum generation number.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Get the maximum generation number used by the current garbage collector. The value will be 0 for the Boehm collector, 1 or more for the generational collectors. <p /></div>
<div>
<p />
Get the maximum generation number used by the current garbage
collector. The value will be 0 for the Boehm collector, 1 or more
for the generational collectors.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -283,7 +310,11 @@ mono_gc_get_generation (MonoObject *object)
<div> a garbage collector generation number
</div>
<div class="mapi-section">Description</div>
<div> <p /> Get the garbage collector's generation that <i>object</i> belongs to. Use this has a hint only. <p /></div>
<div>
<p />
Get the garbage collector's generation that <i>object</i> belongs to.
Use this has a hint only.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -306,7 +337,10 @@ mono_gc_get_heap_size (void)
<div> the size of the heap in bytes
</div>
<div class="mapi-section">Description</div>
<div> <p /> Get the amount of memory used by the garbage collector. <p /></div>
<div>
<p />
Get the amount of memory used by the garbage collector.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -329,7 +363,10 @@ mono_gc_get_used_size (void)
<div> the amount of memory used in bytes
</div>
<div class="mapi-section">Description</div>
<div> <p /> Get the approximate amount of memory used by managed objects. <p /></div>
<div>
<p />
Get the approximate amount of memory used by managed objects.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -353,7 +390,17 @@ mono_gc_walk_heap (int flags, MonoGCReferences callback, void *data)
<div> a non-zero value if the GC doesn't support heap walking
</div>
<div class="mapi-section">Description</div>
<div> This function can be used to iterate over all the live objects in the heap; for each object, <i>callback</i> is invoked, providing info about the object's location in memory, its class, its size and the objects it references. For each referenced object its offset from the object address is reported in the offsets array. The object references may be buffered, so the callback may be invoked multiple times for the same object: in all but the first call, the size argument will be zero. Note that this function can be only called in the <code>MONO_GC_EVENT_PRE_START_WORLD</code> profiler event handler.</div>
<div>
This function can be used to iterate over all the live objects in the heap;
for each object, <i>callback</i> is invoked, providing info about the object's
location in memory, its class, its size and the objects it references.
For each referenced object its offset from the object address is
reported in the offsets array.
The object references may be buffered, so the callback may be invoked
multiple times for the same object: in all but the first call, the size
argument will be zero.
Note that this function can be only called in the <code>MONO_GC_EVENT_PRE_START_WORLD</code>
profiler event handler.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -380,7 +427,12 @@ mono_gc_reference_queue_add (MonoReferenceQueue *queue, MonoObject *obj, void *u
<div> <code>FALSE</code> if the queue is scheduled to be freed.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Queue an object to be watched for collection, when the <i>obj</i> is collected, the callback that was registered for the <i>queue</i> will be invoked with <i>user_data</i> as argument. <p /></div>
<div>
<p />
Queue an object to be watched for collection, when the <i>obj</i> is
collected, the callback that was registered for the <i>queue</i> will
be invoked with <i>user_data</i> as argument.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -401,7 +453,13 @@ mono_gc_reference_queue_free (MonoReferenceQueue *queue)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>queue</i></td><td> the queue that should be freed.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This operation signals that <i>queue</i> should be freed. This operation is deferred as it happens on the finalizer thread. <p /> After this call, no further objects can be queued. It's the responsibility of the caller to make sure that no further attempt to access queue will be made.</div>
<div>
<p />
This operation signals that <i>queue</i> should be freed. This operation is deferred
as it happens on the finalizer thread.
<p />
After this call, no further objects can be queued. It's the responsibility of the
caller to make sure that no further attempt to access queue will be made.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -425,7 +483,19 @@ mono_gc_reference_queue_new (mono_reference_queue_callback callback)
<div> the new queue.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Create a new reference queue used to process collected objects. A reference queue let you add a pair of (managed object, user data) using the <code>mono_gc_reference_queue_add</code> method. <p /> Once the managed object is collected <i>callback</i> will be called in the finalizer thread with 'user data' as argument. <p /> The callback is called from the finalizer thread without any locks held. When an AppDomain is unloaded, all callbacks for objects belonging to it will be invoked. <p /></div>
<div>
<p />
Create a new reference queue used to process collected objects.
A reference queue let you add a pair of (managed object, user data)
using the <code>mono_gc_reference_queue_add</code> method.
<p />
Once the managed object is collected <i>callback</i> will be called
in the finalizer thread with 'user data' as argument.
<p />
The callback is called from the finalizer thread without any locks held.
When an AppDomain is unloaded, all callbacks for objects belonging to it
will be invoked.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -622,7 +692,9 @@ mono_gc_wbarrier_generic_store_atomic (gpointer ptr, GCObject *value)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Same as <code>mono_gc_wbarrier_generic_store</code> but performs the store as an atomic operation with release semantics.</div>
<div>
Same as <code>mono_gc_wbarrier_generic_store</code> but performs the store
as an atomic operation with release semantics.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -642,7 +714,9 @@ mono_gc_wbarrier_object_copy (MonoObject* obj, MonoObject *src)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Write barrier to call when <i>obj</i> is the result of a clone or copy of an object.</div>
<div>
<p />
Write barrier to call when <i>obj</i> is the result of a clone or copy of an object.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -295,7 +305,16 @@ mono_gchandle_new (MonoObject *obj, gboolean pinned)
<div> a handle that can be used to access the object from unmanaged code.
</div>
<div class="mapi-section">Description</div>
<div> This returns a handle that wraps the object, this is used to keep a reference to a managed object from the unmanaged world and preventing the object from being disposed. <p /> If <i>pinned</i> is false the address of the object can not be obtained, if it is true the address of the object can be obtained. This will also pin the object so it will not be possible by a moving garbage collector to move the object. <p /></div>
<div>
This returns a handle that wraps the object, this is used to keep a
reference to a managed object from the unmanaged world and preventing the
object from being disposed.
<p />
If <i>pinned</i> is false the address of the object can not be obtained, if it is
true the address of the object can be obtained. This will also pin the
object so it will not be possible by a moving garbage collector to move the
object.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -320,7 +339,21 @@ mono_gchandle_new_weakref (GCObject *obj, gboolean track_resurrection)
unmanaged code.</div>
<div class="mapi-section">Description</div>
<div> <p /> This returns a weak handle that wraps the object, this is used to keep a reference to a managed object from the unmanaged world. Unlike the <code>mono_gchandle_new</code> the object can be reclaimed by the garbage collector. In this case the value of the GCHandle will be set to zero. <p /> If <i>track_resurrection</i> is <code>TRUE</code> the object will be tracked through finalization and if the object is resurrected during the execution of the finalizer, then the returned weakref will continue to hold a reference to the object. If <i>track_resurrection</i> is <code>FALSE</code>, then the weak reference's target will become <code>NULL</code> as soon as the object is passed on to the finalizer. <p /></div>
<div>
<p />
This returns a weak handle that wraps the object, this is used to
keep a reference to a managed object from the unmanaged world.
Unlike the <code>mono_gchandle_new</code> the object can be reclaimed by the
garbage collector. In this case the value of the GCHandle will be
set to zero.
<p />
If <i>track_resurrection</i> is <code>TRUE</code> the object will be tracked through
finalization and if the object is resurrected during the execution
of the finalizer, then the returned weakref will continue to hold
a reference to the object. If <i>track_resurrection</i> is <code>FALSE</code>, then
the weak reference's target will become <code>NULL</code> as soon as the object
is passed on to the finalizer.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -345,6 +378,10 @@ mono_gchandle_get_target (guint32 gchandle)
<code>NULL</code> for a collected object if using a weakref handle.</div>
<div class="mapi-section">Description</div>
<div> <p /> The handle was previously created by calling <code>mono_gchandle_new</code> or <code>mono_gchandle_new_weakref</code>. <p /></div>
<div>
<p />
The handle was previously created by calling <code>mono_gchandle_new</code> or
<code>mono_gchandle_new_weakref</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -311,7 +321,9 @@ mono_image_close (MonoImage *image)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> The image file we wish to close</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Closes an image file, deallocates all memory consumed and unmaps all possible sections of the file</div>
<div>
Closes an image file, deallocates all memory consumed and
unmaps all possible sections of the file</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -332,7 +344,8 @@ mono_image_addref (MonoImage *image)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> The image file we wish to add a reference to</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Increases the reference count of an image.</div>
<div>
Increases the reference count of an image.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -431,7 +444,8 @@ mono_image_get_assembly (MonoImage *image)
<div> the assembly that holds this image.
</div>
<div class="mapi-section">Description</div>
<div> Use this routine to get the assembly that owns this image.</div>
<div>
Use this routine to get the assembly that owns this image.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -455,7 +469,9 @@ mono_image_get_entry_point (MonoImage *image)
<div> the token for the entry point method in the image
</div>
<div class="mapi-section">Description</div>
<div> Use this routine to determine the metadata token for method that has been flagged as the entry point.</div>
<div>
Use this routine to determine the metadata token for method that
has been flagged as the entry point.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -479,7 +495,8 @@ mono_image_get_filename (MonoImage *image)
<div> the filename.
</div>
<div class="mapi-section">Description</div>
<div> Used to get the filename that hold the actual <code>MonoImage</code></div>
<div>
Used to get the filename that hold the actual <code>MonoImage</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -525,7 +542,12 @@ mono_image_get_resource (MonoImage *image, guint32 offset, guint32 *size)
<div> the pointer to the resource whose offset is <i>offset</i>.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This is a low-level routine that fetches a resource from the metadata that starts at a given <i>offset</i>. The <i>size</i> parameter is filled with the data field as encoded in the metadata. <p /></div>
<div>
<p />
This is a low-level routine that fetches a resource from the
metadata that starts at a given <i>offset</i>. The <i>size</i> parameter is
filled with the data field as encoded in the metadata.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -585,7 +607,10 @@ mono_image_is_dynamic (MonoImage *image)
<div> <code>TRUE</code> if the image was created dynamically, <code>FALSE</code> if not.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Determines if the given image was created dynamically through the <code>System.Reflection.Emit</code> API</div>
<div>
<p />
Determines if the given image was created dynamically through the
<code>System.Reflection.Emit</code> API</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -627,7 +652,8 @@ mono_image_loaded (const char *name)
<div> the loaded <code>MonoImage</code>, or <code>NULL</code> on failure.
</div>
<div class="mapi-section">Description</div>
<div> This routine verifies that the given image is loaded. Reflection-only loads do not count.</div>
<div>
This routine verifies that the given image is loaded. Reflection-only loads do not count.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -699,7 +725,8 @@ mono_get_method_constrained (MonoImage *image, guint32 token, MonoClass *constra
as the function return value; and the original CIL-stream method as
declared in <i>cil_method</i>. The latter is used for verification.</div>
<div class="mapi-section">Description</div>
<div> This is used when JITing the <code>constrained.</code> opcode.</div>
<div>
This is used when JITing the <code>constrained.</code> opcode.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -727,7 +754,11 @@ mono_image_strong_name_position (MonoImage *image, guint32 *size)
is stored.</div>
<div class="mapi-section">Description</div>
<div> <p /> If the image has a strong name, and <i>size</i> is not <code>NULL</code>, the value pointed to by size will have the size of the strong name. <p /></div>
<div>
<p />
If the image has a strong name, and <i>size</i> is not <code>NULL</code>, the value
pointed to by size will have the size of the strong name.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -752,7 +783,13 @@ mono_image_get_public_key (MonoImage *image, guint32 *size)
to the public key.</div>
<div class="mapi-section">Description</div>
<div> <p /> This is used to obtain the public key in the <i>image</i>. <p /> If the image has a public key, and <i>size</i> is not <code>NULL</code>, the value pointed to by size will have the size of the public key. <p /></div>
<div>
<p />
This is used to obtain the public key in the <i>image</i>.
<p />
If the image has a public key, and <i>size</i> is not <code>NULL</code>, the value
pointed to by size will have the size of the public key.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -777,7 +814,11 @@ mono_image_get_strong_name (MonoImage *image, guint32 *size)
pointer to the public key.</div>
<div class="mapi-section">Description</div>
<div> <p /> If the image has a strong name, and <i>size</i> is not <code>NULL</code>, the value pointed to by size will have the size of the strong name. <p /></div>
<div>
<p />
If the image has a strong name, and <i>size</i> is not <code>NULL</code>, the value
pointed to by size will have the size of the strong name.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -802,7 +843,9 @@ mono_image_has_authenticode_entry (MonoImage *image)
directory.</div>
<div class="mapi-section">Description</div>
<div> Use this routine to determine if the image has a Authenticode Certificate Table.</div>
<div>
Use this routine to determine if the image has a Authenticode
Certificate Table.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -830,7 +873,11 @@ mono_image_rva_map (MonoImage *image, guint32 addr)
RVA is not valid for this image. </div>
<div class="mapi-section">Description</div>
<div> <p /> This is a low-level routine used by the runtime to map relative virtual address (RVA) into their location in memory. <p /></div>
<div>
<p />
This is a low-level routine used by the runtime to map relative
virtual address (RVA) into their location in memory.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -854,7 +901,11 @@ mono_image_ensure_section_idx (MonoImage *image, int section)
<div> <code>TRUE</code> on success
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine makes sure that we have an in-memory copy of an image section (<code>.text</code>, <code>.rsrc</code>, <code>.data</code>). <p /></div>
<div>
<p />
This routine makes sure that we have an in-memory copy of
an image section (<code>.text</code>, <code>.rsrc</code>, <code>.data</code>).
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -878,7 +929,11 @@ mono_image_ensure_section (MonoImage *image, const char *section)
<div> <code>TRUE</code> on success
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine makes sure that we have an in-memory copy of an image section (.text, .rsrc, .data). <p /></div>
<div>
<p />
This routine makes sure that we have an in-memory copy of
an image section (.text, .rsrc, .data).
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -916,7 +971,9 @@ mono_images_init (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Initialize the global variables used by this module.</div>
<div>
<p />
Initialize the global variables used by this module.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -936,7 +993,9 @@ mono_images_cleanup (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Free all resources used by this module.</div>
<div>
<p />
Free all resources used by this module.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1015,6 +1074,10 @@ mono_image_loaded_full (const char *name, gboolean refonly)
<div> the loaded <code>MonoImage</code>, or <code>NULL</code> on failure.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine verifies that the given image is loaded. It checks either reflection-only loads only, or normal loads only, as specified by parameter. <p /></div>
<div>
<p />
This routine verifies that the given image is loaded.
It checks either reflection-only loads only, or normal loads only, as specified by parameter.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -228,7 +238,17 @@ mono_unicode_from_external (const gchar *in, gsize *bytes)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>in</i></td><td> pointers to the buffer.</td></tr><tr><td><i>bytes</i></td><td> number of bytes in the string.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Tries to turn a <code>NULL</code>-terminated string into UTF-16. <p /> First, see if it's valid UTF-8, in which case just turn it directly into UTF-16. Next, run through the colon-separated encodings in <code>MONO_EXTERNAL_ENCODINGS</code> and do an <code>iconv</code> conversion on each, returning the first successful conversion to UTF-16. If no conversion succeeds, return <code>NULL</code>. <p /> Callers must free the returned string if not <code>NULL</code>. <i>bytes</i> holds the number of bytes in the returned string, not including the terminator.</div>
<div>
Tries to turn a <code>NULL</code>-terminated string into UTF-16.
<p />
First, see if it's valid UTF-8, in which case just turn it directly
into UTF-16. Next, run through the colon-separated encodings in
<code>MONO_EXTERNAL_ENCODINGS</code> and do an <code>iconv</code> conversion on each,
returning the first successful conversion to UTF-16. If no
conversion succeeds, return <code>NULL</code>.
<p />
Callers must free the returned string if not <code>NULL</code>. <i>bytes</i> holds the number
of bytes in the returned string, not including the terminator.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -248,7 +268,11 @@ mono_unicode_from_external (const gchar *in, gsize *bytes)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>uni</i></td><td> a UTF-16 string to convert to an external representation.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Turns <code>NULL</code>-terminated UTF-16 into either UTF-8, or the first working item in <code>MONO_EXTERNAL_ENCODINGS</code> if set. If no conversions work, then UTF-8 is returned. Callers must free the returned string.</div>
<div>
Turns <code>NULL</code>-terminated UTF-16 into either UTF-8, or the first
working item in <code>MONO_EXTERNAL_ENCODINGS</code> if set. If no conversions
work, then UTF-8 is returned.
Callers must free the returned string.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -268,7 +292,20 @@ mono_unicode_from_external (const gchar *in, gsize *bytes)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>in</i></td><td> pointer to the string buffer.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Tries to turn a <code>NULL</code>-terminated string into UTF8. <p /> First, see if it's valid UTF-8, in which case there's nothing more to be done. Next, run through the colon-separated encodings in <code>MONO_EXTERNAL_ENCODINGS</code> and do an <code>iconv</code> conversion on each, returning the first successful conversion to UTF-8. If no conversion succeeds, return <code>NULL</code>. <p /> Callers must free the returned string if not <code>NULL</code>. <p /> This function is identical to <code>mono_unicode_from_external</code>, apart from returning UTF-8 not UTF-16; it's handy in a few places to work in UTF-8.</div>
<div>
Tries to turn a <code>NULL</code>-terminated string into UTF8.
<p />
First, see if it's valid UTF-8, in which case there's nothing more
to be done. Next, run through the colon-separated encodings in
<code>MONO_EXTERNAL_ENCODINGS</code> and do an <code>iconv</code> conversion on each,
returning the first successful conversion to UTF-8. If no
conversion succeeds, return <code>NULL</code>.
<p />
Callers must free the returned string if not <code>NULL</code>.
<p />
This function is identical to <code>mono_unicode_from_external</code>, apart
from returning UTF-8 not UTF-16; it's handy in a few places to work
in UTF-8.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -309,7 +346,8 @@ mono_marshal_asany (MonoObject *o, MonoMarshalNative string_encoding, int param_
</div>
<p />
<div class="mapi-section">Description</div>
<div> This is a JIT icall, it sets the pending exception and returns <code>NULL</code> on error.</div>
<div>
This is a JIT icall, it sets the pending exception and returns <code>NULL</code> on error.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -347,7 +385,8 @@ mono_marshal_free_asany (MonoObject *o, gpointer ptr, MonoMarshalNative string_e
</div>
<p />
<div class="mapi-section">Description</div>
<div> This is a JIT icall, it sets the pending exception</div>
<div>
This is a JIT icall, it sets the pending exception</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -436,7 +475,8 @@ mono_marshal_get_delegate_invoke (MonoMethod *method, MonoDelegate *del)
</div>
<p />
<div class="mapi-section">Description</div>
<div> The returned method invokes all methods in a multicast delegate.</div>
<div>
The returned method invokes all methods in a multicast delegate.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -456,7 +496,9 @@ mono_marshal_get_icall_wrapper (MonoMethodSignature *sig, const char *name, gcon
</div>
<p />
<div class="mapi-section">Description</div>
<div> Generates IL code for the icall wrapper. The generated method calls the unmanaged code in <i>func</i>.</div>
<div>
Generates IL code for the icall wrapper. The generated method
calls the unmanaged code in <i>func</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -492,7 +534,12 @@ mono_marshal_get_ldfld_wrapper (MonoType *type)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>type</i></td><td> the type of the field</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method generates a function which can be use to load a field with type <i>type</i> from an object. The generated function has the following signature: <p /> <code><i>type</i> ldfld_wrapper (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, int offset)</code></div>
<div>
<p />
This method generates a function which can be use to load a field with type
<i>type</i> from an object. The generated function has the following signature:
<p />
<code><i>type</i> ldfld_wrapper (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, int offset)</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -512,7 +559,9 @@ mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass,
</div>
<p />
<div class="mapi-section">Description</div>
<div> Generates IL code to call managed methods from unmanaged code If <i>target_handle</i> is <code>0</code>, the wrapper info will be a <code>WrapperInfo</code> structure.</div>
<div>
Generates IL code to call managed methods from unmanaged code
If <i>target_handle</i> is <code>0</code>, the wrapper info will be a <code>WrapperInfo</code> structure.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -533,7 +582,10 @@ mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions,
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>method</i></td><td> The <code>MonoMethod</code> to wrap.</td></tr><tr><td><i>check_exceptions</i></td><td> Whenever to check for pending exceptions</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Generates IL code for the pinvoke wrapper. The generated method calls the unmanaged code in <code>piinfo-&gt;addr</code>.</div>
<div>
<p />
Generates IL code for the pinvoke wrapper. The generated method
calls the unmanaged code in <code>piinfo-&gt;addr</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -572,7 +624,8 @@ mono_marshal_get_ptr_to_struct (MonoClass *klass)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> <code>MonoClass</code></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Generates IL code for <code>PtrToStructure (IntPtr src, object structure)</code></div>
<div>
Generates IL code for <code>PtrToStructure (IntPtr src, object structure)</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -647,7 +700,15 @@ mono_marshal_get_runtime_invoke_full (MonoMethod *method, gboolean virtual_, gbo
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>function</i></td><td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> <code>MonoObject *runtime_invoke (MonoObject *this_obj, void **params, MonoObject **exc, void* method)</code> <p /> We also catch exceptions if <i>exc</i> is not <code>NULL</code>. If <i>virtual</i> is <code>TRUE</code>, then <i>method</i> is invoked virtually on <i>this</i>. This is useful since it means that the compiled code for <i>method</i> does not have to be looked up before calling the runtime invoke wrapper. In this case, the wrapper ignores its <i>method</i> argument.</div>
<div>
<p />
<code>MonoObject *runtime_invoke (MonoObject *this_obj, void **params, MonoObject **exc, void* method)</code>
<p />
We also catch exceptions if <i>exc</i> is not <code>NULL</code>.
If <i>virtual</i> is <code>TRUE</code>, then <i>method</i> is invoked virtually on <i>this</i>. This is useful since
it means that the compiled code for <i>method</i> does not have to be looked up
before calling the runtime invoke wrapper. In this case, the wrapper ignores
its <i>method</i> argument.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -686,7 +747,12 @@ mono_marshal_get_stfld_wrapper (MonoType *type)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>type</i></td><td> the type of the field</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method generates a function which can be use to store a field with type <i>type</i>. The generated function has the following signature: <p /> <code>void stfld_wrapper (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, int offset, <i>type</i> val)</code></div>
<div>
<p />
This method generates a function which can be use to store a field with type
<i>type</i>. The generated function has the following signature:
<p />
<code>void stfld_wrapper (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, int offset, <i>type</i> val)</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -707,7 +773,9 @@ mono_marshal_get_struct_to_ptr (MonoClass *klass)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>klass</i></td><td> <code>MonoClass</code></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Generates IL code for <code>StructureToPtr (object structure, IntPtr ptr, bool fDeleteOld)</code></div>
<div>
<p />
Generates IL code for <code>StructureToPtr (object structure, IntPtr ptr, bool fDeleteOld)</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -728,7 +796,8 @@ mono_marshal_get_synchronized_wrapper (MonoMethod *method)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>wrapper</i></td><td> the generated method</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> calls <i>method</i> while locking <code>this</code> or the parent type.</div>
<div>
calls <i>method</i> while locking <code>this</code> or the parent type.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -748,7 +817,8 @@ mono_marshal_get_unbox_wrapper (MonoMethod *method)
</div>
<p />
<div class="mapi-section">Description</div>
<div> The returned method calls <i>method</i> unboxing the <code>this</code> argument.</div>
<div>
The returned method calls <i>method</i> unboxing the <code>this</code> argument.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -768,7 +838,8 @@ mono_marshal_get_xappdomain_invoke (MonoMethod *method)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Generates a fast remoting wrapper for cross app domain calls.</div>
<div>
Generates a fast remoting wrapper for cross app domain calls.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -788,7 +859,13 @@ mono_marshal_load_type_info (MonoClass* klass)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Initialize <code>klass::marshal_info</code> using information from metadata. This function can recursively call itself, and the caller is responsible to avoid that by calling <code>mono_marshal_is_loading_type_info</code> beforehand. <p /> LOCKING: Acquires the loader lock.</div>
<div>
<p />
Initialize <code>klass::marshal_info</code> using information from metadata. This function can
recursively call itself, and the caller is responsible to avoid that by calling
<code>mono_marshal_is_loading_type_info</code> beforehand.
<p />
LOCKING: Acquires the loader lock.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -826,7 +903,10 @@ mono_marshal_set_last_error (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> This function is invoked to set the last error value from a P/Invoke call which has <code>SetLastError</code> set.</div>
<div>
<p />
This function is invoked to set the last error value from a P/Invoke call
which has <code>SetLastError</code> set.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -872,7 +952,9 @@ mono_loader_lock (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> See <code>docs/thread-safety.txt</code> for the locking strategy.</div>
<div>
<p />
See <code>docs/thread-safety.txt</code> for the locking strategy.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -225,7 +235,15 @@ mono_jit_info_table_find (MonoDomain *domain, char *addr)
code or a trampoline) or a valid pointer to a <code>MonoJitInfo*</code> .</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to obtain a <code>MonoJitInfo*</code> object that can be used to get some statistics. You should provide both the <i>domain</i> on which you will be performing the probe, and an address. Since application domains can share code the same address can be in use by multiple domains at once. <p /> This does not return any results for trampolines. <p /></div>
<div>
<p />
Use this function to obtain a <code>MonoJitInfo*</code> object that can be used to get
some statistics. You should provide both the <i>domain</i> on which you will be
performing the probe, and an address. Since application domains can share code
the same address can be in use by multiple domains at once.
<p />
This does not return any results for trampolines.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -249,7 +267,12 @@ mono_jit_info_get_code_size (MonoJitInfo* ji)
<div> Starting address with the native code.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to get the code size for the method described by the <i>ji</i> object. You can use this plus the <code>mono_jit_info_get_code_start</code> to determine the start and end of the native code. <p /></div>
<div>
<p />
Use this function to get the code size for the method described by
the <i>ji</i> object. You can use this plus the <code>mono_jit_info_get_code_start</code>
to determine the start and end of the native code.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -273,7 +296,12 @@ mono_jit_info_get_code_start (MonoJitInfo* ji)
<div> Starting address with the native code.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to get the starting address for the method described by the <i>ji</i> object. You can use this plus the <code>mono_jit_info_get_code_size</code> to determine the start and end of the native code. <p /></div>
<div>
<p />
Use this function to get the starting address for the method described by
the <i>ji</i> object. You can use this plus the <code>mono_jit_info_get_code_size</code>
to determine the start and end of the native code.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -298,7 +326,11 @@ mono_jit_info_get_method (MonoJitInfo* ji)
by <i>ji</i>.</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this function to get the <code>MonoMethod*</code> that backs the <i>ji</i> object. <p /></div>
<div>
<p />
Use this function to get the <code>MonoMethod*</code> that backs
the <i>ji</i> object.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -328,7 +360,14 @@ mono_pmip (void *ip)
<div> the name of the method at address <i>ip</i>.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This method is used from a debugger to get the name of the method at address <i>ip</i>. This routine is typically invoked from a debugger like this: <p /> (gdb) print mono_pmip ($pc) <p /></div>
<div>
<p />
This method is used from a debugger to get the name of the
method at address <i>ip</i>. This routine is typically invoked from
a debugger like this:
<p />
(gdb) print mono_pmip ($pc)
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -349,7 +388,14 @@ mono_print_method_from_ip (void *ip)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>ip</i></td><td> an instruction pointer address</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This method is used from a debugger to get the name of the method at address <i>ip</i>. <p /> This prints the name of the method at address <i>ip</i> in the standard output. Unlike <code>mono_pmip</code> which returns a string, this routine prints the value on the standard output.</div>
<div>
<p />
This method is used from a debugger to get the name of the
method at address <i>ip</i>.
<p />
This prints the name of the method at address <i>ip</i> in the standard
output. Unlike <code>mono_pmip</code> which returns a string, this routine
prints the value on the standard output.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -369,7 +415,10 @@ mono_print_thread_dump (void *sigctx)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Print information about the current thread to stdout. <i>sigctx</i> can be <code>NULL</code>, allowing this to be called from gdb.</div>
<div>
<p />
Print information about the current thread to stdout.
<i>sigctx</i> can be <code>NULL</code>, allowing this to be called from gdb.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -389,7 +438,9 @@ mono_threads_request_thread_dump (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Ask all threads except the current to print their stacktrace to stdout.</div>
<div>
<p />
Ask all threads except the current to print their stacktrace to stdout.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -412,7 +463,9 @@ mono_assemblies_init (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Initialize global variables used by this module.</div>
<div>
<p />
Initialize global variables used by this module.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -432,7 +485,9 @@ mono_assemblies_cleanup (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Free all resources used by this module.</div>
<div>
<p />
Free all resources used by this module.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -506,6 +561,9 @@ mono_runtime_set_shutting_down (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Invoked by <code>System.Environment.Exit</code> to flag that the runtime is shutting down.</div>
<div>
<p />
Invoked by <code>System.Environment.Exit</code> to flag that the runtime
is shutting down.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -243,7 +253,12 @@ mono_sha1_get_digest_from_file (const gchar *filename, guchar digest [20])
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>filename</i></td><td> file name</td></tr><tr><td><i>digest</i></td><td> 20-byte buffer receiving the hash code.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Get the SHA-1 hash of a file. The result is put in the 20-byte buffer <i>digest</i>. <p /> If an IO error happens the value in <i>digest</i> is not updated.</div>
<div>
<p />
Get the SHA-1 hash of a file. The result is put in
the 20-byte buffer <i>digest</i>.
<p />
If an IO error happens the value in <i>digest</i> is not updated.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -339,7 +354,12 @@ mono_md5_get_digest_from_file (const gchar *filename, guchar digest[16])
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>filename</i></td><td> file name</td></tr><tr><td><i>digest</i></td><td> 16-byte buffer receiving the hash code.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Get the MD5 hash of a file. The result is put in the 16-byte buffer <i>digest</i>. <p /> If an IO error happens the value in <i>digest</i> is not updated.</div>
<div>
<p />
Get the MD5 hash of a file. The result is put in
the 16-byte buffer <i>digest</i>.
<p />
If an IO error happens the value in <i>digest</i> is not updated.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -360,7 +380,10 @@ mono_md5_get_digest (const guchar *buffer, gint buffer_size, guchar digest[16])
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>buffer</i></td><td> byte buffer</td></tr><tr><td><i>buffer_size</i></td><td> buffer size (in bytes)</td></tr><tr><td><i>digest</i></td><td> 16-byte buffer receiving the hash code.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Get the MD5 hash of a buffer. The result is put in the 16-byte buffer <i>digest</i>.</div>
<div>
<p />
Get the MD5 hash of a buffer. The result is put in
the 16-byte buffer <i>digest</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -399,7 +422,10 @@ mono_digest_get_public_token (guchar* token, const guchar *pubkey, guint32 len)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Get the public token from public key data. <i>token</i> must point to at least 8 bytes of storage.</div>
<div>
<p />
Get the public token from public key data.
<i>token</i> must point to at least 8 bytes of storage.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -616,7 +642,8 @@ mono_mempool_new (void)
<div> a new memory pool.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -637,7 +664,9 @@ mono_mempool_destroy (MonoMemPool *pool)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>pool</i></td><td> the memory pool to destroy</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Free all memory associated with this pool.</div>
<div>
<p />
Free all memory associated with this pool.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -661,7 +690,10 @@ mono_mempool_alloc (MonoMemPool *pool, guint size)
<div> the address of a newly allocated memory block.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Allocates a new block of memory in <i>pool</i> . <p /></div>
<div>
<p />
Allocates a new block of memory in <i>pool</i> .
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -681,7 +713,9 @@ mono_mempool_alloc0 (MonoMemPool *pool, guint size)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> same as <code>mono_mempool_alloc</code>, but fills memory with zero.</div>
<div>
<p />
same as <code>mono_mempool_alloc</code>, but fills memory with zero.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -702,7 +736,9 @@ mono_mempool_invalidate (MonoMemPool *pool)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>pool</i></td><td> the memory pool to invalidate</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Fill the memory associated with this pool to 0x2a (42). Useful for debugging.</div>
<div>
<p />
Fill the memory associated with this pool to 0x2a (42). Useful for debugging.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -723,7 +759,12 @@ mono_mempool_stats (MonoMemPool *pool)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>pool</i></td><td> the memory pool we need stats for</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Print a few stats about the mempool: - Total memory allocated (malloced) by mem pool - Number of chunks/blocks memory is allocated in - How much memory is available to dispense before a new malloc must occur?</div>
<div>
<p />
Print a few stats about the mempool:
- Total memory allocated (malloced) by mem pool
- Number of chunks/blocks memory is allocated in
- How much memory is available to dispense before a new malloc must occur?</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -744,7 +785,9 @@ mono_mempool_contains_addr (MonoMemPool *pool,
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Determines whether <i>addr</i> is inside the memory used by the mempool.</div>
<div>
<p />
Determines whether <i>addr</i> is inside the memory used by the mempool.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -793,7 +836,9 @@ mono_bitset_clear (MonoBitSet *set, guint32 pos)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr><tr><td><i>pos</i></td><td> unset bit at this pos</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Unset bit at <i>pos</i>, counting from 0.</div>
<div>
<p />
Unset bit at <i>pos</i>, counting from 0.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -813,7 +858,9 @@ mono_bitset_clear_all (MonoBitSet *set)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Unset all bits.</div>
<div>
<p />
Unset all bits.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -856,7 +903,9 @@ mono_bitset_copyto (const MonoBitSet *src, MonoBitSet *dest)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>src</i></td><td> bitset ptr to copy from</td></tr><tr><td><i>dest</i></td><td> bitset ptr to copy to</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Copy one bitset to another.</div>
<div>
<p />
Copy one bitset to another.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -960,7 +1009,8 @@ mono_bitset_find_start (const MonoBitSet *set)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Equivalent to <code>mono_bitset_find_first (set, -1)</code> but faster.</div>
<div>
Equivalent to <code>mono_bitset_find_first (set, -1)</code> but faster.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -981,7 +1031,9 @@ mono_bitset_foreach (MonoBitSet *set, MonoBitSetFunc func, gpointer data)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr><tr><td><i>func</i></td><td> Function to call for every set bit</td></tr><tr><td><i>data</i></td><td> pass this as second arg to func</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Calls <i>func</i> for every bit set in bitset. Argument 1 is the number of the bit set, argument 2 is data</div>
<div>
Calls <i>func</i> for every bit set in bitset. Argument 1 is the number of
the bit set, argument 2 is data</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1016,7 +1068,9 @@ mono_bitset_intersection (MonoBitSet *dest, const MonoBitSet *src)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest</i></td><td> bitset ptr to hold intersection</td></tr><tr><td><i>src</i></td><td> bitset ptr to copy</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Make intersection of one bitset and another.</div>
<div>
<p />
Make intersection of one bitset and another.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1036,7 +1090,9 @@ mono_bitset_invert (MonoBitSet *set)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Flip all bits.</div>
<div>
<p />
Flip all bits.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1056,7 +1112,11 @@ mono_bitset_mem_new (gpointer mem, guint32 max_size, guint32 flags)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>mem</i></td><td> The location the bitset is stored</td></tr><tr><td><i>max_size</i></td><td> The number of bits you want to hold</td></tr><tr><td><i>flags</i></td><td> bitfield of flags</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Return <i>mem</i>, which is now a initialized bitset of size <i>max_size</i>. It is not freed even if called with <code>mono_bitset_free</code>. <i>mem</i> must be at least as big as <code>mono_bitset_alloc_size</code> returns for the same <i>max_size</i>.</div>
<div>
<p />
Return <i>mem</i>, which is now a initialized bitset of size <i>max_size</i>. It is
not freed even if called with <code>mono_bitset_free</code>. <i>mem</i> must be at least
as big as <code>mono_bitset_alloc_size</code> returns for the same <i>max_size</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1098,7 +1158,9 @@ mono_bitset_set (MonoBitSet *set, guint32 pos)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr><tr><td><i>pos</i></td><td> set bit at this pos</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Set bit at <i>pos</i>, counting from 0.</div>
<div>
<p />
Set bit at <i>pos</i>, counting from 0.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1118,7 +1180,9 @@ mono_bitset_set_all (MonoBitSet *set)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>set</i></td><td> bitset ptr</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Set all bits.</div>
<div>
<p />
Set all bits.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1159,7 +1223,9 @@ mono_bitset_sub (MonoBitSet *dest, const MonoBitSet *src)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest</i></td><td> bitset ptr to hold bitset - src</td></tr><tr><td><i>src</i></td><td> bitset ptr to copy</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Unset all bits in <i>dest</i> that are set in <i>src</i>.</div>
<div>
<p />
Unset all bits in <i>dest</i> that are set in <i>src</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1182,7 +1248,8 @@ mono_bitset_test (const MonoBitSet *set, guint32 pos)
<div> a nonzero value if set, 0 otherwise.
</div>
<div class="mapi-section">Description</div>
<div> Test bit at <i>pos</i>, counting from 0.</div>
<div>
Test bit at <i>pos</i>, counting from 0.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1224,7 +1291,9 @@ mono_bitset_union (MonoBitSet *dest, const MonoBitSet *src)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest</i></td><td> bitset ptr to hold union</td></tr><tr><td><i>src</i></td><td> bitset ptr to copy</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Make union of one bitset and another.</div>
<div>
<p />
Make union of one bitset and another.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1264,7 +1333,9 @@ mono_bitset_intersection_2 (MonoBitSet *dest, const MonoBitSet *src1, const Mono
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest</i></td><td> bitset ptr to hold intersection</td></tr><tr><td><i>src1</i></td><td> first bitset</td></tr><tr><td><i>src2</i></td><td> second bitset</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Make intersection of two bitsets</div>
<div>
<p />
Make intersection of two bitsets</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1332,7 +1403,10 @@ mono_create_ftnptr (MonoDomain *domain, gpointer addr)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Given a function address, create a function descriptor for it. This is only needed on some platforms.</div>
<div>
<p />
Given a function address, create a function descriptor for it.
This is only needed on some platforms.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1360,8 +1434,32 @@ mono_create_ftnptr (MonoDomain *domain, gpointer addr)
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_load</div>
<div class="mapi-prototype">void
mono_profiler_load (const char *desc)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Loads a profiler module based on the specified description. <i>desc</i> can be
of the form <code>name:args</code> or just <code>name</code>. For example, <code>log:sample</code> and
<code>log</code> will both load <code>libmono-profiler-log.so</code>. The description is passed
to the module after it has been loaded. If the specified module has already
been loaded, this function has no effect.
<p />
A module called <code>foo</code> should declare an entry point like so:
<p />
<pre><code class="mapi-codeblock">
void mono_profiler_init_foo (const char *desc)
{
}
</code></pre>
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called by embedders prior to running managed
code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -341,7 +351,10 @@ mono_metadata_decode_blob_size (const char *xptr, const char **rptr)
<div> the size of the blob object
</div>
<div class="mapi-section">Description</div>
<div> <p /> This decodes a compressed size as described by 24.2.4 (<code>US</code> and <code>Blob</code> a blob or user string object) <p /></div>
<div>
<p />
This decodes a compressed size as described by 24.2.4 (<code>US</code> and <code>Blob</code> a blob or user string object)
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -963,7 +976,10 @@ mono_metadata_decode_row_col (const MonoTableInfo *t, int idx, guint col)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>t</i></td><td> table to extract information from.</td></tr><tr><td><i>idx</i></td><td> index for row in table.</td></tr><tr><td><i>col</i></td><td> column in the row.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This function returns the value of column <i>col</i> from the <i>idx</i> row in the table <i>t</i> .</div>
<div>
<p />
This function returns the value of column <i>col</i> from the <i>idx</i>
row in the table <i>t</i> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -984,7 +1000,10 @@ mono_metadata_decode_row (const MonoTableInfo *t, int idx, guint32 *res, int res
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>t</i></td><td> table to extract information from.</td></tr><tr><td><i>idx</i></td><td> index in table.</td></tr><tr><td><i>res</i></td><td> array of <i>res_size</i> cols to store the results in</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> This decompresses the metadata element <i>idx</i> in table <i>t</i> into the <code>guint32</code> <i>res</i> array that has <i>res_size</i> elements</div>
<div>
<p />
This decompresses the metadata element <i>idx</i> in table <i>t</i>
into the <code>guint32</code> <i>res</i> array that has <i>res_size</i> elements</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1005,7 +1024,14 @@ mono_metadata_compute_size (MonoImage *meta, int tableindex, guint32 *result_bit
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>meta</i></td><td> metadata context</td></tr><tr><td><i>tableindex</i></td><td> metadata table number</td></tr><tr><td><i>result_bitfield</i></td><td> pointer to <code>guint32</code> where to store additional info</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> <code>mono_metadata_compute_size</code> computes the length in bytes of a single row in a metadata table. The size of each column is encoded in the <i>result_bitfield</i> return value along with the number of columns in the table. the resulting bitfield should be handed to the <code>mono_metadata_table_size</code> and <code>mono_metadata_table_count</code> macros. This is a Mono runtime internal only function.</div>
<div>
<p />
<code>mono_metadata_compute_size</code> computes the length in bytes of a single
row in a metadata table. The size of each column is encoded in the
<i>result_bitfield</i> return value along with the number of columns in the table.
the resulting bitfield should be handed to the <code>mono_metadata_table_size</code>
and <code>mono_metadata_table_count</code> macros.
This is a Mono runtime internal only function.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1026,7 +1052,9 @@ mono_metadata_custom_attrs_from_index (MonoImage *meta, guint32 index)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>meta</i></td><td> metadata context</td></tr><tr><td><i>index</i></td><td> token representing the parent</td></tr><tr><td><i>returns</i></td><td> the 1-based index into the <code>CustomAttribute</code> table of the first </td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> attribute which belongs to the metadata object described by <i>index</i>. Returns 0 if no such attribute is found.</div>
<div>
attribute which belongs to the metadata object described by <i>index</i>.
Returns 0 if no such attribute is found.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1050,7 +1078,11 @@ mono_metadata_decode_signed_value (const char *ptr, const char **rptr)
<div> the decoded value
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine decompresses 32-bit signed values (not specified in the spec) <p /></div>
<div>
<p />
This routine decompresses 32-bit signed values
(not specified in the spec)
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1074,7 +1106,11 @@ mono_metadata_decode_value (const char *_ptr, const char **rptr)
<div> the decoded value
</div>
<div class="mapi-section">Description</div>
<div> <p /> This routine decompresses 32-bit values as specified in the &quot;Blob and Signature&quot; section (23.2) <p /></div>
<div>
<p />
This routine decompresses 32-bit values as specified in the &quot;Blob and
Signature&quot; section (23.2)
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1165,7 +1201,12 @@ mono_metadata_decode_table_row (MonoImage *image, int table, int idx, guint32 *r
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Same as <code>mono_metadata_decode_row</code>, but takes an <i>image</i> + <i>table</i> ID pair, and takes uncompressed metadata into account, so it should be used to access the <code>Method</code>, <code>Field</code>, <code>Param</code> and <code>Event</code> tables when the access is made from metadata, i.e. <i>idx</i> is retrieved from a metadata table, like <code>MONO_TYPEDEF_FIELD_LIST</code>.</div>
<div>
<p />
Same as <code>mono_metadata_decode_row</code>, but takes an <i>image</i> + <i>table</i> ID pair, and takes
uncompressed metadata into account, so it should be used to access the
<code>Method</code>, <code>Field</code>, <code>Param</code> and <code>Event</code> tables when the access is made from metadata, i.e.
<i>idx</i> is retrieved from a metadata table, like <code>MONO_TYPEDEF_FIELD_LIST</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1184,7 +1225,11 @@ mono_metadata_decode_table_row (MonoImage *image, int table, int idx, guint32 *r
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Same as <code>mono_metadata_decode_row_col</code>, but takes an <i>image</i> + <i>table</i> ID pair, and takes uncompressed metadata into account, so it should be used to access the <code>Method</code>, <code>Field</code>, <code>Param</code> and <code>Event</code> tables.</div>
<div>
<p />
Same as <code>mono_metadata_decode_row_col</code>, but takes an <i>image</i> + <i>table</i> ID pair, and takes
uncompressed metadata into account, so it should be used to access the
<code>Method</code>, <code>Field</code>, <code>Param</code> and <code>Event</code> tables.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1206,7 +1251,12 @@ mono_metadata_field_info (MonoImage *meta, guint32 index, guint32 *offset, guint
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>meta</i></td><td> the Image the field is defined in</td></tr><tr><td><i>index</i></td><td> the index in the field table representing the field</td></tr><tr><td><i>offset</i></td><td> a pointer to an integer where to store the offset that may have been specified for the field in a FieldLayout table</td></tr><tr><td><i>rva</i></td><td> a pointer to the RVA of the field data in the image that may have been defined in a <code>FieldRVA</code> table</td></tr><tr><td><i>marshal_spec</i></td><td> a pointer to the marshal spec that may have been defined for the field in a <code>FieldMarshal</code> table.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Gather info for field <i>index</i> that may have been defined in the <code>FieldLayout</code>, <code>FieldRVA</code> and <code>FieldMarshal</code> tables. Either of <i>offset</i>, <i>rva</i> and <i>marshal_spec</i> can be <code>NULL</code> if you're not interested in the data.</div>
<div>
<p />
Gather info for field <i>index</i> that may have been defined in the <code>FieldLayout</code>,
<code>FieldRVA</code> and <code>FieldMarshal</code> tables.
Either of <i>offset</i>, <i>rva</i> and <i>marshal_spec</i> can be <code>NULL</code> if you're not interested
in the data.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1227,7 +1277,9 @@ mono_metadata_free_array (MonoArrayType *array)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>array</i></td><td> array description</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Frees the array description returned from <code>mono_metadata_parse_array</code>.</div>
<div>
<p />
Frees the array description returned from <code>mono_metadata_parse_array</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1266,7 +1318,9 @@ mono_metadata_free_mh (MonoMethodHeader *mh)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>mh</i></td><td> a method header</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Free the memory allocated for the method header.</div>
<div>
<p />
Free the memory allocated for the method header.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1287,7 +1341,9 @@ mono_metadata_free_type (MonoType *type)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>type</i></td><td> type to free</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Free the memory allocated for type <i>type</i> which is allocated on the heap.</div>
<div>
<p />
Free the memory allocated for type <i>type</i> which is allocated on the heap.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1311,7 +1367,10 @@ mono_metadata_get_constant_index (MonoImage *meta, guint32 token, guint32 hint)
<div> the index into the <code>Constants</code> table or 0 if not found.
</div>
<div class="mapi-section">Description</div>
<div> <p /> <i>token</i> must be a <code>FieldDef</code>, <code>ParamDef</code> or <code>PropertyDef</code> token. <p /></div>
<div>
<p />
<i>token</i> must be a <code>FieldDef</code>, <code>ParamDef</code> or <code>PropertyDef</code> token.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1371,7 +1430,14 @@ mono_metadata_interfaces_from_typedef (MonoImage *meta, guint32 index, guint *co
<div> the interface array on success, <code>NULL</code> on failure.
</div>
<div class="mapi-section">Description</div>
<div> <p /> The array of interfaces that the <i>index</i> typedef token implements is returned in <i>interfaces</i>. The number of elements in the array is returned in <i>count</i>. The returned array is allocated with <code>g_malloc</code> and the caller must free it. <p /> LOCKING: Acquires the loader lock . <p /></div>
<div>
<p />
The array of interfaces that the <i>index</i> typedef token implements is returned in
<i>interfaces</i>. The number of elements in the array is returned in <i>count</i>. The returned
array is allocated with <code>g_malloc</code> and the caller must free it.
<p />
LOCKING: Acquires the loader lock .
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1396,7 +1462,8 @@ mono_metadata_locate (MonoImage *meta, int table, int idx)
whose code is <i>table</i>.</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1421,7 +1488,8 @@ mono_metadata_locate_token (MonoImage *meta, guint32 token)
token <i>token</i> .</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1589,7 +1657,12 @@ mono_metadata_token_from_dor (guint32 dor_index)
<div> an expanded token
</div>
<div class="mapi-section">Description</div>
<div> <p /> <i>dor_token</i> is a <code>TypeDefOrRef</code> coded index: it contains either a <code>TypeDef</code>, <code>TypeRef</code> or <code>TypeSpec</code> in the lower bits, and the upper bits contain an index into the table. <p /></div>
<div>
<p />
<i>dor_token</i> is a <code>TypeDefOrRef</code> coded index: it contains either
a <code>TypeDef</code>, <code>TypeRef</code> or <code>TypeSpec</code> in the lower bits, and the upper
bits contain an index into the table.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1609,7 +1682,12 @@ mono_metadata_translate_token_index (MonoImage *image, int table, guint32 idx)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Translates the given 1-based index into the <code>Method</code>, <code>Field</code>, <code>Event</code>, or <code>Param</code> tables using the <code>*Ptr</code> tables in uncompressed metadata, if they are available. <p /> FIXME: The caller is not forced to call this function, which is error-prone, since forgetting to call it would only show up as a bug on uncompressed metadata.</div>
<div>
Translates the given 1-based index into the <code>Method</code>, <code>Field</code>, <code>Event</code>, or <code>Param</code> tables
using the <code>*Ptr</code> tables in uncompressed metadata, if they are available.
<p />
FIXME: The caller is not forced to call this function, which is error-prone, since
forgetting to call it would only show up as a bug on uncompressed metadata.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1634,7 +1712,8 @@ mono_metadata_typedef_from_field (MonoImage *meta, guint32 index)
declared the field described by <i>index</i>, or 0 if not found.</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1696,7 +1775,9 @@ mono_metadata_type_hash (MonoType *t1)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>t1</i></td><td> a type</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Computes a hash value for <i>t1</i> to be used in <code>GHashTable</code>. The returned hash is guaranteed to be the same across executions.</div>
<div>
Computes a hash value for <i>t1</i> to be used in <code>GHashTable</code>.
The returned hash is guaranteed to be the same across executions.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1741,7 +1822,11 @@ mono_metadata_free_method_signature (MonoMethodSignature *sig)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>sig</i></td><td> signature to destroy</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Free the memory allocated in the signature <i>sig</i>. This method needs to be robust and work also on partially-built signatures, so it does extra checks.</div>
<div>
<p />
Free the memory allocated in the signature <i>sig</i>.
This method needs to be robust and work also on partially-built
signatures, so it does extra checks.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1786,7 +1871,10 @@ mono_metadata_parse_custom_mod (MonoImage *m, MonoCustomMod *dest, const char *p
<div> <code>TRUE</code> if a custom modifier was found, <code>FALSE</code> if not.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Checks if <i>ptr</i> points to a type custom modifier compressed representation. <p /></div>
<div>
<p />
Checks if <i>ptr</i> points to a type custom modifier compressed representation.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1810,7 +1898,10 @@ mono_metadata_parse_field_type (MonoImage *m, short field_flags, const char *ptr
<div> The <code>MonoType</code> that was extracted from <i>ptr</i> .
</div>
<div class="mapi-section">Description</div>
<div> <p /> Parses the field signature, and returns the type information for it. <p /></div>
<div>
<p />
Parses the field signature, and returns the type information for it.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1852,7 +1943,13 @@ mono_metadata_parse_method_signature (MonoImage *m, int def, const char *ptr, co
<div> a <code>MonoMethodSignature</code> describing the signature.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Decode a method signature stored at <i>ptr</i>. This is a Mono runtime internal function. <p /> LOCKING: Assumes the loader lock is held. <p /></div>
<div>
<p />
Decode a method signature stored at <i>ptr</i>.
This is a Mono runtime internal function.
<p />
LOCKING: Assumes the loader lock is held.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1876,7 +1973,11 @@ mono_metadata_parse_mh (MonoImage *m, const char *ptr)
<div> a transient <code>MonoMethodHeader</code> allocated from the heap.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Decode the method header at <i>ptr</i>, including pointer to the IL code, info about local variables and optional exception tables. <p /></div>
<div>
<p />
Decode the method header at <i>ptr</i>, including pointer to the IL code,
info about local variables and optional exception tables.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1900,7 +2001,10 @@ mono_metadata_parse_param (MonoImage *m, const char *ptr, const char **rptr)
<div> The <code>MonoType</code> that was extracted from <i>ptr</i> .
</div>
<div class="mapi-section">Description</div>
<div> <p /> Parses the param signature, and returns the type information for it. <p /></div>
<div>
<p />
Parses the param signature, and returns the type information for it.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1924,7 +2028,10 @@ mono_metadata_parse_signature (MonoImage *image, guint32 token)
<div> a <code>MonoMethodSignature</code> describing the signature.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Decode a method signature stored in the <code>StandAloneSig</code> table <p /></div>
<div>
<p />
Decode a method signature stored in the <code>StandAloneSig</code> table
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1972,7 +2079,22 @@ mono_metadata_parse_type_internal (MonoImage *m, MonoGenericContainer *container
<div> a <code>MonoType</code> structure representing the decoded type.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Decode a compressed type description found at <i>ptr</i> in <i>m</i> . <i>mode</i> can be one of <code>MONO_PARSE_MOD_TYPE</code>, <code>MONO_PARSE_PARAM</code>, <code>MONO_PARSE_RET</code>, <code>MONO_PARSE_FIELD</code>, <code>MONO_PARSE_LOCAL</code>, <code>MONO_PARSE_TYPE</code>. This function can be used to decode type descriptions in method signatures, field signatures, locals signatures etc. <p /> To parse a generic type, <code>generic_container</code> points to the current class'es (the <code>generic_container</code> field in the <code>MonoClass</code>) or the current generic method's (stored in <code>image-&gt;property_hash</code>) generic container. When we encounter a <code>MONO_TYPE_VAR</code> or <code>MONO_TYPE_MVAR</code>, it's looked up in this <code>MonoGenericContainer</code>. <p /> LOCKING: Acquires the loader lock. <p /></div>
<div>
<p />
Decode a compressed type description found at <i>ptr</i> in <i>m</i> .
<i>mode</i> can be one of <code>MONO_PARSE_MOD_TYPE</code>, <code>MONO_PARSE_PARAM</code>, <code>MONO_PARSE_RET</code>,
<code>MONO_PARSE_FIELD</code>, <code>MONO_PARSE_LOCAL</code>, <code>MONO_PARSE_TYPE</code>.
This function can be used to decode type descriptions in method signatures,
field signatures, locals signatures etc.
<p />
To parse a generic type, <code>generic_container</code> points to the current class'es
(the <code>generic_container</code> field in the <code>MonoClass</code>) or the current generic method's
(stored in <code>image-&gt;property_hash</code>) generic container.
When we encounter a <code>MONO_TYPE_VAR</code> or <code>MONO_TYPE_MVAR</code>, it's looked up in
this <code>MonoGenericContainer</code>.
<p />
LOCKING: Acquires the loader lock.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -2039,7 +2161,8 @@ mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx)
<div> a loaded string from the <i>image</i> / <i>idx</i> combination.
</div>
<div class="mapi-section">Description</div>
<div> Implementation for the <code>ldstr</code> opcode.</div>
<div>
Implementation for the <code>ldstr</code> opcode.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -2063,7 +2186,10 @@ mono_exception_from_token (MonoImage *image, guint32 token)
<div> the initialized exception instance.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates an exception of the type given by <i>token</i>. <p /></div>
<div>
<p />
Creates an exception of the type given by <i>token</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -333,7 +343,17 @@ mono_method_desc_new (const char *name, gboolean include_namespace)
<div> a parsed representation of the method description.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Creates a method description for <i>name</i>, which conforms to the following specification: <p /> <code>[namespace.]classname:methodname[(args...)]</code> <p /> in all the loaded assemblies. <p /> Both classname and methodname can contain <code>*</code> which matches anything. <p /></div>
<div>
<p />
Creates a method description for <i>name</i>, which conforms to the following
specification:
<p />
<code>[namespace.]classname:methodname[(args...)]</code>
<p />
in all the loaded assemblies.
<p />
Both classname and methodname can contain <code>*</code> which matches anything.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -354,7 +374,8 @@ mono_method_desc_free (MonoMethodDesc *desc)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>desc</i></td><td> method description to be released</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Releases the <code>MonoMethodDesc</code> object <i>desc</i>.</div>
<div>
Releases the <code>MonoMethodDesc</code> object <i>desc</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -414,7 +435,11 @@ mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method)
<div> <code>TRUE</code> if the method matches the description, <code>FALSE</code> otherwise.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Determines whether the specified <i>method</i> matches the provided <i>desc</i> description. <p /> namespace and class are supposed to match already if this function is used.</div>
<div>
<p />
Determines whether the specified <i>method</i> matches the provided <i>desc</i> description.
<p />
namespace and class are supposed to match already if this function is used.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -640,7 +665,10 @@ mono_method_get_signature (MonoMethod *method, MonoImage *image, guint32 token)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <i>token</i> is the method_ref/def/spec token used in a call IL instruction. \deprecated use the <code>_checked</code> variant Notes: runtime code MUST not use this function</div>
<div>
<i>token</i> is the method_ref/def/spec token used in a call IL instruction.
\deprecated use the <code>_checked</code> variant
Notes: runtime code MUST not use this function</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -660,7 +688,8 @@ mono_method_get_index (MonoMethod *method)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Find the method index in the metadata <code>MethodDef</code> table.</div>
<div>
Find the method index in the metadata <code>MethodDef</code> table.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -680,7 +709,10 @@ mono_method_get_signature_full (MonoMethod *method, MonoImage *image, guint32 to
</div>
<p />
<div class="mapi-section">Description</div>
<div> <i>token</i> is the method ref/def/spec token used in a <code>call</code> IL instruction. \deprecated use the <code>_checked</code> variant Notes: runtime code MUST not use this function</div>
<div>
<i>token</i> is the method ref/def/spec token used in a <code>call</code> IL instruction.
\deprecated use the <code>_checked</code> variant
Notes: runtime code MUST not use this function</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -719,7 +751,60 @@ mono_method_get_unmanaged_thunk (MonoMethod *method)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>method</i></td><td> method to generate a thunk for.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Returns an <code>unmanaged-&gt;managed</code> thunk that can be used to call a managed method directly from C. <p /> The thunk's C signature closely matches the managed signature: <p /> C#: <code>public bool Equals (object obj);</code> <p /> C: <code>typedef MonoBoolean (*Equals)(MonoObject*, MonoObject*, MonoException**);</code> <p /> The 1st (<code>this</code>) parameter must not be used with static methods: <p /> C#: <code>public static bool ReferenceEquals (object a, object b);</code> <p /> C: <code>typedef MonoBoolean (*ReferenceEquals)(MonoObject*, MonoObject*, MonoException**);</code> <p /> The last argument must be a non-null <code>MonoException*</code> pointer. It has &quot;out&quot; semantics. After invoking the thunk, <code>*ex</code> will be <code>NULL</code> if no exception has been thrown in managed code. Otherwise it will point to the <code>MonoException*</code> caught by the thunk. In this case, the result of the thunk is undefined: <p /> <pre> MonoMethod *method = ... // MonoMethod* of System.Object.Equals <p /> MonoException *ex = <code>NULL</code>; <p /> Equals func = mono_method_get_unmanaged_thunk (method); <p /> MonoBoolean res = func (thisObj, objToCompare, &amp;ex); <p /> if (ex) { <p /> // handle exception <p /> } </pre> <p /> The calling convention of the thunk matches the platform's default convention. This means that under Windows, C declarations must contain the <code>__stdcall</code> attribute: <p /> C: <code>typedef MonoBoolean (__stdcall *Equals)(MonoObject*, MonoObject*, MonoException**);</code> <p /> LIMITATIONS <p /> Value type arguments and return values are treated as they were objects: <p /> C#: <code>public static Rectangle Intersect (Rectangle a, Rectangle b);</code> C: <code>typedef MonoObject* (*Intersect)(MonoObject*, MonoObject*, MonoException**);</code> <p /> Arguments must be properly boxed upon trunk's invocation, while return values must be unboxed.</div>
<div>
<p />
Returns an <code>unmanaged-&gt;managed</code> thunk that can be used to call
a managed method directly from C.
<p />
The thunk's C signature closely matches the managed signature:
<p />
C#: <code>public bool Equals (object obj);</code>
<p />
C: <code>typedef MonoBoolean (*Equals)(MonoObject*, MonoObject*, MonoException**);</code>
<p />
The 1st (<code>this</code>) parameter must not be used with static methods:
<p />
C#: <code>public static bool ReferenceEquals (object a, object b);</code>
<p />
C: <code>typedef MonoBoolean (*ReferenceEquals)(MonoObject*, MonoObject*, MonoException**);</code>
<p />
The last argument must be a non-null <code>MonoException*</code> pointer.
It has &quot;out&quot; semantics. After invoking the thunk, <code>*ex</code> will be <code>NULL</code> if no
exception has been thrown in managed code. Otherwise it will point
to the <code>MonoException*</code> caught by the thunk. In this case, the result of
the thunk is undefined:
<p />
<pre>
MonoMethod *method = ... // MonoMethod* of System.Object.Equals
<p />
MonoException *ex = <code>NULL</code>;
<p />
Equals func = mono_method_get_unmanaged_thunk (method);
<p />
MonoBoolean res = func (thisObj, objToCompare, &amp;ex);
<p />
if (ex) {
<p />
// handle exception
<p />
}
</pre>
<p />
The calling convention of the thunk matches the platform's default
convention. This means that under Windows, C declarations must
contain the <code>__stdcall</code> attribute:
<p />
C: <code>typedef MonoBoolean (__stdcall *Equals)(MonoObject*, MonoObject*, MonoException**);</code>
<p />
LIMITATIONS
<p />
Value type arguments and return values are treated as they were objects:
<p />
C#: <code>public static Rectangle Intersect (Rectangle a, Rectangle b);</code>
C: <code>typedef MonoObject* (*Intersect)(MonoObject*, MonoObject*, MonoException**);</code>
<p />
Arguments must be properly boxed upon trunk's invocation, while return
values must be unboxed.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -757,7 +842,8 @@ mono_method_verify (MonoMethod *method, int level)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Verify types for opcodes.</div>
<div>
Verify types for opcodes.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -782,7 +868,32 @@ mono_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>method</i></td><td> method to invoke</td></tr><tr><td><i>obj</i></td><td> object instance</td></tr><tr><td><i>params</i></td><td> arguments to the method</td></tr><tr><td><i>exc</i></td><td> exception information.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Invokes the method represented by <i>method</i> on the object <i>obj</i>. <i>obj</i> is the <code>this</code> pointer, it should be <code>NULL</code> for static methods, a <code>MonoObject*</code> for object instances and a pointer to the value type for value types. <p /> The params array contains the arguments to the method with the same convention: <code>MonoObject*</code> pointers for object instances and pointers to the value type otherwise. <p /> From unmanaged code you'll usually use the <code>mono_runtime_invoke</code> variant. <p /> Note that this function doesn't handle virtual methods for you, it will exec the exact method you pass: we still need to expose a function to lookup the derived class implementation of a virtual method (there are examples of this in the code, though). <p /> You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to catch exceptions, otherwise, <code>*exc</code> will be set to the exception thrown, if any. if an exception is thrown, you can't use the <code>MonoObject*</code> result from the function. <p /> If the method returns a value type, it is boxed in an object reference.</div>
<div>
Invokes the method represented by <i>method</i> on the object <i>obj</i>.
<i>obj</i> is the <code>this</code> pointer, it should be <code>NULL</code> for static
methods, a <code>MonoObject*</code> for object instances and a pointer to
the value type for value types.
<p />
The params array contains the arguments to the method with the
same convention: <code>MonoObject*</code> pointers for object instances and
pointers to the value type otherwise.
<p />
From unmanaged code you'll usually use the
<code>mono_runtime_invoke</code> variant.
<p />
Note that this function doesn't handle virtual methods for
you, it will exec the exact method you pass: we still need to
expose a function to lookup the derived class implementation
of a virtual method (there are examples of this in the code,
though).
<p />
You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to
catch exceptions, otherwise, <code>*exc</code> will be set to the exception
thrown, if any. if an exception is thrown, you can't use the
<code>MonoObject*</code> result from the function.
<p />
If the method returns a value type, it is boxed in an object
reference.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -826,7 +937,36 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>method</i></td><td> method to invoke</td></tr><tr><td><i>obj</i></td><td> object instance</td></tr><tr><td><i>params</i></td><td> arguments to the method</td></tr><tr><td><i>exc</i></td><td> exception information.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Invokes the method represented by <i>method</i> on the object <i>obj</i>. <p /> <i>obj</i> is the <code>this</code> pointer, it should be <code>NULL</code> for static methods, a <code>MonoObject*</code> for object instances and a pointer to the value type for value types. <p /> The <i>params</i> array contains the arguments to the method with the same convention: <code>MonoObject*</code> pointers for object instances and pointers to the value type otherwise. The <code>_invoke_array</code> variant takes a C# <code>object[]</code> as the params argument (<code>MonoArray*)</code>: in this case the value types are boxed inside the respective reference representation. <p /> From unmanaged code you'll usually use the mono_runtime_invoke_checked() variant. <p /> Note that this function doesn't handle virtual methods for you, it will exec the exact method you pass: we still need to expose a function to lookup the derived class implementation of a virtual method (there are examples of this in the code, though). <p /> You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to catch exceptions, otherwise, <code>*exc</code> will be set to the exception thrown, if any. if an exception is thrown, you can't use the <code>MonoObject*</code> result from the function. <p /> If the method returns a value type, it is boxed in an object reference.</div>
<div>
Invokes the method represented by <i>method</i> on the object <i>obj</i>.
<p />
<i>obj</i> is the <code>this</code> pointer, it should be <code>NULL</code> for static
methods, a <code>MonoObject*</code> for object instances and a pointer to
the value type for value types.
<p />
The <i>params</i> array contains the arguments to the method with the
same convention: <code>MonoObject*</code> pointers for object instances and
pointers to the value type otherwise. The <code>_invoke_array</code>
variant takes a C# <code>object[]</code> as the params argument (<code>MonoArray*)</code>:
in this case the value types are boxed inside the
respective reference representation.
<p />
From unmanaged code you'll usually use the
mono_runtime_invoke_checked() variant.
<p />
Note that this function doesn't handle virtual methods for
you, it will exec the exact method you pass: we still need to
expose a function to lookup the derived class implementation
of a virtual method (there are examples of this in the code,
though).
<p />
You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to
catch exceptions, otherwise, <code>*exc</code> will be set to the exception
thrown, if any. if an exception is thrown, you can't use the
<code>MonoObject*</code> result from the function.
<p />
If the method returns a value type, it is boxed in an object
reference.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -847,7 +987,14 @@ mono_runtime_delegate_invoke (MonoObject *delegate, void **params, MonoObject **
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>delegate</i></td><td> pointer to a delegate object.</td></tr><tr><td><i>params</i></td><td> parameters for the delegate.</td></tr><tr><td><i>exc</i></td><td> Pointer to the exception result.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Invokes the delegate method <i>delegate</i> with the parameters provided. <p /> You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to catch exceptions, otherwise, <code>*exc</code> will be set to the exception thrown, if any. if an exception is thrown, you can't use the <code>MonoObject*</code> result from the function.</div>
<div>
<p />
Invokes the delegate method <i>delegate</i> with the parameters provided.
<p />
You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to
catch exceptions, otherwise, <code>*exc</code> will be set to the exception
thrown, if any. if an exception is thrown, you can't use the
<code>MonoObject*</code> result from the function.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1005,7 +1152,11 @@ mono_signature_get_params (MonoMethodSignature *sig, gpointer *iter)
<code>NULL</code> when finished.</div>
<div class="mapi-section">Description</div>
<div> Iterates over the parameters for the method signature <i>sig</i>. A <code>void*</code> pointer must be initialized to <code>NULL</code> to start the iteration and its address is passed to this function repeteadly until it returns <code>NULL</code>.</div>
<div>
Iterates over the parameters for the method signature <i>sig</i>.
A <code>void*</code> pointer must be initialized to <code>NULL</code> to start the iteration
and its address is passed to this function repeteadly until it returns
<code>NULL</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1216,7 +1367,13 @@ mono_method_header_get_clauses (MonoMethodHeader *header, MonoMethod *method, gp
clauses.</div>
<div class="mapi-section">Description</div>
<div> <p /> Get the info about the exception clauses in the method. Set <code>*iter</code> to <code>NULL</code> to initiate the iteration, then call the method repeatedly until it returns <code>FALSE</code>. At each iteration, the structure pointed to by clause if filled with the exception clause information. <p /></div>
<div>
<p />
Get the info about the exception clauses in the method. Set <code>*iter</code> to <code>NULL</code> to
initiate the iteration, then call the method repeatedly until it returns <code>FALSE</code>.
At each iteration, the structure pointed to by clause if filled with the
exception clause information.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1240,7 +1397,12 @@ mono_method_header_get_code (MonoMethodHeader *header, guint32* code_size, guint
<div> pointer to the IL code represented by the method header.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Method header accessor to retreive info about the IL code properties: a pointer to the IL code itself, the size of the code and the max number of stack slots used by the code. <p /></div>
<div>
<p />
Method header accessor to retreive info about the IL code properties:
a pointer to the IL code itself, the size of the code and the max number
of stack slots used by the code.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1264,6 +1426,11 @@ mono_method_header_get_locals (MonoMethodHeader *header, guint32* num_locals, gb
<div> pointer to an array of types of the local variables
</div>
<div class="mapi-section">Description</div>
<div> <p /> Method header accessor to retreive info about the local variables: an array of local types, the number of locals and whether the locals are supposed to be initialized to 0 on method entry <p /></div>
<div>
<p />
Method header accessor to retreive info about the local variables:
an array of local types, the number of locals and whether the locals
are supposed to be initialized to 0 on method entry
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -311,7 +321,15 @@ mono_object_new_alloc_specific (MonoVTable *vtable)
<div> the allocated object.
</div>
<div class="mapi-section">Description</div>
<div> This function allocates a new <code>MonoObject</code> with the type derived from the <i>vtable</i> information. If the class of this object has a finalizer, then the object will be tracked for finalization. <p /> This method might raise an exception on errors. Use the <code>mono_object_new_fast_checked</code> method if you want to manually raise the exception. <p /></div>
<div>
This function allocates a new <code>MonoObject</code> with the type derived
from the <i>vtable</i> information. If the class of this object has a
finalizer, then the object will be tracked for finalization.
<p />
This method might raise an exception on errors. Use the
<code>mono_object_new_fast_checked</code> method if you want to manually raise
the exception.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -335,7 +353,17 @@ mono_object_new_fast (MonoVTable *vtable)
<div> the allocated object.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This function allocates a new <code>MonoObject</code> with the type derived from the <i>vtable</i> information. The returned object is not tracked for finalization. If your object implements a finalizer, you should use <code>mono_object_new_alloc_specific</code> instead. <p /> This method might raise an exception on errors. Use the <code>mono_object_new_fast_checked</code> method if you want to manually raise the exception. <p /></div>
<div>
<p />
This function allocates a new <code>MonoObject</code> with the type derived
from the <i>vtable</i> information. The returned object is not tracked
for finalization. If your object implements a finalizer, you should
use <code>mono_object_new_alloc_specific</code> instead.
<p />
This method might raise an exception on errors. Use the
<code>mono_object_new_fast_checked</code> method if you want to manually raise
the exception.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -427,7 +455,8 @@ mono_object_get_class (MonoObject *obj)
<div> the <code>MonoClass</code> of the object.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to obtain the <code>MonoClass*</code> for a given <code>MonoObject</code>.</div>
<div>
Use this function to obtain the <code>MonoClass*</code> for a given <code>MonoObject</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -470,7 +499,9 @@ mono_object_get_virtual_method (MonoObject *obj_raw, MonoMethod *method)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>obj</i></td><td> object to operate on.</td></tr><tr><td><i>method</i></td><td> method </td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Retrieves the <code>MonoMethod</code> that would be called on <i>obj</i> if <i>obj</i> is passed as the instance of a callvirt of <i>method</i>.</div>
<div>
Retrieves the <code>MonoMethod</code> that would be called on <i>obj</i> if <i>obj</i> is passed as
the instance of a callvirt of <i>method</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -663,7 +694,9 @@ mono_value_copy (gpointer dest, gpointer src, MonoClass *klass)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest</i></td><td> destination pointer</td></tr><tr><td><i>src</i></td><td> source pointer</td></tr><tr><td><i>klass</i></td><td> a valuetype class</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Copy a valuetype from <i>src</i> to <i>dest</i>. This function must be used when <i>klass</i> contains reference fields.</div>
<div>
Copy a valuetype from <i>src</i> to <i>dest</i>. This function must be used
when <i>klass</i> contains reference fields.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -684,7 +717,10 @@ mono_value_copy_array (MonoArray *dest, int dest_idx, gpointer src, int count)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>dest</i></td><td> destination array</td></tr><tr><td><i>dest_idx</i></td><td> index in the <i>dest</i> array</td></tr><tr><td><i>src</i></td><td> source pointer</td></tr><tr><td><i>count</i></td><td> number of items</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Copy <i>count</i> valuetype items from <i>src</i> to the array <i>dest</i> at index <i>dest_idx</i>. This function must be used when <i>klass</i> contains references fields. Overlap is handled.</div>
<div>
Copy <i>count</i> valuetype items from <i>src</i> to the array <i>dest</i> at index <i>dest_idx</i>.
This function must be used when <i>klass</i> contains references fields.
Overlap is handled.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -731,7 +767,8 @@ mono_array_new (MonoDomain *domain, MonoClass *eclass, uintptr_t n)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> domain where the object is created</td></tr><tr><td><i>eclass</i></td><td> element class</td></tr><tr><td><i>n</i></td><td> number of array elements</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This routine creates a new szarray with <i>n</i> elements of type <i>eclass</i>.</div>
<div>
This routine creates a new szarray with <i>n</i> elements of type <i>eclass</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -752,7 +789,9 @@ mono_array_new_full (MonoDomain *domain, MonoClass *array_class, uintptr_t *leng
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> domain where the object is created</td></tr><tr><td><i>array_class</i></td><td> array class</td></tr><tr><td><i>lengths</i></td><td> lengths for each dimension in the array</td></tr><tr><td><i>lower_bounds</i></td><td> lower bounds for each dimension in the array (may be <code>NULL</code>)</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This routine creates a new array object with the given dimensions, lower bounds and type.</div>
<div>
This routine creates a new array object with the given dimensions,
lower bounds and type.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -773,7 +812,9 @@ mono_array_new_specific (MonoVTable *vtable, uintptr_t n)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>vtable</i></td><td> a vtable in the appropriate domain for an initialized class</td></tr><tr><td><i>n</i></td><td> number of array elements</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This routine is a fast alternative to <code>mono_array_new</code> for code which can be sure about the domain it operates in.</div>
<div>
This routine is a fast alternative to <code>mono_array_new</code> for code which
can be sure about the domain it operates in.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -861,7 +902,18 @@ mono_array_clone (MonoArray *array)
<div> The element at the <i>index</i> position in the <i>array</i>.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Use this macro to retrieve the <i>index</i> element of an <i>array</i> and extract the value assuming that the elements of the array match the provided type value. <p /> This method can be used with both arrays holding value types and reference types. For reference types, the <i>type</i> parameter should be a <code>MonoObject*</code> or any subclass of it, like <code>MonoString*</code>. <p /> This macro does not attempt to perform type checking or bounds checking. <p /></div>
<div>
<p />
Use this macro to retrieve the <i>index</i> element of an <i>array</i> and
extract the value assuming that the elements of the array match
the provided type value.
<p />
This method can be used with both arrays holding value types and
reference types. For reference types, the <i>type</i> parameter should
be a <code>MonoObject*</code> or any subclass of it, like <code>MonoString*</code>.
<p />
This macro does not attempt to perform type checking or bounds checking.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -904,7 +956,12 @@ mono_array_length (MonoArray *array)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>array</i></td><td> array to alter</td></tr><tr><td><i>element_type</i></td><td> A C type name, this macro will use the sizeof(type) to determine the element size</td></tr><tr><td><i>index</i></td><td> index into the array</td></tr><tr><td><i>value</i></td><td> value to set</td></tr><tr><td><i>version</i></td><td> This sets the <i>index</i>'s element of the <i>array</i></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> with elements of size sizeof(type) to the provided <i>value</i>. <p /> This macro does not attempt to perform type checking or bounds checking. <p /> Use this to set value types in a <code>MonoArray</code>.</div>
<div>
with elements of size sizeof(type) to the provided <i>value</i>.
<p />
This macro does not attempt to perform type checking or bounds checking.
<p />
Use this to set value types in a <code>MonoArray</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -924,7 +981,13 @@ mono_array_length (MonoArray *array)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>array</i></td><td> array to alter</td></tr><tr><td><i>index</i></td><td> index into the array</td></tr><tr><td><i>value</i></td><td> value to set</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Reference Type version. This sets the <i>index</i>'s element of the <i>array</i> with elements of size sizeof(type) to the provided <i>value</i>. <p /> This macro does not attempt to perform type checking or bounds checking. <p /> Use this to reference types in a <code>MonoArray</code>.</div>
<div>
Reference Type version. This sets the <i>index</i>'s element of the
<i>array</i> with elements of size sizeof(type) to the provided <i>value</i>.
<p />
This macro does not attempt to perform type checking or bounds checking.
<p />
Use this to reference types in a <code>MonoArray</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -963,7 +1026,11 @@ mono_array_addr_with_size (MonoArray *array, int size, uintptr_t idx)
<div> the address of the <i>idx</i> element in the array.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to obtain the address for the <i>idx</i> item on the <i>array</i> containing elements of size <i>size</i>. <p /> This method performs no bounds checking or type checking.</div>
<div>
Use this function to obtain the address for the <i>idx</i> item on the
<i>array</i> containing elements of size <i>size</i>.
<p />
This method performs no bounds checking or type checking.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -989,7 +1056,8 @@ mono_array_element_size (MonoClass *ac)
<p />
LOCKING: Acquires the loader lock.</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1051,7 +1119,8 @@ mono_field_get_name (MonoClassField *field)
<div> The name of the field.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1075,7 +1144,8 @@ mono_field_get_parent (MonoClassField *field)
<div> <code>MonoClass</code> where the field was defined.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1118,7 +1188,21 @@ mono_field_get_value (MonoObject *obj, MonoClassField *field, void *value)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>obj</i></td><td> Object instance</td></tr><tr><td><i>field</i></td><td> <code>MonoClassField</code> describing the field to fetch information from</td></tr><tr><td><i>value</i></td><td> pointer to the location where the value will be stored</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Use this routine to get the value of the field <i>field</i> in the object passed. <p /> The pointer provided by value must be of the field type, for reference types this is a <code>MonoObject*</code>, for value types its the actual pointer to the value type. <p /> For example: <p /> <pre> int i; <p /> mono_field_get_value (obj, int_field, &amp;i); </pre></div>
<div>
Use this routine to get the value of the field <i>field</i> in the object
passed.
<p />
The pointer provided by value must be of the field type, for reference
types this is a <code>MonoObject*</code>, for value types its the actual pointer to
the value type.
<p />
For example:
<p />
<pre>
int i;
<p />
mono_field_get_value (obj, int_field, &amp;i);
</pre></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1162,7 +1246,13 @@ mono_field_set_value (MonoObject *obj, MonoClassField *field, void *value)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>obj</i></td><td> Instance object</td></tr><tr><td><i>field</i></td><td> <code>MonoClassField</code> describing the field to set</td></tr><tr><td><i>value</i></td><td> The value to be set</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Sets the value of the field described by <i>field</i> in the object instance <i>obj</i> to the value passed in <i>value</i>. This method should only be used for instance fields. For static fields, use <code>mono_field_static_set_value</code>. <p /> The value must be in the native format of the field type. </div>
<div>
<p />
Sets the value of the field described by <i>field</i> in the object instance <i>obj</i>
to the value passed in <i>value</i>. This method should only be used for instance
fields. For static fields, use <code>mono_field_static_set_value</code>.
<p />
The value must be in the native format of the field type. </div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1183,7 +1273,20 @@ mono_field_static_get_value (MonoVTable *vt, MonoClassField *field, void *value)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>vt</i></td><td> vtable to the object</td></tr><tr><td><i>field</i></td><td> <code>MonoClassField</code> describing the field to fetch information from</td></tr><tr><td><i>value</i></td><td> where the value is returned</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Use this routine to get the value of the static field <i>field</i> value. <p /> The pointer provided by value must be of the field type, for reference types this is a <code>MonoObject*</code>, for value types its the actual pointer to the value type. <p /> For example: <p /> <pre> int i; <p /> mono_field_static_get_value (vt, int_field, &amp;i); </pre></div>
<div>
Use this routine to get the value of the static field <i>field</i> value.
<p />
The pointer provided by value must be of the field type, for reference
types this is a <code>MonoObject*</code>, for value types its the actual pointer to
the value type.
<p />
For example:
<p />
<pre>
int i;
<p />
mono_field_static_get_value (vt, int_field, &amp;i);
</pre></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1204,7 +1307,10 @@ mono_field_static_set_value (MonoVTable *vt, MonoClassField *field, void *value)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>field</i></td><td> <code>MonoClassField</code> describing the field to set</td></tr><tr><td><i>value</i></td><td> The value to be set</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Sets the value of the static field described by <i>field</i> to the value passed in <i>value</i>. The value must be in the native format of the field type. </div>
<div>
Sets the value of the static field described by <i>field</i>
to the value passed in <i>value</i>.
The value must be in the native format of the field type. </div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1278,7 +1384,11 @@ mono_property_get_flags (MonoProperty *prop)
<div> The flags for the property.
</div>
<div class="mapi-section">Description</div>
<div> <p /> The metadata flags for a property are encoded using the <code>PROPERTY_ATTRIBUTE_*</code> constants. See the <code>tabledefs.h</code> file for details. <p /></div>
<div>
<p />
The metadata flags for a property are encoded using the
<code>PROPERTY_ATTRIBUTE_*</code> constants. See the <code>tabledefs.h</code> file for details.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1383,7 +1493,15 @@ mono_property_get_value (MonoProperty *prop, void *obj, void **params, MonoObjec
<div> the value from invoking the <code>get</code> method on the property.
</div>
<div class="mapi-section">Description</div>
<div> Invokes the property's <code>get</code> method with the given arguments on the object instance <i>obj</i> (or <code>NULL</code> for static properties). <p /> You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to catch exceptions, otherwise, <code>*exc</code> will be set to the exception thrown, if any. if an exception is thrown, you can't use the <code>MonoObject*</code> result from the function. <p /></div>
<div>
Invokes the property's <code>get</code> method with the given arguments on the
object instance <i>obj</i> (or <code>NULL</code> for static properties).
<p />
You can pass <code>NULL</code> as the <i>exc</i> argument if you don't want to
catch exceptions, otherwise, <code>*exc</code> will be set to the exception
thrown, if any. if an exception is thrown, you can't use the
<code>MonoObject*</code> result from the function.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1404,7 +1522,14 @@ mono_property_set_value (MonoProperty *prop, void *obj, void **params, MonoObjec
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>prop</i></td><td> MonoProperty to set</td></tr><tr><td><i>obj</i></td><td> instance object on which to act</td></tr><tr><td><i>params</i></td><td> parameters to pass to the propery</td></tr><tr><td><i>exc</i></td><td> optional exception</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Invokes the property's set method with the given arguments on the object instance obj (or <code>NULL</code> for static properties). <p /> You can pass <code>NULL</code> as the exc argument if you don't want to catch exceptions, otherwise, <code>*exc</code> will be set to the exception thrown, if any. if an exception is thrown, you can't use the <code>MonoObject*</code> result from the function.</div>
<div>
Invokes the property's set method with the given arguments on the
object instance obj (or <code>NULL</code> for static properties).
<p />
You can pass <code>NULL</code> as the exc argument if you don't want to
catch exceptions, otherwise, <code>*exc</code> will be set to the exception
thrown, if any. if an exception is thrown, you can't use the
<code>MonoObject*</code> result from the function.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -1477,7 +1602,11 @@ mono_event_get_flags (MonoEvent *event)
<div> The flags for the event.
</div>
<div class="mapi-section">Description</div>
<div> <p /> The metadata flags for an event are encoded using the <code>EVENT_*</code> constants. See the <code>tabledefs.h</code> file for details. <p /></div>
<div>
<p />
The metadata flags for an event are encoded using the
<code>EVENT_*</code> constants. See the <code>tabledefs.h</code> file for details.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1592,7 +1721,11 @@ mono_load_remote_field (MonoObject *this_obj, MonoClass *klass, MonoClassField *
<div> an address pointing to the value of field.
</div>
<div class="mapi-section">Description</div>
<div> This method is called by the runtime on attempts to load fields of transparent proxy objects. <i>this</i> points to such TP, <i>klass</i> is the class of the object containing <i>field</i>. <i>res</i> is a storage location which can be used to store the result.</div>
<div>
This method is called by the runtime on attempts to load fields of
transparent proxy objects. <i>this</i> points to such TP, <i>klass</i> is the class of
the object containing <i>field</i>. <i>res</i> is a storage location which can be
used to store the result.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1613,7 +1746,8 @@ mono_load_remote_field_new (MonoObject *this_obj, MonoClass *klass, MonoClassFie
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>this</i></td><td></td></tr><tr><td><i>klass</i></td><td></td></tr><tr><td><i>field</i></td><td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Missing documentation.</div>
<div>
Missing documentation.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1634,7 +1768,10 @@ mono_store_remote_field (MonoObject *this_obj, MonoClass *klass, MonoClassField
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>this_obj</i></td><td> pointer to an object</td></tr><tr><td><i>klass</i></td><td> klass of the object containing <i>field</i></td></tr><tr><td><i>field</i></td><td> the field to load</td></tr><tr><td><i>val</i></td><td> the value/object to store</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This method is called by the runtime on attempts to store fields of transparent proxy objects. <i>this_obj</i> points to such TP, <i>klass</i> is the class of the object containing <i>field</i>. <i>val</i> is the new value to store in <i>field</i>.</div>
<div>
This method is called by the runtime on attempts to store fields of
transparent proxy objects. <i>this_obj</i> points to such TP, <i>klass</i> is the class of
the object containing <i>field</i>. <i>val</i> is the new value to store in <i>field</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -1655,7 +1792,8 @@ mono_store_remote_field_new (MonoObject *this_obj, MonoClass *klass, MonoClassFi
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>this_obj</i></td><td></td></tr><tr><td><i>klass</i></td><td></td></tr><tr><td><i>field</i></td><td></td></tr><tr><td><i>arg</i></td><td></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Missing documentation</div>
<div>
Missing documentation</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -187,281 +197,736 @@
</head>
<body>
<div class="mapi-docs">
<h1>Profiling Interface</h1>
<h1>Runtime Profiler API</h1>
<h3>Profiler Operation</h3>
<p />The profiler API can be used by dynamically loaded profiler
modules to monitor different aspects of a running program. The
API is also usable by embedders without having to compile a
profiler module.
<p />The following methods can be used by dynamic profiler
methods to monitor different aspects of the program.
<h2>Profiler Modules</h2>
<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:
<p />A profiler module is simply a shared library with a single
exported function which is the entry point that Mono calls at
startup. It must have the following signature:
<pre>
void mono_profiler_startup (const char *desc)
</pre>
<pre><code class="mapi-codeblock">
void mono_profiler_startup_example (const char *desc)
</code></pre>
<p />Where &quot;desc&quot; 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 />Here, the <code>example</code> portion of the function name is
the name of the profiler module. It must match the shared library
name (i.e. <code>libmono-profiler-example.so</code>). <i>desc</i>
is the set of arguments that were passed from the command line.
<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:
<p />For example, a bare bones profiler module might look like this
(<code>example.c</code>):
<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>
<pre><code class="mapi-codeblock">
#include &lt;mono/metadata/profiler.h&gt;
#include &lt;stdio.h&gt;
<p />Developers can change the set of monitored events at
runtime by calling <tt>mono_profiler_set_events</tt>.
<a name="api:mono_profiler_install"></a>
struct _MonoProfiler {
int dummy;
}
static MonoProfiler profiler;
static void
runtime_inited (MonoProfiler *prof)
{
printf (&quot;Hello World&quot;);
}
void
mono_profiler_init_example (const char *desc)
{
MonoProfilerHandle handle = mono_profiler_create (&amp;profiler);
mono_profiler_set_runtime_initialized_callback (handle, runtime_inited);
}
</code></pre>
<p />To compile this module, a C compiler must be invoked in a
similar fashion to this, on Linux:
<pre><code class="mapi-codeblock">
gcc -fPIC -shared -o libmono-profiler-example.so example.c `pkg-config --cflags mono-2`
</code></pre>
<p />Or on OS X:
<pre><code class="mapi-codeblock">
gcc -undefined suppress -flat_namespace -o libmono-profiler-example.so example.c `pkg-config --cflags mono-2`
</code></pre>
<p />You can then load the module using:
<pre><code class="mapi-codeblock">
mono --profile=example hello.exe
</code></pre>
<p />(Note that adjusting <code>LD_LIBRARY_PATH</code> may be
necessary in order for the dynamic linker to find the module.)
<h2>Profiler Functions</h2>
<p />These are the functions usable for profiling programs.
<p />Each function has a note indicating whether they're async
safe. An async safe function can be invoked in a signal handler
or when the world is stopped by the GC. Conversely, a function
that is not async safe must not be invoked in such a context or
undefined behavior can occur (crashes, deadlocks, etc).
<p />Some functions may only be invoked from a profiler module's
init function (or prior to running managed code in the case of
embedding). This is noted explicitly only if applicable to a
function.
<h3>Basic Functions</h3>
<p />These functions are used to load and install profilers.
<a name="api:mono_profiler_load"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install</code></div>
<div class="mapi-entry "><code>mono_profiler_load</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install</div>
<div class="mapi-prototype">void
mono_profiler_load (const char *desc)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Loads a profiler module based on the specified description. <i>desc</i> can be
of the form <code>name:args</code> or just <code>name</code>. For example, <code>log:sample</code> and
<code>log</code> will both load <code>libmono-profiler-log.so</code>. The description is passed
to the module after it has been loaded. If the specified module has already
been loaded, this function has no effect.
<p />
A module called <code>foo</code> should declare an entry point like so:
<p />
<pre><code class="mapi-codeblock">
void mono_profiler_init_foo (const char *desc)
{
}
</code></pre>
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called by embedders prior to running managed
code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_allocation"></a>
<a name="api:mono_profiler_create"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_allocation</code></div>
<div class="mapi-entry "><code>mono_profiler_create</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_allocation</div>
<div class="mapi-prototype">MonoProfilerHandle
mono_profiler_create (MonoProfiler *prof)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Installs a profiler and returns a handle for it. The handle is used with the
other functions in the profiler API (e.g. for setting up callbacks). The
given structure pointer, <i>prof</i>, will be passed to all callbacks from the
profiler API. It can be <code><code>NULL</code></code>.
<p />
Example usage:
<p />
<pre><code class="mapi-codeblock">
struct _MonoProfiler {
int my_stuff;
// ...
};
MonoProfiler *prof = malloc (sizeof (MonoProfiler));
prof-&gt;my_stuff = 42;
MonoProfilerHandle handle = mono_profiler_create (prof);
mono_profiler_set_shutdown_callback (handle, my_shutdown_cb);
</code></pre>
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called from a profiler's init function or prior
to running managed code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_appdomain"></a>
<a name="api:mono_profiler_set_cleanup_callback"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_appdomain</code></div>
<div class="mapi-entry "><code>mono_profiler_set_cleanup_callback</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_appdomain</div>
<div class="mapi-prototype">void
mono_profiler_set_cleanup_callback (MonoProfilerHandle handle, MonoProfilerCleanupCallback cb)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Sets a profiler cleanup function. This function will be invoked at shutdown
when the profiler API is cleaning up its internal structures. It's mainly
intended for a profiler to free the structure pointer that was passed to
<code>mono_profiler_create</code>, if necessary.
<p />
This function is async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
<h3>Code Coverage</h3>
<p />These functions provide access to the JIT compiler's code
coverage support. This functionality can be used to collect
information about how many times certain code paths have been
executed.
</div> <!-- class=mapi -->
<a name="api:mono_profiler_enable_coverage"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_enable_coverage</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_bool
mono_profiler_enable_coverage (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Enables support for code coverage instrumentation. At the moment, this means
enabling the debug info subsystem. If this function is not called, it will
not be possible to use <code>mono_profiler_get_coverage_data</code>. Returns <code><code>TRUE</code></code>
if code coverage support was enabled, or <code><code>FALSE</code></code> if the function was called
too late for this to be possible.
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called from a profiler's init function or prior
to running managed code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_assembly"></a>
<a name="api:mono_profiler_set_coverage_filter_callback"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_assembly</code></div>
<div class="mapi-entry "><code>mono_profiler_set_coverage_filter_callback</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_assembly</div>
<div class="mapi-prototype">void
mono_profiler_set_coverage_filter_callback (MonoProfilerHandle handle, MonoProfilerCoverageFilterCallback cb)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Sets a code coverage filter function. The profiler API will invoke filter
functions from all installed profilers. If any of them return <code><code>TRUE</code></code>, then
the given method will be instrumented for coverage analysis. All filters are
guaranteed to be called at least once per method, even if an earlier filter
has already returned <code><code>TRUE</code></code>.
<p />
Note that filter functions must be installed before a method is compiled in
order to have any effect, i.e. a filter should be registered in a profiler's
init function or prior to running managed code (if embedding).
<p />
This function is async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_class"></a>
<a name="api:mono_profiler_get_coverage_data"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_class</code></div>
<div class="mapi-entry "><code>mono_profiler_get_coverage_data</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_class</div>
<div class="mapi-prototype">mono_bool
mono_profiler_get_coverage_data (MonoProfilerHandle handle, MonoMethod *method, MonoProfilerCoverageCallback cb)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Retrieves all coverage data for <i>method</i> and invokes <i>cb</i> for each entry.
Source location information will only be filled out if <i>method</i> has debug
info available. Returns <code><code>TRUE</code></code> if <i>method</i> was instrumented for code
coverage; otherwise, <code><code>FALSE</code></code>.
<p />
Please note that the structure passed to <i>cb</i> is only valid for the
duration of the callback.
<p />
This function is <strong>not</strong> async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
<h3>Statistical Sampling</h3>
<p />Statistical sampling can be used to interrupt managed threads
based on a certain mode and frequency for the purpose of
collecting data about their current work.
<p />One common use case for this functionality, usually referred
to as call sampling, is to collect a backtrace from every thread
when a sampling hit event arrives. This data can then be compiled
into a report indicating where a program spends most of its time.
</div> <!-- class=mapi -->
<a name="api:mono_profiler_enable_sampling"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_enable_sampling</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_bool
mono_profiler_enable_sampling (MonoProfilerHandle handle)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Enables the sampling thread. Users must call this function if they intend
to use statistical sampling; <code>mono_profiler_set_sample_mode</code> will have no
effect if this function has not been called. The first profiler to call this
function will get ownership over sampling settings (mode and frequency) so
that no other profiler can change those settings. Returns <code><code>TRUE</code></code> if the
sampling thread was enabled, or <code><code>FALSE</code></code> if the function was called too late
for this to be possible.
<p />
Note that <code>mono_profiler_set_sample_mode</code> must still be called with a mode
other than <code>MONO_PROFILER_SAMPLE_MODE_NONE</code> to actually start sampling.
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called from a profiler's init function or prior
to running managed code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_coverage_filter"></a>
<a name="api:mono_profiler_set_sample_mode"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_coverage_filter</code></div>
<div class="mapi-entry "><code>mono_profiler_set_sample_mode</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_coverage_filter</div>
<div class="mapi-prototype">mono_bool
mono_profiler_set_sample_mode (MonoProfilerHandle handle, MonoProfilerSampleMode mode, uint32_t freq)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Sets the sampling mode and frequency (in Hz). <i>freq</i> must be a positive
number. If the calling profiler has ownership over sampling settings, the
settings will be changed and this function will return <code><code>TRUE</code></code>; otherwise,
it returns <code><code>FALSE</code></code> without changing any settings.
<p />
This function is async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_enter_leave"></a>
<a name="api:mono_profiler_get_sample_mode"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_enter_leave</code></div>
<div class="mapi-entry "><code>mono_profiler_get_sample_mode</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_enter_leave</div>
<div class="mapi-prototype">mono_bool
mono_profiler_get_sample_mode (MonoProfilerHandle handle, MonoProfilerSampleMode *mode, uint32_t *freq)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Retrieves the current sampling mode and/or frequency (in Hz). Returns
<code><code>TRUE</code></code> if the calling profiler is allowed to change the sampling settings;
otherwise, <code><code>FALSE</code></code>.
<p />
This function is async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
<p />A callback must be registered to receive sample hit events.
Please see the <i>Callback Registration</i> section below.
<h3>GC Allocations</h3>
<p />Profilers can be notified about all GC allocations performed
by a program or the Mono runtime.
</div> <!-- class=mapi -->
<a name="api:mono_profiler_enable_allocations"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_enable_allocations</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_bool
mono_profiler_enable_allocations (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Enables instrumentation of GC allocations. This is necessary so that managed
allocators can be instrumented with a call into the profiler API.
Allocations will not be reported unless this function is called. Returns
<code><code>TRUE</code></code> if allocation instrumentation was enabled, or <code><code>FALSE</code></code> if the
function was called too late for this to be possible.
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called from a profiler's init function or prior
to running managed code.</div>
</div><!--mapi-description -->
</div><!--height container -->
<p />A callback must be registered to receive allocation events.
Please see the <i>Callback Registration</i> section below.
<h3>Call Instrumentation</h3>
<p />The JIT compiler supports instrumenting managed method entry
and exit points so that a profiler callback will be invoked.
<p />While such callbacks by themselves have traditionally only
been useful for call count profiling and the like, Mono gives
these callbacks access to the arguments, locals, and return
value of instrumented methods (together referred to as the 'call
context'). This enables many profiling scenarios that would
otherwise have required explicit hooks in the base class
libraries.
</div> <!-- class=mapi -->
<a name="api:mono_profiler_set_call_instrumentation_filter_callback"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_set_call_instrumentation_filter_callback</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">void
mono_profiler_set_call_instrumentation_filter_callback (MonoProfilerHandle handle, MonoProfilerCallInstrumentationFilterCallback cb)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Sets a call instrumentation filter function. The profiler API will invoke
filter functions from all installed profilers. If any of them return flags
other than <code>MONO_PROFILER_CALL_INSTRUMENTATION_NONE</code>, then the given method
will be instrumented as requested. All filters are guaranteed to be called
exactly once per method, even if earlier filters have already specified all
flags.
<p />
Note that filter functions must be installed before a method is compiled in
order to have any effect, i.e. a filter should be registered in a profiler's
init function or prior to running managed code (if embedding). Also, to
instrument a method that's going to be AOT-compiled, a filter must be
installed at AOT time. This can be done in exactly the same way as one would
normally, i.e. by passing the <code>--profile</code> option on the command line, by
calling <code>mono_profiler_load</code>, or simply by using the profiler API as an
embedder.
<p />
Indiscriminate method instrumentation is extremely heavy and will slow down
most applications to a crawl. Users should consider sampling as a possible
alternative to such heavy-handed instrumentation.
<p />
This function is async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_jit_compile"></a>
<a name="api:mono_profiler_enable_call_context_introspection"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_jit_compile</code></div>
<div class="mapi-entry "><code>mono_profiler_enable_call_context_introspection</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_jit_compile</div>
<div class="mapi-prototype">mono_bool
mono_profiler_enable_call_context_introspection (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Enables support for retrieving stack frame data from a call context. At the
moment, this means enabling the debug info subsystem. If this function is not
called, it will not be possible to use the call context introspection
functions (they will simply return <code><code>NULL</code>)</code>. Returns <code><code>TRUE</code></code> if call context
introspection was enabled, or <code><code>FALSE</code></code> if the function was called too late for
this to be possible.
<p />
Please note: Mono's LLVM backend does not support this feature. This means
that methods with call context instrumentation will be handled by Mono's
JIT even in LLVM mode. There is also a special case when Mono is compiling
in LLVM-only mode: Since LLVM does not provide a way to implement call
contexts, a <code><code>NULL</code></code> context will always be passed to enter/leave events even
though this method returns <code><code>TRUE</code></code>.
<p />
This function is <strong>not</strong> async safe.
<p />
This function may <strong>only</strong> be called from a profiler's init function or prior
to running managed code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_module"></a>
<a name="api:mono_profiler_call_context_get_this"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_module</code></div>
<div class="mapi-entry "><code>mono_profiler_call_context_get_this</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_module</div>
<div class="mapi-prototype">void*
mono_profiler_call_context_get_this (MonoProfilerCallContext *context)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Given a valid call context from an enter/leave event, retrieves a pointer to
the <code>this</code> reference for the method. Returns <code><code>NULL</code></code> if none exists (i.e.
it's a static method) or if call context introspection was not enabled.
<p />
The buffer returned by this function must be freed with
<code>mono_profiler_call_context_free_buffer</code>.
<p />
Please note that a call context is only valid for the duration of the
enter/leave callback it was passed to.
<p />
This function is <strong>not</strong> async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_thread"></a>
<a name="api:mono_profiler_call_context_get_argument"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_thread</code></div>
<div class="mapi-entry "><code>mono_profiler_call_context_get_argument</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_thread</div>
<div class="mapi-prototype">void*
mono_profiler_call_context_get_argument (MonoProfilerCallContext *context, uint32_t position)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Given a valid call context from an enter/leave event, retrieves a pointer to
the method argument at the given position. Returns <code><code>NULL</code></code> if <i>position</i> is
out of bounds or if call context introspection was not enabled.
<p />
The buffer returned by this function must be freed with
<code>mono_profiler_call_context_free_buffer</code>.
<p />
Please note that a call context is only valid for the duration of the
enter/leave callback it was passed to.
<p />
This function is <strong>not</strong> async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_transition"></a>
<a name="api:mono_profiler_call_context_get_local"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_transition</code></div>
<div class="mapi-entry "><code>mono_profiler_call_context_get_local</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_transition</div>
<div class="mapi-prototype">void*
mono_profiler_call_context_get_local (MonoProfilerCallContext *context, uint32_t position)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Given a valid call context from an enter/leave event, retrieves a pointer to
the local variable at the given position. Returns <code><code>NULL</code></code> if <i>position</i> is
out of bounds or if call context introspection was not enabled.
<p />
The buffer returned by this function must be freed with
<code>mono_profiler_call_context_free_buffer</code>.
<p />
Please note that a call context is only valid for the duration of the
enter/leave callback it was passed to.
<p />
This function is <strong>not</strong> async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_gc"></a>
<a name="api:mono_profiler_call_context_get_result"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_gc</code></div>
<div class="mapi-entry "><code>mono_profiler_call_context_get_result</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_gc</div>
<div class="mapi-prototype">void*
mono_profiler_call_context_get_result (MonoProfilerCallContext *context)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Given a valid call context from an enter/leave event, retrieves a pointer to
return value of a method. Returns <code><code>NULL</code></code> if the method has no return value
(i.e. it returns <code>void)</code>, if the leave event was the result of a tail call,
if the function is called on a context from an enter event, or if call
context introspection was not enabled.
<p />
The buffer returned by this function must be freed with
<code>mono_profiler_call_context_free_buffer</code>.
<p />
Please note that a call context is only valid for the duration of the
enter/leave callback it was passed to.
<p />
This function is <strong>not</strong> async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_install_statistical"></a>
<a name="api:mono_profiler_call_context_free_buffer"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_install_statistical</code></div>
<div class="mapi-entry "><code>mono_profiler_call_context_free_buffer</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_install_statistical</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_set_events"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_set_events</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_set_events</div>
<p />
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
<a name="api:mono_profiler_get_events"></a>
<div class="mapi">
<div class="mapi-entry "><code>mono_profiler_get_events</code></div>
<div class="mapi-height-container">
<div class="mapi-ptr-container"></div>
<div class="mapi-description">
<div class="mapi-ptr"></div>
<div class="mapi-declaration mapi-section">Syntax</div>
<div class="mapi-prototype">mono_profiler_get_events</div>
<div class="mapi-prototype">void
mono_profiler_call_context_free_buffer (void *buffer)
</div>
<p />
<div class="mapi-section">Description</div>
<div>
<p />
Frees a buffer returned by one of the call context introspection functions.
Passing a <code><code>NULL</code></code> value for <i>buffer</i> is allowed, which makes this function
a no-op.
<p />
This function is <strong>not</strong> async safe.</div>
</div><!--mapi-description -->
</div><!--height container -->
<h3>Coverage</h3>
<p />Callbacks must be registered to receive method entry and exit
events. Please see the <i>Callback Registration</i> section
below.
<p />To support profiling modules that need to do code coverage
analysis, the following routines is provided:
<h3>Callback Registration</h3>
<p />In addition to the above functions, there's a large set of
functions for installing generic profiler event callbacks. These
are generated from C macros and so are not documented here.
Please refer to the <code>mono/metadata/profiler.h</code> and
<code>mono/metadata/profiler-events.h</code> headers for a full
listing of these.
<p />Callback registration functions are all async safe and can be
safely invoked from multiple threads at the same time, with the
caveat that altering a registered callback from one thread will
not immediately affect another thread that is already invoking
the current callback.
<h2>API Stability</h2>
<p />The profiler API does not have the same API stability
garantees that the rest of the Mono embedding API does. While
a breaking change to the profiler API is extremely rare, it has
happened in the past when changing the API in a backwards
compatible way was deemed to be too much work for too little
gain.
<p />Therefore, developers of profiler modules may rarely need to
update their code to work with new versions of the profiler API.
<p />Developers who wish to support older versions of the API can
perform a compile time check of the
<code>MONO_PROFILER_API_VERSION</code> macro and maintain code
for both old and new versions.
<p />To aid with transitioning to a new version of the profiler
API, the Mono runtime will detect and reject loading profiler

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -266,7 +276,9 @@ mono_reflection_get_custom_attrs_blob (MonoReflectionAssembly *assembly, MonoObj
<div> a <code>Byte</code> array representing the blob of data.
</div>
<div class="mapi-section">Description</div>
<div> Creates the blob of data that needs to be saved in the metadata and that represents the custom attributed described by <i>ctor</i>, <i>ctorArgs</i> etc.</div>
<div>
Creates the blob of data that needs to be saved in the metadata and that represents
the custom attributed described by <i>ctor</i>, <i>ctorArgs</i> etc.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -381,7 +393,10 @@ mono_reflection_get_type (MonoImage* image, MonoTypeNameParse *info, gboolean ig
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> a metadata context</td></tr><tr><td><i>info</i></td><td> type description structure</td></tr><tr><td><i>ignorecase</i></td><td> flag for case-insensitive string compares</td></tr><tr><td><i>type_resolve</i></td><td> whenever type resolve was already tried</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Build a MonoType from the type description in <i>info</i>. <p /></div>
<div>
<p />
Build a MonoType from the type description in <i>info</i>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -442,7 +457,12 @@ mono_reflection_type_from_name (char *name, MonoImage *image)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>name</i></td><td> type name.</td></tr><tr><td><i>image</i></td><td> a metadata context (can be <code>NULL</code>).</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Retrieves a <code>MonoType</code> from its <i>name</i>. If the name is not fully qualified, it defaults to get the type from <i>image</i> or, if <i>image</i> is <code>NULL</code> or loading from it fails, uses corlib. <p /></div>
<div>
<p />
Retrieves a <code>MonoType</code> from its <i>name</i>. If the name is not fully qualified,
it defaults to get the type from <i>image</i> or, if <i>image</i> is <code>NULL</code> or loading
from it fails, uses corlib.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -469,7 +489,8 @@ mono_reflection_get_custom_attrs_info (MonoObject *obj_raw)
<p />
FIXME this function leaks like a sieve for SRE objects.</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
@ -603,7 +624,8 @@ mono_custom_attrs_from_index (MonoImage *image, guint32 idx)
<div> <code>NULL</code> if no attributes are found or if a loading error occurs.
</div>
<div class="mapi-section">Description</div>
<div> <p /></div>
<div>
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -645,7 +667,10 @@ mono_custom_attrs_from_param (MonoMethod *method, guint32 param)
<div> the custom attribute object for the specified parameter, or <code>NULL</code> if there are none.
</div>
<div class="mapi-section">Description</div>
<div> <p /> The result must be released with mono_custom_attrs_free(). <p /></div>
<div>
<p />
The result must be released with mono_custom_attrs_free().
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -210,7 +220,8 @@ mono_declsec_flags_from_assembly (MonoAssembly *assembly)
<div> the declarative security flags for the assembly.
</div>
<div class="mapi-section">Description</div>
<div> Get the security actions (in the form of flags) associated with the specified assembly.</div>
<div>
Get the security actions (in the form of flags) associated with the specified assembly.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -234,7 +245,10 @@ mono_declsec_flags_from_class (MonoClass *klass)
<div> the declarative security flags for the class.
</div>
<div class="mapi-section">Description</div>
<div> Get the security actions (in the form of flags) associated with the specified class. We cache the flags inside the <code>MonoClass</code> structure as this will get called very often (at least for each method).</div>
<div>
Get the security actions (in the form of flags) associated with the specified class.
We cache the flags inside the <code>MonoClass</code> structure as this will get
called very often (at least for each method).</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -258,7 +272,10 @@ mono_declsec_flags_from_method (MonoMethod *method)
<div> the declarative security flags for the method (only).
</div>
<div class="mapi-section">Description</div>
<div> Get the security actions (in the form of flags) associated with the specified method. To keep <code>MonoMethod</code> size down we do not cache the declarative security flags (except for the stack modifiers which are kept in the MonoJitInfo structure)</div>
<div>
Get the security actions (in the form of flags) associated with the specified method.
To keep <code>MonoMethod</code> size down we do not cache the declarative security flags
(except for the stack modifiers which are kept in the MonoJitInfo structure)</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -314,7 +331,10 @@ mono_declsec_get_demands (MonoMethod *method, MonoDeclSecurityActions* demands)
</div>
<p />
<div class="mapi-section">Description</div>
<div> Collect all actions (that requires to generate code in mini) assigned for the specified method. Don't use the content of actions if the function return <code>FALSE</code>.</div>
<div>
Collect all actions (that requires to generate code in mini) assigned for
the specified method.
Don't use the content of actions if the function return <code>FALSE</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -338,7 +358,9 @@ mono_declsec_get_inheritdemands_class (MonoClass *klass, MonoDeclSecurityActions
<div> <code>TRUE</code> if inheritance demands (any kind) are present, <code>FALSE</code> otherwise.
</div>
<div class="mapi-section">Description</div>
<div> Collect all Inherit actions - <code>InheritanceDemand</code>, <code>NonCasInheritanceDemand</code> and <code>InheritanceDemandChoice</code> (2.0). Don't use the content of actions if the function return <code>FALSE</code>.</div>
<div>
Collect all Inherit actions - <code>InheritanceDemand</code>, <code>NonCasInheritanceDemand</code> and <code>InheritanceDemandChoice</code> (2.0).
Don't use the content of actions if the function return <code>FALSE</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -359,7 +381,8 @@ mono_declsec_get_inheritdemands_method (MonoMethod *method, MonoDeclSecurityActi
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>actions</i></td><td> <code>InheritanceDemand</code>, <code>NonCasInheritanceDemand</code> and <code>InheritanceDemandChoice</code> (2.0).</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Don't use the content of actions if the function return <code>FALSE</code>.</div>
<div>
Don't use the content of actions if the function return <code>FALSE</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -380,6 +403,7 @@ mono_declsec_get_linkdemands (MonoMethod *method, MonoDeclSecurityActions* klass
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>actions</i></td><td> <code>LinkDemand</code>, <code>NonCasLinkDemand</code> and <code>LinkDemandChoice</code> (2.0).</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Don't use the content of actions if the function return <code>FALSE</code>.</div>
<div>
Don't use the content of actions if the function return <code>FALSE</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -241,7 +251,8 @@ mono_string_new (MonoDomain *domain, const char *text)
<div> A newly created string object which contains <i>text</i>.
</div>
<div class="mapi-section">Description</div>
<div> This function asserts if it cannot allocate a new string.</div>
<div>
This function asserts if it cannot allocate a new string.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -353,7 +364,8 @@ mono_string_from_utf16 (gunichar2 *data)
<div> a <code>MonoString</code>.
</div>
<div class="mapi-section">Description</div>
<div> Converts a <code>NULL</code>-terminated UTF-16 string (LPWSTR) to a <code>MonoString</code>.</div>
<div>
Converts a <code>NULL</code>-terminated UTF-16 string (LPWSTR) to a <code>MonoString</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -377,7 +389,8 @@ mono_string_from_utf32 (mono_unichar4 *data)
<div> a <code>MonoString</code>.
</div>
<div class="mapi-section">Description</div>
<div> Converts a UTF-32 (UCS-4) string to a <code>MonoString</code>.</div>
<div>
Converts a UTF-32 (UCS-4) string to a <code>MonoString</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -449,7 +462,10 @@ mono_string_to_utf8_checked (MonoString *s, MonoError *error)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>s</i></td><td> a <code>System.String</code></td></tr><tr><td><i>error</i></td><td> a <code>MonoError</code>.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Converts a <code>MonoString</code> to its UTF-8 representation. May fail; check <i>error</i> to determine whether the conversion was successful. The resulting buffer should be freed with <code>mono_free()</code>.</div>
<div>
Converts a <code>MonoString</code> to its UTF-8 representation. May fail; check
<i>error</i> to determine whether the conversion was successful.
The resulting buffer should be freed with <code>mono_free()</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -499,7 +515,10 @@ mono_string_equal (MonoString *s1, MonoString *s2)
<div> <code>FALSE</code> if the strings differ.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Compares two <code>MonoString*</code> instances ordinally for equality. <p /></div>
<div>
<p />
Compares two <code>MonoString*</code> instances ordinally for equality.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -523,7 +542,9 @@ mono_string_hash (MonoString *s)
<div> the hash for the string.
</div>
<div class="mapi-section">Description</div>
<div> <p /> Compute the hash for a <code>MonoString*</code></div>
<div>
<p />
Compute the hash for a <code>MonoString*</code></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -547,7 +568,8 @@ mono_string_intern (MonoString *str)
<div> The interned string.
</div>
<div class="mapi-section">Description</div>
<div> Interns the string passed. </div>
<div>
Interns the string passed. </div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -590,7 +612,8 @@ mono_string_new_wrapper (const char *text)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>text</i></td><td> pointer to UTF-8 characters.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Helper function to create a string object from <i>text</i> in the current domain.</div>
<div>
Helper function to create a string object from <i>text</i> in the current domain.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -344,7 +354,11 @@ mono_thread_is_foreign (MonoThread *thread)
<div> <code>TRUE</code> if <i>thread</i> was not created by the runtime.
</div>
<div class="mapi-section">Description</div>
<div> <p /> This function allows one to determine if a thread was created by the mono runtime and has a well defined lifecycle or it's a foreign one, created by the native environment. <p /></div>
<div>
<p />
This function allows one to determine if a thread was created by the mono runtime and has
a well defined lifecycle or it's a foreign one, created by the native environment.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -492,7 +506,11 @@ mono_thread_set_main (MonoThread *thread)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>thread</i></td><td> thread to set as the main thread</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This function can be used to instruct the runtime to treat <i>thread</i> as the main thread, ie, the thread that would normally execute the <code>Main</code> method. This basically means that at the end of <i>thread</i>, the runtime will wait for the existing foreground threads to quit and other such details.</div>
<div>
This function can be used to instruct the runtime to treat <i>thread</i>
as the main thread, ie, the thread that would normally execute the <code>Main</code>
method. This basically means that at the end of <i>thread</i>, the runtime will
wait for the existing foreground threads to quit and other such details.</div>
</div><!--mapi-description -->
</div><!--height container -->
@ -608,6 +626,10 @@ mono_thread_detach_if_exiting (void)
</div>
<p />
<div class="mapi-section">Description</div>
<div> <p /> Detach the current thread from the runtime if it is exiting, i.e. it is running pthread dtors. This should be used at the end of embedding code which calls into managed code, and which can be called from pthread dtors, like <code>dealloc:</code> implementations in Objective-C.</div>
<div>
<p />
Detach the current thread from the runtime if it is exiting, i.e. it is running pthread dtors.
This should be used at the end of embedding code which calls into managed code, and which
can be called from pthread dtors, like <code>dealloc:</code> implementations in Objective-C.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -241,7 +251,10 @@ mono_type_create_from_typespec (MonoImage *image, guint32 type_spec)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>image</i></td><td> context where the image is created</td></tr><tr><td><i>type_spec</i></td><td> typespec token</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Creates a <code>MonoType</code> representing the <code>TypeSpec</code> indexed by the <i>type_spec</i> token.</div>
<div>
<p />
Creates a <code>MonoType</code> representing the <code>TypeSpec</code> indexed by the <i>type_spec</i>
token.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -285,7 +298,8 @@ mono_type_get_array_type (MonoType *type)
represents. The info includes details such as rank, array element type
and the sizes and bounds of multidimensional arrays.</div>
<div class="mapi-section">Description</div>
<div> It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_ARRAY</code> .</div>
<div>
It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_ARRAY</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -309,7 +323,10 @@ mono_type_get_class (MonoType *type)
<div> the <code>MonoClass</code> pointer that describes the class that <i>type</i> represents.
</div>
<div class="mapi-section">Description</div>
<div> It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_CLASS</code> or a <code>MONO_TYPE_VALUETYPE</code> . For more general functionality, use <code>mono_class_from_mono_type</code>, instead.</div>
<div>
It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_CLASS</code> or a
<code>MONO_TYPE_VALUETYPE</code> . For more general functionality, use <code>mono_class_from_mono_type</code>,
instead.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -373,7 +390,9 @@ mono_type_get_ptr_type (MonoType *type)
represents a pointer to.</div>
<div class="mapi-section">Description</div>
<div> \pararm type the <code>MonoType</code> operated on It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_PTR</code> .</div>
<div>
\pararm type the <code>MonoType</code> operated on
It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_PTR</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -398,7 +417,8 @@ mono_type_get_signature (MonoType *type)
of the function pointer <i>type</i> represents.</div>
<div class="mapi-section">Description</div>
<div> It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_FNPTR</code> .</div>
<div>
It is only valid to call this function if <i>type</i> is a <code>MONO_TYPE_FNPTR</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -627,6 +647,8 @@ mono_type_to_unmanaged (MonoType *type, MonoMarshalSpec *mspec, gboolean as_fiel
describing the underlying native reprensetation of the type.</div>
<div class="mapi-section">Description</div>
<div> The value pointed to by <i>conv</i> will contain the kind of marshalling required for this particular type one of the <code>MONO_MARSHAL_CONV_</code> enumeration values.</div>
<div>
The value pointed to by <i>conv</i> will contain the kind of marshalling required for this
particular type one of the <code>MONO_MARSHAL_CONV_</code> enumeration values.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -210,7 +220,8 @@ mono_get_object_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Object</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Object</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Object</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -233,7 +244,8 @@ mono_get_int16_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Int16</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Int16</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Int16</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -256,7 +268,8 @@ mono_get_int32_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Int32</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Int32</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Int32</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -279,7 +292,8 @@ mono_get_int64_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Int64</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Int64</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Int64</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -302,7 +316,8 @@ mono_get_double_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Double</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Double</code> (64-bit floating points).</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Double</code> (64-bit floating points).</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -325,7 +340,8 @@ mono_get_enum_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Enum</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Enum</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Enum</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -348,7 +364,8 @@ mono_get_intptr_class (void)
<div> The <code>MonoClass*</code> for the <code>System.IntPtr</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.IntPtr</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.IntPtr</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -371,7 +388,8 @@ mono_get_sbyte_class (void)
<div> The <code>MonoClass*</code> for the <code>System.SByte</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.SByte</code>.</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.SByte</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -394,7 +412,8 @@ mono_get_single_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Single</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Single</code> (32-bit floating points).</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Single</code> (32-bit floating points).</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -417,7 +436,8 @@ mono_get_string_class (void)
<div> The <code>MonoClass*</code> for the <code>System.String</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.String</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.String</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -440,7 +460,8 @@ mono_get_thread_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Threading.Thread</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Threading.Thread</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Threading.Thread</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -463,7 +484,8 @@ mono_get_uint16_class (void)
<div> The <code>MonoClass*</code> for the <code>System.UInt16</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UInt16</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UInt16</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -486,7 +508,8 @@ mono_get_uint32_class (void)
<div> The <code>MonoClass*</code> for the <code>System.UInt32</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UInt32</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UInt32</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -509,7 +532,8 @@ mono_get_uint64_class (void)
<div> The <code>MonoClass*</code> for the <code>System.UInt64</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UInt64</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UInt64</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -532,7 +556,8 @@ mono_get_uintptr_class (void)
<div> The <code>MonoClass*</code> for the <code>System.UIntPtr</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UIntPtr</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.UIntPtr</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -555,7 +580,8 @@ mono_get_void_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Void</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Void</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Void</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -578,7 +604,8 @@ mono_get_array_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Array</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Array</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Array</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -601,7 +628,8 @@ mono_get_boolean_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Boolean</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Boolean</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Boolean</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -624,7 +652,8 @@ mono_get_byte_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Byte</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Byte</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Byte</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -647,7 +676,8 @@ mono_get_char_class (void)
<div> The <code>MonoClass*</code> for the <code>System.Char</code> type.
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Char</code> .</div>
<div>
Use this function to get the <code>MonoClass*</code> that the runtime is using for <code>System.Char</code> .</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -231,7 +241,8 @@ mono_check_corlib_version (void)
allocated string with the error otherwise.</div>
<div class="mapi-section">Description</div>
<div> Checks that the corlib that is loaded matches the version of this runtime.</div>
<div>
Checks that the corlib that is loaded matches the version of this runtime.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -252,7 +263,9 @@ mono_compile_method (MonoMethod *method)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>method</i></td><td> The method to compile.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This JIT-compiles the method, and returns the pointer to the native code produced.</div>
<div>
This JIT-compiles the method, and returns the pointer to the native code
produced.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -291,7 +304,29 @@ mono_dllmap_insert (MonoImage *assembly, const char *dll, const char *func, cons
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>assembly</i></td><td> if <code>NULL</code>, this is a global mapping, otherwise the remapping of the dynamic library will only apply to the specified assembly</td></tr><tr><td><i>dll</i></td><td> The name of the external library, as it would be found in the <code>DllImport</code> declaration. If prefixed with <code>i:</code> the matching of the library name is done without case sensitivity</td></tr><tr><td><i>func</i></td><td> if not null, the mapping will only applied to the named function (the value of <code>EntryPoint</code>)</td></tr><tr><td><i>tdll</i></td><td> The name of the library to map the specified <i>dll</i> if it matches.</td></tr><tr><td><i>tfunc</i></td><td> The name of the function that replaces the invocation. If <code>NULL</code>, it is replaced with a copy of <i>func</i>.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> LOCKING: Acquires the loader lock. <p /> This function is used to programatically add <code>DllImport</code> remapping in either a specific assembly, or as a global remapping. This is done by remapping references in a <code>DllImport</code> attribute from the <i>dll</i> library name into the <i>tdll</i> name. If the <i>dll</i> name contains the prefix <code>i:</code>, the comparison of the library name is done without case sensitivity. <p /> If you pass <i>func</i>, this is the name of the <code>EntryPoint</code> in a <code>DllImport</code> if specified or the name of the function as determined by <code>DllImport</code>. If you pass <i>func</i>, you must also pass <i>tfunc</i> which is the name of the target function to invoke on a match. <p /> Example: <p /> <code>mono_dllmap_insert (<code>NULL</code>, &quot;i:libdemo.dll&quot;, <code>NULL</code>, relocated_demo_path, <code>NULL</code>);</code> <p /> The above will remap <code>DllImport</code> statements for <code>libdemo.dll</code> and <code>LIBDEMO.DLL</code> to the contents of <code>relocated_demo_path</code> for all assemblies in the Mono process. <p /> NOTE: This can be called before the runtime is initialized, for example from <code>mono_config_parse</code>.</div>
<div>
<p />
LOCKING: Acquires the loader lock.
<p />
This function is used to programatically add <code>DllImport</code> remapping in either
a specific assembly, or as a global remapping. This is done by remapping
references in a <code>DllImport</code> attribute from the <i>dll</i> library name into the <i>tdll</i>
name. If the <i>dll</i> name contains the prefix <code>i:</code>, the comparison of the
library name is done without case sensitivity.
<p />
If you pass <i>func</i>, this is the name of the <code>EntryPoint</code> in a <code>DllImport</code> if specified
or the name of the function as determined by <code>DllImport</code>. If you pass <i>func</i>, you
must also pass <i>tfunc</i> which is the name of the target function to invoke on a match.
<p />
Example:
<p />
<code>mono_dllmap_insert (<code>NULL</code>, &quot;i:libdemo.dll&quot;, <code>NULL</code>, relocated_demo_path, <code>NULL</code>);</code>
<p />
The above will remap <code>DllImport</code> statements for <code>libdemo.dll</code> and <code>LIBDEMO.DLL</code> to
the contents of <code>relocated_demo_path</code> for all assemblies in the Mono process.
<p />
NOTE: This can be called before the runtime is initialized, for example from
<code>mono_config_parse</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -368,7 +403,8 @@ mono_get_corlib (void)
<div> The <code>MonoImage</code> for mscorlib.dll
</div>
<div class="mapi-section">Description</div>
<div> Use this function to get the <code>MonoImage*</code> for the <code>mscorlib.dll</code> assembly</div>
<div>
Use this function to get the <code>MonoImage*</code> for the <code>mscorlib.dll</code> assembly</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -450,7 +486,13 @@ mono_get_root_domain (void)
<div> the root appdomain, to obtain the current domain, use mono_domain_get ()
</div>
<div class="mapi-section">Description</div>
<div> <p /> The root AppDomain is the initial domain created by the runtime when it is initialized. Programs execute on this AppDomain, but can create new ones later. Currently there is no unmanaged API to create new AppDomains, this must be done from managed code. <p /></div>
<div>
<p />
The root AppDomain is the initial domain created by the runtime when it is
initialized. Programs execute on this AppDomain, but can create new ones
later. Currently there is no unmanaged API to create new AppDomains, this
must be done from managed code.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -561,7 +603,8 @@ mono_runtime_class_init (MonoVTable *vtable)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>vtable</i></td><td> vtable that needs to be initialized</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This routine calls the class constructor for <i>vtable</i>.</div>
<div>
This routine calls the class constructor for <i>vtable</i>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -582,7 +625,12 @@ mono_runtime_cleanup (MonoDomain *domain)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> unused.</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Internal routine. <p /> This must not be called while there are still running threads executing managed code.</div>
<div>
<p />
Internal routine.
<p />
This must not be called while there are still running threads executing
managed code.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -624,7 +672,15 @@ mono_runtime_init (MonoDomain *domain, MonoThreadStartCB start_cb, MonoThreadAtt
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>domain</i></td><td> domain returned by <code>mono_init</code></td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> <p /> Initialize the core AppDomain: this function will run also some IL initialization code, so it needs the execution engine to be fully operational. <p /> <code>AppDomain.SetupInformation</code> is set up in <code>mono_runtime_exec_main</code>, where we know the <code>entry_assembly</code>. <p /></div>
<div>
<p />
Initialize the core AppDomain: this function will run also some
IL initialization code, so it needs the execution engine to be fully
operational.
<p />
<code>AppDomain.SetupInformation</code> is set up in <code>mono_runtime_exec_main</code>, where
we know the <code>entry_assembly</code>.
<p /></div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -667,7 +723,9 @@ mono_runtime_object_init (MonoObject *this_obj)
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>this_obj</i></td><td> the object to initialize</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> This function calls the zero-argument constructor (which must exist) for the given object.</div>
<div>
This function calls the zero-argument constructor (which must
exist) for the given object.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->
@ -707,7 +765,10 @@ mono_runtime_run_main (MonoMethod *method, int argc, char* argv[],
<p />
<div class="mapi-section">Parameters</div>
<table class="mapi-parameters"><tbody><tr><td><i>method</i></td><td> the method to start the application with (usually <code>Main</code>)</td></tr><tr><td><i>argc</i></td><td> number of arguments from the command line</td></tr><tr><td><i>argv</i></td><td> array of strings from the command line</td></tr><tr><td><i>exc</i></td><td> excetption results</td></tr></tbody></table> <div class="mapi-section">Description</div>
<div> Execute a standard <code>Main</code> method (<i>argc</i> / <i>argv</i> contains the executable name). This method also sets the command line argument value needed by <code>System.Environment</code>.</div>
<div>
Execute a standard <code>Main</code> method (<i>argc</i> / <i>argv</i> contains the
executable name). This method also sets the command line argument value
needed by <code>System.Environment</code>.</div>
</div><!--mapi-description -->
</div><!--height container -->
</div> <!-- class=mapi -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;
@ -266,7 +276,8 @@ mono_stack_walk_async_safe (MonoStackWalkAsyncSafe func, void *initial_sig_conte
</div>
<p />
<div class="mapi-section">Description</div>
<div> Async safe version callable from signal handlers.</div>
<div>
Async safe version callable from signal handlers.</div>
</div><!--mapi-description -->
</div><!--height container -->

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;

View File

@ -48,6 +48,16 @@
line-height: 0px;
}
.mapi-codeblock {
display: block;
padding: 5pt 5pt;
margin: 10pt;
white-space: pre;
font-family: monospace;
border: 1px solid rgba(233,233,233,1);
background-color: rgba(249,249,249,1);
}
.mapi-entry code {
border: none;
background-color: transparent;

View File

@ -124,6 +124,7 @@ sub process_function {
my $body = '';
my $returns = '';
my $prototype = '';
my $codeblock = 'false';
while (<$file>) {
@ -156,7 +157,6 @@ sub process_function {
if (defined($deprecated)) {
process_formatting(\$deprecated, $file_path, $.);
}
$body =~ s/\n/ /g;
if (exists($docs->{body}->{$name})) {
my $origin = $docs->{origin}->{$name};
@ -180,8 +180,16 @@ sub process_function {
chomp;
s/^ +\*//;
# Replace blank lines with paragraph breaks.
$_ = '<p>' if /^\s*$/;
if (/\s*\\code$/) {
$codeblock = 'true';
} elsif (/\s*\\endcode$/) {
$codeblock = 'false';
}
# Replace blank lines with paragraph breaks if we're not in a code block.
if (/^\s*$/) {
$_ = '<p>' if $codeblock eq 'false';
}
if ($section == $PARAMETER_SECTION) {
if (/\s*\\param +(\w+)(.*)/) {
@ -210,7 +218,7 @@ sub process_function {
$returns = "\t$_\n";
$section = $RETURN_SECTION;
} else {
$body .= "\n\t$_";
$body .= "\n$_";
}
} elsif ($section == $RETURN_SECTION) {
$returns .= "\n\t$_";
@ -227,6 +235,12 @@ sub process_formatting {
my ($content, $file_path, $current_line) = @_;
$_ = $$content;
# General formatting
s{\\b +(\w+)}{<strong>$1</strong>}g;
s{\\a +(\w+)}{<i>$1</i>}g;
s{\\e +(\w+)}{<i>$1</i>}g;
s{\\em +(\w+)}{<i>$1</i>}g;
# Constants
s{NULL}{<code>NULL</code>}g;
s{TRUE}{<code>TRUE</code>}g;
@ -243,6 +257,8 @@ sub process_formatting {
warn "$file_path:$current_line: Old-style monodoc notation '`code`' used\n"
if s{\`((?!api:)[:.\w\*]+)\`}{<code>$1</code>}g && $WARNINGS;
s{\\c +(\S+(?<![.,:;]))}{<code>$1</code>}g;
s{\\code}{<pre><code class="mapi-codeblock">}g;
s{\\endcode}{</code></pre>}g;
$$content = $_;
}

View File

@ -1,73 +1,193 @@
<h1>Profiling Interface</h1>
<h1>Runtime Profiler API</h1>
<h3>Profiler Operation</h3>
<p>The profiler API can be used by dynamically loaded profiler
modules to monitor different aspects of a running program. The
API is also usable by embedders without having to compile a
profiler module.
<p>The following methods can be used by dynamic profiler
methods to monitor different aspects of the program.
<h2>Profiler Modules</h2>
<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:
<p>A profiler module is simply a shared library with a single
exported function which is the entry point that Mono calls at
startup. It must have the following signature:
<pre>
void mono_profiler_startup (const char *desc)
</pre>
<pre><code class="mapi-codeblock">
void mono_profiler_startup_example (const char *desc)
</code></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>Here, the <code>example</code> portion of the function name is
the name of the profiler module. It must match the shared library
name (i.e. <code>libmono-profiler-example.so</code>). <i>desc</i>
is the set of arguments that were passed from the command line.
<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:
<p>For example, a bare bones profiler module might look like this
(<code>example.c</code>):
<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>
<pre><code class="mapi-codeblock">
#include &lt;mono/metadata/profiler.h&gt;
#include &lt;stdio.h&gt;
<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>
struct _MonoProfiler {
int dummy;
}
<h3>Coverage</h3>
static MonoProfiler profiler;
<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>
static void
runtime_inited (MonoProfiler *prof)
{
printf ("Hello World");
}
void
mono_profiler_init_example (const char *desc)
{
MonoProfilerHandle handle = mono_profiler_create (&amp;profiler);
mono_profiler_set_runtime_initialized_callback (handle, runtime_inited);
}
</code></pre>
<p>To compile this module, a C compiler must be invoked in a
similar fashion to this, on Linux:
<pre><code class="mapi-codeblock">
gcc -fPIC -shared -o libmono-profiler-example.so example.c `pkg-config --cflags mono-2`
</code></pre>
<p>Or on OS X:
<pre><code class="mapi-codeblock">
gcc -undefined suppress -flat_namespace -o libmono-profiler-example.so example.c `pkg-config --cflags mono-2`
</code></pre>
<p>You can then load the module using:
<pre><code class="mapi-codeblock">
mono --profile=example hello.exe
</code></pre>
<p>(Note that adjusting <code>LD_LIBRARY_PATH</code> may be
necessary in order for the dynamic linker to find the module.)
<h2>Profiler Functions</h2>
<p>These are the functions usable for profiling programs.
<p>Each function has a note indicating whether they're async
safe. An async safe function can be invoked in a signal handler
or when the world is stopped by the GC. Conversely, a function
that is not async safe must not be invoked in such a context or
undefined behavior can occur (crashes, deadlocks, etc).
<p>Some functions may only be invoked from a profiler module's
init function (or prior to running managed code in the case of
embedding). This is noted explicitly only if applicable to a
function.
<h3>Basic Functions</h3>
<p>These functions are used to load and install profilers.
<h4><a name="api:mono_profiler_load">mono_profiler_load</a></h4>
<h4><a name="api:mono_profiler_create">mono_profiler_create</a></h4>
<h4><a name="api:mono_profiler_set_cleanup_callback">mono_profiler_set_cleanup_callback</a></h4>
<h3>Code Coverage</h3>
<p>These functions provide access to the JIT compiler's code
coverage support. This functionality can be used to collect
information about how many times certain code paths have been
executed.
<h4><a name="api:mono_profiler_enable_coverage">mono_profiler_enable_coverage</a></h4>
<h4><a name="api:mono_profiler_set_coverage_filter_callback">mono_profiler_set_coverage_filter_callback</a></h4>
<h4><a name="api:mono_profiler_get_coverage_data">mono_profiler_get_coverage_data</a></h4>
<h3>Statistical Sampling</h3>
<p>Statistical sampling can be used to interrupt managed threads
based on a certain mode and frequency for the purpose of
collecting data about their current work.
<p>One common use case for this functionality, usually referred
to as call sampling, is to collect a backtrace from every thread
when a sampling hit event arrives. This data can then be compiled
into a report indicating where a program spends most of its time.
<h4><a name="api:mono_profiler_enable_sampling">mono_profiler_enable_sampling</a></h4>
<h4><a name="api:mono_profiler_set_sample_mode">mono_profiler_set_sample_mode</a></h4>
<h4><a name="api:mono_profiler_get_sample_mode">mono_profiler_get_sample_mode</a></h4>
<p>A callback must be registered to receive sample hit events.
Please see the <i>Callback Registration</i> section below.
<h3>GC Allocations</h3>
<p>Profilers can be notified about all GC allocations performed
by a program or the Mono runtime.
<h4><a name="api:mono_profiler_enable_allocations">mono_profiler_enable_allocations</a></h4>
<p>A callback must be registered to receive allocation events.
Please see the <i>Callback Registration</i> section below.
<h3>Call Instrumentation</h3>
<p>The JIT compiler supports instrumenting managed method entry
and exit points so that a profiler callback will be invoked.
<p>While such callbacks by themselves have traditionally only
been useful for call count profiling and the like, Mono gives
these callbacks access to the arguments, locals, and return
value of instrumented methods (together referred to as the 'call
context'). This enables many profiling scenarios that would
otherwise have required explicit hooks in the base class
libraries.
<h4><a name="api:mono_profiler_set_call_instrumentation_filter_callback">mono_profiler_set_call_instrumentation_filter_callback</a></h4>
<h4><a name="api:mono_profiler_enable_call_context_introspection">mono_profiler_enable_call_context_introspection</a></h4>
<h4><a name="api:mono_profiler_call_context_get_this">mono_profiler_call_context_get_this</a></h4>
<h4><a name="api:mono_profiler_call_context_get_argument">mono_profiler_call_context_get_argument</a></h4>
<h4><a name="api:mono_profiler_call_context_get_local">mono_profiler_call_context_get_local</a></h4>
<h4><a name="api:mono_profiler_call_context_get_result">mono_profiler_call_context_get_result</a></h4>
<h4><a name="api:mono_profiler_call_context_free_buffer">mono_profiler_call_context_free_buffer</a></h4>
<p>Callbacks must be registered to receive method entry and exit
events. Please see the <i>Callback Registration</i> section
below.
<h3>Callback Registration</h3>
<p>In addition to the above functions, there's a large set of
functions for installing generic profiler event callbacks. These
are generated from C macros and so are not documented here.
Please refer to the <code>mono/metadata/profiler.h</code> and
<code>mono/metadata/profiler-events.h</code> headers for a full
listing of these.
<p>Callback registration functions are all async safe and can be
safely invoked from multiple threads at the same time, with the
caveat that altering a registered callback from one thread will
not immediately affect another thread that is already invoking
the current callback.
<h2>API Stability</h2>
<p>The profiler API does not have the same API stability
garantees that the rest of the Mono embedding API does. While
a breaking change to the profiler API is extremely rare, it has
happened in the past when changing the API in a backwards
compatible way was deemed to be too much work for too little
gain.
<p>Therefore, developers of profiler modules may rarely need to
update their code to work with new versions of the profiler API.
<p>Developers who wish to support older versions of the API can
perform a compile time check of the
<code>MONO_PROFILER_API_VERSION</code> macro and maintain code
for both old and new versions.
<p>To aid with transitioning to a new version of the profiler
API, the Mono runtime will detect and reject loading profiler
modules which were compiled against older profiler API versions.

21
external/api-snapshot/profiles/Makefile vendored Normal file
View File

@ -0,0 +1,21 @@
CSC=csc -nostdlib -noconfig -unsafe -t:library -nologo -deterministic -publicsign -nowarn:436,618,809,3001
ECMA_KEY:=ecma.pub
MS_KEY:=msfinal.pub
MOBILE_KEY:=silverlight.pub
all: build-net_4_x build-mobile-monotouch build-mobile-monodroid
build-mobile-%:
$(CSC) $*/mscorlib.cs /out:$*/mscorlib.dll -runtimemetadataversion:v4.0.30319 -keyfile:$(MOBILE_KEY)
$(CSC) $*/System.cs /out:$*/System.dll -keyfile:$(MOBILE_KEY) -r:$*/mscorlib.dll /r:System.Xml.dll
$(CSC) $*/System.Core.cs /out:$*/System.Core.dll -keyfile:$(MOBILE_KEY) -r:$*/mscorlib.dll -r:$*/System.dll
$(CSC) $*/System.Net.Http.cs /out:$*/System.Net.Http.dll -keyfile:$(MS_KEY) -r:$*/mscorlib.dll -r:$*/System.Core.dll -r:$*/System.dll
$(CSC) $*/System.Numerics.cs /out:$*/System.Numerics.dll -keyfile:$(ECMA_KEY) -r:$*/mscorlib.dll -r:System.dll
build-%:
$(CSC) $*/mscorlib.cs /out:$*/mscorlib.dll -runtimemetadataversion:v4.0.30319 -keyfile:$(ECMA_KEY)
$(CSC) $*/System.cs /out:$*/System.dll -keyfile:$(ECMA_KEY) -r:$*/mscorlib.dll /r:System.Configuration.dll /r:System.Xml.dll
$(CSC) $*/System.Core.cs /out:$*/System.Core.dll -keyfile:$(ECMA_KEY) -r:$*/mscorlib.dll -r:System.dll
$(CSC) $*/System.Net.Http.cs /out:$*/System.Net.Http.dll -keyfile:$(MS_KEY) -r:$*/mscorlib.dll -r:$*/System.Core.dll -r:System.dll
$(CSC) $*/System.Numerics.cs /out:$*/System.Numerics.dll -keyfile:$(ECMA_KEY) -r:$*/mscorlib.dll -r:System.dll

BIN
external/api-snapshot/profiles/ecma.pub vendored Normal file

Binary file not shown.

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("Microsoft.Win32.Primitives.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("Microsoft.Win32.Primitives.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("Microsoft.Win32.Primitives")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("Microsoft.Win32.Primitives")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("Microsoft.Win32.Primitives.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("Microsoft.Win32.Primitives")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.Win32Exception))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("Microsoft.Win32.Registry.AccessControl.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("Microsoft.Win32.Registry.AccessControl.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("Microsoft.Win32.Registry.AccessControl")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("Microsoft.Win32.Registry.AccessControl")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("Microsoft.Win32.Registry.AccessControl.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("Microsoft.Win32.Registry.AccessControl")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.RegistryAccessRule))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("Microsoft.Win32.Registry.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("Microsoft.Win32.Registry.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("Microsoft.Win32.Registry")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("Microsoft.Win32.Registry")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("Microsoft.Win32.Registry.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("Microsoft.Win32.Registry")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.Registry))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.AppContext.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.AppContext.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.AppContext")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.AppContext")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.AppContext.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.AppContext")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.AppContext))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.10.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.Concurrent.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.Concurrent.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.Concurrent")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.Concurrent")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.Concurrent.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.Concurrent")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Concurrent.BlockingCollection<>))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.NonGeneric.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.NonGeneric.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.NonGeneric")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.NonGeneric")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.NonGeneric.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.NonGeneric")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.ArrayList))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.Specialized.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.Specialized.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.Specialized")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.Specialized")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.Specialized.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.Specialized")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.Specialized.BitVector32))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.10.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Collections")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Collections")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Collections")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Collections.BitArray))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.2.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.Annotations.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.Annotations.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.Annotations")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.Annotations")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.Annotations.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.Annotations")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.DataAnnotations.AssociationAttribute))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.10.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.EventBasedAsync.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.EventBasedAsync.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.EventBasedAsync")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.EventBasedAsync")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.EventBasedAsync.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.EventBasedAsync")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.AsyncCompletedEventArgs))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.Primitives.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.Primitives.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.Primitives")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.Primitives")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.Primitives.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.Primitives")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.BrowsableAttribute))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.TypeConverter.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.TypeConverter.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.TypeConverter")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.TypeConverter")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.TypeConverter.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.TypeConverter")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.ArrayConverter))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.ComponentModel")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.ComponentModel")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.ComponentModel")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.ComponentModel.CancelEventArgs))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Console.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Console.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Console")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Console")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Console.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Console")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Console))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.2.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Data.Common.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Data.Common.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Data.Common")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Data.Common")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Data.Common.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Data.Common")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Data.AcceptRejectRule))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.2.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Data.SqlClient.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Data.SqlClient.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Data.SqlClient")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Data.SqlClient")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Data.SqlClient.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Data.SqlClient")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.SqlServer.Server.SqlDataRecord))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Contracts.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Contracts.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Contracts")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Contracts")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Contracts.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Contracts")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Contracts.Contract))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.10.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Debug.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Debug.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Debug")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Debug")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Debug.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Debug")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Debug))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.FileVersionInfo.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.FileVersionInfo.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.FileVersionInfo")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.FileVersionInfo")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.FileVersionInfo.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.FileVersionInfo")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.FileVersionInfo))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Process.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Process.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Process")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Process")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Process.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Process")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeProcessHandle))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.StackTrace.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.StackTrace.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.StackTrace")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.StackTrace")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.StackTrace.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.StackTrace")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.StackFrame))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.TextWriterTraceListener.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.TextWriterTraceListener.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.TextWriterTraceListener")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.TextWriterTraceListener")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.TextWriterTraceListener.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.TextWriterTraceListener")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.DelimitedListTraceListener))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Tools.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Tools.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Tools")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Tools")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Tools.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Tools")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.CodeDom.Compiler.GeneratedCodeAttribute))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.TraceEvent.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.TraceEvent.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.TraceEvent")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.TraceEvent")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.TraceEvent.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.TraceEvent")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.SourceLevels))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.TraceSource.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.TraceSource.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.TraceSource")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.TraceSource")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.TraceSource.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.TraceSource")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.BooleanSwitch))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.2.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Tracing.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Tracing.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Diagnostics.Tracing")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Diagnostics.Tracing")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Tracing.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Diagnostics.Tracing")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventActivityOptions))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Drawing.Primitives.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Drawing.Primitives.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Drawing.Primitives")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Drawing.Primitives")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Drawing.Primitives.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Drawing.Primitives")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Drawing.Point))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.10.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Dynamic.Runtime.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Dynamic.Runtime.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Dynamic.Runtime")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Dynamic.Runtime")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Dynamic.Runtime.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Dynamic.Runtime")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Dynamic.BinaryOperationBinder))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Globalization.Calendars.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Globalization.Calendars.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Globalization.Calendars")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Globalization.Calendars")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Globalization.Calendars.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Globalization.Calendars")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.ChineseLunisolarCalendar))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Globalization.Extensions.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Globalization.Extensions.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Globalization.Extensions")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Globalization.Extensions")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Globalization.Extensions.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Globalization.Extensions")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.IdnMapping))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.10.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Globalization.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Globalization.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Globalization")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Globalization")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Globalization.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Globalization")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Globalization.Calendar))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.Compression.ZipFile.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.Compression.ZipFile.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.Compression.ZipFile")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.Compression.ZipFile")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.Compression.ZipFile.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.Compression.ZipFile")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.Compression.ZipFile))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.2.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.AccessControl.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.AccessControl.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.AccessControl")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.AccessControl")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.AccessControl.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.AccessControl")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Security.AccessControl.DirectoryObjectSecurity))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.DriveInfo.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.DriveInfo.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.DriveInfo")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.DriveInfo")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.DriveInfo.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.DriveInfo")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.DriveInfo))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.Primitives.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.Primitives.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.Primitives")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.Primitives")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.Primitives.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.Primitives")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.FileAccess))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.Watcher.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.Watcher.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.Watcher")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.Watcher")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.Watcher.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.Watcher")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.ErrorEventArgs))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.FileSystem")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.FileSystem")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.FileSystem")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeFileHandle))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.IsolatedStorage.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.IsolatedStorage.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.IsolatedStorage")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.IsolatedStorage")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.IsolatedStorage.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.IsolatedStorage")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.IsolatedStorage.IsolatedStorageException))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.MemoryMappedFiles.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.MemoryMappedFiles.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.MemoryMappedFiles")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.MemoryMappedFiles")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.MemoryMappedFiles.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.MemoryMappedFiles")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafeMemoryMappedFileHandle))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.Pipes.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.Pipes.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.Pipes")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.Pipes")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.Pipes.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.Pipes")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(Microsoft.Win32.SafeHandles.SafePipeHandle))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.1.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.UnmanagedMemoryStream.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.UnmanagedMemoryStream.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.UnmanagedMemoryStream")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.UnmanagedMemoryStream")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.UnmanagedMemoryStream.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.UnmanagedMemoryStream")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.UnmanagedMemoryAccessor))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.IO")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.IO")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.IO")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.IO.BinaryReader))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.Expressions.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.Expressions.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.Expressions")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.Expressions")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.Expressions.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.Expressions")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Expressions.BinaryExpression))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.Parallel.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.Parallel.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.Parallel")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.Parallel")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.Parallel.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.Parallel")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.OrderedParallelQuery<>))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.Queryable.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.Queryable.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.Queryable")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.Queryable")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.Queryable.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.Queryable")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.EnumerableExecutor))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Linq")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Linq")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Linq")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Linq.Enumerable))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.AuthenticationManager.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.AuthenticationManager.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.AuthenticationManager")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.AuthenticationManager")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.AuthenticationManager.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.AuthenticationManager")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.AuthenticationManager))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.Cache.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.Cache.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.Cache")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.Cache")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.Cache.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.Cache")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Cache.HttpCacheAgeControl))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.HttpListener.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.HttpListener.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.HttpListener")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.HttpListener")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.HttpListener.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.HttpListener")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.AuthenticationSchemeSelector))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.Mail.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.Mail.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.Mail")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.Mail")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.Mail.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.Mail")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Mail.AlternateView))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.0.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2015 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.NameResolution.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.NameResolution.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.NameResolution")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.NameResolution")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.NameResolution.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.NameResolution")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.Dns))]

View File

@ -4,14 +4,14 @@
[assembly:System.Reflection.AssemblyVersionAttribute("4.1.0.0")]
[assembly:System.Diagnostics.DebuggableAttribute((System.Diagnostics.DebuggableAttribute.DebuggingModes)(2))]
[assembly:System.Reflection.AssemblyCompanyAttribute("Xamarin, Inc.")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("Copyright (c) 2013 Xamarin Inc. (http://www.xamarin.com)")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.NetworkInformation.dll")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.NetworkInformation.dll")]
[assembly:System.Reflection.AssemblyCompanyAttribute("Mono development team")]
[assembly:System.Reflection.AssemblyCopyrightAttribute("(c) Various Mono authors")]
[assembly:System.Reflection.AssemblyDefaultAliasAttribute("System.Net.NetworkInformation")]
[assembly:System.Reflection.AssemblyDescriptionAttribute("System.Net.NetworkInformation")]
[assembly:System.Reflection.AssemblyFileVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyInformationalVersionAttribute("4.0.0.0")]
[assembly:System.Reflection.AssemblyProductAttribute("Mono Common Language Infrastructure")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.NetworkInformation.dll")]
[assembly:System.Reflection.AssemblyTitleAttribute("System.Net.NetworkInformation")]
[assembly:System.Runtime.CompilerServices.CompilationRelaxationsAttribute(8)]
[assembly:System.Runtime.CompilerServices.RuntimeCompatibilityAttribute(WrapNonExceptionThrows=true)]
[assembly:System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Net.NetworkInformation.DuplicateAddressDetectionState))]

Some files were not shown because too many files have changed in this diff Show More