Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/man
diff options
context:
space:
mode:
authorPaolo Molaro <lupus@oddwiz.org>2004-06-19 13:42:23 +0400
committerPaolo Molaro <lupus@oddwiz.org>2004-06-19 13:42:23 +0400
commit18f0189f4479e829e4b6d971ac52bc154350c628 (patch)
tree66928284a6785898a4294ed55bc26d3019c0586a /man
parent448baf251ad898db8839510b25010b192440fd8e (diff)
Document function remapping, too.
svn path=/trunk/mono/; revision=29935
Diffstat (limited to 'man')
-rw-r--r--man/mono-config.557
1 files changed, 55 insertions, 2 deletions
diff --git a/man/mono-config.5 b/man/mono-config.5
index 1800f42b8d2..1229a104b21 100644
--- a/man/mono-config.5
+++ b/man/mono-config.5
@@ -1,8 +1,9 @@
.\"
-.\" mono configuration page.
+.\" mono-config configuration page.
.\" (C) Ximian, Inc.
.\" Author:
.\" Miguel de Icaza (miguel@gnu.org)
+.\" Paolo Molaro (lupus@ximian.com)
.\"
.TH Mono "Mono 1.0"
.SH NAME
@@ -12,6 +13,9 @@ The Mono runtime will load configuration data from the
installation prefix /etc/mono/config file, the ~/.mono/config or from
the file pointed by the MONO_CONFIG environment variable.
.PP
+For each assembly loaded a config file with the name:
+/path/to/the/assembly.exe.config is loaded, too.
+.PP
This file controls the behavior of the runtime.
.PP
The file contains an XML-like file with various sections, all of them
@@ -24,6 +28,37 @@ You use the dllmap directive to map shared libraries referenced by
P/Invoke in your assemblies to a different shared library.
.PP
This is typically used to map Windows libraries to Unix library names.
+The
+.B dllmap
+element takes two attributes:
+.TP
+.I dll
+This should be the same string used in the DllImport attribute
+.TP
+.I target
+This should be the name of the library where the function can be found:
+this name should be suitable for use with the platform native shared library
+loading routines (dlopen etc.), so you may want to check the manpages for that, too.
+.SH <dllentry> directive
+This directive can be used to map a specific dll/function pair to a different
+library and also a different function name. It should appear inside a
+.B dllmap
+element with only the dll attribute specified.
+.PP
+The
+.B dllentry
+element takes 3 attributes:
+.TP
+.I dll
+This is the target library, where the function can be found.
+.TP
+.I name
+This is the name of the fuction as it appears in the metadata: it is the name
+of the P/Invoke method.
+.TP
+.I target
+This is the name of the function to lookup instead of the name specified in the
+P/Invoke method.
.SH EXAMPLES
The following example maps references to the `cygwin1.dll' shared
library to the `libc.so.6' file.
@@ -32,5 +67,23 @@ library to the `libc.so.6' file.
<dllmap dll="cygwin1.dll" target="libc.so.6"/>
</configuration>
.fi
+.PP
+This one maps the following C# method:
+.nf
+ [DllImport ("libc")]
+ static extern void somefunction ();
+.fi
+to
+.B differentfunction
+in
+.B libdifferent.so.
+.nf
+<configuration>
+ <dllmap dll="libc">
+ <dllentry dll="libdifferent.so" name="somefunction" target="differentfunction" />
+ </dllmap>
+</configuration>
+.fi
+
.SH SEE ALSO
-.BR mono(1), monodis(1), mint(1) \ No newline at end of file
+.BR mono(1), monodis(1), mint(1)