|
1 /* |
|
2 windows.h - main header file for the Win32 API |
|
3 |
|
4 Written by Anders Norlander <anorland@hem2.passagen.se> |
|
5 |
|
6 This file is part of a free library for the Win32 API. |
|
7 |
|
8 This library is distributed in the hope that it will be useful, |
|
9 but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
11 |
|
12 */ |
|
13 #ifndef _WINDOWS_H |
|
14 #define _WINDOWS_H |
|
15 #if __GNUC__ >=3 |
|
16 #pragma GCC system_header |
|
17 #endif |
|
18 |
|
19 /* translate GCC target defines to MS equivalents. Keep this synchronized |
|
20 with winnt.h. */ |
|
21 #if defined(__i686__) && !defined(_M_IX86) |
|
22 #define _M_IX86 600 |
|
23 #elif defined(__i586__) && !defined(_M_IX86) |
|
24 #define _M_IX86 500 |
|
25 #elif defined(__i486__) && !defined(_M_IX86) |
|
26 #define _M_IX86 400 |
|
27 #elif defined(__i386__) && !defined(_M_IX86) |
|
28 #define _M_IX86 300 |
|
29 #endif |
|
30 #if defined(_M_IX86) && !defined(_X86_) |
|
31 #define _X86_ |
|
32 #elif defined(_M_ALPHA) && !defined(_ALPHA_) |
|
33 #define _ALPHA_ |
|
34 #elif defined(_M_PPC) && !defined(_PPC_) |
|
35 #define _PPC_ |
|
36 #elif defined(_M_MRX000) && !defined(_MIPS_) |
|
37 #define _MIPS_ |
|
38 #elif defined(_M_M68K) && !defined(_68K_) |
|
39 #define _68K_ |
|
40 #endif |
|
41 |
|
42 #ifdef RC_INVOKED |
|
43 /* winresrc.h includes the necessary headers */ |
|
44 #include <winresrc.h> |
|
45 #else |
|
46 |
|
47 #include <stdarg.h> |
|
48 #include <windef.h> |
|
49 #include <wincon.h> |
|
50 #include <winbase.h> |
|
51 #if !(defined NOGDI || defined _WINGDI_H) |
|
52 #include <wingdi.h> |
|
53 #endif |
|
54 #ifndef _WINUSER_H |
|
55 #include <winuser.h> |
|
56 #endif |
|
57 #ifndef _WINNLS_H |
|
58 #include <winnls.h> |
|
59 #endif |
|
60 #ifndef _WINVER_H |
|
61 #include <winver.h> |
|
62 #endif |
|
63 #ifndef _WINNETWK_H |
|
64 #include <winnetwk.h> |
|
65 #endif |
|
66 #ifndef _WINREG_H |
|
67 #include <winreg.h> |
|
68 #endif |
|
69 #ifndef _WINSVC_H |
|
70 #include <winsvc.h> |
|
71 #endif |
|
72 |
|
73 #ifndef WIN32_LEAN_AND_MEAN |
|
74 #include <cderr.h> |
|
75 #include <dde.h> |
|
76 #include <ddeml.h> |
|
77 #include <dlgs.h> |
|
78 #include <imm.h> |
|
79 #include <lzexpand.h> |
|
80 #include <mmsystem.h> |
|
81 #include <nb30.h> |
|
82 #include <rpc.h> |
|
83 #include <shellapi.h> |
|
84 #include <winperf.h> |
|
85 #ifndef NOGDI |
|
86 #include <commdlg.h> |
|
87 #include <winspool.h> |
|
88 #endif |
|
89 #if defined(Win32_Winsock) |
|
90 #warning "The Win32_Winsock macro name is deprecated.\ |
|
91 Please use __USE_W32_SOCKETS instead" |
|
92 #ifndef __USE_W32_SOCKETS |
|
93 #define __USE_W32_SOCKETS |
|
94 #endif |
|
95 #endif |
|
96 #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN)) |
|
97 #if (_WIN32_WINNT >= 0x0400) |
|
98 #include <winsock2.h> |
|
99 /* |
|
100 * MS likes to include mswsock.h here as well, |
|
101 * but that can cause undefined symbols if |
|
102 * winsock2.h is included before windows.h |
|
103 */ |
|
104 #else |
|
105 #include <winsock.h> |
|
106 #endif /* (_WIN32_WINNT >= 0x0400) */ |
|
107 #endif |
|
108 #ifndef NOGDI |
|
109 /* In older versions we disallowed COM declarations in __OBJC__ |
|
110 because of conflicts with @interface directive. Define _OBJC_NO_COM |
|
111 to keep this behaviour. */ |
|
112 #if !defined (_OBJC_NO_COM) |
|
113 #if (__GNUC__ >= 3) || defined (__WATCOMC__) |
|
114 #include <ole2.h> |
|
115 #endif |
|
116 #endif /* _OBJC_NO_COM */ |
|
117 #endif |
|
118 |
|
119 #endif /* WIN32_LEAN_AND_MEAN */ |
|
120 |
|
121 #endif /* RC_INVOKED */ |
|
122 |
|
123 #ifdef __OBJC__ |
|
124 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int), |
|
125 but undefining it causes trouble as well if a file is included after |
|
126 windows.h |
|
127 */ |
|
128 #undef BOOL |
|
129 #endif |
|
130 |
|
131 #endif |