winsup/doc/faq-api.xml, -programming.xml: change Win32 to Windows/API

This commit is contained in:
Brian Inglis 2020-08-25 06:57:14 -06:00 committed by Corinna Vinschen
parent 6329d546dd
commit ed97836149
2 changed files with 15 additions and 15 deletions

View File

@ -18,7 +18,7 @@ Windows into the C library. Then your apps should (ideally) run on POSIX
systems (Unix/Linux) and Windows with no changes at the source level.
</para>
<para>The C library is in a DLL, which makes basic applications quite small.
And it allows relatively easy upgrades to the Win32/POSIX translation
And it allows relatively easy upgrades to the Windows/POSIX translation
layer, providing that DLL changes stay backward-compatible.
</para>
<para>For a good overview of Cygwin, you may want to read the Cygwin
@ -140,7 +140,7 @@ spawn family of calls if possible.
<para>Here's how it works:
</para>
<para>Parent initializes a space in the Cygwin process table for child.
Parent creates child suspended using Win32 CreateProcess call, giving
Parent creates child suspended using Windows CreateProcess call, giving
the same path it was invoked with itself. Parent calls setjmp to save
its own context and then sets a pointer to this in the Cygwin shared
memory area (shared among all Cygwin tasks). Parent fills in the child's
@ -326,7 +326,7 @@ name under the API.
<para>E.g., the POSIX select system call can wait on a standard file handles
and handles to sockets. The select call in Winsock can only wait on
sockets. Because of this, the Cygwin dll does a lot of nasty stuff behind
the scenes, trying to persuade various Winsock/Win32 functions to do what
the scenes, trying to persuade various Winsock/Windows functions to do what
a Unix select would do.
</para>
<para>If you are porting an application which already uses Winsock, then
@ -337,11 +337,11 @@ direct calls to Winsock functions. If you use Cygwin, use the POSIX API.
</answer></qandaentry>
<qandaentry id="faq.api.winsock">
<question><para>I don't want Unix sockets, how do I use normal Win32 winsock?</para></question>
<question><para>I don't want Unix sockets, how do I use normal Windows winsock?</para></question>
<answer>
<para>You don't. Look for the Mingw-w64 project to port applications using
native Win32/Winsock functions. Cross compilers packages to build Mingw-w64
native Windows API/Winsock functions. Cross compilers packages to build Mingw-w64
targets are available in the Cygwin distro.
</para>
</answer></qandaentry>

View File

@ -76,7 +76,7 @@ sizeof(void*) 4 8 8
</screen>
<para>This difference can result in interesting problems, especially when
using Win32 functions, especially when using pointers to Windows
using Windows API functions using pointers to Windows
datatypes like LONG, ULONG, DWORD. Given that Windows is LLP64, all of
the aforementioned types are 4 byte in size, on 32 as well as on 64 bit
Windows, while `long' on 64 bit Cygwin is 8 bytes.</para>
@ -189,10 +189,10 @@ string pointer given to printf is missing the upper 4 bytes.
</para></listitem>
<listitem><para>
<emphasis>Don't</emphasis> use C base types together with Win32 functions.
<emphasis>Don't</emphasis> use C base types together with Windows API functions.
Keep in mind that DWORD, LONG, ULONG are <emphasis>not</emphasis> the same
as long and unsigned long. Try to use only Win32 datatypes in conjunction
with Win32 API function calls to avoid type problems. See the above
as long and unsigned long. Try to use only Windows datatypes in conjunction
with Windows API function calls to avoid type problems. See the above
ReadFile example. Windows functions in printf calls should be treated
carefully as well. This code is common for 32 bit code, but probably prints
the wrong value on 64 bit:
@ -438,11 +438,11 @@ gcj --main=Hello Hello.java
</answer></qandaentry>
<qandaentry id="faq.programming.win32-api">
<question><para>How do I use Win32 API calls?</para></question>
<question><para>How do I use Windows API calls?</para></question>
<answer>
<para>Cygwin tools require that you explicitly link the import libraries
for whatever Win32 API functions that you are going to use, with the exception
for whatever Windows API functions that you are going to use, with the exception
of kernel32, which is linked automatically (because the startup and/or
built-in code uses it).
</para>
@ -464,7 +464,7 @@ including user32, gdi32 and comdlg32.
or at least after all the object files and static libraries that reference them.
</para>
<note><para>There are a few restrictions for calls to the Win32 API.
<note><para>There are a few restrictions for calls to the Windows API.
For details, see the User's Guide section
<ulink url="https://cygwin.com/cygwin-ug-net/setup-env.html#setup-env-win32">Restricted Win32 environment</ulink>,
as well as the User's Guide section
@ -472,7 +472,7 @@ as well as the User's Guide section
</answer></qandaentry>
<qandaentry id="faq.programming.win32-no-cygwin">
<question><para>How do I compile a Win32 executable that doesn't use Cygwin?</para></question>
<question><para>How do I compile a Windows executable that doesn't use Cygwin?</para></question>
<answer>
<para>The compilers provided by the <literal>mingw64-i686-gcc</literal> and
@ -528,7 +528,7 @@ lines must start with tabs. This is not specific to Cygwin.
</answer></qandaentry>
<qandaentry id="faq.programming.win32-headers">
<question><para>Why can't we redistribute Microsoft's Win32 headers?</para></question>
<question><para>Why can't we redistribute Microsoft's Windows API headers?</para></question>
<answer>
<para>Subsection 2.d.f of the `Microsoft Open Tools License agreement' looks
@ -536,7 +536,7 @@ like it says that one may not "permit further redistribution of the
Redistributables to their end users". We take this to mean that we can
give them to you, but you can't give them to anyone else, which is
something that we can't agree to. Fortunately, we
have our own Win32 headers which are pretty complete.
have our own Windows API headers which are pretty complete.
</para>
</answer></qandaentry>