Imported Upstream version 4.0.1
Former-commit-id: 6d37e02debfe41dd5c13ba6f6a2428c8b1ff5e28
This commit is contained in:
parent
3c1f479b9d
commit
7272927785
@ -52,7 +52,7 @@ dist-hook:
|
||||
d=`cd $(distdir)/mcs && pwd`; cd $(mcs_topdir) && $(MAKE) distdir=$$d dist-recursive
|
||||
rm -rf `find $(top_distdir)/external -path '*\.git'`
|
||||
rm -f `find $(top_distdir)/external -path '*\.exe'`
|
||||
rm -f `find $(top_distdir)/external -path '*\.dll' -not -path '*/binary-reference-assemblies/v4\.0*'`
|
||||
rm -f `find $(top_distdir)/external -path '*\.dll' -not -path '*/binary-reference-assemblies/*'`
|
||||
cp mcs/class/lib/basic/System.Configuration.dll mcs/class/lib/monolite/
|
||||
cp mcs/class/lib/basic/System.Security.dll mcs/class/lib/monolite/
|
||||
# Disable this for now because it is very slow and causes wrench to timeout:
|
||||
|
@ -947,7 +947,7 @@ dist-hook:
|
||||
d=`cd $(distdir)/mcs && pwd`; cd $(mcs_topdir) && $(MAKE) distdir=$$d dist-recursive
|
||||
rm -rf `find $(top_distdir)/external -path '*\.git'`
|
||||
rm -f `find $(top_distdir)/external -path '*\.exe'`
|
||||
rm -f `find $(top_distdir)/external -path '*\.dll' -not -path '*/binary-reference-assemblies/v4\.0*'`
|
||||
rm -f `find $(top_distdir)/external -path '*\.dll' -not -path '*/binary-reference-assemblies/*'`
|
||||
cp mcs/class/lib/basic/System.Configuration.dll mcs/class/lib/monolite/
|
||||
cp mcs/class/lib/basic/System.Security.dll mcs/class/lib/monolite/
|
||||
.PHONY: get-monolite-latest
|
||||
|
3
aclocal.m4
vendored
3
aclocal.m4
vendored
@ -593,7 +593,8 @@ to "yes", and re-run configure.
|
||||
END
|
||||
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
|
||||
fi
|
||||
fi])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
|
||||
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
|
||||
|
192
config.guess
vendored
192
config.guess
vendored
@ -1,8 +1,8 @@
|
||||
#! /bin/sh
|
||||
# Attempt to guess a canonical system name.
|
||||
# Copyright 1992-2013 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2014 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2013-06-10'
|
||||
timestamp='2014-03-23'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -50,7 +50,7 @@ version="\
|
||||
GNU config.guess ($timestamp)
|
||||
|
||||
Originally written by Per Bothner.
|
||||
Copyright 1992-2013 Free Software Foundation, Inc.
|
||||
Copyright 1992-2014 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
|
||||
LIBC=gnu
|
||||
#endif
|
||||
EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
|
||||
;;
|
||||
esac
|
||||
|
||||
@ -826,7 +826,7 @@ EOF
|
||||
*:MINGW*:*)
|
||||
echo ${UNAME_MACHINE}-pc-mingw32
|
||||
exit ;;
|
||||
i*:MSYS*:*)
|
||||
*:MSYS*:*)
|
||||
echo ${UNAME_MACHINE}-pc-msys
|
||||
exit ;;
|
||||
i*:windows32*:*)
|
||||
@ -969,10 +969,10 @@ EOF
|
||||
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
|
||||
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
|
||||
;;
|
||||
or1k:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
openrisc*:Linux:*:*)
|
||||
echo or1k-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
or32:Linux:*:*)
|
||||
or32:Linux:*:* | or1k*:Linux:*:*)
|
||||
echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
|
||||
exit ;;
|
||||
padre:Linux:*:*)
|
||||
@ -1260,16 +1260,26 @@ EOF
|
||||
if test "$UNAME_PROCESSOR" = unknown ; then
|
||||
UNAME_PROCESSOR=powerpc
|
||||
fi
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
case $UNAME_PROCESSOR in
|
||||
i386) UNAME_PROCESSOR=x86_64 ;;
|
||||
powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
||||
esac
|
||||
if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
|
||||
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
|
||||
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
|
||||
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
|
||||
grep IS_64BIT_ARCH >/dev/null
|
||||
then
|
||||
case $UNAME_PROCESSOR in
|
||||
i386) UNAME_PROCESSOR=x86_64 ;;
|
||||
powerpc) UNAME_PROCESSOR=powerpc64 ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
elif test "$UNAME_PROCESSOR" = i386 ; then
|
||||
# Avoid executing cc on OS X 10.9, as it ships with a stub
|
||||
# that puts up a graphical alert prompting to install
|
||||
# developer tools. Any system running Mac OS X 10.7 or
|
||||
# later (Darwin 11 and later) is required to have a 64-bit
|
||||
# processor. This is not true of the ARM version of Darwin
|
||||
# that Apple uses in portable devices.
|
||||
UNAME_PROCESSOR=x86_64
|
||||
fi
|
||||
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
|
||||
exit ;;
|
||||
@ -1361,154 +1371,6 @@ EOF
|
||||
exit ;;
|
||||
esac
|
||||
|
||||
eval $set_cc_for_build
|
||||
cat >$dummy.c <<EOF
|
||||
#ifdef _SEQUENT_
|
||||
# include <sys/types.h>
|
||||
# include <sys/utsname.h>
|
||||
#endif
|
||||
main ()
|
||||
{
|
||||
#if defined (sony)
|
||||
#if defined (MIPSEB)
|
||||
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
|
||||
I don't know.... */
|
||||
printf ("mips-sony-bsd\n"); exit (0);
|
||||
#else
|
||||
#include <sys/param.h>
|
||||
printf ("m68k-sony-newsos%s\n",
|
||||
#ifdef NEWSOS4
|
||||
"4"
|
||||
#else
|
||||
""
|
||||
#endif
|
||||
); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__arm) && defined (__acorn) && defined (__unix)
|
||||
printf ("arm-acorn-riscix\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (hp300) && !defined (hpux)
|
||||
printf ("m68k-hp-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (NeXT)
|
||||
#if !defined (__ARCHITECTURE__)
|
||||
#define __ARCHITECTURE__ "m68k"
|
||||
#endif
|
||||
int version;
|
||||
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
|
||||
if (version < 4)
|
||||
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
|
||||
else
|
||||
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
|
||||
exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (MULTIMAX) || defined (n16)
|
||||
#if defined (UMAXV)
|
||||
printf ("ns32k-encore-sysv\n"); exit (0);
|
||||
#else
|
||||
#if defined (CMU)
|
||||
printf ("ns32k-encore-mach\n"); exit (0);
|
||||
#else
|
||||
printf ("ns32k-encore-bsd\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (__386BSD__)
|
||||
printf ("i386-pc-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
#if defined (sequent)
|
||||
#if defined (i386)
|
||||
printf ("i386-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#if defined (ns32000)
|
||||
printf ("ns32k-sequent-dynix\n"); exit (0);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined (_SEQUENT_)
|
||||
struct utsname un;
|
||||
|
||||
uname(&un);
|
||||
|
||||
if (strncmp(un.version, "V2", 2) == 0) {
|
||||
printf ("i386-sequent-ptx2\n"); exit (0);
|
||||
}
|
||||
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
|
||||
printf ("i386-sequent-ptx1\n"); exit (0);
|
||||
}
|
||||
printf ("i386-sequent-ptx\n"); exit (0);
|
||||
|
||||
#endif
|
||||
|
||||
#if defined (vax)
|
||||
# if !defined (ultrix)
|
||||
# include <sys/param.h>
|
||||
# if defined (BSD)
|
||||
# if BSD == 43
|
||||
printf ("vax-dec-bsd4.3\n"); exit (0);
|
||||
# else
|
||||
# if BSD == 199006
|
||||
printf ("vax-dec-bsd4.3reno\n"); exit (0);
|
||||
# else
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
printf ("vax-dec-bsd\n"); exit (0);
|
||||
# endif
|
||||
# else
|
||||
printf ("vax-dec-ultrix\n"); exit (0);
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined (alliant) && defined (i860)
|
||||
printf ("i860-alliant-bsd\n"); exit (0);
|
||||
#endif
|
||||
|
||||
exit (1);
|
||||
}
|
||||
EOF
|
||||
|
||||
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
|
||||
{ echo "$SYSTEM_NAME"; exit; }
|
||||
|
||||
# Apollos put the system type in the environment.
|
||||
|
||||
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
|
||||
|
||||
# Convex versions that predate uname can use getsysinfo(1)
|
||||
|
||||
if [ -x /usr/convex/getsysinfo ]
|
||||
then
|
||||
case `getsysinfo -f cpu_type` in
|
||||
c1*)
|
||||
echo c1-convex-bsd
|
||||
exit ;;
|
||||
c2*)
|
||||
if getsysinfo -f scalar_acc
|
||||
then echo c32-convex-bsd
|
||||
else echo c2-convex-bsd
|
||||
fi
|
||||
exit ;;
|
||||
c34*)
|
||||
echo c34-convex-bsd
|
||||
exit ;;
|
||||
c38*)
|
||||
echo c38-convex-bsd
|
||||
exit ;;
|
||||
c4*)
|
||||
echo c4-convex-bsd
|
||||
exit ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
cat >&2 <<EOF
|
||||
$0: unable to guess system type
|
||||
|
||||
|
30
config.sub
vendored
30
config.sub
vendored
@ -1,8 +1,8 @@
|
||||
#! /bin/sh
|
||||
# Configuration validation subroutine script.
|
||||
# Copyright 1992-2013 Free Software Foundation, Inc.
|
||||
# Copyright 1992-2014 Free Software Foundation, Inc.
|
||||
|
||||
timestamp='2013-08-10'
|
||||
timestamp='2014-09-11'
|
||||
|
||||
# This file is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU General Public License as published by
|
||||
@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||
version="\
|
||||
GNU config.sub ($timestamp)
|
||||
|
||||
Copyright 1992-2013 Free Software Foundation, Inc.
|
||||
Copyright 1992-2014 Free Software Foundation, Inc.
|
||||
|
||||
This is free software; see the source for copying conditions. There is NO
|
||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||
@ -265,6 +265,7 @@ case $basic_machine in
|
||||
| hexagon \
|
||||
| i370 | i860 | i960 | ia64 \
|
||||
| ip2k | iq2000 \
|
||||
| k1om \
|
||||
| le32 | le64 \
|
||||
| lm32 \
|
||||
| m32c | m32r | m32rle | m68000 | m68k | m88k \
|
||||
@ -282,8 +283,10 @@ case $basic_machine in
|
||||
| mips64vr5900 | mips64vr5900el \
|
||||
| mipsisa32 | mipsisa32el \
|
||||
| mipsisa32r2 | mipsisa32r2el \
|
||||
| mipsisa32r6 | mipsisa32r6el \
|
||||
| mipsisa64 | mipsisa64el \
|
||||
| mipsisa64r2 | mipsisa64r2el \
|
||||
| mipsisa64r6 | mipsisa64r6el \
|
||||
| mipsisa64sb1 | mipsisa64sb1el \
|
||||
| mipsisa64sr71k | mipsisa64sr71kel \
|
||||
| mipsr5900 | mipsr5900el \
|
||||
@ -295,11 +298,11 @@ case $basic_machine in
|
||||
| nds32 | nds32le | nds32be \
|
||||
| nios | nios2 | nios2eb | nios2el \
|
||||
| ns16k | ns32k \
|
||||
| open8 \
|
||||
| or1k | or32 \
|
||||
| open8 | or1k | or1knd | or32 \
|
||||
| pdp10 | pdp11 | pj | pjl \
|
||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||
| pyramid \
|
||||
| riscv32 | riscv64 \
|
||||
| rl78 | rx \
|
||||
| score \
|
||||
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
|
||||
@ -324,7 +327,7 @@ case $basic_machine in
|
||||
c6x)
|
||||
basic_machine=tic6x-unknown
|
||||
;;
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
|
||||
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
|
||||
basic_machine=$basic_machine-unknown
|
||||
os=-none
|
||||
;;
|
||||
@ -381,6 +384,7 @@ case $basic_machine in
|
||||
| hexagon-* \
|
||||
| i*86-* | i860-* | i960-* | ia64-* \
|
||||
| ip2k-* | iq2000-* \
|
||||
| k1om-* \
|
||||
| le32-* | le64-* \
|
||||
| lm32-* \
|
||||
| m32c-* | m32r-* | m32rle-* \
|
||||
@ -400,8 +404,10 @@ case $basic_machine in
|
||||
| mips64vr5900-* | mips64vr5900el-* \
|
||||
| mipsisa32-* | mipsisa32el-* \
|
||||
| mipsisa32r2-* | mipsisa32r2el-* \
|
||||
| mipsisa32r6-* | mipsisa32r6el-* \
|
||||
| mipsisa64-* | mipsisa64el-* \
|
||||
| mipsisa64r2-* | mipsisa64r2el-* \
|
||||
| mipsisa64r6-* | mipsisa64r6el-* \
|
||||
| mipsisa64sb1-* | mipsisa64sb1el-* \
|
||||
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
|
||||
| mipsr5900-* | mipsr5900el-* \
|
||||
@ -413,6 +419,7 @@ case $basic_machine in
|
||||
| nios-* | nios2-* | nios2eb-* | nios2el-* \
|
||||
| none-* | np1-* | ns16k-* | ns32k-* \
|
||||
| open8-* \
|
||||
| or1k*-* \
|
||||
| orion-* \
|
||||
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
|
||||
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
|
||||
@ -822,6 +829,10 @@ case $basic_machine in
|
||||
basic_machine=powerpc-unknown
|
||||
os=-morphos
|
||||
;;
|
||||
moxiebox)
|
||||
basic_machine=moxie-unknown
|
||||
os=-moxiebox
|
||||
;;
|
||||
msdos)
|
||||
basic_machine=i386-pc
|
||||
os=-msdos
|
||||
@ -1367,14 +1378,14 @@ case $os in
|
||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* \
|
||||
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
|
||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
|
||||
# Remember, each alternative MUST END IN *, to match a version number.
|
||||
;;
|
||||
-qnx*)
|
||||
@ -1592,9 +1603,6 @@ case $basic_machine in
|
||||
mips*-*)
|
||||
os=-elf
|
||||
;;
|
||||
or1k-*)
|
||||
os=-elf
|
||||
;;
|
||||
or32-*)
|
||||
os=-coff
|
||||
;;
|
||||
|
@ -1 +1 @@
|
||||
25aca4d9234ba9866baffb6d0b49f85530244ece
|
||||
bb398f7ae55a546fb7bf939dabfed4a3fb9730bc
|
@ -1 +1 @@
|
||||
64b436391b7e39451d01b5d01756e5484d447684
|
||||
01ba76eb592f8ee610b360b3614f3f6a8de954d6
|
40
docs/deploy/api-style.css
Normal file
40
docs/deploy/api-style.css
Normal file
@ -0,0 +1,40 @@
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
337
docs/deploy/mono-api-assembly.html
Normal file
337
docs/deploy/mono-api-assembly.html
Normal file
@ -0,0 +1,337 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-assembly.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Assemblies</h2>
|
||||
|
||||
<h3>Synopsis</h3>
|
||||
|
||||
<div class="header">
|
||||
#include <metadata/assembly.h>
|
||||
|
||||
typedef struct _MonoImage MonoImage;
|
||||
typedef struct _MonoAssembly MonoAssembly;
|
||||
|
||||
MonoAssembly* <a href="#api:mono_assembly_open">mono_assembly_open</a> (const char *filename,
|
||||
MonoImageOpenStatus *status);
|
||||
void <a href="#api:mono_assembly_close">mono_assembly_close</a> (MonoAssembly *assembly);
|
||||
MonoAssembly* <a href="#api:mono_assembly_load">mono_assembly_load</a> (MonoAssemblyName *aname,
|
||||
const char *basedir,
|
||||
MonoImageOpenStatus *status);
|
||||
MonoAssembly* <a href="#api:mono_assembly_load_full">mono_assembly_load_full</a> (MonoAssemblyName *aname,
|
||||
const char *basedir,
|
||||
MonoImageOpenStatus *status,
|
||||
gboolean refonly);
|
||||
MonoAssembly* <a href="#api:mono_assembly_loaded">mono_assembly_loaded</a> (MonoAssemblyName *aname);
|
||||
<a href="#api:mono_assembly_get_object"></a>
|
||||
MonoImage* <a href="#api:mono_assembly_get_image">mono_assembly_get_image</a> (MonoAssembly *assembly);
|
||||
MonoAssembly* <a href="#api:mono_assembly_get_main">mono_assembly_get_main</a> (void);
|
||||
G_CONST_RETURN gchar * <a href="#api:mono_assembly_getrootdir">mono_assembly_getrootdir</a> (void);
|
||||
void <a href="#api:mono_assembly_name_free">mono_assembly_name_free</a> (MonoAssemblyName *aname);
|
||||
char* <a href="#api:mono_stringify_assembly_name">mono_stringify_assembly_name</a> (MonoAssemblyName *aname);
|
||||
gboolean <a href="#api:mono_assembly_names_equal">mono_assembly_names_equal</a> (MonoAssemblyName *l,
|
||||
MonoAssemblyName *r);
|
||||
<a href="#api:mono_module_file_get_object"></a>
|
||||
<a href="#api:mono_module_get_object"></a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<a name="cil_assembly_load"></a>
|
||||
<h3>Assembly Loading</h3>
|
||||
|
||||
<a name="api:mono_assembly_open"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_open</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_assembly_open (const char *filename, MonoImageOpenStatus *status)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>filename:</i></dt><dd> Opens the assembly pointed out by this name</dd><dt><i>status:</i></dt><dd> where a status code can be returned</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a pointer to the MonoAssembly if <i>filename</i> contains a valid
|
||||
|
||||
assembly or NULL on error. Details about the error are stored in the
|
||||
<i>status</i> variable.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
mono_assembly_open opens the PE-image pointed by <i>filename</i>, and
|
||||
loads any external assemblies referenced by it.
|
||||
|
||||
|
||||
</div> <a name="api:mono_assembly_close"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_close</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_assembly_close (MonoAssembly *assembly)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>assembly:</i></dt><dd> the assembly to release.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<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> <a name="api:mono_assembly_load"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_load</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_assembly_load (MonoAssemblyName *aname, const char *basedir, MonoImageOpenStatus *status)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>aname:</i></dt><dd> A MonoAssemblyName with the assembly name to load.</dd><dt><i>basedir:</i></dt><dd> A directory to look up the assembly at.</dd><dt><i>status:</i></dt><dd> a pointer to a MonoImageOpenStatus to return the status of the load operation</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the assembly referenced by <i>aname</i> loaded or NULL on error. On error the
|
||||
|
||||
value pointed by status is updated with an error code.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Loads the assembly referenced by <i>aname</i>, if the value of <i>basedir</i> is not NULL, it
|
||||
attempts to load the assembly from that directory before probing the standard locations.
|
||||
|
||||
|
||||
</div> <a name="api:mono_assembly_load_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_load_full</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_assembly_load_full (MonoAssemblyName *aname, const char *basedir, MonoImageOpenStatus *status, gboolean refonly)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>aname:</i></dt><dd> A MonoAssemblyName with the assembly name to load.</dd><dt><i>basedir:</i></dt><dd> A directory to look up the assembly at.</dd><dt><i>status:</i></dt><dd> a pointer to a MonoImageOpenStatus to return the status of the load operation</dd><dt><i>refonly:</i></dt><dd> Whether this assembly is being opened in "reflection-only" mode.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the assembly referenced by <i>aname</i> loaded or NULL on error. On error the
|
||||
|
||||
value pointed by status is updated with an error code.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Loads the assembly referenced by <i>aname</i>, if the value of <i>basedir</i> is not NULL, it
|
||||
attempts to load the assembly from that directory before probing the standard locations.
|
||||
|
||||
If the assembly is being opened in reflection-only mode (<i>refonly</i> set to TRUE) then no
|
||||
assembly binding takes place.
|
||||
|
||||
|
||||
</div> <a name="api:mono_assembly_loaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_loaded</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_assembly_loaded (MonoAssemblyName *aname)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>aname:</i></dt><dd> an assembly to look for.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> NULL If the given <i>aname</i> assembly has not been loaded, or a pointer to
|
||||
|
||||
a MonoAssembly that matches the MonoAssemblyName specified.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_assembly_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_assembly_get_object</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Working with Assemblies</h3>
|
||||
|
||||
<a name="api:mono_assembly_get_image"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_get_image</div>
|
||||
|
||||
<div class="prototype">MonoImage*
|
||||
mono_assembly_get_image (MonoAssembly *assembly)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>assembly:</i></dt><dd> The assembly to retrieve the image from</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoImage associated with this assembly.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_assembly_get_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_get_main</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_assembly_get_main (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the assembly for the application, the first assembly that is loaded by the VM
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_assembly_getrootdir"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_getrootdir</div>
|
||||
|
||||
<div class="prototype">G_CONST_RETURN gchar *
|
||||
mono_assembly_getrootdir (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a string with the directory, this string should not be freed.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <p />
|
||||
|
||||
Obtains the root directory used for looking up assemblies.
|
||||
|
||||
|
||||
|
||||
</div><h3>Assembly Names</h3>
|
||||
|
||||
<p />The MonoAssemblyName contains the full identity of an
|
||||
assembly (name, culture, public key, public key token,
|
||||
version and any other flags).
|
||||
|
||||
<p />These unmanaged objects represent the <a href="http://www.mono-project.com/monodoc/T:System.Reflection.AssemblyName">System.Reflection.AssemblyName</a>
|
||||
managed type.
|
||||
|
||||
<a name="api:mono_assembly_name_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_name_free</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_assembly_name_free (MonoAssemblyName *aname)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>aname:</i></dt><dd> assembly name to free</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <p />
|
||||
|
||||
Frees the provided assembly name object.
|
||||
(it does not frees the object itself, only the name members).
|
||||
|
||||
</div> <a name="api:mono_stringify_assembly_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_stringify_assembly_name</div>
|
||||
|
||||
<div class="prototype">char*
|
||||
mono_stringify_assembly_name (MonoAssemblyName *aname)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>aname:</i></dt><dd> the assembly name.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a newly allocated string with a string representation of
|
||||
|
||||
the assembly name.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Convert <i>aname</i> into its string format. The returned string is dynamically
|
||||
allocated and should be freed by the caller.
|
||||
|
||||
|
||||
</div> <a name="api:mono_assembly_names_equal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_names_equal</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_assembly_names_equal (MonoAssemblyName *l, MonoAssemblyName *r)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>l:</i></dt><dd> first assembly</dd><dt><i>r:</i></dt><dd> second assembly.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> TRUE if both assembly names are equal.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Compares two MonoAssemblyNames and returns whether they are equal.
|
||||
|
||||
This compares the names, the cultures, the release version and their
|
||||
public tokens.
|
||||
|
||||
|
||||
|
||||
</div><h3>Modules</h3>
|
||||
|
||||
<p />An assembly is made up of one or more modules.
|
||||
|
||||
<a name="api:mono_module_file_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_module_file_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_module_file_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_module_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_module_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_module_get_object</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
821
docs/deploy/mono-api-class.html
Normal file
821
docs/deploy/mono-api-class.html
Normal file
@ -0,0 +1,821 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-class.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Class Operations</h2>
|
||||
|
||||
<a name="api:mono_class_array_element_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_array_element_size</div>
|
||||
|
||||
<div class="prototype">gint32
|
||||
mono_class_array_element_size (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> </dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of bytes an element of type <i>klass</i>
|
||||
|
||||
uses when stored into an array.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_data_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_data_size</div>
|
||||
|
||||
<div class="prototype">gint32
|
||||
mono_class_data_size (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> a class </dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the size of the static class data
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <p />
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_enum_basetype"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_enum_basetype</div>
|
||||
|
||||
<div class="prototype">MonoType*
|
||||
mono_class_enum_basetype (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the underlying type representation for an enumeration.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_from_generic_parameter"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_from_generic_parameter</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_from_generic_parameter</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_from_mono_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_from_mono_type</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_from_mono_type</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_from_name_case"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_from_name_case</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_from_name_case (MonoImage *image, const char* name_space, const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> The MonoImage where the type is looked up in</dd><dt><i>name_space:</i></dt><dd> the type namespace</dd><dt><i>name:</i></dt><dd> the type short name.</dd><dt><i>deprecated:</i></dt><dd> use the _checked variant</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Obtains a MonoClass with a given namespace and a given name which
|
||||
is located in the given MonoImage. The namespace and name
|
||||
lookups are case insensitive.
|
||||
|
||||
</div> <a name="api:mono_class_from_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_from_name</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_from_name (MonoImage *image, const char* name_space, const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> The MonoImage where the type is looked up in</dd><dt><i>name_space:</i></dt><dd> the type namespace</dd><dt><i>name:</i></dt><dd> the type short name.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Obtains a MonoClass with a given namespace and a given name which
|
||||
is located in the given MonoImage.
|
||||
|
||||
To reference nested classes, use the "/" character as a separator.
|
||||
For example use "Foo/Bar" to reference the class Bar that is nested
|
||||
inside Foo, like this: "class Foo { class Bar {} }".
|
||||
|
||||
</div> <a name="api:mono_class_from_typeref"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_from_typeref</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_from_typeref</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_byref_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_byref_type</div>
|
||||
|
||||
<div class="prototype">MonoType*
|
||||
mono_class_get_byref_type (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_element_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_element_class</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_get_element_class (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the element class of an array or an enumeration.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_events"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_events</div>
|
||||
|
||||
<div class="prototype">MonoEvent*
|
||||
mono_class_get_events (MonoClass* klass, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a <i>MonoEvent</i>* on each invocation, or NULL when no more are available.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine is an iterator routine for retrieving the properties in a class.
|
||||
|
||||
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 NULL.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get_event_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_event_token</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_get_event_token</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_field_from_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_field_from_name</div>
|
||||
|
||||
<div class="prototype">MonoClassField*
|
||||
mono_class_get_field_from_name (MonoClass *klass, const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the class to lookup the field.</dd><dt><i>name:</i></dt><dd> the field name</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoClassField pointer of the named field or NULL
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Search the class <i>klass</i> and it's parents for a field with the name <i>name</i>.
|
||||
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_field"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_field</div>
|
||||
|
||||
<div class="prototype">MonoClassField*
|
||||
mono_class_get_field (MonoClass *class, guint32 field_token)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>class:</i></dt><dd> the class to lookup the field.</dd><dt><i>field_token:</i></dt><dd> the field token</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> A MonoClassField representing the type and offset of
|
||||
|
||||
the field, or a NULL value if the field does not belong to this
|
||||
class.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_fields"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_fields</div>
|
||||
|
||||
<div class="prototype">MonoClassField*
|
||||
mono_class_get_fields (MonoClass* klass, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a <i>MonoClassField</i>* on each iteration, or NULL when no more fields are available.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine is an iterator routine for retrieving the fields in a class.
|
||||
|
||||
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 NULL.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get_field_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_field_token</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_class_get_field_token (MonoClassField *field)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>field:</i></dt><dd> the field we need the token of</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the token representing the field in the image it was loaded from.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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> <a name="api:mono_class_get_flags"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_flags</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_class_get_flags (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the flags from the TypeDef table.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
The type flags from the TypeDef table from the metadata.
|
||||
see the TYPE_ATTRIBUTE_* definitions on tabledefs.h for the
|
||||
different values.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_full</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_get_full (MonoImage *image, guint32 type_token, MonoGenericContext *context)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the image where the class resides</dd><dt><i>type_token:</i></dt><dd> the token for the class</dd><dt><i>context:</i></dt><dd> the generic context used to evaluate generic instantiations in</dd><dt><i>deprecated:</i></dt><dd> Functions that expose MonoGenericContext are going away in mono 4.0</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoClass that represents <i>type_token</i> in <i>image</i>
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_image"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_image</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_get_image</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_interfaces"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_interfaces</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_get_interfaces (MonoClass* klass, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a <i>Monoclass</i>* on each invocation, or NULL when no more are available.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine is an iterator routine for retrieving the interfaces implemented by this class.
|
||||
|
||||
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 NULL.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get_method_from_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_method_from_name</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_class_get_method_from_name (MonoClass *klass, const char *name, int param_count)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> where to look for the method</dd><dt><i>name:</i></dt><dd> name of the method</dd><dt><i>param_count:</i></dt><dd> number of parameters. -1 for any number.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Obtains a MonoMethod with a given name and number of parameters.
|
||||
It only works if there are no multiple signatures for any given method name.
|
||||
|
||||
</div> <a name="api:mono_class_get_methods"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_methods</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_class_get_methods (MonoClass* klass, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a MonoMethod on each iteration or NULL when no more methods are available.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine is an iterator routine for retrieving the fields in a class.
|
||||
|
||||
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 NULL.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_get</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_name</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_class_get_name (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the name of the class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_namespace"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_namespace</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_class_get_namespace (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the namespace of the class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_nested_types"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_nested_types</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_get_nested_types (MonoClass* klass, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a <i>Monoclass</i>* on each invocation, or NULL when no more are available.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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.
|
||||
|
||||
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 NULL.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get_nesting_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_nesting_type</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_get_nesting_type</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_parent"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_parent</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_class_get_parent (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the parent class for this class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_properties"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_properties</div>
|
||||
|
||||
<div class="prototype">MonoProperty*
|
||||
mono_class_get_properties (MonoClass* klass, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a <i>MonoProperty</i>* on each invocation, or NULL when no more are available.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine is an iterator routine for retrieving the properties in a class.
|
||||
|
||||
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 NULL.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_get_property_from_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_property_from_name</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_get_property_from_name</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_property_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_property_token</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_get_property_token</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_get_rank"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_rank</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_class_get_rank (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the rank for the array (the number of dimensions).
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_get_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_type</div>
|
||||
|
||||
<div class="prototype">MonoType*
|
||||
mono_class_get_type (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoType from the class.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This method returns the internal Type representation for the class.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_inflate_generic_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_inflate_generic_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_inflate_generic_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_inflate_generic_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_inflate_generic_type</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_class_inflate_generic_type</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_class_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_init</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_class_init (MonoClass *class)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>class:</i></dt><dd> the class to initialize</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Compute the instance_size, class_size and other infos that cannot be
|
||||
computed at mono_class_get() time. Also compute vtable_size if possible.
|
||||
Returns TRUE on success or FALSE if there was a problem in loading
|
||||
the type (incorrect assemblies, missing assemblies, methods, etc).
|
||||
|
||||
LOCKING: Acquires the loader lock.
|
||||
|
||||
</div> <a name="api:mono_class_instance_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_instance_size</div>
|
||||
|
||||
<div class="prototype">gint32
|
||||
mono_class_instance_size (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> a class </dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the size of an object instance
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <p />
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_is_assignable_from"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_is_assignable_from</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_class_is_assignable_from (MonoClass *klass, MonoClass *oklass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the class to be assigned to</dd><dt><i>oklass:</i></dt><dd> the source class</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> true if an instance of object oklass can be assigned to an
|
||||
|
||||
instance of object <i>klass</i></blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_is_enum"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_is_enum</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_class_is_enum (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> true if the MonoClass represents an enumeration.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_is_subclass_of"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_is_subclass_of</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_class_is_subclass_of (MonoClass *klass, MonoClass *klassc,
|
||||
gboolean check_interfaces)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> class to probe if it is a subclass of another one</dd><dt><i>klassc:</i></dt><dd> the class we suspect is the base class</dd><dt><i>check_interfaces:</i></dt><dd> whether we should perform interface checks</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This method determines whether <i>klass</i> is a subclass of <i>klassc</i>.
|
||||
|
||||
If the <i>check_interfaces</i> flag is set, then if <i>klassc</i> is an interface
|
||||
this method return true 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>.
|
||||
|
||||
If <i>check_interfaces</i> is false then, then if <i>klass</i> is not an interface
|
||||
then it returns true if the <i>klass</i> is a subclass of <i>klassc</i>.
|
||||
|
||||
if <i>klass</i> is an interface and <i>klassc</i> is System.Object, then this function
|
||||
return true.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_is_valuetype"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_is_valuetype</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_class_is_valuetype (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> true if the MonoClass represents a ValueType.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_min_align"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_min_align</div>
|
||||
|
||||
<div class="prototype">gint32
|
||||
mono_class_min_align (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> a class </dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> minimm alignment requirements
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <p />
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_num_events"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_num_events</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_class_num_events (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of events in the class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_num_fields"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_num_fields</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_class_num_fields (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of static and instance fields in the class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_num_methods"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_num_methods</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_class_num_methods (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of methods in the class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_num_properties"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_num_properties</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_class_num_properties (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> the MonoClass to act on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of properties in the class.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_class_value_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_value_size</div>
|
||||
|
||||
<div class="prototype">gint32
|
||||
mono_class_value_size (MonoClass *klass, guint32 *align)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> a class </dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the size of a value of kind <i>klass</i>
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This function is used for value types, and return the
|
||||
space and the alignment to store that kind of value object.
|
||||
|
||||
|
||||
</div> <a name="api:mono_class_vtable"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_vtable</div>
|
||||
|
||||
<div class="prototype">MonoVTable*
|
||||
mono_class_vtable (MonoDomain *domain, MonoClass *class)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> the application domain</dd><dt><i>class:</i></dt><dd> the class to initialize</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
VTables are domain specific because we create domain specific code, and
|
||||
they contain the domain specific static class data.
|
||||
On failure, NULL is returned, and class->exception_type is set.
|
||||
|
||||
</div> <a name="api:mono_class_get_method_from_name_flags"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_class_get_method_from_name_flags</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_class_get_method_from_name_flags (MonoClass *klass, const char *name, int param_count, int flags)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> where to look for the method</dd><dt><i>name_space:</i></dt><dd> name of the method</dd><dt><i>param_count:</i></dt><dd> number of parameters. -1 for any number.</dd><dt><i>flags:</i></dt><dd> flags which must be set in the method</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Obtains a MonoMethod with a given name and number of parameters.
|
||||
It only works if there are no multiple signatures for any given method name.
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
162
docs/deploy/mono-api-codegen.html
Normal file
162
docs/deploy/mono-api-codegen.html
Normal file
@ -0,0 +1,162 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-codegen.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Code manager</h3>
|
||||
|
||||
<a name="api:mono_code_manager_commit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_code_manager_commit</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_code_manager_commit (MonoCodeManager *cman, void *data, int size, int newsize)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>data:</i></dt><dd> the pointer returned by mono_code_manager_reserve ()</dd><dt><i>size:</i></dt><dd> the size requested in the call to mono_code_manager_reserve ()</dd><dt><i>newsize:</i></dt><dd> the new size to reserve</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
If we reserved too much room for a method and we didn't allocate
|
||||
already from the code manager, we can get back the excess allocation
|
||||
for later use in the code manager.
|
||||
|
||||
</div> <a name="api:mono_code_manager_destroy"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_code_manager_destroy</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_code_manager_destroy (MonoCodeManager *cman)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Free all the memory associated with the code manager <i>cman</i>.
|
||||
|
||||
</div> <a name="api:mono_code_manager_foreach"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_code_manager_foreach</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_code_manager_foreach (MonoCodeManager *cman, MonoCodeManagerFunc func, void *user_data)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd><dt><i>func:</i></dt><dd> a callback function pointer</dd><dt><i>user_data:</i></dt><dd> additional data to pass to <i>func</i></dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Invokes the callback <i>func</i> for each different chunk of memory allocated
|
||||
in the code manager <i>cman</i>.
|
||||
|
||||
</div> <a name="api:mono_code_manager_invalidate"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_code_manager_invalidate</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_code_manager_invalidate (MonoCodeManager *cman)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>cman:</i></dt><dd> a code manager</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Fill all the memory with an invalid native code value
|
||||
so that any attempt to execute code allocated in the code
|
||||
manager <i>cman</i> will fail. This is used for debugging purposes.
|
||||
|
||||
</div> <a name="api:mono_code_manager_new_dynamic"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_code_manager_new_dynamic</div>
|
||||
|
||||
<div class="prototype">MonoCodeManager*
|
||||
mono_code_manager_new_dynamic (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the new code manager
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates a new code manager suitable for holding native code that can be
|
||||
used for single or small methods that need to be deallocated independently
|
||||
of other native code.
|
||||
|
||||
|
||||
</div> <a name="api:mono_code_manager_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_code_manager_new</div>
|
||||
|
||||
<div class="prototype">MonoCodeManager*
|
||||
mono_code_manager_new (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the new code manager
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates a new code manager. A code manager can be used to allocate memory
|
||||
suitable for storing native code that can be later executed.
|
||||
A code manager allocates memory from the operating system in large chunks
|
||||
(typically 64KB in size) so that many methods can be allocated inside them
|
||||
close together, improving cache locality.
|
||||
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
128
docs/deploy/mono-api-counters.html
Normal file
128
docs/deploy/mono-api-counters.html
Normal file
@ -0,0 +1,128 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-counters.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Counters</h2>
|
||||
|
||||
<p />Counters is a Mono API for flexible statistics collection
|
||||
and is used to track different events inside the JIT.
|
||||
|
||||
<p />You would typically register an address with the
|
||||
<tt>mono_counters_register</tt> routine and increment the
|
||||
counters from your application as you go. At the end of the
|
||||
program you would call mono_counters_dump which will display
|
||||
all the registered counters.
|
||||
|
||||
<p />If you need more complicated counter computation, a
|
||||
function can be provided instead of an address. In that case
|
||||
the <tt>MONO_COUNTER_CALLBACK</tt> flag must be ored in the
|
||||
type request.
|
||||
|
||||
<p />The types that can be rendered are:
|
||||
|
||||
<pre>
|
||||
MONO_COUNTER_INT
|
||||
MONO_COUNTER_UINT
|
||||
MONO_COUNTER_WORD
|
||||
MONO_COUNTER_LONG
|
||||
MONO_COUNTER_ULONG
|
||||
MONO_COUNTER_DOUBLE
|
||||
MONO_COUNTER_STRING
|
||||
</pre>
|
||||
|
||||
<p />To organize the output, you register also a section where
|
||||
the counter will be displayed, or one of the following values
|
||||
when you register your counter:
|
||||
|
||||
<pre>
|
||||
|
||||
MONO_COUNTER_JIT
|
||||
MONO_COUNTER_GC
|
||||
MONO_COUNTER_METADATA
|
||||
MONO_COUNTER_GENERICS
|
||||
MONO_COUNTER_SECURITY
|
||||
</pre>
|
||||
|
||||
<a name="api:mono_counters_dump"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_counters_dump</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_counters_dump (int section_mask, FILE *outfile)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>section_mask:</i></dt><dd> The sections to dump counters for</dd><dt><i>outfile:</i></dt><dd> a FILE to dump the results to</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
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 MONO_COUNTER_SECTION_MASK to dump all categories of a specific variance.
|
||||
|
||||
</div> <a name="api:mono_counters_enable"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_counters_enable</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_counters_enable (int section_mask)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>section_mask:</i></dt><dd> a mask listing the sections that will be displayed</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This is used to track which counters will be displayed.
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
180
docs/deploy/mono-api-debug.html
Normal file
180
docs/deploy/mono-api-debug.html
Normal file
@ -0,0 +1,180 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-debug.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<a name="api:mono_debug_il_offset_from_address"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debug_il_offset_from_address</div>
|
||||
|
||||
<div class="prototype">gint32
|
||||
mono_debug_il_offset_from_address (MonoMethod *method, MonoDomain *domain, guint32 native_offset)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Compute the IL offset corresponding to NATIVE_OFFSET inside the native
|
||||
code of METHOD in DOMAIN.
|
||||
|
||||
</div> <a name="api:mono_debug_add_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debug_add_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debug_add_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debug_close_mono_symbol_file"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debug_close_mono_symbol_file</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debug_close_mono_symbol_file</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debug_find_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debug_find_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debug_find_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debug_using_mono_debugger"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debug_using_mono_debugger</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debug_using_mono_debugger</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Mono Debugger Interface</h3>
|
||||
|
||||
<p />These are methods that are invoked by the debugger at
|
||||
runtime.
|
||||
|
||||
<a name="api:mono_debugger_breakpoint_callback"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_breakpoint_callback</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_breakpoint_callback</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_check_runtime_version"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_check_runtime_version</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_check_runtime_version</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_handle_exception"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_handle_exception</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_handle_exception</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_insert_breakpoint_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_insert_breakpoint_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_insert_breakpoint_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_insert_breakpoint"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_insert_breakpoint</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_insert_breakpoint</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_lock"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_lock</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_lock</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_method_has_breakpoint"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_method_has_breakpoint</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_method_has_breakpoint</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_remove_breakpoint"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_remove_breakpoint</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_remove_breakpoint</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_runtime_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_runtime_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_runtime_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_debugger_unlock"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_debugger_unlock</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_debugger_unlock</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
151
docs/deploy/mono-api-decimal.html
Normal file
151
docs/deploy/mono-api-decimal.html
Normal file
@ -0,0 +1,151 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-decimal.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Decimal Support</h1>
|
||||
|
||||
<p />You can use the mono_decimal functions to access and
|
||||
manipulate <tt>System.Decimal</tt> types from C.
|
||||
|
||||
<a name="api:mono_decimal2double"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimal2double</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimal2double</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimal2Int64"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimal2Int64</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimal2Int64</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimal2string"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimal2string</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimal2string</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimal2UInt64"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimal2UInt64</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimal2UInt64</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalCompare"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalCompare</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalCompare</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalDiv"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalDiv</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalDiv</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalFloorAndTrunc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalFloorAndTrunc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalFloorAndTrunc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalIncr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalIncr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalIncr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalIntDiv"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalIntDiv</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalIntDiv</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalMult"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalMult</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalMult</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalRound"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalRound</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalRound</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_decimalSetExponent"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_decimalSetExponent</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_decimalSetExponent</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_double2decimal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_double2decimal</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_double2decimal</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
307
docs/deploy/mono-api-domains.html
Normal file
307
docs/deploy/mono-api-domains.html
Normal file
@ -0,0 +1,307 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-domains.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Application Domains</h2>
|
||||
|
||||
<h3>Synopsis</h3>
|
||||
|
||||
<div class="header">
|
||||
#include <metadata/appdomain.h>
|
||||
|
||||
/* Managed AppDomain */
|
||||
typedef struct _MonoAppDomain MonoAppDomain;
|
||||
|
||||
/* Unmanaged representation */
|
||||
typedef struct _MonoDomain MonoDomain;
|
||||
|
||||
/* Represents System.Runtime.Remoting.Contexts.Context */
|
||||
typedef struct _MonoAppContext MonoAppContext
|
||||
MonoAssembly* <a href="#api:mono_domain_assembly_open">mono_domain_assembly_open</a> (MonoDomain *domain,
|
||||
const char *name);
|
||||
<a href="#api:mono_domain_create"></a>
|
||||
gboolean <a href="#api:mono_domain_finalize">mono_domain_finalize</a> (MonoDomain *domain,
|
||||
guint32 timeout) ;
|
||||
<a href="#api:mono_domain_foreach"></a>
|
||||
<a href="#api:mono_domain_free"></a>
|
||||
<a href="#api:mono_domain_get_by_id"></a>
|
||||
MonoDomain* <a href="#api:mono_domain_get_id">mono_domain_get_by_id</a> (gint32 domainid) ;
|
||||
MonoDomain* <a href="#api:mono_domain_get">mono_domain_get</a> ();
|
||||
gboolean <a href="#api:mono_domain_has_type_resolve">mono_domain_has_type_resolve</a> (MonoDomain *domain);
|
||||
<a href="#api:mono_domain_is_unloading"></a>
|
||||
void <a href="#api:mono_domain_set_internal">mono_domain_set_internal</a> (MonoDomain *domain);
|
||||
gboolean <a href="#api:mono_domain_set">mono_domain_set</a> (MonoDomain *domain,
|
||||
gboolean force);
|
||||
MonoReflectionAssembly* <a href="#api:mono_domain_try_type_resolve">mono_domain_try_type_resolve</a> (MonoDomain *domain,
|
||||
char *name,
|
||||
MonoObject *tb);
|
||||
gboolean <a href="#api:mono_domain_owns_vtable_slot">mono_domain_owns_vtable_slot</a> (MonoDomain *domain,
|
||||
gpointer vtable_slot);
|
||||
<a href="#api:mono_context_get"></a>
|
||||
<a href="#api:mono_context_set"></a>
|
||||
|
||||
</div>
|
||||
|
||||
<p />Application domains are used to isolate multiple
|
||||
applications on a single Mono virtual machine. They are
|
||||
conceptually similiar to processes, the difference is that
|
||||
processes are managed by the operating system, while
|
||||
application domains are managed by the Mono virtual machine.
|
||||
|
||||
<p />For more information on applications domains see the <a href="http://www.gotdotnet.com/team/clr/AppdomainFAQ.aspx">AppDomain FAQ</a>.
|
||||
|
||||
<p />The <tt>MonoDomain</tt> is the unmanaged representation of
|
||||
the <a href="http://www.mono-project.com/monodoc/T:System.AppDomain">System.AppDomain</a>
|
||||
managed type, while the <tt>MonoAppDomain</tt> type represents
|
||||
the managed version (<tt>MonoAppDomain</tt> has a pointer to
|
||||
a <tt>MonoDomain</tt>).
|
||||
|
||||
<a name="api:mono_domain_assembly_open"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_assembly_open</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_domain_assembly_open (MonoDomain *domain, const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> the application domain</dd><dt><i>name:</i></dt><dd> file name of the assembly</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
fixme: maybe we should integrate this with mono_assembly_open ??
|
||||
|
||||
</div> <a name="api:mono_domain_create"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_create</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_domain_create</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_domain_finalize"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_finalize</div>
|
||||
|
||||
<div class="prototype">
|
||||
gboolean
|
||||
mono_domain_finalize (MonoDomain *domain, guint32 timeout)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> the domain to finalize</dd><dt><i>timeout:</i></dt><dd> msects to wait for the finalization to complete, -1 to wait indefinitely</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> TRUE if succeeded, FALSE if there was a timeout
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Request finalization of all finalizable objects inside <i>domain</i>. Wait
|
||||
<i>timeout</i> msecs for the finalization to complete.
|
||||
|
||||
|
||||
</div> <a name="api:mono_domain_foreach"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_foreach</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_domain_foreach</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_domain_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_free</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_domain_free</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_domain_get_by_id"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_get_by_id</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_domain_get_by_id</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_domain_get_id"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_get_id</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_domain_get_by_id (gint32 domainid)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domainid:</i></dt><dd> the ID</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the a domain for a specific domain id.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_domain_get"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_get</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_domain_get ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the current domain, to obtain the root domain use
|
||||
|
||||
mono_get_root_domain().</blockquote>
|
||||
|
||||
</div> <a name="api:mono_domain_has_type_resolve"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_has_type_resolve</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_domain_has_type_resolve (MonoDomain *domain)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> application domains being looked up</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns true if the AppDomain.TypeResolve field has been
|
||||
set.
|
||||
|
||||
</div> <a name="api:mono_domain_is_unloading"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_is_unloading</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_domain_is_unloading</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_domain_set_internal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_set_internal</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_domain_set_internal (MonoDomain *domain)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> the new domain</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Sets the current domain to <i>domain</i>.
|
||||
|
||||
</div> <a name="api:mono_domain_set"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_set</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_domain_set (MonoDomain *domain, gboolean force)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> domain</dd><dt><i>force:</i></dt><dd> force setting.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote>
|
||||
|
||||
TRUE on success;
|
||||
FALSE if the domain is unloaded</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Set the current appdomain to <i>domain</i>. If <i>force</i> is set, set it even
|
||||
if it is being unloaded.
|
||||
|
||||
|
||||
</div> <a name="api:mono_domain_try_type_resolve"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_try_type_resolve</div>
|
||||
|
||||
<div class="prototype">MonoReflectionAssembly*
|
||||
mono_domain_try_type_resolve (MonoDomain *domain, char *name, MonoObject *tb)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> application domainwhere the name where the type is going to be resolved</dd><dt><i>name:</i></dt><dd> the name of the type to resolve or NULL.</dd><dt><i>tb:</i></dt><dd> A System.Reflection.Emit.TypeBuilder, used if name is NULL.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> A MonoReflectionAssembly or NULL if not found
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine invokes the internal System.AppDomain.DoTypeResolve and returns
|
||||
the assembly that matches name.
|
||||
|
||||
If <i>name</i> is null, the value of ((TypeBuilder)tb).FullName is used instead
|
||||
|
||||
|
||||
</div> <a name="api:mono_domain_owns_vtable_slot"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_domain_owns_vtable_slot</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_domain_owns_vtable_slot (MonoDomain *domain, gpointer vtable_slot)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns whenever VTABLE_SLOT is inside a vtable which belongs to DOMAIN.
|
||||
|
||||
|
||||
</div><h3>Contexts</h3>
|
||||
|
||||
<a name="api:mono_context_get"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_context_get</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_context_get</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
361
docs/deploy/mono-api-dynamic-codegen.html
Normal file
361
docs/deploy/mono-api-dynamic-codegen.html
Normal file
@ -0,0 +1,361 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-dynamic-codegen.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Dynamic Code Generation</h2>
|
||||
|
||||
<p />The dynamic code generation interface inside the Mono
|
||||
runtime is similar to the API exposed by
|
||||
System.Reflection.Emit.
|
||||
|
||||
<p />This interface is used by Mono internally to generate code
|
||||
on the flight in a cross-platform fashion. For example,
|
||||
P/Invoke marshalling in Mono is implemented in terms of this
|
||||
interface, but it is also used in various other parts of the
|
||||
runtime.
|
||||
|
||||
<p />Unlike Reflection.Emit, the dynamic code generation
|
||||
interface does not start with an assembly builder. The code
|
||||
generation interface starts directly at the method level,
|
||||
which is represented by a pointer to the MonoMethodBuilder
|
||||
structure.
|
||||
|
||||
<p />To JIT this method, the process is this:
|
||||
|
||||
<ul>
|
||||
<li>Create a <tt>MonoMethodBuilder</tt> object using
|
||||
the <tt>mono_mb_new</tt> method. The method's class
|
||||
is specified as the first argument.
|
||||
|
||||
<li>Create the method signature, using
|
||||
<tt>mono_metadata_signature_alloc</tt>. The call
|
||||
takes the number of arguments that the method takes.
|
||||
Then you must initialize the types for each one of the
|
||||
parameters.
|
||||
|
||||
<li>Emit the CIL code, using one of the
|
||||
<tt>mono_mb_emit_*</tt> functions. There are some
|
||||
helper routines that you can use.
|
||||
|
||||
<li>Create the <tt>MonoMethod</tt> from the
|
||||
<tt>MethodBuilder</tt> using
|
||||
<tt>mono_mb_create_method</tt>.
|
||||
|
||||
<li>Release the <tt>MonoMethodBuilder</tt> resources
|
||||
using mono_mb_free.
|
||||
</li></li></li></li></li></ul>
|
||||
|
||||
<p />The result of this process is a <tt>MonoMethod</tt> which
|
||||
can be called using <tt><a href="api:mono_create_jit_trampoline">mono_create_jit_trampoline</a></tt>
|
||||
routine or can be passed to any other functions that require
|
||||
the MonoMethod.
|
||||
|
||||
<p />Example:
|
||||
|
||||
<pre>
|
||||
MonoMethod *adder ()
|
||||
{
|
||||
MonoMethodBuilder *mb;
|
||||
MonoMethodSignature *sig;
|
||||
MonoMethod *method;
|
||||
|
||||
mb = mono_mb_new (mono_defaults.object_class, "adder", MONO_WRAPPER_NONE);
|
||||
|
||||
/* Setup method signature */
|
||||
sig = mono_metadata_signature_alloc (2);
|
||||
sig->ret = &mono_get_int32_class ()->byval_arg;
|
||||
sig->params [0] = &mono_get_int32_class ()->byval_arg;
|
||||
sig->params [1] = &mono_defaults.int32_class->byval_arg;
|
||||
|
||||
/* Emit CIL code */
|
||||
mono_mb_emit_ldarg (mb, 0);
|
||||
mono_mb_emit_ldarg (mb, 1);
|
||||
mono_mb_emit_byte (mb, CEE_ADD);
|
||||
mono_mb_emit_byte (mb, CEE_RET);
|
||||
|
||||
/* Get the method */
|
||||
method = mono_mb_create_method (mb, sig, max_stack);
|
||||
|
||||
/* Cleanup */
|
||||
mono_mb-free (mb);
|
||||
return method;
|
||||
}
|
||||
</pre>
|
||||
|
||||
<a name="api:mono_mb_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_new</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_new</div>
|
||||
<p />
|
||||
|
||||
|
||||
<p />The possible values for the <i>type</i> argument are:
|
||||
|
||||
<pre>
|
||||
MONO_WRAPPER_NONE
|
||||
MONO_WRAPPER_DELEGATE_INVOKE
|
||||
MONO_WRAPPER_DELEGATE_BEGIN_INVOKE
|
||||
MONO_WRAPPER_DELEGATE_END_INVOKE
|
||||
MONO_WRAPPER_RUNTIME_INVOKE
|
||||
MONO_WRAPPER_NATIVE_TO_MANAGED
|
||||
MONO_WRAPPER_MANAGED_TO_NATIVE
|
||||
MONO_WRAPPER_REMOTING_INVOKE
|
||||
MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK
|
||||
MONO_WRAPPER_XDOMAIN_INVOKE
|
||||
MONO_WRAPPER_XDOMAIN_DISPATCH
|
||||
MONO_WRAPPER_LDFLD
|
||||
MONO_WRAPPER_STFLD
|
||||
MONO_WRAPPER_LDFLD_REMOTE
|
||||
MONO_WRAPPER_STFLD_REMOTE
|
||||
MONO_WRAPPER_SYNCHRONIZED
|
||||
MONO_WRAPPER_DYNAMIC_METHOD
|
||||
MONO_WRAPPER_ISINST
|
||||
MONO_WRAPPER_CASTCLASS
|
||||
MONO_WRAPPER_PROXY_ISINST
|
||||
MONO_WRAPPER_STELEMREF
|
||||
MONO_WRAPPER_UNBOX
|
||||
MONO_WRAPPER_LDFLDA
|
||||
MONO_WRAPPER_UNKNOWN
|
||||
</pre>
|
||||
|
||||
</div><h3>Emitting IL</h3>
|
||||
|
||||
<p />Functions that can be used to generate IL on the flight,
|
||||
similar in spirit to System.Reflection.Emit.ILGenerator.
|
||||
|
||||
<a name="api:mono_mb_emit_add_to_local"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_add_to_local</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_add_to_local</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_branch"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_branch</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_branch</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_byte"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_byte</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_byte</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_exception"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_exception</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_exception</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_i2"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_i2</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_i2</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_i4"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_i4</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_i4</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_icon"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_icon</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_icon</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_ldarg_addr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_ldarg_addr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_ldarg_addr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_ldarg"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_ldarg</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_ldarg</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_ldflda"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_ldflda</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_ldflda</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_ldloc_addr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_ldloc_addr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_ldloc_addr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_ldloc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_ldloc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_ldloc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_ldstr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_ldstr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_ldstr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_managed_call"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_managed_call</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_managed_call</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_native_call"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_native_call</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_native_call</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_emit_stloc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_emit_stloc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_emit_stloc</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Local variables and Methods</h3>
|
||||
<a name="api:mono_mb_create_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_create_method</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, int max_stack)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the newly created method.
|
||||
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Create a MonoMethod from this method builder.
|
||||
|
||||
</div> <a name="api:mono_mb_add_data"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_add_data</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_add_data</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_add_local"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_add_local</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_add_local</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_free</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_free</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Patching Addresses</h3>
|
||||
<a name="api:mono_mb_patch_addr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_patch_addr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_patch_addr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mb_patch_addr_s"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mb_patch_addr_s</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mb_patch_addr_s</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Method Signatures</h3>
|
||||
<a name="api:mono_metadata_signature_alloc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_metadata_signature_alloc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_metadata_signature_alloc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_metadata_signature_dup"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_metadata_signature_dup</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_metadata_signature_dup</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
428
docs/deploy/mono-api-embedding.html
Normal file
428
docs/deploy/mono-api-embedding.html
Normal file
@ -0,0 +1,428 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-embedding.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Embedding Mono</h2>
|
||||
|
||||
<p />The simplest way of embedding Mono is illustrated here:
|
||||
<pre>
|
||||
int main (int argc, char *argv)
|
||||
{
|
||||
/*
|
||||
* Load the default Mono configuration file, this is needed
|
||||
* if you are planning on using the dllmaps defined on the
|
||||
* system configuration
|
||||
*/
|
||||
mono_config_parse (NULL);
|
||||
|
||||
/*
|
||||
* mono_jit_init() creates a domain: each assembly is
|
||||
* loaded and run in a MonoDomain.
|
||||
*/
|
||||
MonoDomain *domain = mono_jit_init ("startup.exe");
|
||||
|
||||
/*
|
||||
* Optionally, add an internal call that your startup.exe
|
||||
* code can call, this will bridge startup.exe to Mono
|
||||
*/
|
||||
mono_add_internal_call ("Sample::GetMessage", getMessage);
|
||||
|
||||
/*
|
||||
* Open the executable, and run the Main method declared
|
||||
* in the executable
|
||||
*/
|
||||
MonoAssembly *assembly = mono_domain_assembly_open (domain, "startup.exe");
|
||||
|
||||
if (!assembly)
|
||||
exit (2);
|
||||
/*
|
||||
* mono_jit_exec() will run the Main() method in the assembly.
|
||||
* The return value needs to be looked up from
|
||||
* System.Environment.ExitCode.
|
||||
*/
|
||||
mono_jit_exec (domain, assembly, argc, argv);
|
||||
}
|
||||
|
||||
/* The C# signature for this method is: string GetMessage () in class Sample */
|
||||
MonoString*
|
||||
getMessage ()
|
||||
{
|
||||
return mono_string_new (mono_domain_get (), "Hello, world");
|
||||
}
|
||||
</pre>
|
||||
|
||||
<a name="api:mono_jit_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_jit_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_jit_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_jit_exec"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_jit_exec</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[])
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>assembly:</i></dt><dd> reference to an assembly</dd><dt><i>argc:</i></dt><dd> argument count</dd><dt><i>argv:</i></dt><dd> argument vector</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Start execution of a program.
|
||||
|
||||
</div> <a name="api:mono_set_dirs"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_set_dirs</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_set_dirs (const char *assembly_dir, const char *config_dir)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>assembly_dir:</i></dt><dd> the base directory for assemblies</dd><dt><i>config_dir:</i></dt><dd> the base directory for configuration files</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine is used internally and by developers embedding
|
||||
the runtime into their own applications.
|
||||
|
||||
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.
|
||||
|
||||
If you are using a system-installed Mono, you can pass NULL
|
||||
to both parameters. If you are not, you should compute both
|
||||
directory values and call this routine.
|
||||
|
||||
The values for a given PREFIX are:
|
||||
|
||||
assembly_dir: PREFIX/lib
|
||||
config_dir: PREFIX/etc
|
||||
|
||||
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> <a name="api:mono_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_main</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_main (int argc, char* argv[])
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>argc:</i></dt><dd> number of arguments in the argv array</dd><dt><i>argv:</i></dt><dd> array of strings containing the startup arguments</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Launches the Mono JIT engine and parses all the command line options
|
||||
in the same way that the mono command line VM would.
|
||||
|
||||
</div> <a name="api:mono_parse_default_optimizations"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_parse_default_optimizations</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_parse_default_optimizations</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div> <a name="api:mono_jit_cleanup"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_jit_cleanup</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_jit_cleanup</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_set_defaults"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_set_defaults</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_set_defaults</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Internal Calls</h3>
|
||||
|
||||
<p />The Mono runtime provides two mechanisms to expose C code
|
||||
to the CIL universe: internal calls and native C
|
||||
code. Internal calls are tightly integrated with the runtime,
|
||||
and have the least overhead, as they use the same data types
|
||||
that the runtime uses.
|
||||
|
||||
<p />The other option is to use the Platform Invoke (P/Invoke)
|
||||
to call C code from the CIL universe, using the standard
|
||||
<a href="http://www.mono-project.com/Interop_with_Native_Libraries">P/Invoke</a>
|
||||
mechanisms.
|
||||
|
||||
<p />To register an internal call, use this call you use the
|
||||
<a href="#api:mono_add_internal_call"><tt>mono_add_internal_call</tt>
|
||||
routine.
|
||||
|
||||
<a name="api:mono_add_internal_call"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_add_internal_call</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_add_internal_call</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>P/Invoke with embedded applications</h3>
|
||||
|
||||
<p />Unlike internal calls, Platform/Invoke is easier to use and
|
||||
more portable. It allows you to share code with Windows and
|
||||
.NET that have a different setup for internal calls to their
|
||||
own runtime.
|
||||
|
||||
<p />Usually P/Invoke declarations reference external libraries
|
||||
like:
|
||||
|
||||
<pre>
|
||||
[DllImport ("opengl")]
|
||||
void glBegin (GLEnum mode)
|
||||
</pre>
|
||||
|
||||
<p />Mono extends P/Invoke to support looking up symbols not in
|
||||
an external library, but looking up those symbols into the
|
||||
same address space as your program, to do this, use the
|
||||
special library name "__Internal". This will direct Mono to
|
||||
lookup the method in your own process.
|
||||
|
||||
<p />There are situations where the host operating system does
|
||||
not support looking up symbols on the process address space.
|
||||
For situations like this you can use
|
||||
the <a href="#api:mono_dl_register_library">mono_dl_register_library</a>.
|
||||
|
||||
<h4><a name="api:mono_dl_register_library">mono_dl_register_library</a></h4>
|
||||
|
||||
<h3>Data Marshalling</h3>
|
||||
|
||||
<p />Managed objects are represented as <tt>MonoObject*</tt>
|
||||
types. Those objects that the runtime consumes directly have
|
||||
more specific C definitions (for example strings are of type
|
||||
<tt>MonoString *</tt>, delegates are of type
|
||||
<tt>MonoDelegate*</tt> but they are still <tt>MonoObject
|
||||
*</tt>s).
|
||||
|
||||
<p />As of Mono 1.2.x types defined in mscorlib.dll do not have
|
||||
their fields reordered in any way. But other libraries might
|
||||
have their fields reordered. In these cases, Managed
|
||||
structures and objects have the same layout in the C# code as
|
||||
they do in the unmanaged world.
|
||||
|
||||
<p />Structures defined outside corlib must have a specific
|
||||
StructLayout definition, and have it set as sequential if you
|
||||
plan on accessing these fields directly from C code.
|
||||
|
||||
<p /><b>Important</b> Internal calls do not provide support for
|
||||
marshalling structures. This means that any API calls that
|
||||
take a structure (excluding the system types like int32,
|
||||
int64, etc) must be passed as a pointer, in C# this means
|
||||
passing the value as a "ref" or "out" parameter.
|
||||
|
||||
<h3>Mono Runtime Configuration</h3>
|
||||
|
||||
<p />Certain features of the Mono runtime, like DLL mapping, are
|
||||
available through a configuration file that is loaded at
|
||||
runtime. The default Mono implementation loads the
|
||||
configuration file from <tt>$sysconfig/mono/config</tt>
|
||||
(typically this is <tt>/etc/mono/config</tt>).
|
||||
|
||||
<p />See the <tt>mono-config(5)</tt> man page for more details
|
||||
on what goes in this file.
|
||||
|
||||
<p />The following APIs expose this functionality:
|
||||
|
||||
<a name="api:mono_config_parse"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_config_parse</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_config_parse (const char *filename)
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>filename:</i></dt><dd> the filename to load the configuration variables from.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Pass a NULL filename to parse the default config files
|
||||
(or the file in the MONO_CONFIG env var).
|
||||
|
||||
</div> <a name="api:mono_config_parse_memory"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_config_parse_memory</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_config_parse_memory (const char *buffer)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>buffer:</i></dt><dd> a pointer to an string XML representation of the configuration</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Parses the configuration from a buffer
|
||||
|
||||
</div> <a name="api:mono_get_config_dir"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_config_dir</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_config_dir</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Function Pointers</h3>
|
||||
|
||||
<p />To wrap a function pointer into something that the Mono
|
||||
runtime can consume, you should use the mono_create_ftnptr.
|
||||
This is only important if you plan on running on the IA64
|
||||
architecture. Otherwise you can just use the function
|
||||
pointer address.
|
||||
|
||||
<a name="api:mono_create_ftnptr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_create_ftnptr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_create_ftnptr</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Advanced Execution Setups</h3>
|
||||
|
||||
<p />These are not recommended ways of initializing Mono, they
|
||||
are done internally by mono_jit_init, but are here to explain
|
||||
what happens internally.
|
||||
|
||||
<a name="api:mono_runtime_exec_managed_code"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_exec_managed_code</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_runtime_exec_managed_code (MonoDomain *domain,
|
||||
MonoMainThreadFunc main_func,
|
||||
gpointer main_args)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> Application domain</dd><dt><i>main_func:</i></dt><dd> function to invoke from the execution thread</dd><dt><i>main_args:</i></dt><dd> parameter to the main_func</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Launch a new thread to execute a function
|
||||
|
||||
main_func is called back from the thread with main_args as the
|
||||
parameter. The callback function is expected to start Main()
|
||||
eventually. This function then waits for all managed threads to
|
||||
finish.
|
||||
It is not necesseray 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> <a name="api:mono_runtime_exec_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_exec_main</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_runtime_exec_main</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_init_from_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_init_from_assembly</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_init_from_assembly (const char *domain_name, const char *filename)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain_name:</i></dt><dd> name to give to the initial domain</dd><dt><i>filename:</i></dt><dd> filename to load on startup</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the initial domain.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Used by the runtime, users should use mono_jit_init instead.
|
||||
|
||||
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)
|
||||
|
||||
|
||||
</div> <a name="api:mono_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_init</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_init (const char *domain_name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the initial domain.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <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 default runtime version.
|
||||
|
||||
|
||||
</div></a></body>
|
||||
</html>
|
||||
</span>
|
694
docs/deploy/mono-api-exc.html
Normal file
694
docs/deploy/mono-api-exc.html
Normal file
@ -0,0 +1,694 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-exc.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Exception Handling</h2>
|
||||
|
||||
<div class="header">
|
||||
void <a href="#api:mono_raise_exception">mono_raise_exception</a> (MonoException *ex) ;
|
||||
void <a href="#api:mono_unhandled_exception">mono_unhandled_exception</a> (MonoObject *exc);
|
||||
void <a href="#api:mono_print_unhandled_exception">mono_print_unhandled_exception</a> (MonoObject *exc);
|
||||
MonoException* <a href="#api:mono_exception_from_name_domain">mono_exception_from_name_domain</a> (MonoDomain *domain,
|
||||
MonoImage *image,
|
||||
;
|
||||
MonoException* <a href="#api:mono_exception_from_name">mono_exception_from_name</a> (MonoImage *image,
|
||||
const char *name_space;
|
||||
MonoException* <a href="#api:mono_exception_from_name_msg">mono_exception_from_name_msg</a> (MonoImage *image,
|
||||
const char *name_space;
|
||||
MonoException* <a href="#api:mono_exception_from_name_two_strings">mono_exception_from_name_two_strings</a> (MonoImage *image,
|
||||
const char *name_space;
|
||||
MonoException* <a href="#api:mono_get_exception_appdomain_unloaded">mono_get_exception_appdomain_unloaded</a> (void);
|
||||
MonoException* <a href="#api:mono_get_exception_argument">mono_get_exception_argument</a> (const char *arg,
|
||||
const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_argument_null">mono_get_exception_argument_null</a> (const char *arg);
|
||||
MonoException* <a href="#api:mono_get_exception_argument_out_of_range">mono_get_exception_argument_out_of_range</a> (const char *arg);
|
||||
MonoException* <a href="#api:mono_get_exception_arithmetic">mono_get_exception_arithmetic</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_array_type_mismatch">mono_get_exception_array_type_mismatch</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_bad_image_format">mono_get_exception_bad_image_format</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_cannot_unload_appdomain">mono_get_exception_cannot_unload_appdomain</a> (const char *msg);
|
||||
<a href="#api:mono_get_exception_class"></a>
|
||||
MonoException* <a href="#api:mono_get_exception_divide_by_zero">mono_get_exception_divide_by_zero</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_execution_engine">mono_get_exception_execution_engine</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_file_not_found2">mono_get_exception_file_not_found2</a> (const char *msg,
|
||||
MonoString *fname);
|
||||
MonoException* <a href="#api:mono_get_exception_file_not_found">mono_get_exception_file_not_found</a> (MonoString *fname);
|
||||
MonoException* <a href="#api:mono_get_exception_index_out_of_range">mono_get_exception_index_out_of_range</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_invalid_cast">mono_get_exception_invalid_cast</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_io">mono_get_exception_io</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_missing_method">mono_get_exception_missing_method</a> (const char *class_name,
|
||||
const char *member_name);
|
||||
MonoException* <a href="#api:mono_get_exception_not_implemented">mono_get_exception_not_implemented</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_null_reference">mono_get_exception_null_reference</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_overflow">mono_get_exception_overflow</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_security">mono_get_exception_security</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_serialization">mono_get_exception_serialization</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_stack_overflow">mono_get_exception_stack_overflow</a> (void);
|
||||
MonoException* <a href="#api:mono_get_exception_synchronization_lock">mono_get_exception_synchronization_lock</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_thread_abort">mono_get_exception_thread_abort</a> ();
|
||||
MonoException* <a href="#api:mono_get_exception_thread_state">mono_get_exception_thread_state</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_type_initialization">mono_get_exception_type_initialization</a> (const gchar *type_name,
|
||||
MonoException *inner);
|
||||
MonoException* <a href="#api:mono_get_exception_type_load">mono_get_exception_type_load</a> (MonoString *class_name,
|
||||
char *assembly_name);
|
||||
MonoException* <a href="#api:mono_get_exception_invalid_operation">mono_get_exception_invalid_operation</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_missing_field">mono_get_exception_missing_field</a> (const char *class_name,
|
||||
const char *member_name);
|
||||
MonoException* <a href="#api:mono_get_exception_not_supported">mono_get_exception_not_supported</a> (const char *msg);
|
||||
MonoException* <a href="#api:mono_get_exception_reflection_type_load">mono_get_exception_reflection_type_load</a> (MonoArray *types,
|
||||
MonoArray *exceptions);
|
||||
|
||||
</div>
|
||||
|
||||
<h3>Raising and Catching exceptions</h3>
|
||||
|
||||
<a name="api:mono_raise_exception"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_raise_exception</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_raise_exception (MonoException *ex)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>ex:</i></dt><dd> exception object</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Signal the runtime that the exception <i>ex</i> has been raised in unmanaged code.
|
||||
|
||||
</div> <a name="api:mono_unhandled_exception"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_unhandled_exception</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_unhandled_exception (MonoObject *exc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>exc:</i></dt><dd> exception thrown</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This is a VM internal routine.
|
||||
|
||||
We call this function when we detect an unhandled exception
|
||||
in the default domain.
|
||||
|
||||
It invokes the * UnhandledException event in AppDomain or prints
|
||||
a warning to the console
|
||||
|
||||
</div> <a name="api:mono_print_unhandled_exception"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_print_unhandled_exception</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_print_unhandled_exception (MonoObject *exc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>exc:</i></dt><dd> The exception</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Prints the unhandled exception.
|
||||
|
||||
|
||||
|
||||
</div><h3>Exception Types: General API</h3>
|
||||
|
||||
<a name="api:mono_exception_from_name_domain"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_exception_from_name_domain</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_exception_from_name_domain (MonoDomain *domain, MonoImage *image,
|
||||
const char* name_space, const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> Domain where the return object will be created.</dd><dt><i>image:</i></dt><dd> the Mono image where to look for the class</dd><dt><i>name_space:</i></dt><dd> the namespace for the class</dd><dt><i>name:</i></dt><dd> class name</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the initialized exception instance.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates an exception object of the given namespace/name class on
|
||||
the given domain.
|
||||
|
||||
|
||||
</div> <a name="api:mono_exception_from_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_exception_from_name</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_exception_from_name (MonoImage *image, const char *name_space,
|
||||
const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the Mono image where to look for the class</dd><dt><i>name_space:</i></dt><dd> the namespace for the class</dd><dt><i>name:</i></dt><dd> class name</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the initialized exception instance.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates an exception of the given namespace/name class in the
|
||||
current domain.
|
||||
|
||||
|
||||
</div> <a name="api:mono_exception_from_name_msg"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_exception_from_name_msg</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_exception_from_name_msg (MonoImage *image, const char *name_space,
|
||||
const char *name, const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the Mono image where to look for the class</dd><dt><i>name_space:</i></dt><dd> the namespace for the class</dd><dt><i>name:</i></dt><dd> class name</dd><dt><i>msg:</i></dt><dd> the message to embed inside the exception</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the initialized exception instance.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates an exception and initializes its message field.
|
||||
|
||||
|
||||
</div> <a name="api:mono_exception_from_name_two_strings"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_exception_from_name_two_strings</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_exception_from_name_two_strings (MonoImage *image, const char *name_space,
|
||||
const char *name, MonoString *a1, MonoString *a2)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the Mono image where to look for the class</dd><dt><i>name_space:</i></dt><dd> the namespace for the class</dd><dt><i>name:</i></dt><dd> class name</dd><dt><i>a1:</i></dt><dd> first string argument to pass</dd><dt><i>a2:</i></dt><dd> second string argument to pass</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the initialized exception instance.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates an exception from a constructor that takes two string
|
||||
arguments.
|
||||
|
||||
|
||||
|
||||
</div><h3>Obtaining Common Exceptions</h3>
|
||||
|
||||
<p />There are a number of common exceptions that are used by
|
||||
the runtime, use the routines in this section to get a copy of
|
||||
those exceptions.
|
||||
|
||||
<a name="api:mono_get_exception_appdomain_unloaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_appdomain_unloaded</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_appdomain_unloaded (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.AppDomainUnloadedException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_argument"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_argument</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_argument (const char *arg, const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>arg:</i></dt><dd> the name of the invalid argument.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.ArgumentException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_argument_null"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_argument_null</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_argument_null (const char *arg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>arg:</i></dt><dd> the name of the argument that is null</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.ArgumentNullException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_argument_out_of_range"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_argument_out_of_range</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_argument_out_of_range (const char *arg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>arg:</i></dt><dd> the name of the out of range argument.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.ArgumentOutOfRangeException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_arithmetic"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_arithmetic</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_arithmetic ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.ArithmeticException.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_array_type_mismatch"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_array_type_mismatch</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_array_type_mismatch ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.ArrayTypeMismatchException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_bad_image_format"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_bad_image_format</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_bad_image_format (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> an informative message for the user.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.BadImageFormatException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_cannot_unload_appdomain"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_cannot_unload_appdomain</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_cannot_unload_appdomain (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>inner:</i></dt><dd> the inner exception.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.CannotUnloadAppDomainException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_exception_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_exception_divide_by_zero"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_divide_by_zero</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_divide_by_zero ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.DivideByZeroException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_execution_engine"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_execution_engine</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_execution_engine (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to pass to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.ExecutionEngineException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_file_not_found2"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_file_not_found2</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_file_not_found2 (const char *msg, MonoString *fname)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> an informative message for the user.</dd><dt><i>fname:</i></dt><dd> the name of the file not found.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.IO.FileNotFoundException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_file_not_found"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_file_not_found</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_file_not_found (MonoString *fname)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>fname:</i></dt><dd> the name of the file not found.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.IO.FileNotFoundException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_index_out_of_range"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_index_out_of_range</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_index_out_of_range ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.IndexOutOfRangeException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_invalid_cast"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_invalid_cast</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_invalid_cast ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.InvalidCastException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_io"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_io</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_io (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to present to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.IO.IOException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_missing_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_missing_method</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_missing_method (const char *class_name, const char *member_name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>class_name:</i></dt><dd> the class where the lookup was performed.</dd><dt><i>member_name:</i></dt><dd> the name of the missing method.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.MissingMethodException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_not_implemented"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_not_implemented</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_not_implemented (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to pass to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.NotImplementedException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_null_reference"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_null_reference</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_null_reference ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.NullReferenceException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_overflow"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_overflow</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_overflow ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.OverflowException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_security"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_security</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_security ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.Security.SecurityException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_serialization"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_serialization</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_serialization (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to pass to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.Runtime.Serialization.SerializationException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_stack_overflow"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_stack_overflow</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_stack_overflow (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.StackOverflowException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_synchronization_lock"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_synchronization_lock</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_synchronization_lock (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>inner:</i></dt><dd> the inner exception.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.SynchronizationLockException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_thread_abort"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_thread_abort</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_thread_abort ()
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.Threading.ThreadAbortException.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_thread_state"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_thread_state</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_thread_state (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to present to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.Threading.ThreadStateException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_type_initialization"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_type_initialization</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_type_initialization (const gchar *type_name, MonoException *inner)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type_name:</i></dt><dd> the name of the type that failed to initialize.</dd><dt><i>inner:</i></dt><dd> the inner exception.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.TypeInitializationException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_type_load"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_type_load</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_type_load (MonoString *class_name, char *assembly_name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>class_name:</i></dt><dd> the name of the class that could not be loaded</dd><dt><i>assembly_name:</i></dt><dd> the assembly where the class was looked up.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.TypeLoadException.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_invalid_operation"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_invalid_operation</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_invalid_operation (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to pass to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.InvalidOperationException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_missing_field"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_missing_field</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_missing_field (const char *class_name, const char *member_name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>class_name:</i></dt><dd> the class where the lookup was performed</dd><dt><i>member_name:</i></dt><dd> the name of the missing method.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.MissingFieldException
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_exception_not_supported"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_exception_not_supported</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_get_exception_not_supported (const char *msg)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>msg:</i></dt><dd> the message to pass to the user</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a new instance of the System.NotSupportedException
|
||||
</blockquote>
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
119
docs/deploy/mono-api-gc.html
Normal file
119
docs/deploy/mono-api-gc.html
Normal file
@ -0,0 +1,119 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-gc.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Garbage Collector Interface</h1>
|
||||
|
||||
<h1>Public Interface</h1>
|
||||
|
||||
<p />The public interface of the Mono GC is fairly limited, and
|
||||
its the only one that embedders should be using:
|
||||
|
||||
<a name="api:mono_gc_collect"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_collect</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_gc_collect (int generation)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>generation:</i></dt><dd> GC generation identifier</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<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
|
||||
mono_gc_max_generation(), so this function is usually called as:
|
||||
|
||||
mono_gc_collect (mono_gc_max_generation ());
|
||||
|
||||
</div> <a name="api:mono_gc_max_generation"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_max_generation</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_gc_max_generation (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the maximum generation number.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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.
|
||||
|
||||
|
||||
</div> <a name="api:mono_gc_get_heap_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_get_heap_size</div>
|
||||
|
||||
<div class="prototype">int64_t
|
||||
mono_gc_get_heap_size (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the size of the heap in bytes
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Get the amount of memory used by the garbage collector.
|
||||
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
228
docs/deploy/mono-api-gchandle.html
Normal file
228
docs/deploy/mono-api-gchandle.html
Normal file
@ -0,0 +1,228 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-gchandle.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>GC Handles</h1>
|
||||
|
||||
<h3>Synopsys</h3>
|
||||
|
||||
<div class="header">
|
||||
guint32 <a href="#api:mono_gchandle_new">mono_gchandle_new</a> (MonoObject *obj,
|
||||
gboolean pinned);
|
||||
guint32 <a href="#api:mono_gchandle_new_weakref">mono_gchandle_new_weakref</a> (MonoObject *obj,
|
||||
gboolean track_resurrection);
|
||||
MonoObject* <a href="#api:mono_gchandle_get_target">mono_gchandle_get_target</a> (guint32 gchandle);
|
||||
void <a href="#api:mono_gchandle_free">mono_gchandle_free</a> (guint32 gchandle);
|
||||
|
||||
</div>
|
||||
|
||||
<p />GC handles are wrappers that are used to keep references to
|
||||
managed objects in the unmanaged space and preventing the
|
||||
object from being disposed.
|
||||
|
||||
<p />These are the C equivalents of the <tt>System.GCHandle</tt>
|
||||
structure.
|
||||
|
||||
<p />There are two kinds of GCHandles that can be created:
|
||||
|
||||
<ul>
|
||||
<li>Handles to objects (use <tt><a href="#api:mono_gchandle_new">mono_gchandle_new</a></tt>).
|
||||
|
||||
<li>Weak handles to objects (use <tt><a href="#api:mono_gchandle_new_weakref">mono_gchandle_new_weakref</a></tt>).
|
||||
Weak handles can have the objects reclaimed by the
|
||||
garbage collector.
|
||||
|
||||
</li></li></ul>
|
||||
|
||||
<p />To retrieve the target address of an object pointed to by a
|
||||
<tt>GCHandle</tt> you should use
|
||||
<tt>mono_gchandle_get_target</tt>.
|
||||
|
||||
<p />For example, consider the following C code:
|
||||
<div class="code">
|
||||
static MonoObject* o = NULL;
|
||||
</div>
|
||||
|
||||
<p />The object in `o' will *NOT* be scanned.
|
||||
|
||||
<p />If you need to store an object in a C variable and prevent
|
||||
it from being collected, you need to acquire a GC handle for
|
||||
it.
|
||||
|
||||
<div class="code">
|
||||
guint32 handle = mono_gchandle_new (my_object, TRUE);
|
||||
</div>
|
||||
|
||||
<p />TRUE means the object will be pinned, so it won't move in
|
||||
memory when we'll use a moving GC. You can access the
|
||||
MonoObject* referenced by a handle with:
|
||||
|
||||
<div class="code">
|
||||
MonoObject* obj = mono_gchandle_get_target (handle);
|
||||
</div>
|
||||
|
||||
<p />When you don't need the handle anymore you need to call:
|
||||
|
||||
<div class="code">
|
||||
mono_gchandle_free (handle);
|
||||
</div>
|
||||
|
||||
<p />Note that if you assign a new object to the C var, you need
|
||||
to get a new handle, it's not enough to store a new object in
|
||||
the C var.
|
||||
|
||||
<p />So code that looked like this:
|
||||
|
||||
<div class="code">
|
||||
static MonoObject* o = NULL;
|
||||
...
|
||||
o = mono_object_new (...);
|
||||
/* use o */
|
||||
...
|
||||
/* when done to allow the GC to collect o */
|
||||
o = NULL;
|
||||
</div>
|
||||
|
||||
<p />should now be changed to:
|
||||
|
||||
<div class="code">
|
||||
static guint32 o_handle;
|
||||
...
|
||||
MonoObject *o = mono_object_new (...);
|
||||
o_handle = mono_gchandle_new (o, TRUE);
|
||||
/* use o or mono_gchandle_get_target (o_handle) */
|
||||
...
|
||||
/* when done to allow the GC to collect o */
|
||||
mono_gchandle_free (o_handle);
|
||||
</div>
|
||||
|
||||
<a name="api:mono_gchandle_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gchandle_new</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_gchandle_new (MonoObject *obj, gboolean pinned)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>obj:</i></dt><dd> managed object to get a handle for</dd><dt><i>pinned:</i></dt><dd> whether the object should be pinned</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a handle that can be used to access the object from
|
||||
|
||||
unmanaged code.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
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> <a name="api:mono_gchandle_new_weakref"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gchandle_new_weakref</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_gchandle_new_weakref (MonoObject *obj, gboolean track_resurrection)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>obj:</i></dt><dd> managed object to get a handle for</dd><dt><i>pinned:</i></dt><dd> whether the object should be pinned</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a handle that can be used to access the object from
|
||||
|
||||
unmanaged code.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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 mono_gchandle_new 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>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> <a name="api:mono_gchandle_get_target"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gchandle_get_target</div>
|
||||
|
||||
<div class="prototype">MonoObject*
|
||||
mono_gchandle_get_target (guint32 gchandle)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>gchandle:</i></dt><dd> a GCHandle's handle.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
The handle was previously created by calling mono_gchandle_new or
|
||||
mono_gchandle_new_weakref.
|
||||
|
||||
Returns a pointer to the MonoObject represented by the handle or
|
||||
NULL for a collected object if using a weakref handle.
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
517
docs/deploy/mono-api-image.html
Normal file
517
docs/deploy/mono-api-image.html
Normal file
@ -0,0 +1,517 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-image.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Image Manipulation</h2>
|
||||
|
||||
<p />Images are the component of assemblies that actually hold
|
||||
the CIL code and <a href="mono-api-metadata.html">metadata</a>
|
||||
in the extended PE/COFF file.
|
||||
|
||||
<h3>Synopsis</h3>
|
||||
|
||||
<div class="header">
|
||||
#include <metadata/image.h>
|
||||
|
||||
typedef struct _MonoImage MonoImage;
|
||||
typedef enum {
|
||||
MONO_IMAGE_OK,
|
||||
MONO_IMAGE_ERROR_ERRNO,
|
||||
MONO_IMAGE_MISSING_ASSEMBLYREF,
|
||||
MONO_IMAGE_IMAGE_INVALID
|
||||
} MonoImageOpenStatus;
|
||||
|
||||
MonoImage* <a href="#api:mono_image_open">mono_image_open</a> (const char *fname,
|
||||
MonoImageOpenStatus *status);
|
||||
<a href="#api:mono_image_open_full"></a>
|
||||
<a href="#api:mono_image_open_from_data"></a>
|
||||
<a href="#api:mono_image_open_from_data_full"></a>
|
||||
void <a href="#api:mono_image_close">mono_image_close</a> (MonoImage *image);
|
||||
void <a href="#api:mono_image_addref">mono_image_addref</a> (MonoImage *image);
|
||||
<a href="#api:mono_image_load_file_for_image"></a>
|
||||
<a href="#api:mono_image_get_guid"></a>
|
||||
MonoAssembly* <a href="#api:mono_image_get_assembly">mono_image_get_assembly</a> (MonoImage *image);
|
||||
guint32 <a href="#api:mono_image_get_entry_point">mono_image_get_entry_point</a> (MonoImage *image);
|
||||
const char* <a href="#api:mono_image_get_filename">mono_image_get_filename</a> (MonoImage *image);
|
||||
const char* <a href="#api:mono_image_get_name">mono_image_get_name</a> (MonoImage *image);
|
||||
const char* <a href="#api:mono_image_get_resource">mono_image_get_resource</a> (MonoImage *image,
|
||||
guint32 offset,
|
||||
guint32 *size);
|
||||
<a href="#api:mono_image_get_table_info"></a>
|
||||
<a href="#api:mono_image_get_table_rows"></a>
|
||||
gboolean <a href="#api:mono_image_is_dynamic">mono_image_is_dynamic</a> (MonoImage *image);
|
||||
<a href="#api:mono_image_loaded_by_guid"></a>
|
||||
MonoImage* <a href="#api:mono_image_loaded">mono_image_loaded</a> (const char *name);
|
||||
gpointer <a href="#api:mono_image_lookup_resource">mono_image_lookup_resource</a> (MonoImage *image,
|
||||
guint32 res_id,
|
||||
guint32 lang_id,
|
||||
gunichar2 *name);
|
||||
const char * <a href="#api:mono_image_strerror">mono_image_strerror</a> (MonoImageOpenStatus status);
|
||||
guint32 <a href="#api:mono_image_strong_name_position">mono_image_strong_name_position</a> (MonoImage *image,
|
||||
guint32 *size);
|
||||
const char* <a href="#api:mono_image_get_public_key">mono_image_get_public_key</a> (MonoImage *image,
|
||||
guint32 *size);
|
||||
const char* <a href="#api:mono_image_get_strong_name">mono_image_get_strong_name</a> (MonoImage *image,
|
||||
guint32 *size);
|
||||
gboolean <a href="#api:mono_image_has_authenticode_entry">mono_image_has_authenticode_entry</a> (MonoImage *image);
|
||||
<a href="#api:mono_image_rva_map"></a>
|
||||
int <a href="#api:mono_image_ensure_section_idx">mono_image_ensure_section_idx</a> (MonoImage *image,
|
||||
int section);
|
||||
int <a href="#api:mono_image_ensure_section">mono_image_ensure_section</a> (MonoImage *image,
|
||||
const char *section);
|
||||
|
||||
</div>
|
||||
|
||||
<h3>Image APIs</h3>
|
||||
|
||||
<p />Images are the actual elements in the runtime that contain
|
||||
the actual code being executed.
|
||||
|
||||
<a name="cil_image_open"></a>
|
||||
<h3>Opening and closing MonoImages</h3>
|
||||
|
||||
<a name="api:mono_image_open"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_open</div>
|
||||
|
||||
<div class="prototype">MonoImage*
|
||||
mono_image_open (const char *fname, MonoImageOpenStatus *status)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>fname:</i></dt><dd> filename that points to the module we want to open</dd><dt><i>status:</i></dt><dd> An error condition is returned in this field</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> An open image of type %MonoImage or NULL on error.
|
||||
|
||||
The caller holds a temporary reference to the returned image which should be cleared
|
||||
when no longer needed by calling mono_image_close ().
|
||||
if NULL, then check the value of <i>status</i> for details on the error</blockquote>
|
||||
|
||||
</div> <a name="api:mono_image_open_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_open_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_open_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_open_from_data"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_open_from_data</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_open_from_data</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_open_from_data_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_open_from_data_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_open_from_data_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_close"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_close</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_image_close (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> The image file we wish to close</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Closes an image file, deallocates all memory consumed and
|
||||
unmaps all possible sections of the file
|
||||
|
||||
</div> <a name="api:mono_image_addref"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_addref</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_image_addref (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> The image file we wish to add a reference to</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Increases the reference count of an image.
|
||||
|
||||
</div> <a name="api:mono_image_load_file_for_image"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_load_file_for_image</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_load_file_for_image</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Image Information</h3>
|
||||
|
||||
<a name="api:mono_image_get_guid"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_guid</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_get_guid</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_get_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_assembly</div>
|
||||
|
||||
<div class="prototype">MonoAssembly*
|
||||
mono_image_get_assembly (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the MonoImage.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the assembly that holds this image.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Use this routine to get the assembly that owns this image.
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_get_entry_point"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_entry_point</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_image_get_entry_point (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the image where the entry point will be looked up.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the token for the entry point method in the image
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Use this routine to determine the metadata token for method that
|
||||
has been flagged as the entry point.
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_get_filename"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_filename</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_image_get_filename (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> a MonoImage</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the filename.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Used to get the filename that hold the actual MonoImage
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_get_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_name</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_image_get_name (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>name:</i></dt><dd> a MonoImage</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the name of the assembly.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_image_get_resource"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_resource</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_image_get_resource (MonoImage *image, guint32 offset, guint32 *size)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the image where the resource will be looked up.</dd><dt><i>offset:</i></dt><dd> The offset to add to the resource</dd><dt><i>size:</i></dt><dd> a pointer to an int where the size of the resource will be stored</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the pointer to the resource whose offset is <i>offset</i>.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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.
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_get_table_info"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_table_info</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_get_table_info</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_get_table_rows"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_table_rows</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_get_table_rows</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_is_dynamic"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_is_dynamic</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_image_is_dynamic (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the MonoImage</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> TRUE if the image was created dynamically, FALSE if not.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Determines if the given image was created dynamically through the
|
||||
System.Reflection.Emit API
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_loaded_by_guid"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_loaded_by_guid</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_loaded_by_guid</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_loaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_loaded</div>
|
||||
|
||||
<div class="prototype">MonoImage*
|
||||
mono_image_loaded (const char *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>name:</i></dt><dd> name of the image to load</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the loaded MonoImage, or NULL on failure.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine ensures that the given image is loaded.
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_lookup_resource"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_lookup_resource</div>
|
||||
|
||||
<div class="prototype">gpointer
|
||||
mono_image_lookup_resource (MonoImage *image, guint32 res_id, guint32 lang_id, gunichar2 *name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the image to look up the resource in</dd><dt><i>res_id:</i></dt><dd> A MONO_PE_RESOURCE_ID_ that represents the resource ID to lookup.</dd><dt><i>lang_id:</i></dt><dd> The language id.</dd><dt><i>name:</i></dt><dd> the resource name to lookup.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> NULL if not found, otherwise a pointer to the in-memory representation
|
||||
|
||||
of the given resource. The caller should free it using g_free () when no longer
|
||||
needed.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_image_strerror"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_strerror</div>
|
||||
|
||||
<div class="prototype">const char *
|
||||
mono_image_strerror (MonoImageOpenStatus status)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>status:</i></dt><dd> an code indicating the result from a recent operation</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a string describing the error
|
||||
</blockquote>
|
||||
|
||||
|
||||
</div><h3>Public Keys, Strong Names and Certificates</h3>
|
||||
|
||||
<a name="api:mono_image_strong_name_position"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_strong_name_position</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_image_strong_name_position (MonoImage *image, guint32 *size)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> a MonoImage</dd><dt><i>size:</i></dt><dd> a guint32 pointer, or NULL.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the position within the image file where the strong name
|
||||
|
||||
is stored.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
If the image has a strong name, and <i>size</i> is not NULL, the value
|
||||
pointed to by size will have the size of the strong name.
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_get_public_key"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_public_key</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_image_get_public_key (MonoImage *image, guint32 *size)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> a MonoImage</dd><dt><i>size:</i></dt><dd> a guint32 pointer, or NULL.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> NULL if the image does not have a public key, or a pointer
|
||||
|
||||
to the public key.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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 NULL, the value
|
||||
pointed to by size will have the size of the public key.
|
||||
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_get_strong_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_get_strong_name</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_image_get_strong_name (MonoImage *image, guint32 *size)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> a MonoImage</dd><dt><i>size:</i></dt><dd> a guint32 pointer, or NULL.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> NULL if the image does not have a strong name, or a
|
||||
|
||||
pointer to the public key.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
If the image has a strong name, and <i>size</i> is not NULL, the value
|
||||
pointed to by size will have the size of the strong name.
|
||||
|
||||
|
||||
</div> <a name="api:mono_image_has_authenticode_entry"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_has_authenticode_entry</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_image_has_authenticode_entry (MonoImage *image)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> the MonoImage</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> TRUE if the image contains an authenticode entry in the PE
|
||||
|
||||
directory.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Use this routine to determine if the image has a Authenticode
|
||||
Certificate Table.
|
||||
|
||||
|
||||
|
||||
</div><h3>Low-level features</h3>
|
||||
|
||||
<a name="api:mono_image_rva_map"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_rva_map</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_image_rva_map</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_image_ensure_section_idx"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_image_ensure_section_idx</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_image_ensure_section_idx (MonoImage *image, int section)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>image:</i></dt><dd> The image we are operating on</dd><dt><i>section:</i></dt><dd> section number that we will load/map into memory</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> TRUE on success
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This routine makes sure that we have an in-memory copy of
|
||||
an image section (.text, .rsrc, .data).
|
||||
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
587
docs/deploy/mono-api-internal.html
Normal file
587
docs/deploy/mono-api-internal.html
Normal file
@ -0,0 +1,587 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-internal.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Mono Internals</h1>
|
||||
|
||||
<p />This section documents some of the internal APIs used
|
||||
inside Mono that developers extending or altering Mono might
|
||||
want to use.
|
||||
|
||||
<h2>Marshalling functions</h2>
|
||||
|
||||
<a name="api:mono_marshal_alloc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_alloc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_alloc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_asany"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_asany</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_asany</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_free_array"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_free_array</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_free_array</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_free_asany"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_free_asany</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_free_asany</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_free</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_free</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_castclass"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_castclass</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_castclass</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_delegate_begin_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_delegate_begin_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_delegate_begin_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_delegate_end_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_delegate_end_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_delegate_end_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_delegate_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_delegate_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_delegate_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_icall_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_icall_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_icall_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_isinst"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_isinst</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_isinst</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_ldfld_remote_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_ldfld_remote_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_ldfld_remote_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_ldfld_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_ldfld_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_ldfld_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_managed_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_managed_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_managed_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_native_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_native_wrapper</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_marshal_get_native_wrapper (MonoMethod *method, gboolean check_exceptions, gboolean aot)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>method:</i></dt><dd> The MonoMethod to wrap.</dd><dt><i>check_exceptions:</i></dt><dd> Whenever to check for pending exceptions</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
generates IL code for the pinvoke wrapper (the generated method
|
||||
calls the unmanaged code in piinfo->addr)
|
||||
The wrapper info for the wrapper is a WrapperInfo structure.
|
||||
|
||||
</div> <a name="api:mono_marshal_get_proxy_cancast"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_proxy_cancast</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_proxy_cancast</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_ptr_to_struct"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_ptr_to_struct</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_marshal_get_ptr_to_struct (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd></dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
generates IL code for PtrToStructure (IntPtr src, object structure)
|
||||
The wrapper info for the wrapper is a WrapperInfo structure.
|
||||
|
||||
</div> <a name="api:mono_marshal_get_remoting_invoke_for_target"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_remoting_invoke_for_target</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_remoting_invoke_for_target</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_remoting_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_remoting_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_remoting_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_remoting_invoke_with_check"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_remoting_invoke_with_check</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_remoting_invoke_with_check</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_runtime_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_runtime_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_runtime_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_stelemref"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_stelemref</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_stelemref</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_stfld_remote_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_stfld_remote_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_stfld_remote_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_stfld_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_stfld_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_stfld_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_struct_to_ptr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_struct_to_ptr</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_marshal_get_struct_to_ptr (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd></dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
generates IL code for StructureToPtr (object structure, IntPtr ptr, bool fDeleteOld)
|
||||
The wrapper info for the wrapper is a WrapperInfo structure.
|
||||
|
||||
</div> <a name="api:mono_marshal_get_synchronized_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_synchronized_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_synchronized_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_unbox_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_unbox_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_unbox_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_get_xappdomain_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_get_xappdomain_invoke</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_get_xappdomain_invoke</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_load_type_info"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_load_type_info</div>
|
||||
|
||||
<div class="prototype">MonoMarshalType*
|
||||
mono_marshal_load_type_info (MonoClass* klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Initialize klass->marshal_info using information from metadata. This function can
|
||||
recursively call itself, and the caller is responsible to avoid that by calling
|
||||
mono_marshal_is_loading_type_info () beforehand.
|
||||
|
||||
LOCKING: Acquires the loader lock.
|
||||
|
||||
</div> <a name="api:mono_marshal_method_from_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_method_from_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_method_from_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_realloc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_realloc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_realloc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_marshal_set_last_error"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_set_last_error</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_marshal_set_last_error (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This function is invoked to set the last error value from a P/Invoke call
|
||||
which has SetLastError set.
|
||||
|
||||
</div> <a name="api:mono_marshal_type_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_marshal_type_size</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_marshal_type_size</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h2>Metadata Loading Errors</h2>
|
||||
|
||||
<p />The routines in this section are used to cope with errors
|
||||
during metadata loading. Errors in metadata handling can
|
||||
happen for many reason, and these include (this is not an
|
||||
exhaustive list).
|
||||
|
||||
<ul>
|
||||
<li>An assembly referenced is missing.
|
||||
<li>Fields referenced are missing.
|
||||
<li>Methods referenced are missing.
|
||||
</li></li></li></ul>
|
||||
|
||||
<p />The <tt>mono_loader_set_*</tt> routines are invoked during
|
||||
metadata loading to flag that an error has happened. The
|
||||
class loading errros are flagged in a per-thread basis.
|
||||
|
||||
<p />In various spots in the runtime the
|
||||
<tt>mono_loader_get_last_error</tt> routine is called to check
|
||||
if there was a problem, and then errors are propagated upwards
|
||||
on the stack until we reach a point where an exception can be
|
||||
raised and no runtime locks are held.
|
||||
|
||||
<p />The <tt>mono_loader_error_prepare_exception</tt> takes a
|
||||
<tt>MonoLoaderError</tt> structure (the value returned from
|
||||
<tt>mono_loader_get_last_error</tt>), turns that into an
|
||||
exception and clears the error condition from the current
|
||||
thread.
|
||||
|
||||
<a name="api:mono_loader_set_error_field_load"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_set_error_field_load</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_loader_set_error_field_load</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_loader_set_error_method_load"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_set_error_method_load</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_loader_set_error_method_load</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_loader_set_error_type_load"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_set_error_type_load</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_loader_set_error_type_load (const char *class_name, const char *assembly_name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Set the loader error for this thread.
|
||||
|
||||
|
||||
</div> <a name="api:mono_loader_get_last_error"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_get_last_error</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_loader_get_last_error</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_loader_clear_error"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_clear_error</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_loader_clear_error (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Disposes any loader error messages on this thread
|
||||
|
||||
</div> <a name="api:mono_loader_error_prepare_exception"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_error_prepare_exception</div>
|
||||
|
||||
<div class="prototype">MonoException*
|
||||
mono_loader_error_prepare_exception (MonoLoaderError *error)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>error:</i></dt><dd> The MonoLoaderError to turn into an exception</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This turns a MonoLoaderError into an exception that can be thrown
|
||||
and resets the Mono Loader Error state during this process.
|
||||
|
||||
|
||||
|
||||
</div><h2>Metadata Loader Locking: Internals</h2>
|
||||
|
||||
<p />The locking functions here are used by code in class.c and
|
||||
metadata.c to lock access to the shared hashtables inside the
|
||||
MonoImage.
|
||||
|
||||
<a name="api:mono_loader_lock"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_lock</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_loader_lock (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
See docs/thread-safety.txt for the locking strategy.
|
||||
|
||||
</div> <a name="api:mono_loader_unlock"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_loader_unlock</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_loader_unlock</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h2>Garbage Collector Internal Interface</h2>
|
||||
|
||||
<p />The internal interface of the Mono GC is the interface used
|
||||
between the runtime engine and the garbage collector.
|
||||
|
||||
<a name="api:mono_gc_disable"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_disable</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_disable</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_enable"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_enable</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_enable</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_is_finalizer_thread"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_is_finalizer_thread</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_gc_is_finalizer_thread (MonoThread *thread)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>thread:</i></dt><dd> the thread to test.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
In Mono objects are finalized asynchronously on a separate thread.
|
||||
This routine tests whether the <i>thread</i> argument represents the
|
||||
finalization thread.
|
||||
|
||||
<p />
|
||||
Returns true if <i>thread</i> is the finalization thread.
|
||||
|
||||
</div> <a name="api:mono_gc_out_of_memory"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_out_of_memory</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_out_of_memory</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_start_world"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_start_world</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_start_world</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_stop_world"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_stop_world</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_stop_world</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_alloc_fixed"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_alloc_fixed</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_alloc_fixed</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_enable_events"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_enable_events</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_enable_events</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_free_fixed"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_free_fixed</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_free_fixed</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_make_descr_from_bitmap"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_make_descr_from_bitmap</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_make_descr_from_bitmap</div>
|
||||
<p />
|
||||
|
||||
|
||||
|
||||
</div> <a name="api:mono_gc_base_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_base_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_base_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_invoke_finalizers"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_invoke_finalizers</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_invoke_finalizers</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_is_gc_thread"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_is_gc_thread</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_is_gc_thread</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_pending_finalizers"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_pending_finalizers</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_pending_finalizers</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_gc_register_thread"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_gc_register_thread</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_gc_register_thread</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
141
docs/deploy/mono-api-jit.html
Normal file
141
docs/deploy/mono-api-jit.html
Normal file
@ -0,0 +1,141 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-jit.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Synopsis</h2>
|
||||
|
||||
<div class="header">
|
||||
G_GNUC_UNUSED char * <a href="#api:mono_pmip">mono_pmip</a> (void *ip);
|
||||
void <a href="#api:mono_print_method_from_ip">mono_print_method_from_ip</a> (void *ip);
|
||||
<a href="#api:mono_print_thread_dump"></a>
|
||||
void <a href="#api:mono_threads_request_thread_dump">mono_threads_request_thread_dump</a> (void);
|
||||
<a href="#api:mono_inst_name"></a>
|
||||
|
||||
</div>
|
||||
|
||||
<h3>Useful Debugging Functions</h3>
|
||||
|
||||
<p />These functions are useful when running the Mono VM inside
|
||||
a debugger.
|
||||
|
||||
<a name="api:mono_pmip"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_pmip</div>
|
||||
|
||||
<div class="prototype">G_GNUC_UNUSED char *
|
||||
mono_pmip (void *ip)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>ip:</i></dt><dd> an instruction pointer address</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the name of the method at address <i>ip</i>.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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:
|
||||
|
||||
(gdb) print mono_pmip ($pc)
|
||||
|
||||
|
||||
</div> <a name="api:mono_print_method_from_ip"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_print_method_from_ip</div>
|
||||
|
||||
<div class="prototype">#ifdef __GNUC__
|
||||
/* Prevent the linker from optimizing this away in embedding setups to help debugging */
|
||||
__attribute__((used))
|
||||
#endif
|
||||
void
|
||||
mono_print_method_from_ip (void *ip)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>ip:</i></dt><dd> an instruction pointer address</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This method is used from a debugger to get the name of the
|
||||
method at address <i>ip</i>.
|
||||
|
||||
This prints the name of the method at address <i>ip</i> in the standard
|
||||
output. Unlike mono_pmip which returns a string, this routine
|
||||
prints the value on the standard output.
|
||||
|
||||
</div> <a name="api:mono_print_thread_dump"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_print_thread_dump</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_print_thread_dump</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_threads_request_thread_dump"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_threads_request_thread_dump</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_threads_request_thread_dump (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Ask all threads except the current to print their stacktrace to stdout.
|
||||
|
||||
|
||||
</div><h3>Helper Tools For Native Ports</h3>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</span>
|
247
docs/deploy/mono-api-jitinternal.html
Normal file
247
docs/deploy/mono-api-jitinternal.html
Normal file
@ -0,0 +1,247 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-jitinternal.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Notification Interface</h1>
|
||||
|
||||
<p />This is an internal profiler interface. In general, users
|
||||
would not be using this interface, but would be using the
|
||||
profiler interface.
|
||||
|
||||
<p />These methods must be called to notify the profiler of an
|
||||
event that must be recorded. Mono's JIT engine currently
|
||||
calls these routines, but if you are extending Mono in some
|
||||
way these are the methods that you might invoke to notify the
|
||||
profiler of an event.
|
||||
|
||||
<a name="api:mono_profiler_load"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_load</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_profiler_load (const char *desc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>desc:</i></dt><dd> arguments to configure the profiler</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Invoke this method to initialize the profiler. This will drive the
|
||||
loading of the internal ("default") or any external profilers.
|
||||
|
||||
This routine is invoked by Mono's driver, but must be called manually
|
||||
if you embed Mono into your application.
|
||||
|
||||
</div> <a name="api:mono_profiler_allocation"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_allocation</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_allocation</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_stat_hit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_stat_hit</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_stat_hit</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_thread_start"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_thread_start</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_thread_start</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_thread_end"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_thread_end</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_thread_end</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_appdomain_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_appdomain_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_appdomain_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_appdomain_loaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_appdomain_loaded</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_appdomain_loaded</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_assembly_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_assembly_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_assembly_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_assembly_loaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_assembly_loaded</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_assembly_loaded</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_class_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_class_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_class_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_class_loaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_class_loaded</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_class_loaded</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_code_transition"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_code_transition</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_code_transition</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_method_end_jit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_method_end_jit</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_method_end_jit</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_method_enter"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_method_enter</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_method_enter</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_method_jit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_method_jit</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_method_jit</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_method_leave"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_method_leave</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_method_leave</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_module_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_module_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_module_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_module_loaded"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_module_loaded</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_module_loaded</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_shutdown"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_shutdown</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_shutdown</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_startup"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_startup</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_startup</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_gc_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_gc_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_gc_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_gc_heap_resize"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_gc_heap_resize</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_gc_heap_resize</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_gc_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_gc_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_gc_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_gc_heap_resize"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_gc_heap_resize</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_gc_heap_resize</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
78
docs/deploy/mono-api-marshal.html
Normal file
78
docs/deploy/mono-api-marshal.html
Normal file
@ -0,0 +1,78 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-marshal.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<a name="api:mono_delegate_free_ftnptr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_delegate_free_ftnptr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_delegate_free_ftnptr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_delegate_to_ftnptr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_delegate_to_ftnptr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_delegate_to_ftnptr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_ftnptr_to_delegate"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_ftnptr_to_delegate</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_ftnptr_to_delegate</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
1313
docs/deploy/mono-api-metadata.html
Normal file
1313
docs/deploy/mono-api-metadata.html
Normal file
File diff suppressed because it is too large
Load Diff
578
docs/deploy/mono-api-methods.html
Normal file
578
docs/deploy/mono-api-methods.html
Normal file
@ -0,0 +1,578 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-methods.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Methods</h3>
|
||||
|
||||
<h3>Invoking Methods</h3>
|
||||
|
||||
<a name="api:mono_runtime_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_invoke</div>
|
||||
|
||||
<div class="prototype">MonoObject*
|
||||
mono_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **exc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>method:</i></dt><dd> method to invoke</dd><dt><i>obJ:</i></dt><dd> object instance</dd><dt><i>params:</i></dt><dd> arguments to the method</dd><dt><i>exc:</i></dt><dd> exception information.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Invokes the method represented by <i>method</i> on the object <i>obj</i>.
|
||||
|
||||
obj is the 'this' pointer, it should be NULL for static
|
||||
methods, a MonoObject* for object instances and a pointer to
|
||||
the value type for value types.
|
||||
|
||||
The params array contains the arguments to the method with the
|
||||
same convention: MonoObject* pointers for object instances and
|
||||
pointers to the value type otherwise.
|
||||
|
||||
<p />
|
||||
From unmanaged code you'll usually use the
|
||||
mono_runtime_invoke() variant.
|
||||
|
||||
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 NULL as the exc argument if you don't want to
|
||||
catch exceptions, otherwise, *exc will be set to the exception
|
||||
thrown, if any. if an exception is thrown, you can't use the
|
||||
MonoObject* result from the function.
|
||||
|
||||
<p />
|
||||
If the method returns a value type, it is boxed in an object
|
||||
reference.
|
||||
|
||||
|
||||
If you want to invoke generic methods, you must call the method on the
|
||||
"inflated" class, which you can obtain from the
|
||||
<tt>mono_object_get_class()</tt>
|
||||
|
||||
<div class="code">
|
||||
MonoClass *clazz;
|
||||
MonoMethod *method;
|
||||
|
||||
clazz = mono_object_get_class (obj);
|
||||
|
||||
/*
|
||||
* If there are more Add methods declared, you
|
||||
* may use mono_method_desc_search_in_class (clazz, ":Add(T)"),
|
||||
* you must substitute ":Add(T)" with the correct type, for example
|
||||
* for List<int>, you would use ":Add(int)".
|
||||
*/
|
||||
method = mono_class_get_method_from_name (clazz, "Add", 1);
|
||||
mono_runtime_invoke (method, obj, args, &exception);
|
||||
</div>
|
||||
|
||||
|
||||
</div> <a name="api:mono_runtime_invoke_array"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_invoke_array</div>
|
||||
|
||||
<div class="prototype">MonoObject*
|
||||
mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
|
||||
MonoObject **exc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>method:</i></dt><dd> method to invoke</dd><dt><i>obJ:</i></dt><dd> object instance</dd><dt><i>params:</i></dt><dd> arguments to the method</dd><dt><i>exc:</i></dt><dd> exception information.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Invokes the method represented by <i>method</i> on the object <i>obj</i>.
|
||||
|
||||
obj is the 'this' pointer, it should be NULL for static
|
||||
methods, a MonoObject* for object instances and a pointer to
|
||||
the value type for value types.
|
||||
|
||||
The params array contains the arguments to the method with the
|
||||
same convention: MonoObject* pointers for object instances and
|
||||
pointers to the value type otherwise. The _invoke_array
|
||||
variant takes a C# object[] as the params argument (MonoArray
|
||||
*params): 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() variant.
|
||||
|
||||
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 NULL as the exc argument if you don't want to
|
||||
catch exceptions, otherwise, *exc will be set to the exception
|
||||
thrown, if any. if an exception is thrown, you can't use the
|
||||
MonoObject* result from the function.
|
||||
|
||||
<p />
|
||||
If the method returns a value type, it is boxed in an object
|
||||
reference.
|
||||
|
||||
</div> <a name="api:mono_runtime_delegate_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_delegate_invoke</div>
|
||||
|
||||
<div class="prototype">MonoObject*
|
||||
mono_runtime_delegate_invoke (MonoObject *delegate, void **params, MonoObject **exc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>delegate:</i></dt><dd> pointer to a delegate object.</dd><dt><i>params:</i></dt><dd> parameters for the delegate.</dd><dt><i>exc:</i></dt><dd> Pointer to the exception result.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Invokes the delegate method <i>delegate</i> with the parameters provided.
|
||||
|
||||
You can pass NULL as the exc argument if you don't want to
|
||||
catch exceptions, otherwise, *exc will be set to the exception
|
||||
thrown, if any. if an exception is thrown, you can't use the
|
||||
MonoObject* result from the function.
|
||||
|
||||
|
||||
</div> <a name="api:mono_method_body_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_body_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_body_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_desc_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_free</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_method_desc_free (MonoMethodDesc *desc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>desc:</i></dt><dd> method description to be released</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Releases the MonoMethodDesc object <i>desc</i>.
|
||||
|
||||
</div> <a name="api:mono_method_desc_from_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_from_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_desc_from_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_desc_full_match"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_full_match</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_desc_full_match</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_desc_match"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_match</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_desc_match</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_desc_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_new</div>
|
||||
|
||||
<div class="prototype">MonoMethodDesc*
|
||||
mono_method_desc_new (const char *name, gboolean include_namespace)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>name:</i></dt><dd> the method name.</dd><dt><i>include_namespace:</i></dt><dd> whether the name includes a namespace or not.</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a parsed representation of the method description.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Creates a method description for <i>name</i>, which conforms to the following
|
||||
specification:
|
||||
|
||||
[namespace.]classname:methodname[(args...)]
|
||||
|
||||
in all the loaded assemblies.
|
||||
|
||||
Both classname and methodname can contain '*' which matches anything.
|
||||
|
||||
|
||||
</div> <a name="api:mono_method_desc_search_in_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_search_in_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_desc_search_in_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_desc_search_in_image"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_desc_search_in_image</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_desc_search_in_image</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_full_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_full_name</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_full_name</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_flags"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_flags</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_flags</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_last_managed"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_last_managed</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_last_managed</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_marshal_info"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_marshal_info</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_marshal_info</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_name</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_name</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_param_names"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_param_names</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_param_names</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_param_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_param_token</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_param_token</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_signature"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_signature</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_signature</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_index"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_index</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_index</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_signature_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_signature_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_signature_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_get_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_token</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_token</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_has_marshal_info"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_has_marshal_info</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_has_marshal_info</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_verify"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_verify</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_verify</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Method Signatures</h3>
|
||||
|
||||
<a name="api:mono_method_signature"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_signature</div>
|
||||
|
||||
<div class="prototype">MonoMethodSignature*
|
||||
mono_method_signature (MonoMethod *m)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Return the signature of the method M. On failure, returns NULL.
|
||||
|
||||
</div> <a name="api:mono_signature_explicit_this"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_explicit_this</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_signature_explicit_this (MonoMethodSignature *sig)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> <i>TRUE</i> if this the method signature <i>sig</i> has an explicit
|
||||
|
||||
instance argument. <i>FALSE</i> otherwise.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_signature_get_call_conv"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_get_call_conv</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_signature_get_call_conv (MonoMethodSignature *sig)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the call convention of the method signature <i>sig</i>.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_signature_get_desc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_get_desc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_signature_get_desc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_signature_get_param_count"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_get_param_count</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_signature_get_param_count (MonoMethodSignature *sig)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of parameters in the method signature <i>sig</i>.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_signature_get_params"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_get_params</div>
|
||||
|
||||
<div class="prototype">MonoType*
|
||||
mono_signature_get_params (MonoMethodSignature *sig, gpointer *iter)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd><dt><i>iter:</i></dt><dd> pointer to an iterator</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the next parameter type of the method signature <i>sig</i>,
|
||||
|
||||
<i>NULL</i> when finished.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Iterates over the parameters for the method signature <i>sig</i>.
|
||||
A void* pointer must be initualized to <i>NULL</i> to start the iteration
|
||||
and it's address is passed to this function repeteadly until it returns
|
||||
<i>NULL</i>.
|
||||
|
||||
|
||||
</div> <a name="api:mono_signature_get_return_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_get_return_type</div>
|
||||
|
||||
<div class="prototype">MonoType*
|
||||
mono_signature_get_return_type (MonoMethodSignature *sig)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the return type of the method signature <i>sig</i>
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_signature_hash"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_hash</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_signature_hash</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_signature_is_instance"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_is_instance</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_signature_is_instance (MonoMethodSignature *sig)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> <i>TRUE</i> if this the method signature <i>sig</i> has an implicit
|
||||
|
||||
first instance argument. <i>FALSE</i> otherwise.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_signature_vararg_start"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signature_vararg_start</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_signature_vararg_start (MonoMethodSignature *sig)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>sig:</i></dt><dd> the method signature inspected</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the number of the first vararg parameter in the
|
||||
|
||||
method signature <i>sig</i>. -1 if this is not a vararg signature.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_param_get_objects"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_param_get_objects</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_param_get_objects</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_method_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_method_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_method_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_method</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Methods Header Operations</h3>
|
||||
|
||||
<a name="api:mono_method_get_header"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_get_header</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_get_header</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_header_get_clauses"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_header_get_clauses</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_header_get_clauses</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_header_get_code"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_header_get_code</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_header_get_code</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_header_get_locals"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_header_get_locals</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_header_get_locals</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
1134
docs/deploy/mono-api-object.html
Normal file
1134
docs/deploy/mono-api-object.html
Normal file
File diff suppressed because it is too large
Load Diff
268
docs/deploy/mono-api-profiler.html
Normal file
268
docs/deploy/mono-api-profiler.html
Normal file
@ -0,0 +1,268 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-profiler.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1>Profiling Interface</h1>
|
||||
|
||||
<h3>Profiler Operation</h3>
|
||||
|
||||
<p />The following methods can be used by dynamic profiler
|
||||
methods to monitor different aspects of the program.
|
||||
|
||||
<p />A custom profiler will have one public method defined in
|
||||
the shared library which is the entry point that Mono calls at
|
||||
startup, it has the following signature:
|
||||
|
||||
<pre>
|
||||
void mono_profiler_startup (const char *desc)
|
||||
</pre>
|
||||
|
||||
<p />Where "desc" is the set of arguments that were passed from
|
||||
the command line. This routine will call
|
||||
<tt>mono_profiler_install</tt> to activate the profiler and
|
||||
will install one or more filters (one of the various
|
||||
<tt>mono_profiler_install_</tt> functions).
|
||||
|
||||
<p />In addition, a profiler developer will typically call
|
||||
<tt>mono_profiler_set_events</tt> to register which kinds of
|
||||
traces should be enabled, these can be an OR-ed combination of
|
||||
the following:
|
||||
|
||||
<pre>
|
||||
MONO_PROFILE_NONE
|
||||
MONO_PROFILE_APPDOMAIN_EVENTS
|
||||
MONO_PROFILE_ASSEMBLY_EVENTS
|
||||
MONO_PROFILE_MODULE_EVENTS
|
||||
MONO_PROFILE_CLASS_EVENTS
|
||||
MONO_PROFILE_JIT_COMPILATION
|
||||
MONO_PROFILE_INLINING
|
||||
MONO_PROFILE_EXCEPTIONS
|
||||
MONO_PROFILE_ALLOCATIONS
|
||||
MONO_PROFILE_GC
|
||||
MONO_PROFILE_THREADS
|
||||
MONO_PROFILE_REMOTING
|
||||
MONO_PROFILE_TRANSITIONS
|
||||
MONO_PROFILE_ENTER_LEAVE
|
||||
MONO_PROFILE_COVERAGE
|
||||
MONO_PROFILE_INS_COVERAGE
|
||||
MONO_PROFILE_STATISTICAL
|
||||
</pre>
|
||||
|
||||
<p />Developers can change the set of monitored events at
|
||||
runtime by calling <tt>mono_profiler_set_events</tt>.
|
||||
|
||||
<a name="api:mono_profiler_install"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_profiler_install (MonoProfiler *prof, MonoProfileFunc callback)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>prof:</i></dt><dd> a MonoProfiler structure pointer, or a pointer to a derived structure.</dd><dt><i>callback:</i></dt><dd> the function to invoke at shutdown</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Use mono_profiler_install to activate profiling in the Mono runtime.
|
||||
Typically developers of new profilers will create a new structure whose
|
||||
first field is a MonoProfiler and put any extra information that they need
|
||||
to access from the various profiling callbacks there.
|
||||
|
||||
|
||||
</div> <a name="api:mono_profiler_install_allocation"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_allocation</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_allocation</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_appdomain"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_appdomain</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_appdomain</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_assembly</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_assembly</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_coverage_filter"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_coverage_filter</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_coverage_filter</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_enter_leave"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_enter_leave</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_profiler_install_enter_leave (MonoProfileMethodFunc enter, MonoProfileMethodFunc fleave)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>enter:</i></dt><dd> the routine to be called on each method entry</dd><dt><i>fleave:</i></dt><dd> the routine to be called each time a method returns</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Use this routine to install routines that will be called everytime
|
||||
a method enters and leaves. The routines will receive as an argument
|
||||
the MonoMethod representing the method that is entering or leaving.
|
||||
|
||||
</div> <a name="api:mono_profiler_install_jit_compile"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_jit_compile</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_profiler_install_jit_compile (MonoProfileMethodFunc start, MonoProfileMethodResult end)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>start:</i></dt><dd> the routine to be called when the JIT process starts.</dd><dt><i>end:</i></dt><dd> the routine to be called when the JIT process ends.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Use this routine to install routines that will be called when JIT
|
||||
compilation of a method starts and completes.
|
||||
|
||||
</div> <a name="api:mono_profiler_install_module"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_module</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_module</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_thread"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_thread</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_thread</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_transition"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_transition</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_transition</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_gc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_gc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_gc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_install_statistical"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_install_statistical</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_profiler_install_statistical</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_profiler_set_events"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_set_events</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_profiler_set_events (MonoProfileFlags events)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>events:</i></dt><dd> an ORed set of values made up of MONO_PROFILER_ flags</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
The events descriped in the <i>events</i> argument is a set of flags
|
||||
that represent which profiling events must be triggered. For
|
||||
example if you have registered a set of methods for tracking
|
||||
JIT compilation start and end with mono_profiler_install_jit_compile,
|
||||
you will want to pass the MONO_PROFILE_JIT_COMPILATION flag to
|
||||
this routine.
|
||||
|
||||
You can call mono_profile_set_events more than once and you can
|
||||
do this at runtime to modify which methods are invoked.
|
||||
|
||||
</div> <a name="api:mono_profiler_get_events"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_profiler_get_events</div>
|
||||
|
||||
<div class="prototype">MonoProfileFlags
|
||||
mono_profiler_get_events (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns a list of active events that will be intercepted.
|
||||
|
||||
|
||||
</div><h3>Coverage</h3>
|
||||
|
||||
<p />To support profiling modules that need to do code coverage
|
||||
analysis, the following routines is provided:
|
||||
|
||||
</body>
|
||||
</html>
|
||||
</span>
|
269
docs/deploy/mono-api-reflection.html
Normal file
269
docs/deploy/mono-api-reflection.html
Normal file
@ -0,0 +1,269 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-reflection.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Fetching Types, and Basic Reflection</h2>
|
||||
|
||||
<a name="api:mono_reflection_get_custom_attrs_blob"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_get_custom_attrs_blob</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_get_custom_attrs_blob</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_reflection_get_custom_attrs"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_get_custom_attrs</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_get_custom_attrs</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_get_attr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_get_attr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_get_attr</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_reflection_get_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_get_token</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_get_token</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_reflection_get_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_get_type</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_get_type</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_reflection_parse_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_parse_type</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_parse_type</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_reflection_type_from_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_type_from_name</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_type_from_name</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_reflection_get_custom_attrs_info"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_reflection_get_custom_attrs_info</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_reflection_get_custom_attrs_info</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h2>Custom Attributes</h2>
|
||||
|
||||
<a name="api:mono_custom_attrs_construct"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_construct</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_construct</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_free</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_free</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_assembly</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_from_assembly</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_from_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_event"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_event</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_from_event</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_field"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_field</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_from_field</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_index"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_index</div>
|
||||
|
||||
<div class="prototype">MonoCustomAttrInfo*
|
||||
mono_custom_attrs_from_index (MonoImage *image, guint32 idx)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> NULL if no attributes are found or if a loading error occurs.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_from_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_param"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_param</div>
|
||||
|
||||
<div class="prototype">MonoCustomAttrInfo*
|
||||
mono_custom_attrs_from_param (MonoMethod *method, guint32 param)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>method:</i></dt><dd> handle to the method that we want to retrieve custom parameter information from</dd><dt><i>param:</i></dt><dd> parameter number, where zero represent the return value, and one is the first parameter in the method</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the custom attribute object for the specified parameter, or NULL if there are none.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
The result must be released with mono_custom_attrs_free().
|
||||
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_from_property"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_from_property</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_from_property</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_custom_attrs_has_attr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_custom_attrs_has_attr</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_custom_attrs_has_attr</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h2></h2>
|
||||
<a name="api:mono_module_file_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_module_file_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_module_file_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_module_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_module_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_module_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_method_body_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_method_body_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_method_body_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_event_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_event_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_event_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_assembly_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_assembly_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_assembly_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_param_get_objects"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_param_get_objects</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_param_get_objects</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_field_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_field_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_field_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_property_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_property_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_property_get_object</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
130
docs/deploy/mono-api-security.html
Normal file
130
docs/deploy/mono-api-security.html
Normal file
@ -0,0 +1,130 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-security.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Security Manager</h3>
|
||||
|
||||
<a name="api:mono_get_context_capture_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_context_capture_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_context_capture_method</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Declarative Security</h3>
|
||||
|
||||
<a name="api:mono_declsec_flags_from_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_flags_from_assembly</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_flags_from_assembly</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_flags_from_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_flags_from_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_flags_from_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_flags_from_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_flags_from_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_flags_from_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_get_assembly_action"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_get_assembly_action</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_get_assembly_action</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_get_class_action"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_get_class_action</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_get_class_action</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_get_demands"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_get_demands</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_get_demands</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_get_inheritdemands_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_get_inheritdemands_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_get_inheritdemands_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_get_inheritdemands_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_get_inheritdemands_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_get_inheritdemands_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_declsec_get_linkdemands"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_declsec_get_linkdemands</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_declsec_get_linkdemands</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
405
docs/deploy/mono-api-string.html
Normal file
405
docs/deploy/mono-api-string.html
Normal file
@ -0,0 +1,405 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-string.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Strings</h2>
|
||||
|
||||
<p />Strings representation inside the Mono runtime.
|
||||
|
||||
<h3>Synopsis</h3>
|
||||
|
||||
<div class="header">
|
||||
#include <metadata/object.h>
|
||||
|
||||
typedef struct {
|
||||
MonoObject object;
|
||||
gint32 length;
|
||||
gunichar2 chars [0];
|
||||
} MonoString;
|
||||
|
||||
MonoString* <a href="#api:mono_string_new">mono_string_new</a> (MonoDomain *domain,
|
||||
const char *text);
|
||||
MonoString* <a href="#api:mono_string_new_len">mono_string_new_len</a> (MonoDomain *domain,
|
||||
const char *text,
|
||||
guint length);
|
||||
MonoString* <a href="#api:mono_string_new_size">mono_string_new_size</a> (MonoDomain *domain,
|
||||
gint32 len);
|
||||
MonoString* <a href="#api:mono_string_new_utf16">mono_string_new_utf16</a> (MonoDomain *domain,
|
||||
const guint16 *text,
|
||||
gint32 len);
|
||||
MonoString* <a href="#api:mono_string_from_utf16">mono_string_from_utf16</a> (gunichar2 *data);
|
||||
mono_unichar2* <a href="#api:mono_string_to_utf16">mono_string_to_utf16</a> (MonoString *s);
|
||||
char* <a href="#api:mono_string_to_utf8">mono_string_to_utf8</a> (MonoString *s);
|
||||
gboolean <a href="#api:mono_string_equal">mono_string_equal</a> (MonoString *s1,
|
||||
MonoString *s2);
|
||||
guint <a href="#api:mono_string_hash">mono_string_hash</a> (MonoString *s);
|
||||
MonoString* <a href="#api:mono_string_intern">mono_string_intern</a> (MonoString *str);
|
||||
MonoString* <a href="#api:mono_string_is_interned">mono_string_is_interned</a> (MonoString *o);
|
||||
MonoString* <a href="#api:mono_string_new_wrapper">mono_string_new_wrapper</a> (const char *text);
|
||||
gunichar2* <a href="#api:mono_string_chars">mono_string_chars</a> (MonoString *s);
|
||||
int <a href="#api:mono_string_length">mono_string_length</a> (MonoString *s);
|
||||
gunichar2* <a href="#api:mono_unicode_from_external">mono_unicode_from_external</a> (const gchar *in,
|
||||
gsize *bytes);
|
||||
<a href="#api:mono_unicode_to_external"></a>
|
||||
<a href="#api:mono_utf8_from_external"></a>
|
||||
|
||||
</div>
|
||||
|
||||
<p />All of the operations on strings are done on pointers to
|
||||
MonoString objects, like this:
|
||||
|
||||
<div class="code">
|
||||
MonoString *hello = mono_string_new (mono_domain_get (), "hello, world");
|
||||
</div>
|
||||
|
||||
<p />Strings are bound to a particular application domain, which
|
||||
is why it is necessary to pass a MonoDomain argument as the
|
||||
first parameter to all the constructor functions.
|
||||
|
||||
<p />Typically, you want to create the strings on the current
|
||||
application domain, so a call to <tt>mono_domain_get()</tt> is
|
||||
sufficient.
|
||||
|
||||
<h3>Constructors</h3>
|
||||
|
||||
<a name="api:mono_string_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_new</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_new (MonoDomain *domain, const char *text)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>text:</i></dt><dd> a pointer to an utf8 string</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> A newly created string object which contains <i>text</i>.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_string_new_len"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_new_len</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_new_len (MonoDomain *domain, const char *text, guint length)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>text:</i></dt><dd> a pointer to an utf8 string</dd><dt><i>length:</i></dt><dd> number of bytes in <i>text</i> to consider</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> A newly created string object which contains <i>text</i>.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_string_new_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_new_size</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_new_size (MonoDomain *domain, gint32 len)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>text:</i></dt><dd> a pointer to an utf16 string</dd><dt><i>len:</i></dt><dd> the length of the string</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> A newly created string object of <i>len</i>
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_string_new_utf16"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_new_utf16</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_new_utf16 (MonoDomain *domain, const guint16 *text, gint32 len)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>text:</i></dt><dd> a pointer to an utf16 string</dd><dt><i>len:</i></dt><dd> the length of the string</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> A newly created string object which contains <i>text</i>.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_string_from_utf16"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_from_utf16</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_from_utf16 (gunichar2 *data)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>data:</i></dt><dd> the UTF16 string (LPWSTR) to convert</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a MonoString.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Converts a NULL terminated UTF16 string (LPWSTR) to a MonoString.
|
||||
|
||||
|
||||
|
||||
</div><h3>Conversions</h3>
|
||||
|
||||
<a name="api:mono_string_to_utf16"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_to_utf16</div>
|
||||
|
||||
<div class="prototype">mono_unichar2*
|
||||
mono_string_to_utf16 (MonoString *s)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>s:</i></dt><dd> a MonoString</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Return an null-terminated array of the utf-16 chars
|
||||
contained in <i>s</i>. The result must be freed with g_free().
|
||||
This is a temporary helper until our string implementation
|
||||
is reworked to always include the null terminating char.
|
||||
|
||||
</div> <a name="api:mono_string_to_utf8"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_to_utf8</div>
|
||||
|
||||
<div class="prototype">char*
|
||||
mono_string_to_utf8 (MonoString *s)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>s:</i></dt><dd> a System.String</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns the UTF8 representation for <i>s</i>.
|
||||
The resulting buffer needs to be freed with mono_free().
|
||||
|
||||
<i>deprecated</i> Use mono_string_to_utf8_checked to avoid having an exception arbritraly raised.
|
||||
|
||||
|
||||
</div><h3>Methods</h3>
|
||||
|
||||
<a name="api:mono_string_equal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_equal</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_string_equal (MonoString *s1, MonoString *s2)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>s1:</i></dt><dd> First string to compare</dd><dt><i>s2:</i></dt><dd> Second string to compare</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns FALSE if the strings differ.
|
||||
|
||||
</div> <a name="api:mono_string_hash"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_hash</div>
|
||||
|
||||
<div class="prototype">guint
|
||||
mono_string_hash (MonoString *s)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>s:</i></dt><dd> the string to hash</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns the hash for the string.
|
||||
|
||||
</div> <a name="api:mono_string_intern"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_intern</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_intern (MonoString *str)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>o:</i></dt><dd> String to intern</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> The interned string.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Interns the string passed.
|
||||
|
||||
</div> <a name="api:mono_string_is_interned"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_is_interned</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_is_interned (MonoString *o)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>o:</i></dt><dd> String to probe</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns whether the string has been interned.
|
||||
|
||||
</div> <a name="api:mono_string_new_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_new_wrapper</div>
|
||||
|
||||
<div class="prototype">MonoString*
|
||||
mono_string_new_wrapper (const char *text)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>text:</i></dt><dd> pointer to utf8 characters.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Helper function to create a string object from <i>text</i> in the current domain.
|
||||
|
||||
</div> <a name="api:mono_string_chars"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_chars</div>
|
||||
|
||||
<div class="prototype">gunichar2*
|
||||
mono_string_chars (MonoString *s)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>s:</i></dt><dd> a MonoString</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns a pointer to the UCS16 characters stored in the MonoString
|
||||
|
||||
</div> <a name="api:mono_string_length"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_string_length</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_string_length (MonoString *s)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>s:</i></dt><dd> MonoString</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns the lenght in characters of the string
|
||||
|
||||
|
||||
|
||||
</div><h3>Other Encodings</h3>
|
||||
|
||||
<p />These routines are used when coping with strings that come
|
||||
from Mono's environment, and might be encoded in one or more
|
||||
of the external encodings.
|
||||
|
||||
<p />For example, some file systems might historically contain a
|
||||
mix of file names with both old and new encodings, typically
|
||||
UTF8 for new files, and the old files would be encoded in an 8
|
||||
bit character set (ISO-8859-1 for example).
|
||||
|
||||
<p />These routines try a number of encodings, those specified
|
||||
in the <tt>MONO_ENCODINGS</tt> environment variable and return
|
||||
unicode strings that can be used internally.
|
||||
|
||||
<p />See the mono(1) man page for more details.
|
||||
|
||||
<a name="api:mono_unicode_from_external"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_unicode_from_external</div>
|
||||
|
||||
<div class="prototype">gunichar2*
|
||||
mono_unicode_from_external (const gchar *in, gsize *bytes)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>in:</i></dt><dd> pointers to the buffer.</dd><dt><i>bytes:</i></dt><dd> number of bytes in the string.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Tries to turn a NULL-terminated string into UTF16.
|
||||
|
||||
First, see if it's valid UTF8, in which case just turn it directly
|
||||
into UTF16. Next, run through the colon-separated encodings in
|
||||
MONO_EXTERNAL_ENCODINGS and do an iconv conversion on each,
|
||||
returning the first successful conversion to UTF16. If no
|
||||
conversion succeeds, return NULL.
|
||||
|
||||
Callers must free the returned string if not NULL. bytes holds the number
|
||||
of bytes in the returned string, not including the terminator.
|
||||
|
||||
</div> <a name="api:mono_unicode_to_external"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_unicode_to_external</div>
|
||||
|
||||
<div class="prototype">gchar*mono_unicode_to_external (const gunichar2 *uni)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>uni:</i></dt><dd> an UTF16 string to conver to an external representation.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Turns NULL-terminated UTF16 into either UTF8, or the first
|
||||
working item in MONO_EXTERNAL_ENCODINGS if set. If no conversions
|
||||
work, then UTF8 is returned.
|
||||
|
||||
Callers must free the returned string.
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
185
docs/deploy/mono-api-threads.html
Normal file
185
docs/deploy/mono-api-threads.html
Normal file
@ -0,0 +1,185 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-threads.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Working with threads</h2>
|
||||
|
||||
<h3>Thread API</h3>
|
||||
<a name="api:mono_thread_attach"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_attach</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_attach</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_create"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_create</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_create</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_current"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_current</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_current</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_detach"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_detach</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_detach</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_exit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_exit</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_exit</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_manage"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_manage</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_manage</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_new_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_new_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_new_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_threads_get_default_stacksize"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_threads_get_default_stacksize</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_threads_get_default_stacksize</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_threads_install_cleanup"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_threads_install_cleanup</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_threads_install_cleanup</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_threads_set_default_stacksize"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_threads_set_default_stacksize</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_threads_set_default_stacksize</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_stop"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_stop</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_stop</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div> <a name="api:mono_thread_get_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_get_main</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_thread_get_main</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_thread_set_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_thread_set_main</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_thread_set_main (MonoThread *thread)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>thread:</i></dt><dd> thread to set as the main thread</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
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 Main()
|
||||
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> <a name="api:mono_pthread_key_for_tls"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_pthread_key_for_tls</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_pthread_key_for_tls</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Monitors</h3>
|
||||
|
||||
<a name="api:mono_monitor_enter"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_monitor_enter</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_monitor_enter</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_monitor_exit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_monitor_exit</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_monitor_exit</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
274
docs/deploy/mono-api-type.html
Normal file
274
docs/deploy/mono-api-type.html
Normal file
@ -0,0 +1,274 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-type.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Type support</h2>
|
||||
|
||||
<h3>Synopsis</h3>
|
||||
|
||||
<div class="header">
|
||||
#include <metadata/metadata.h>
|
||||
#include <metadata/class.h>
|
||||
|
||||
typedef struct _MonoType MonoType;
|
||||
<a href="#api:mono_type_get_object"></a>
|
||||
<a href="#api:mono_type_create_from_typespec"></a>
|
||||
<a href="#api:mono_type_full_name"></a>
|
||||
MonoArrayType* <a href="#api:mono_type_get_array_type">mono_type_get_array_type</a> (MonoType *type);
|
||||
MonoClass* <a href="#api:mono_type_get_class">mono_type_get_class</a> (MonoType *type);
|
||||
<a href="#api:mono_type_get_desc"></a>
|
||||
<a href="#api:mono_type_get_modifiers"></a>
|
||||
char* <a href="#api:mono_type_get_name">mono_type_get_name</a> (MonoType *type);
|
||||
MonoMethodSignature* <a href="#api:mono_type_get_signature">mono_type_get_signature</a> (MonoType *type);
|
||||
int <a href="#api:mono_type_get_type">mono_type_get_type</a> (MonoType *type);
|
||||
<a href="#api:mono_type_get_underlying_type"></a>
|
||||
gboolean <a href="#api:mono_type_is_byref">mono_type_is_byref</a> (MonoType *type);
|
||||
<a href="#api:mono_type_size"></a>
|
||||
<a href="#api:mono_type_stack_size"></a>
|
||||
guint32 <a href="#api:mono_type_to_unmanaged">mono_type_to_unmanaged</a> (MonoType *type,
|
||||
MonoMarshalSpec *mspec,
|
||||
gboolean as_field;
|
||||
<a href="#api:mono_type_generic_inst_is_valuetype"></a>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<p />The MonoType represents the unmanaged version of
|
||||
System.Type.
|
||||
|
||||
<a name="api:mono_type_get_object"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_object</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_get_object</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_create_from_typespec"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_create_from_typespec</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_create_from_typespec</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_full_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_full_name</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_full_name</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_get_array_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_array_type</div>
|
||||
|
||||
<div class="prototype">MonoArrayType*
|
||||
mono_type_get_array_type (MonoType *type)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type:</i></dt><dd> the MonoType operated on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a MonoArrayType struct describing the array type that <i>type</i>
|
||||
|
||||
represents. The info includes details such as rank, array element type
|
||||
and the sizes and bounds of multidimensional arrays.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
It is only valid to call this function if <i>type</i> is a MONO_TYPE_ARRAY.
|
||||
|
||||
|
||||
</div> <a name="api:mono_type_get_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_class</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_type_get_class (MonoType *type)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type:</i></dt><dd> the MonoType operated on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoClass pointer that describes the class that <i>type</i> represents.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
It is only valid to call this function if <i>type</i> is a MONO_TYPE_CLASS or a
|
||||
MONO_TYPE_VALUETYPE. For more general functionality, use mono_class_from_mono_type (),
|
||||
instead
|
||||
|
||||
|
||||
</div> <a name="api:mono_type_get_desc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_desc</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_get_desc</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_get_modifiers"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_modifiers</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_get_modifiers</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_get_name"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_name</div>
|
||||
|
||||
<div class="prototype">char*
|
||||
mono_type_get_name (MonoType *type)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type:</i></dt><dd> a type</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the string representation for type as it would be represented in IL code.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_type_get_signature"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_signature</div>
|
||||
|
||||
<div class="prototype">MonoMethodSignature*
|
||||
mono_type_get_signature (MonoType *type)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type:</i></dt><dd> the MonoType operated on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoMethodSignature pointer that describes the signature
|
||||
|
||||
of the function pointer <i>type</i> represents.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
It is only valid to call this function if <i>type</i> is a MONO_TYPE_FNPTR.
|
||||
|
||||
|
||||
</div> <a name="api:mono_type_get_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_type</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_type_get_type (MonoType *type)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type:</i></dt><dd> the MonoType operated on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the IL type value for <i>type</i>. This is one of the MonoTypeEnum
|
||||
|
||||
enum members like MONO_TYPE_I4 or MONO_TYPE_STRING.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_type_get_underlying_type"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_get_underlying_type</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_get_underlying_type</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_is_byref"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_is_byref</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_type_is_byref (MonoType *type)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>type:</i></dt><dd> the MonoType operated on</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> <i>TRUE</i> if <i>type</i> represents a type passed by reference,
|
||||
|
||||
<i>FALSE</i> otherwise.</blockquote>
|
||||
|
||||
</div> <a name="api:mono_type_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_size</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_size</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_stack_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_stack_size</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_type_stack_size</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_type_to_unmanaged"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_type_to_unmanaged</div>
|
||||
|
||||
<div class="prototype">guint32
|
||||
mono_type_to_unmanaged (MonoType *type, MonoMarshalSpec *mspec, gboolean as_field,
|
||||
gboolean unicode, MonoMarshalConv *conv)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> A MonoMarshalNative enumeration value (MONO_NATIVE_) value
|
||||
|
||||
describing the underlying native reprensetation of the type.
|
||||
|
||||
<p />
|
||||
In addition the value pointed by
|
||||
"conv" will contain the kind of marshalling required for this
|
||||
particular type one of the MONO_MARSHAL_CONV_ enumeration values.</blockquote>
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
201
docs/deploy/mono-api-types.html
Normal file
201
docs/deploy/mono-api-types.html
Normal file
@ -0,0 +1,201 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-types.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h3>Common core types</h3>
|
||||
|
||||
<p />These are accesor methods to retrieve the <tt>MonoClass
|
||||
*</tt> handle for the various built-in CLI types.
|
||||
|
||||
<a name="api:mono_get_object_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_object_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_object_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_int16_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_int16_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_int16_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_int32_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_int32_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_int32_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_int64_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_int64_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_int64_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_double_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_double_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_double_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_enum_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_enum_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_enum_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_intptr_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_intptr_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_intptr_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_sbyte_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_sbyte_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_sbyte_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_single_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_single_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_single_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_string_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_string_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_string_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_thread_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_thread_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_thread_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_uint16_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_uint16_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_uint16_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_uint32_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_uint32_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_uint32_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_uint64_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_uint64_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_uint64_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_uintptr_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_uintptr_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_uintptr_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_void_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_void_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_void_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_array_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_array_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_array_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_boolean_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_boolean_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_boolean_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_byte_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_byte_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_byte_class</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_char_class"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_char_class</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_char_class</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
510
docs/deploy/mono-api-unsorted.html
Normal file
510
docs/deploy/mono-api-unsorted.html
Normal file
@ -0,0 +1,510 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-unsorted.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<a name="api:mono_bounded_array_class_get"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bounded_array_class_get</div>
|
||||
|
||||
<div class="prototype">MonoClass*
|
||||
mono_bounded_array_class_get (MonoClass *eclass, guint32 rank, gboolean bounded)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>element_class:</i></dt><dd> element class </dd><dt><i>rank:</i></dt><dd> the dimension of the array class</dd><dt><i>bounded:</i></dt><dd> whenever the array has non-zero bounds</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> a class object describing the array with element type <i>element_type</i> and
|
||||
|
||||
dimension <i>rank</i>. </blockquote>
|
||||
|
||||
</div> <a name="api:mono_check_corlib_version"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_check_corlib_version</div>
|
||||
|
||||
<div class="prototype">const char*
|
||||
mono_check_corlib_version (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> NULL if the runtime will work with the corlib, or a g_malloc
|
||||
|
||||
allocated string with the error otherwise.</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Checks that the corlib that is loaded matches the version of this runtime.
|
||||
|
||||
|
||||
</div> <a name="api:mono_compile_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_compile_method</div>
|
||||
|
||||
<div class="prototype">gpointer
|
||||
mono_compile_method (MonoMethod *method)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>method:</i></dt><dd> The method to compile.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
This JIT-compiles the method, and returns the pointer to the native code
|
||||
produced.
|
||||
|
||||
</div> <a name="api:mono_config_for_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_config_for_assembly</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_config_for_assembly</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_dllmap_insert"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_dllmap_insert</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_dllmap_insert (MonoImage *assembly, const char *dll, const char *func, const char *tdll, const char *tfunc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>assembly:</i></dt><dd> if NULL, this is a global mapping, otherwise the remapping of the dynamic library will only apply to the specified assembly</dd><dt><i>dll:</i></dt><dd> The name of the external library, as it would be found in the DllImport declaration. If prefixed with 'i:' the matching of the library name is done without case sensitivity</dd><dt><i>func:</i></dt><dd> if not null, the mapping will only applied to the named function (the value of EntryPoint)</dd><dt><i>tdll:</i></dt><dd> The name of the library to map the specified <i>dll</i> if it matches.</dd><dt><i>tfunc:</i></dt><dd> if func is not NULL, the name of the function that replaces the invocation</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
LOCKING: Acquires the loader lock.
|
||||
|
||||
This function is used to programatically add DllImport remapping in either
|
||||
a specific assembly, or as a global remapping. This is done by remapping
|
||||
references in a DllImport attribute from the <i>dll</i> library name into the <i>tdll</i>
|
||||
name. If the <i>dll</i> name contains the prefix "i:", the comparison of the
|
||||
library name is done without case sensitivity.
|
||||
|
||||
If you pass <i>func</i>, this is the name of the EntryPoint in a DllImport if specified
|
||||
or the name of the function as determined by DllImport. 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.
|
||||
|
||||
Example:
|
||||
mono_dllmap_insert (NULL, "i:libdemo.dll", NULL, relocated_demo_path, NULL);
|
||||
|
||||
The above will remap DllImport statments for "libdemo.dll" and "LIBDEMO.DLL" to
|
||||
the contents of relocated_demo_path for all assemblies in the Mono process.
|
||||
|
||||
NOTE: This can be called before the runtime is initialized, for example from
|
||||
mono_config_parse ().
|
||||
|
||||
</div> <a name="api:mono_environment_exitcode_get"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_environment_exitcode_get</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_environment_exitcode_get</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_environment_exitcode_set"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_environment_exitcode_set</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_environment_exitcode_set</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_free_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_free_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_free_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_free_verify_list"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_free_verify_list</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_free_verify_list</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_config_dir"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_config_dir</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_config_dir</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_corlib"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_corlib</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_corlib</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_delegate_invoke"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_delegate_invoke</div>
|
||||
|
||||
<div class="prototype">MonoMethod*
|
||||
mono_get_delegate_invoke (MonoClass *klass)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>klass:</i></dt><dd> The delegate class</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the MonoMethod for the "Invoke" method in the delegate klass or NULL if <i>klass</i> is a broken delegate type
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_get_method_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_method_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_method_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_method"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_method</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_get_method</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_get_root_domain"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_get_root_domain</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_get_root_domain (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the root appdomain, to obtain the current domain, use mono_domain_get ()
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<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.
|
||||
|
||||
|
||||
</div> <a name="api:mono_init_from_assembly"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_init_from_assembly</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_init_from_assembly (const char *domain_name, const char *filename)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain_name:</i></dt><dd> name to give to the initial domain</dd><dt><i>filename:</i></dt><dd> filename to load on startup</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the initial domain.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Used by the runtime, users should use mono_jit_init instead.
|
||||
|
||||
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)
|
||||
|
||||
|
||||
</div> <a name="api:mono_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_init</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_init (const char *domain_name)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the initial domain.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <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 default runtime version.
|
||||
|
||||
|
||||
</div> <a name="api:mono_init_version"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_init_version</div>
|
||||
|
||||
<div class="prototype">MonoDomain*
|
||||
mono_init_version (const char *domain_name, const char *version)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> the initial domain.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p /> <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 provided rutime version.
|
||||
|
||||
|
||||
</div> <a name="api:mono_jit_exec"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_jit_exec</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_jit_exec (MonoDomain *domain, MonoAssembly *assembly, int argc, char *argv[])
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>assembly:</i></dt><dd> reference to an assembly</dd><dt><i>argc:</i></dt><dd> argument count</dd><dt><i>argv:</i></dt><dd> argument vector</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Start execution of a program.
|
||||
|
||||
</div> <a name="api:mono_lookup_internal_call"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_lookup_internal_call</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_lookup_internal_call</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_lookup_pinvoke_call"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_lookup_pinvoke_call</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_lookup_pinvoke_call</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_main</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_main (int argc, char* argv[])
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>argc:</i></dt><dd> number of arguments in the argv array</dd><dt><i>argv:</i></dt><dd> array of strings containing the startup arguments</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Launches the Mono JIT engine and parses all the command line options
|
||||
in the same way that the mono command line VM would.
|
||||
|
||||
</div> <a name="api:mono_parse_default_optimizations"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_parse_default_optimizations</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_parse_default_optimizations</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_ptr_class_get"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_ptr_class_get</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_ptr_class_get</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_register_bundled_assemblies"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_register_bundled_assemblies</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_register_bundled_assemblies</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_runtime_class_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_class_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_runtime_class_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_runtime_cleanup"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_cleanup</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_runtime_cleanup (MonoDomain *domain)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> unused.</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Internal routine.
|
||||
|
||||
This must not be called while there are still running threads executing
|
||||
managed code.
|
||||
|
||||
</div> <a name="api:mono_runtime_get_main_args"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_get_main_args</div>
|
||||
|
||||
<div class="prototype">MonoArray*
|
||||
mono_runtime_get_main_args (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a MonoArray with the arguments passed to the main program
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_runtime_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_init</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_runtime_init (MonoDomain *domain, MonoThreadStartCB start_cb,
|
||||
MonoThreadAttachCB attach_cb)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>domain:</i></dt><dd> domain returned by mono_init ()</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Initialize the core AppDomain: this function will run also some
|
||||
IL initialization code, so it needs the execution engine to be fully
|
||||
operational.
|
||||
|
||||
AppDomain.SetupInformation is set up in mono_runtime_exec_main, where
|
||||
we know the entry_assembly.
|
||||
|
||||
|
||||
</div> <a name="api:mono_runtime_is_shutting_down"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_is_shutting_down</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_runtime_is_shutting_down (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Returns whether the runtime has been flagged for shutdown.
|
||||
|
||||
This is consumed by the P:System.Environment.HasShutdownStarted
|
||||
property.
|
||||
|
||||
|
||||
</div> <a name="api:mono_runtime_object_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_object_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_runtime_object_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_runtime_quit"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_quit</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_runtime_quit</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_runtime_run_main"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_runtime_run_main</div>
|
||||
|
||||
<div class="prototype">int
|
||||
mono_runtime_run_main (MonoMethod *method, int argc, char* argv[],
|
||||
MonoObject **exc)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>method:</i></dt><dd> the method to start the application with (usually Main)</dd><dt><i>argc:</i></dt><dd> number of arguments from the command line</dd><dt><i>argv:</i></dt><dd> array of strings from the command line</dd><dt><i>exc:</i></dt><dd> excetption results</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Execute a standard Main() method (argc/argv contains the
|
||||
executable name). This method also sets the command line argument value
|
||||
needed by System.Environment.
|
||||
|
||||
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_table_info_get_rows"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_table_info_get_rows</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_table_info_get_rows</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_upgrade_remote_class_wrapper"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_upgrade_remote_class_wrapper</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_upgrade_remote_class_wrapper</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_verify_corlib"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_verify_corlib</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_verify_corlib</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
624
docs/deploy/mono-api-utils.html
Normal file
624
docs/deploy/mono-api-utils.html
Normal file
@ -0,0 +1,624 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-utils.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Utility Methods</h2>
|
||||
|
||||
<h3>Bitsets</h3>
|
||||
|
||||
<p />MonoBitsets are a set of routines used to manipulate sets
|
||||
of bits.
|
||||
|
||||
<a name="api:mono_bitset_alloc_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_alloc_size</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_alloc_size</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_clear"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_clear</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_clear</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_clear_all"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_clear_all</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_clear_all</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_clone"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_clone</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_clone</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_copyto"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_copyto</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_copyto</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_count"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_count</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_count</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_equal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_equal</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_equal</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_find_first"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_find_first</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_find_first</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_find_last"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_find_last</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_find_last</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_find_start"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_find_start</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_find_start</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_foreach"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_foreach</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_foreach</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_free"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_free</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_free</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_intersection"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_intersection</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_intersection</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_invert"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_invert</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_invert</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_mem_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_mem_new</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_mem_new</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_new</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_new</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_set"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_set</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_set</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_set_all"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_set_all</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_set_all</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_size</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_size</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_sub"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_sub</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_sub</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_test"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_test</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_test</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_test_bulk"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_test_bulk</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_test_bulk</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_union"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_union</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_union</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_find_first_unset"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_find_first_unset</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_find_first_unset</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_bitset_intersection_2"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_bitset_intersection_2</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_bitset_intersection_2</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Hashtables</h3>
|
||||
|
||||
<p /><tt>GHashTable</tt> is used when you need to store object
|
||||
references into a hashtable, objects stored in a
|
||||
<tt>MonoGHashTable</tt> are properly tracked by the garbage
|
||||
collector.
|
||||
|
||||
<p />The <tt>MonoGHashTable</tt> data type has the same API as
|
||||
the GLIB.
|
||||
|
||||
<a name="api:mono_g_hash_table_destroy"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_destroy</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_destroy</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_foreach"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_foreach</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_foreach</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_foreach_remove"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_foreach_remove</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_foreach_remove</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_foreach_steal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_foreach_steal</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_foreach_steal</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_insert"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_insert</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_insert</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_lookup"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_lookup</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_lookup</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_lookup_extended"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_lookup_extended</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_lookup_extended</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_new</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_new</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_new_full"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_new_full</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_new_full</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_remap"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_remap</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_remap</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_remove"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_remove</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_remove</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_replace"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_replace</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_replace</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_size"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_size</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_size</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_g_hash_table_steal"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_g_hash_table_steal</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_g_hash_table_steal</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>SHA1 Signatures</h3>
|
||||
|
||||
<a name="api:mono_sha1_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_sha1_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_sha1_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_sha1_update"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_sha1_update</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_sha1_update</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_sha1_get_digest_from_file"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_sha1_get_digest_from_file</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_sha1_get_digest_from_file</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_sha1_get_digest"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_sha1_get_digest</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_sha1_get_digest</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_sha1_final"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_sha1_final</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_sha1_final</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>MD5 Signatures</h3>
|
||||
|
||||
<a name="api:mono_md5_init"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_md5_init</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_md5_init</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_md5_update"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_md5_update</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_md5_update</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_md5_get_digest_from_file"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_md5_get_digest_from_file</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_md5_get_digest_from_file</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_md5_get_digest"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_md5_get_digest</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_md5_get_digest</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_md5_final"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_md5_final</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_md5_final</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div> <a name="api:mono_digest_get_public_token"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_digest_get_public_token</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_digest_get_public_token</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Memory Pools</h3>
|
||||
|
||||
<p />Memory pools are a convenient way of tracking memory
|
||||
allocations that are used for one specific task, they are also
|
||||
faster than using the standard memory allocation procedures,
|
||||
as they are designed to be used only by a single thread at a
|
||||
time.
|
||||
|
||||
<p /><tt>MonoMemPool</tt> objects are not thread safe, which
|
||||
means that you should not share the objects across multiple
|
||||
threads without providing proper locking around it (unlike
|
||||
<tt>malloc</tt> and <tt>free</tt> which are thread safe).
|
||||
|
||||
<p />When a <tt>MonoMemPool</tt> is released with
|
||||
<tt>mono_mempool_destroy</tt> all of the of the memory
|
||||
allocated from that memory pool with
|
||||
<tt>mono_mempool_alloc</tt> and <tt>mono_mempool_alloc0</tt>
|
||||
is released.
|
||||
|
||||
<a name="api:mono_mempool_new"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_new</div>
|
||||
|
||||
<div class="prototype">MonoMemPool*
|
||||
mono_mempool_new (void)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Returns</b>
|
||||
<blockquote> a new memory pool.
|
||||
</blockquote>
|
||||
|
||||
</div> <a name="api:mono_mempool_destroy"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_destroy</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_mempool_destroy (MonoMemPool *pool)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>pool:</i></dt><dd> the memory pool to destroy</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Free all memory associated with this pool.
|
||||
|
||||
</div> <a name="api:mono_mempool_alloc"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_alloc</div>
|
||||
|
||||
<div class="prototype">gpointer
|
||||
mono_mempool_alloc (MonoMemPool *pool, guint size)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>pool:</i></dt><dd> the momory pool to use</dd><dt><i>size:</i></dt><dd> size of the momory block</dd></blockquote>
|
||||
<b>Returns</b>
|
||||
<blockquote> the address of a newly allocated memory block.
|
||||
</blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Allocates a new block of memory in <i>pool</i>.
|
||||
|
||||
|
||||
</div> <a name="api:mono_mempool_alloc0"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_alloc0</div>
|
||||
|
||||
<div class="prototype">gpointer
|
||||
mono_mempool_alloc0 (MonoMemPool *pool, guint size)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
same as mono_mempool_alloc, but fills memory with zero.
|
||||
|
||||
</div> <a name="api:mono_mempool_empty"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_empty</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_mempool_empty</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_mempool_invalidate"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_invalidate</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_mempool_invalidate (MonoMemPool *pool)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>pool:</i></dt><dd> the memory pool to invalidate</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Fill the memory associated with this pool to 0x2a (42). Useful for debugging.
|
||||
|
||||
</div> <a name="api:mono_mempool_stats"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_stats</div>
|
||||
|
||||
<div class="prototype">void
|
||||
mono_mempool_stats (MonoMemPool *pool)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Parameters</b>
|
||||
<blockquote><dt><i>pool:</i></dt><dd> the momory pool we need stats for</dd></blockquote>
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Print a few stats about the mempool
|
||||
|
||||
</div> <a name="api:mono_mempool_contains_addr"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_mempool_contains_addr</div>
|
||||
|
||||
<div class="prototype">gboolean
|
||||
mono_mempool_contains_addr (MonoMemPool *pool,
|
||||
gpointer addr)
|
||||
|
||||
</div>
|
||||
<p />
|
||||
<b>Remarks</b>
|
||||
<p />
|
||||
Determines whenever ADDR is inside the memory used by the mempool.
|
||||
|
||||
|
||||
</div><h3>JIT utilities</h3>
|
||||
|
||||
<a name="api:mono_signbit_double"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signbit_double</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_signbit_double</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_signbit_float"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_signbit_float</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_signbit_float</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Disassembling Generated Code</h3>
|
||||
|
||||
<p />Routines used to debug the JIT-produced code.
|
||||
|
||||
<a name="api:mono_disasm_code"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_disasm_code</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_disasm_code</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_disasm_code_one"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_disasm_code_one</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_disasm_code_one</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Walking the Stack</h3>
|
||||
|
||||
<a name="api:mono_walk_stack"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_walk_stack</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_walk_stack</div>
|
||||
<p />
|
||||
|
||||
</div> <a name="api:mono_stack_walk_no_il"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_stack_walk_no_il</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_stack_walk_no_il</div>
|
||||
<p />
|
||||
|
||||
|
||||
</div><h3>Others</h3>
|
||||
|
||||
<a name="api:mono_escape_uri_string"></a>
|
||||
<div class="api">
|
||||
<div class="api-entry">mono_escape_uri_string</div>
|
||||
|
||||
<div class="prototype">Prototype: mono_escape_uri_string</div>
|
||||
<p />
|
||||
|
||||
</div></body>
|
||||
</html>
|
||||
</span>
|
55
docs/deploy/mono-api-vm.html
Normal file
55
docs/deploy/mono-api-vm.html
Normal file
@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><span>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<title>mono-api-vm.html</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
h3 {
|
||||
font-size: 18px;
|
||||
padding-bottom: 4pt;
|
||||
border-bottom: 2px solid #dddddd;
|
||||
}
|
||||
|
||||
.api {
|
||||
border: 1px solid;
|
||||
padding: 10pt;
|
||||
margin: 10pt;
|
||||
}
|
||||
|
||||
.api-entry {
|
||||
border-bottom: none;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.prototype {
|
||||
border: 1px solid;
|
||||
background-color: #f2f2f2;
|
||||
padding: 5pt;
|
||||
margin-top: 5pt;
|
||||
margin-bottom: 5pt;
|
||||
}
|
||||
|
||||
.header {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
.code {
|
||||
border: 1px solid;
|
||||
padding: 0 0 5pt 5pt;
|
||||
margin: 10pt;
|
||||
white-space: pre;
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
</span>
|
1588
docs/deploy/mono-api-wapi.html
Normal file
1588
docs/deploy/mono-api-wapi.html
Normal file
File diff suppressed because it is too large
Load Diff
3
eglib/aclocal.m4
vendored
3
eglib/aclocal.m4
vendored
@ -573,7 +573,8 @@ to "yes", and re-run configure.
|
||||
END
|
||||
AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
|
||||
fi
|
||||
fi])
|
||||
fi
|
||||
])
|
||||
|
||||
dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
|
||||
dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
|
||||
|
@ -1 +1 @@
|
||||
f63e8c4f995b49470fb7c4bd1f34dac0e85ad20c
|
||||
065fbf260bfbda470af4db973c37f1d93ec4fc4c
|
BIN
external/binary-reference-assemblies/v2.0/Accessibility.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Accessibility.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Commons.Xml.Relaxng.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Commons.Xml.Relaxng.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
1c737e92fc50c2860741582b2b2c7b7eb05e6503
|
BIN
external/binary-reference-assemblies/v2.0/CustomMarshalers.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/CustomMarshalers.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/I18N.CJK.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/I18N.CJK.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
95c141cb1bf7ba0bb408fb0500979ff86e936078
|
BIN
external/binary-reference-assemblies/v2.0/I18N.MidEast.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/I18N.MidEast.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/I18N.Other.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/I18N.Other.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/I18N.Rare.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/I18N.Rare.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/I18N.West.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/I18N.West.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/I18N.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/I18N.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/IBM.Data.DB2.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/IBM.Data.DB2.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/ICSharpCode.SharpZipLib.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/ICSharpCode.SharpZipLib.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Microsoft.Build.Engine.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Microsoft.Build.Engine.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
0a13f25c2b539d3eb3130747fa5b9c592c865adc
|
BIN
external/binary-reference-assemblies/v2.0/Microsoft.Build.Framework.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Microsoft.Build.Framework.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Microsoft.Build.Tasks.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Microsoft.Build.Tasks.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
fdc1308d76495ef02a4abc4008cf85738253a5e9
|
BIN
external/binary-reference-assemblies/v2.0/Microsoft.Build.Utilities.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Microsoft.Build.Utilities.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Microsoft.VisualBasic.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Microsoft.VisualBasic.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
553b666cbda33a40eefd4491c08219ab0a7e9899
|
BIN
external/binary-reference-assemblies/v2.0/Microsoft.VisualC.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Microsoft.VisualC.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Mono.C5.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Mono.C5.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
16dad5828c68a7cdff0f803b3b7b94d6202f8a15
|
1
external/binary-reference-assemblies/v2.0/Mono.CSharp.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Mono.CSharp.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
0bac21a97d3e8234ce88c419fb2b697b9fd8a2ec
|
BIN
external/binary-reference-assemblies/v2.0/Mono.Cairo.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Cairo.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.CompilerServices.SymbolWriter.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.CompilerServices.SymbolWriter.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Mono.Data.Sqlite.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Mono.Data.Sqlite.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
1380d4e2e907807e9e558a5d0741622020a9eacb
|
BIN
external/binary-reference-assemblies/v2.0/Mono.Data.Tds.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Data.Tds.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.Debugger.Soft.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Debugger.Soft.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.Http.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Http.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.Management.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Management.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.Messaging.RabbitMQ.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Messaging.RabbitMQ.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.Messaging.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Messaging.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Mono.Posix.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Mono.Posix.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
bcf28daab3d3aabaf3bd8384fbc64a72b56b3670
|
BIN
external/binary-reference-assemblies/v2.0/Mono.Security.Win32.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Security.Win32.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Mono.Security.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Mono.Security.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
b31b85489f721ceed592dd1feaffc1e7a72ca1ce
|
BIN
external/binary-reference-assemblies/v2.0/Mono.Simd.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Simd.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/Mono.Tasklets.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.Tasklets.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Mono.WebBrowser.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Mono.WebBrowser.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
5908f2354983941412b03188e9223e5bb69aeb72
|
BIN
external/binary-reference-assemblies/v2.0/Mono.XBuild.Tasks.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/Mono.XBuild.Tasks.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/Novell.Directory.Ldap.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Novell.Directory.Ldap.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
85f2c42bb50f6ec544ef78847bedac7e47e55912
|
1
external/binary-reference-assemblies/v2.0/Npgsql.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/Npgsql.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
b24e83fc55c2db856ee389b0d154679d9274402d
|
BIN
external/binary-reference-assemblies/v2.0/PEAPI.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/PEAPI.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/RabbitMQ.Client.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/RabbitMQ.Client.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
721567a04477d387c00a736b9b0b1b222ad8e6c3
|
BIN
external/binary-reference-assemblies/v2.0/System.ComponentModel.DataAnnotations.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.ComponentModel.DataAnnotations.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.Configuration.Install.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Configuration.Install.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.Configuration.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Configuration.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/System.Core.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Core.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
0b05e733bebabb5cfb18d760512137d0c42fe89e
|
BIN
external/binary-reference-assemblies/v2.0/System.Data.DataSetExtensions.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Data.DataSetExtensions.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/System.Data.Linq.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Data.Linq.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
49c192eea0c192d2e782b9cf5887ca423cee0aa7
|
1
external/binary-reference-assemblies/v2.0/System.Data.OracleClient.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Data.OracleClient.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
f7d03d7b5ac6c7a09eabec7041e24472206157a6
|
1
external/binary-reference-assemblies/v2.0/System.Data.Services.Client.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Data.Services.Client.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
6b42f3931a6cff0cecd6d15e320678ad4e01349e
|
BIN
external/binary-reference-assemblies/v2.0/System.Data.Services.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Data.Services.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/System.Data.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Data.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
4850c64dfca079e14274c554439117efaff6047f
|
1
external/binary-reference-assemblies/v2.0/System.Design.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Design.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
d36feba9dacf4fd825eadce42700f598509ee412
|
BIN
external/binary-reference-assemblies/v2.0/System.DirectoryServices.Protocols.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.DirectoryServices.Protocols.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.DirectoryServices.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.DirectoryServices.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.Drawing.Design.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Drawing.Design.dll
vendored
Normal file
Binary file not shown.
1
external/binary-reference-assemblies/v2.0/System.Drawing.dll.REMOVED.git-id
vendored
Normal file
1
external/binary-reference-assemblies/v2.0/System.Drawing.dll.REMOVED.git-id
vendored
Normal file
@ -0,0 +1 @@
|
||||
e4ea6d7d720ab1b7c9adbb34c3f4d5332e15cd11
|
BIN
external/binary-reference-assemblies/v2.0/System.EnterpriseServices.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.EnterpriseServices.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.IdentityModel.Selectors.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.IdentityModel.Selectors.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.IdentityModel.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.IdentityModel.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.Json.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Json.dll
vendored
Normal file
Binary file not shown.
BIN
external/binary-reference-assemblies/v2.0/System.Management.dll
vendored
Normal file
BIN
external/binary-reference-assemblies/v2.0/System.Management.dll
vendored
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user