reactos/sdk/include/psdk
Hermès Bélusca-Maïto 14599b0a37
[SHELL32][SHLWAPI] Forward shell32.ShellMessageBoxW directly to shlwapi.ShellMessageBoxWrapW. (#3179)
This makes ShellMessageBoxW use the correct implementation where the
text buffer size is dynamic, instead of having a too small hardcoded
size.

Fixes CORE-17271.
See also PR #3172 by Kyle Katarn, supplemented with some ideas from
Mark Jansen.

However we cannot straightforwardly implement ShellMessageBoxA around
ShellMessageBoxW, by converting some parameters from ANSI to UNICODE,
because there may be some variadic ANSI strings, associated with '%s'
printf-like formatters inside the format string, that would also need
to be converted; however there is no way for us to find these and perform
the conversion ourselves.
Therefore, we re-implement ShellMessageBoxA by doing a copy-paste ANSI
adaptation of the shlwapi.ShellMessageBoxWrapW function.

Note that, on Vista+ onwards, shlwapi implements both ShellMessageBoxA/W,
and shell32 directly forwards these exports to shlwapi, thus avoiding
these workarounds.

[PSDK] Explicily use WINAPIV for the variadic ShellMessageBoxA/W functions.

[INCLUDE/REACTOS] Add ShellMessageBoxWrapW in shlwapi_undoc.h .
2020-09-13 22:44:58 +02:00
..
accctrl.h
access.idl
aclapi.h
aclui.h
activaut.idl
activdbg.idl
activscp.idl [PSDK] Update activscp.idl. CORE-16441 2019-12-01 19:42:38 +01:00
adshlp.h
advpub.h
af_irda.h
afxres.h
appmgmt.h
asptlb.idl
asynot.idl
asysta.idl
atliface.idl
atsmedia.h
audioclient.idl
audiopolicy.idl
audiosessiontypes.h
authz.h
basetsd.h
basetyps.h
batclass.h
bcrypt.h
bdaiface.idl
binres.idl
bits.idl
bits1_5.idl
bits2_0.idl
bits2_5.idl
bits3_0.idl
bitsmsg.h
bthdef.h
cderr.h
cfg.h
cfgmgr32.h
cguid.h [PSDK] Fix GCC8 complaining on duplicate and wrong declarations 2019-08-20 15:05:47 +02:00
chstring.h
cierror.h
clusapi.h
CMakeLists.txt [PSDK] Import vsbackup.idl from Wine and enable it in CMakeLists.txt 2020-06-07 19:45:05 +02:00
cmdbas.idl
cmdtxt.idl
comcat.idl
commctrl.h [PSDK] Update commctrl.h. CORE-16441 2019-10-26 22:51:35 +01:00
commdlg.h
common.ver
commoncontrols.idl
compstui.h
concurrencysal.h
control.idl
cor.idl
cordebug.idl
corerror.h
corhdr.h
cpl.h
cplext.h
crtrow.idl
cryptdlg.h
cryptuiapi.h
ctfutb.idl
ctxtcall.idl
custcntl.h
cvconst.h
d3d.h
d3d8.h
d3d8types.h
d3d9.h
d3d9types.h
d3d10.idl
d3d10effect.h
d3d10misc.h
d3d10shader.h
d3d11shader.h [PSDK] Add missing GetRequiresFlags. CORE-16441 2019-10-26 12:59:56 +01:00
d3dcommon.idl
d3dcompiler.h
d3dnthal.h
d3drm.h
d3drmdef.h
d3drmobj.h
d3drmwin.h
d3dtypes.h
d3dukmdt.h
d3dx8core.h
dbccmd.idl
dbcses.idl
dbdsad.idl
dbgeng.h [PSDK] Import dbgeng.h header from Wine Staging 4.18 2020-09-10 18:19:28 +02:00
dbghelp.h [PSDK] dbghelp.h: Fix 64 bit version of LOADED_IMAGE 2019-08-15 18:04:57 +02:00
dbinit.idl
dbprop.idl
dbs.idl
dbt.h
dciman.h
dde.h
ddeml.h
ddkernel.h
ddkmapi.h
ddraw.h
ddrawgdi.h
ddrawi.h
ddrawint.h
delayimp.h
delayloadhandler.h
devenum.idl
devguid.h
devicetopology.idl
devpkey.h [PSDK] Import definitions needed by newer storage class drivers 2020-08-24 04:04:32 +03:00
devpropdef.h [PSDK] Import definitions needed by newer storage class drivers 2020-08-24 04:04:32 +03:00
dhcpcapi.h
dhcpcsdk.h
digitalv.h
dimm.idl
dinput.h [PSDK] Update dinput.h. CORE-16441 2019-10-26 13:03:08 +01:00
dinputd.h
diskguid.h
dispex.idl
dlgs.h
dmemmgr.h
dmksctrl.h
docobj.idl [PSDK] Fix GCC8 complaining on duplicate and wrong declarations 2019-08-20 15:05:47 +02:00
docobjectservice.idl
downloadmgr.idl
dpfilter.h [NTOS][SDK] Add new kernel debug filters that have been added in Win8 and Win10; they can be useful for us. 2020-07-18 17:45:40 +02:00
dplay.h
dplobby.h
driverspecs.h
drmexternals.idl
dsgetdc.h
dsound.h
dsrole.h
dvdevcod.h
dvdmedia.h
dvp.h
dwmapi.h
dyngraph.idl
eaptypes.h
edevdefs.h
endpointvolume.idl
errorrep.h
evntprov.h
evntrace.h
exdisp.idl [SHELLFIND] Add search command events 2019-09-15 19:46:36 +03:00
exdispid.h [SHELLFIND] Add search command events 2019-09-15 19:46:36 +03:00
fci.h
fdi.h
fileapi.h
fltdefs.h [PSDK] Add fltdefs.h 2019-09-08 16:23:46 +02:00
fontsub.h
fusion.idl
gdiplus.h
gdiplusbase.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdiplusbrush.h [SDK][INCLUDE] Refinement of Gdiplus headers (#2217) 2020-01-01 13:53:30 +09:00
gdipluscolor.h [SDK][INCLUDE] Improve gdipluscolor.h (#2195) 2019-12-30 18:07:13 +09:00
gdipluscolormatrix.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdipluseffects.h [SDK][INCLUDE] Improve gdipluseffects.h (#2196) 2019-12-30 19:57:55 +09:00
gdiplusenums.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdiplusflat.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdiplusgpstubs.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdiplusgraphics.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdiplusheaders.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdiplusimageattributes.h [SDK][INCLUDE] Improve Gdiplus::Graphics (#2211) 2019-12-31 20:40:16 +09:00
gdiplusimaging.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdiplusinit.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdipluslinecaps.h [SDK][INCLUDE] Refinement of Gdiplus headers (#2217) 2020-01-01 13:53:30 +09:00
gdiplusmatrix.h [SDK][INCLUDE] Improve gdiplusmatrix.h (#2220) 2020-01-01 16:48:52 +09:00
gdiplusmem.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdiplusmetafile.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdiplusmetaheader.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdipluspath.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdipluspen.h [SDK][INCLUDE] Total refinement of Gdiplus headers (#2223) 2020-01-01 20:28:42 +09:00
gdipluspixelformats.h [SDK][INCLUDE] Formatting gdiplus headers (#2190) 2019-12-29 23:21:05 +09:00
gdiplusstringformat.h [SDK][INCLUDE] Improve gdiplusgraphics.h (#2222) 2020-01-01 19:10:47 +09:00
gdiplustypes.h [SDK][INCLUDE] Implementing Gdiplus::GraphicsPath (#2200) 2019-12-31 09:23:45 +09:00
guiddef.h [PSDK] guiddef.h: Remove unwanted '&& !defined(CINTERFACE)' (#2492) 2020-04-03 13:59:34 +02:00
hidpi.h
hidusage.h
hlguids.h
hlink.idl
htiface.idl
htiframe.idl
htmlhelp.h
http.h [PSDK] Update http.h. CORE-16441 2019-11-02 18:31:30 +01:00
httpext.h
httprequest.idl
httprequestid.h
i_cryptasn1tls.h
iads.idl
icftypes.idl
icm.h [PSDK] Update icm.h. CORE-16441 2019-11-09 21:58:15 +01:00
icmpapi.h
idispids.h
idndl.h
ieautomation.idl
ieverp.h
ifdef.h
ifmib.h
imagehlp.h
imm.h [IMM32][NTUSER] Implement ImmGetHotKey (#3025) 2020-08-09 22:41:11 +09:00
imnact.idl
imnxport.idl
in6addr.h
inaddr.h
indexsrv.idl
initguid.h
inputscope.idl
inseng.idl
intsafe.h
intshcut.h
ioevent.h
ipexport.h [IPHLPAPI] Make icmp functions use IOCTL_ICMP_ECHO_REQUEST from tcpip.sys 2020-04-07 05:32:40 +03:00
iphlpapi.h
ipifcons.h
ipmib.h
iprtrmib.h
iptypes.h
isguids.h
knownfolders.h
ks.h [PSDK] ks.h : Fix some IOCTL values, caught by Ben Nottelling. 2019-07-29 00:20:07 +02:00
ksdebug.h
ksmedia.h
ksproxy.h
ksuuids.h
ktmtypes.h
l2cmn.h
largeint.h
libloaderapi.h
lm.h
lmaccess.h
lmalert.h
lmapibuf.h
lmat.h
lmaudit.h
lmbrowsr.h
lmchdev.h
lmconfig.h
lmcons.h
lmerr.h
lmerrlog.h
lmjoin.h [PSDK] Replace the wine version of lmjoin.h by an extended version that includes NetJoinDomain and NetUnjoinDomain. 2019-12-08 02:03:26 +01:00
lmmsg.h
lmon.h
lmremutl.h
lmrepl.h
lmserver.h
lmshare.h
lmsname.h
lmstats.h
lmsvc.h
lmuse.h
lmuseflg.h
lmwksta.h
loadperf.h
lzexpand.h
mapi.h
mapicode.h
mapidefs.h
mapiform.h
mapiguid.h
mapitags.h
mapiutil.h
mapival.h
mapix.h
mciavi.h
mcx.h
mediaobj.idl
metahost.idl
mfidl.idl
mfobjects.idl
mftransform.idl
mgmtapi.h
midles.h
mimeinfo.idl
mimeole.idl
mlang.idl
mmddk.h [PSDK] Add extern "C" for c++ code in mmddk.h 2019-12-21 12:44:48 +01:00
mmdeviceapi.idl
mmreg.h
mmsystem.h [WINMM_WINETEST][SDK][INCLUDE] Try to fix MSVC winmm:generated build 2019-12-08 12:45:51 +09:00
mprapi.h
msacm.h
msacmdlg.h
mscat.h
mscoree.idl
msctf.idl [PSDK] Update msctf.idl. CORE-16441 2019-11-09 22:01:26 +01:00
msdadc.idl
mshtmcid.h
mshtmdid.h
mshtmhst.idl
mshtml.idl
msi.h
msidefs.h
msinkaut.idl
msiquery.h
mssip.h
mstask.idl
mstcpip.h
mswsock.h
mswsockdef.h [PSDK] Fix GCC8 complaining on duplicate and wrong declarations 2019-08-20 15:05:47 +02:00
msxml.idl
msxml2.idl [PSDK] Remove default value for BSTR parameter in msxml2.idl 2019-07-20 13:56:18 +02:00
msxml2did.h
msxml6.idl
msxml6did.h
msxmldid.h
multimon.h
natupnp.idl [PSDK][UUID] Import natupnp.idl from Wine Staging 4.18. CORE-16441 2019-10-20 20:01:58 +01:00
nb30.h
nddeapi.h
ndrtypes.h
netcfgn.h
netcfgx.h
netcon.h
netcon.idl
netevent.h
netfw.idl
netioapi.h
netiodef.h
nettypes.h
newdev.h
nldef.h
npapi.h
nserror.h
nspapi.h
ntdd1394.h
ntdd8042.h
ntddbeep.h
ntddcdrm.h
ntddcdvd.h
ntddchgr.h
ntdddisk.h [PSDK] Import definitions needed by newer storage class drivers 2020-08-24 04:04:32 +03:00
ntddft.h
ntddkbd.h
ntddmmc.h
ntddmou.h
ntddndis.h [DDK][PSDK] Add missing definitions for WPA/WPA2 authentication 2019-08-19 13:12:13 +02:00
ntddpar.h
ntddscsi.h
ntddser.h
ntddstor.h [PSDK] Import definitions needed by newer storage class drivers 2020-08-24 04:04:32 +03:00
ntddtape.h
ntddtdi.h
ntddvdeo.h [WIN32K][VIDEOPRT] Improve initialization and interfacing with INBV. 2019-12-02 02:33:20 +01:00
ntddvol.h
ntdll.h
ntdsapi.h
ntgdi.h
ntiologc.h [PSDK] Restore the order of definitions in ntiologc.h 2020-08-28 05:54:58 +03:00
ntldap.h
ntlsa.h
ntquery.h
ntsecapi.h [PSDK] Extend struct _SECPKG_DLL_FUNCTIONS, fix definitions. 2020-03-04 07:02:37 +01:00
ntsecpkg.h [PSDK] fix typedef PLSA_AP_CALL_PACKAGE_PASSTHROUGH (ntsecpkg.h) 2020-04-12 16:26:13 +03:00
ntstatus.h [PSDK] Import definitions needed by newer storage class drivers 2020-08-24 04:04:32 +03:00
ntverp.h
oaidl.idl
objbase.h
objectarray.idl
objerror.h
objfwd.h
objidl.idl
objsafe.idl
objsel.h
ocidl.idl
ocmm.idl
odbcinst.h
ole.h
ole2.h
ole2ver.h
oleacc.idl
oleauto.h [PSDK] Update oleauto.h. CORE-16441 2019-11-23 12:04:39 +01:00
olectl.h
olectlid.h
oledb.idl
oledlg.h
oleidl.idl
opnrst.idl
optary.idl
patchapi.h
pbt.h
pdh.h
pdhmsg.h
perhist.idl
polarity.h
poppack.h
powrprof.h
prntfont.h
propidl.idl
propkey.h
propkeydef.h
propsys.idl [PSDK] Update propsys.idl and propvarutil.h. CORE-16441 2019-11-23 12:09:13 +01:00
propvarutil.h [PSDK] Update propsys.idl and propvarutil.h. CORE-16441 2019-11-23 12:09:13 +01:00
provexce.h
provider.h
prsht.h [SDK] Add some missing propsheet fields + validate struct sizes 2020-01-29 22:58:43 +01:00
psapi.h
pshpack1.h
pshpack2.h
pshpack4.h
pshpack8.h
pshpck16.h
pstore.idl
qos.h
rapi.h
ras.h
rasdlg.h
raseapif.h
raserror.h
rassapi.h
rasshost.h
README.w32api
reason.h
regstr.h
richedit.h
richole.idl
row.idl
rowchg.idl
rpc.h
rpcasync.h
rpcdce.h
rpcdce2.h
rpcdcep.h
rpcndr.h [RPCRT4] Fully WineSync spec file. CORE-16441 (#2494) 2020-04-26 17:23:13 +02:00
rpcnsi.h
rpcnsip.h
rpcnterr.h
rpcproxy.h
rstbas.idl
rstinf.idl
rstloc.idl
sal.h [SDK] Fix build with sal.h 2019-06-29 12:13:09 +02:00
sal_old.h
scarderr.h
schannel.h
schemadef.h
schnlsp.h
scrnsave.h
sddl.h
sdkddkver.h [SDK] Update sdkddkver.h with newer NTDDI_WIN10_* versioning defines. 2020-04-26 17:11:37 +02:00
secext.h
security.h
sensapi.h
sensevts.idl
servprov.idl
sesprp.idl
setupapi.h [SETUPAPI] Implement SetupDiRestartDevices() 2019-06-22 21:01:25 +02:00
sfc.h
shdeprecated.idl [PSDK] Support STRICT_TYPED_ITEMIDS in shdeprecated.idl. CORE-16385 2020-01-03 22:42:35 +01:00
shdispid.h
shellapi.h [SHELL32][SHLWAPI] Forward shell32.ShellMessageBoxW directly to shlwapi.ShellMessageBoxWrapW. (#3179) 2020-09-13 22:44:58 +02:00
shldisp.idl
shlguid.h
shlobj.h [SHELL32] Modify context menu to include Align To Grid, and remove Line Up Icons 2020-04-20 23:13:09 +03:00
shlwapi.h [PSDK] Add argument names to SHRegGetValue functions 2020-05-17 17:08:57 +02:00
shobjidl.idl [PSDK] Support STRICT_TYPED_ITEMIDS in shlobj.h. CORE-16385 2020-01-03 22:42:34 +01:00
shtypes.idl
snmp.h
softpub.h
specstrings.h
sql.h
sqlext.h
sqltypes.h
sqlucode.h
srrestoreptapi.h
sspi.h [PSDK] Extend struct _SECPKG_DLL_FUNCTIONS, fix definitions. 2020-03-04 07:02:37 +01:00
stdole2.idl
stdole32.idl
sti.h
stierr.h
stireg.h
stralign.h
strmif.idl
strsafe.h
structuredquerycondition.idl
subauth.h
suppress.h
svcguid.h
svrapi.h
t2embapi.h
tapi.h
taskschd.idl
tcpioctl.h [IPHLPAPI] Make icmp functions use IOCTL_ICMP_ECHO_REQUEST from tcpip.sys 2020-04-07 05:32:40 +03:00
tcpmib.h
tdi.h
tdiinfo.h
textserv.h
textstor.idl
tlhelp32.h
tlogstg.idl
tmschema.h
tom.idl
traffic.h
transact.idl
tuner.idl
tvout.h
twain.h
txcoord.idl
txdtc.idl
udpmib.h
unknown.h
unknwn.idl
urlhist.idl
urlmon.idl
usb.h
usb100.h
usb200.h
usbcamdi.h
usbdi.h
usbioctl.h
usbiodef.h
usbrpmif.h
usbuser.h
userenv.h
usp10.h
uxtheme.h
verrsrc.h
versionhelpers.h [PSDK] Add versionhelpers.h 2019-12-21 12:44:48 +01:00
vfw.h
vfwmsgs.h
vmr9.idl
vmrender.idl
vsbackup.idl [PSDK] Import vsbackup.idl from Wine and enable it in CMakeLists.txt 2020-06-07 19:45:05 +02:00
vss.idl [PSDK] Add some missing definitions from Wine in vss.idl 2020-06-07 19:45:05 +02:00
vsstyle.h
vssym32.h
vswriter.idl [PSDK] Replace our vswriter.h by Wine's vswriter.idl and enable it in CMakeLists.txt 2020-06-07 19:45:05 +02:00
w32api.h
warning.h
wbemcli.idl
wbemdisp.idl
wbemprov.idl
wdbgexts.h
werapi.h
wia.h
wia_lh.idl
wia_xp.idl
winable.h
winbase.h [PSDK] Add argument names + sal annotations 2020-04-26 13:44:01 +02:00
winber.h
wincodec.idl
wincodecsdk.idl
wincon.h [SDK] wincon.h: Use explicit _WIN32_WINNT_* values. Add some missing flags. 2020-02-09 00:37:43 +01:00
wincred.h
wincrypt.h [ADVAPI32][PSDK] CryptReleaseContext(): dwFlags parameter is DWORD, only 2020-03-28 20:43:03 +01:00
winddi.h
winddiui.h [WinddiUI] Fix Format 2020-07-26 15:42:28 -05:00
windef.h [PSDK] Add some missing definitions. CORE-16441 2019-12-01 19:40:17 +01:00
windns.h [DNSAPI][PSDK] Implement GetCurrentTimeInSeconds() and fix DnsQuery_A/UTF8/W() 2019-11-02 23:59:06 +01:00
windot11.h
windows.h
windowsx.h [USER32_APITEST][INCLUDE] Add MessageStateAnalyzer testcase (#1732) 2019-07-25 01:45:55 +09:00
winefs.h
winerror.h
winfax.h
wingdi.h [PSDK] Add some missing definitions. CORE-16441 2019-12-01 19:40:17 +01:00
winhttp.h
wininet.h [PSDK] Add missing define. CORE-16441 2019-12-07 13:06:57 +01:00
winineti.h
winioctl.h
winldap.h
winnetwk.h
winnls.h
winnls32.h
winperf.h
winreg.h
winres.h
winresrc.h
winsafer.h
winscard.h
winsmcrd.h
winsnmp.h
winsock.h
winsock2.h
winsplp.h
winspool.h [Printing] Update and Add Functions 2020-08-26 17:12:20 -05:00
winsvc.h
winsxs.idl
winternl.h
wintrust.h
winuser.h [PSDK] Add some missing definitions. CORE-16441 2019-12-01 19:40:17 +01:00
winver.h
winwlx.h
wlanapi.h
wlantypes.h
wmdrmsdk.idl
wmistr.h
wmiutils.idl
wmsbuffer.idl
wmsdk.h
wmsdkidl.idl [PSDK] Update wmsdkidl.idl. CORE-16441 2019-12-07 13:10:44 +01:00
ws2atm.h
ws2bth.h
ws2def.h
ws2ipdef.h
ws2spi.h
ws2tcpip.h
wsahelp.h
wsipv6ok.h
wsipx.h
wsnetbs.h
wsnwlink.h
wspiapi.h
wtsapi32.h [PSDK] Update wtsapi32.h. CORE-16441 2019-12-23 00:54:23 +01:00
wtypes.idl
wuapi.idl
xcmc.h
xinput.h
xmldom.h
xmldom.idl
xmldomdid.h
xmldso.idl
xmldsodid.h
xmllite.idl
xprtdefs.h
zmouse.h

        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 package.  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 */