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