1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _WINDOWS_
7#define _WINDOWS_
8
9#include <_mingw.h>
10#include <sdkddkver.h>
11
12/* Some kludge for Obj-C.
13   For Obj-C the 'interface' is a keyword, but interface is used
14   in midl-code too.  To resolve this conflict for at least the
15   main windows API header, we define it here temporary.  */
16#ifdef __OBJC__
17#pragma push_macro("interface")
18#undef interface
19#define interface struct
20#endif
21
22#ifndef _INC_WINDOWS
23#define _INC_WINDOWS
24
25#if defined(RC_INVOKED) && !defined(NOWINRES)
26
27#include <winresrc.h>
28#else
29
30#ifdef RC_INVOKED
31#define NOATOM
32#define NOGDI
33#define NOGDICAPMASKS
34#define NOMETAFILE
35#define NOMINMAX
36#define NOMSG
37#define NOOPENFILE
38#define NORASTEROPS
39#define NOSCROLL
40#define NOSOUND
41#define NOSYSMETRICS
42#define NOTEXTMETRIC
43#define NOWH
44#define NOCOMM
45#define NOKANJI
46#define NOCRYPT
47#define NOMCX
48#endif
49
50#if defined(__x86_64) && \
51  !(defined(_X86_) || defined(__i386__) || defined(_IA64_))
52#if !defined(_AMD64_)
53#define _AMD64_
54#endif
55#endif /* _AMD64_ */
56
57#if defined(__ia64__) && \
58  !(defined(_X86_) || defined(__x86_64) || defined(_AMD64_))
59#if !defined(_IA64_)
60#define _IA64_
61#endif
62#endif /* _IA64_ */
63
64#ifndef RC_INVOKED
65#include <excpt.h>
66#include <stdarg.h>
67#endif
68
69#include <windef.h>
70#include <winbase.h>
71#include <wingdi.h>
72#include <winuser.h>
73#include <winnls.h>
74#include <wincon.h>
75#include <winver.h>
76#include <winreg.h>
77#include <winnetwk.h>
78#include <virtdisk.h>
79
80#ifndef WIN32_LEAN_AND_MEAN
81#include <cderr.h>
82#include <dde.h>
83#include <ddeml.h>
84#include <dlgs.h>
85#include <lzexpand.h>
86#include <mmsystem.h>
87#include <nb30.h>
88#include <rpc.h>
89#include <shellapi.h>
90#include <winperf.h>
91#if defined(__USE_W32_SOCKETS) || !defined(__CYGWIN__)
92#include <winsock.h>
93#endif
94#ifndef NOCRYPT
95#include <wincrypt.h>
96#include <winefs.h>
97#include <winscard.h>
98#endif
99
100#ifndef NOUSER
101#ifndef NOGDI
102#include <winspool.h>
103#ifdef INC_OLE1
104#include <ole.h>
105#else
106#include <ole2.h>
107#endif
108#include <commdlg.h>
109#endif
110#endif
111#endif
112
113#ifndef __CYGWIN__
114#include <stralign.h>
115#endif
116
117#ifdef INC_OLE2
118#include <ole2.h>
119#endif
120
121#ifndef NOSERVICE
122#include <winsvc.h>
123#endif
124
125#ifndef NOMCX
126#include <mcx.h>
127#endif
128
129#ifndef NOIME
130#include <imm.h>
131#endif
132
133#endif
134#endif
135
136/* Restore old value of interface for Obj-C.  See above.  */
137#ifdef __OBJC__
138#pragma pop_macro("interface")
139#endif
140
141#endif
142