Winelib Devel Guide: update
Dimitrie O. Paun
dpaun at rogers.com
Tue Jan 27 23:31:49 CST 2004
You should
cvs rm -f documentation/winelib-pkg.sgml
after applying the patch.
ChangeLog
Remove a bunch of dummy and/or obsolete info
from the Winelib Developers Guide.
Index: documentation/winelib-bindlls.sgml
===================================================================
RCS file: /var/cvs/wine/documentation/winelib-bindlls.sgml,v
retrieving revision 1.11
diff -u -r1.11 winelib-bindlls.sgml
--- documentation/winelib-bindlls.sgml 26 Nov 2003 03:55:01 -0000 1.11
+++ documentation/winelib-bindlls.sgml 27 Jan 2004 20:55:14 -0000
@@ -53,7 +53,7 @@
of the functions etc. have been changed to protect the innocent).
A large Windows application includes a DLL that links to a third-party
DLL. For various reasons the third-party DLL does not work too well
- under Wine. However the third-party DLL is also available for the
+ under Wine. However the third-party library is also available for the
Linux environment. Conveniently the DLL and Linux shared library
export only a small number of functions and the application only uses
one of those.
@@ -62,8 +62,7 @@
Specifically, the application calls a function:
<programlisting>
signed short WINAPI MyWinFunc (unsigned short a, void *b, void *c,
- unsigned long *d, void *e, unsigned char f, char g,
- unsigned char *h);
+ unsigned long *d, void *e, int f, char g, unsigned char *h);
</programlisting>
and the linux library exports a corresponding function:
<programlisting>
@@ -83,8 +82,7 @@
<para>
In the simple example we want a Wine built-in Dll that corresponds to
the MyWin Dll. The spec file is <filename>MyWin.dll.spec</filename> and
- looks something like this (depending on changes to the way that the
- specfile is formatted since this was written).
+ looks something like this:
<programlisting>
#
# File: MyWin.dll.spec
@@ -102,10 +100,9 @@
# End of file
</programlisting>
Notice that the arguments are flagged as long even though they are
- smaller than that.
- Notice also that we do not specify an initial function. With this
- example we will link directly to the Linux shared library whereas
- with the ODBC example we will load the Linux shared library dynamically.
+ smaller than that. With this example we will link directly to the
+ Linux shared library whereas with the ODBC example we will load the
+ Linux shared library dynamically.
</para>
<para>
In the case of the ODBC example you can see this in the file
@@ -113,23 +110,17 @@
</para>
</sect1>
- <sect1 id="bindlls-cxx-apis">
- <title id="bindlls-cxx-apis.title">How to deal with C++ APIs</title>
- <para>
- names are mangled, how to demangle them, how to call them
- </para>
- </sect1>
-
<sect1 id="bindlls-wrapper">
<title id="bindlls-wrapper.title">Writing the wrapper</title>
<para>
Firstly we will look at the simple example. The main complication of
this case is the slightly different argument lists. The f parameter
does not have to be passed to the Linux function and the d parameter
- (theoretically) has to be converted between unsigned long * and
- unsigned short *. Doing this ensures that the "high" bits of the
- returned value are set correctly. Also unlike with the ODBC example we
- will link directly to the Linux Shared Library.
+ (theoretically) has to be converted between
+ <literal>unsigned long *i</literal> and <literal>unsigned short *</literal>.
+ Doing this ensures that the "high" bits of the returned value are set
+ correctly. Also unlike with the ODBC example we will link directly to
+ the Linux Shared Library.
<programlisting>
/*
* File: MyWin.c
@@ -153,9 +144,6 @@
#include < <3rd party linux header> >
#include <windef.h> /* Part of the Wine header files */
-signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,
- unsigned long *d, void *e, unsigned char f, char g,
- unsigned char *h)
/* This declaration is as defined in the spec file. It is deliberately not
* specified in terms of <3rd party> types since we are messing about here
* between two operating systems (making it look like a Windows thing when
@@ -163,6 +151,8 @@
* inconsistencies.
* For example the fourth argument needs care
*/
+signed short WINAPI MyProxyWinFunc (unsigned short a, void *b, void *c,
+ unsigned long *d, void *e, int f, char g, unsigned char *h)
{
unsigned short d1;
signed short ret;
@@ -282,22 +272,15 @@
</para>
</sect1>
- <sect1 id="bindlls-advanced">
- <title id="binary-dlls-advanced.title">Advanced options</title>
+ <sect1 id="bindlls-filenames">
+ <title id="binary-dlls-filenames.title">Converting filenames</title>
<para>
- Here are a few more advanced options.
+ Suppose you want to convert incoming DOS format filenames to their
+ Unix equivalent. Of course there is no suitable function in the true
+ Microsoft Windows API, but wine provides a function for just this
+ task and exports it from its copy of the kernel32 DLL. The function
+ is <function>wine_get_unix_file_name</function> (defined in winbase.h).
</para>
- <sect2 id="bindlls-adv-filenames">
- <title id="binary-dlls-adv-filenames.title">Converting filenames</title>
- <para>
- Suppose you want to convert incoming DOS format filenames to their
- Unix equivalent. Of course there is no suitable function in the true
- Microsoft Windows API, but wine provides a function for just this
- task and exports it from its copy of the kernel32 DLL. The function
- is wine_get_unix_file_name (defined in winbase.h). Use the -ikernel32
- option to winemaker to link to it.
- </para>
- </sect2>
</sect1>
</chapter>
Index: documentation/winelib-mfc.sgml
===================================================================
RCS file: /var/cvs/wine/documentation/winelib-mfc.sgml,v
retrieving revision 1.5
diff -u -r1.5 winelib-mfc.sgml
--- documentation/winelib-mfc.sgml 2 Oct 2003 04:25:44 -0000 1.5
+++ documentation/winelib-mfc.sgml 27 Jan 2004 17:26:45 -0000
@@ -209,16 +209,6 @@
</para>
</sect1>
- <sect1 id="mfc-using">
- <title id="mfc-using.title">Using the MFC</title>
- <para>
- </para>
- <para>
- Specific winemaker options,
- the configure options,
- the initialization problem...
- </para>
- </sect1>
</chapter>
<!-- Keep this comment at the end of the file
Index: documentation/winelib-porting.sgml
===================================================================
RCS file: /var/cvs/wine/documentation/winelib-porting.sgml,v
retrieving revision 1.11
diff -u -r1.11 winelib-porting.sgml
--- documentation/winelib-porting.sgml 27 Jan 2004 20:09:46 -0000 1.11
+++ documentation/winelib-porting.sgml 27 Jan 2004 20:50:47 -0000
@@ -149,31 +149,6 @@
</para>
</sect1>
- <sect1 id="com-support">
- <title id="com-support.title">VC's native COM support</title>
- <para>
- don't use it,
- guide on how to replace it with normal C++ code (yes, how???):
- extracting a .h and .lib from a COM DLL
- Can '-fno-rtti' be of some use or even required?
- </para>
- </sect1>
-
- <sect1 id="SEH">
- <title id="SEH.title">SEH</title>
- <para>
- how to modify the syntax so that it works both with gcc's macros and Wine's macros,
- is it even possible?
- </para>
- </sect1>
-
- <sect1 id="others">
- <title id="others.title">Others</title>
- <para>
- -fpermissive and -fno-for-scope,
- maybe other options
- </para>
- </sect1>
</chapter>
<!-- Keep this comment at the end of the file
Index: documentation/winelib-user.sgml
===================================================================
RCS file: /var/cvs/wine/documentation/winelib-user.sgml,v
retrieving revision 1.5
diff -u -r1.5 winelib-user.sgml
--- documentation/winelib-user.sgml 27 Jan 2004 20:09:46 -0000 1.5
+++ documentation/winelib-user.sgml 27 Jan 2004 20:49:10 -0000
@@ -5,7 +5,6 @@
<!entity toolkit SYSTEM "winelib-toolkit.sgml">
<!entity mfc SYSTEM "winelib-mfc.sgml">
<!entity bindlls SYSTEM "winelib-bindlls.sgml">
-<!entity packaging SYSTEM "winelib-pkg.sgml">
]>
@@ -35,6 +34,5 @@
&toolkit;
&mfc;
&bindlls;
- &packaging;
</book>
--
Dimi.
More information about the wine-patches
mailing list