summaryrefslogtreecommitdiffstats
path: root/winsup/w32api/README.w32api
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/README.w32api')
-rw-r--r--winsup/w32api/README.w32api93
1 files changed, 93 insertions, 0 deletions
diff --git a/winsup/w32api/README.w32api b/winsup/w32api/README.w32api
new file mode 100644
index 000000000..02ca26263
--- /dev/null
+++ b/winsup/w32api/README.w32api
@@ -0,0 +1,93 @@
+ Free headers and libraries for the Win32 API
+
+ Originally written by Anders Norlander
+ Last known and not working email: <anorland@hem2.passagen.se>
+
+ Now maintained by MinGW Developers
+ Send bug reports and questions to MinGW-users@lists.sourceforge.net
+ URL: http://www.mingw.org
+
+* License 2.0
+
+ You are free to use, modify and copy this package as long as this
+ README.w32api file is included unmodified with any distribution, source or
+ binary, of this package. No restrictions are imposed on any package or
+ product using or incorporating this package. You are free to license your
+ package as you see fit.
+
+ You may not restrict others freedoms as set forth in the above paragraph.
+ You may distribute this library as part of another package or as a
+ modified package if and only if you do *not* restrict others freedoms as
+ set forth in the above paragraph as it concerns this pakcage. You do have
+ the right to restrict uses of any package using this package.
+
+ This package is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+* What is it?
+
+ This is a free set of headers and import libraries for the Win32
+ API. The library differs from the GNU Windows32 library in that I
+ have tried to use a file structure that mirrors Microsoft's. I
+ don't like having *all* definitions in one single header as in the
+ GNU Windows32 library, I want a clean separation between different
+ parts of the API.
+
+ Daniel Guerrero Miralles contributed the DirectX 6.1 import
+ libraries and DirectX GUID definitions.
+
+ See the files NOTES and TODO for what needs to be done.
+
+* Size does matter
+
+ Since the WIN32 API is severely bloated (as most MS products seem to
+ be) the headers are designed to be as compact as possible, while
+ still being readable, in order to minimize parsing time.
+
+ The convention is to omit parameter names for function prototypes,
+ no excessive white space. Struct/union members are indented with tab
+ characters to make them readable. Comment only when necessary.
+
+ If you are contributing a patch please follow the above mentioned
+ convention. Make sure your editor does not convert tabs to spaces.
+
+* What do I need to use it?
+
+ The library is intended for use with egcs 1.1 or later but it is
+ possible to use with some other tools as well (although it is not
+ very useful). LCC-Win32, MSVC and Borland C++ 5.01 or higher may
+ work as well. The import libraries are for GNU tools only.
+
+ The library requires egcs 1.1 or later, since the `#pragma pack'
+ feature is used. Mumit Khan provides egcs patches and binaries for
+ win32 at `http://www.xraylith.wisc.edu/~khan/software/gnu-win32/'.
+
+ If you are going to use C++ COM objects, you will need a version of
+ egcs that recognizes the `comobject' attribute and then define
+ HAVE_COMOBJECT when compiling your program. Antonio Mendes de
+ Oliveira Neto has a prebuilt version at
+ `http://li.facens.br/EGCS-WIN32/english/index.html'. Note that this
+ is very experimental. If you want to use COM objects in C++ but with
+ C interfaces you must define CINTERFACE.
+
+ Objective-C programs cannot use COM functionality because of
+ conflicts between the interface define and the Objective-C
+ @interface directive. There is also a conflict between the windows
+ Obj-C BOOL types. To avoid this conflict you should use WINBOOL in
+ all places where you would use BOOL in a C/C++ windows program. If
+ you include any windows headers *after* `windows.h' you must use the
+ method outlined below:
+
+ /* non-windows includes */
+ #include <objc/objc.h>
+ ...
+ /* windows specific headers */
+ #include <windows.h>
+ #define BOOL WINBOOL
+ #include <commctrl.h>
+ ...
+ #undef BOOL
+ ...
+ /* include other headers */
+