[PSDK]
[reactos.git] / include / psdk / windows.h
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
16 #ifdef __GNUC__
17 #include <msvctarget.h>
18 #endif
19
20 #if defined(_M_IX86) && !defined(_X86_)
21 #define _X86_
22 #elif defined(_M_ALPHA) && !defined(_ALPHA_)
23 #define _ALPHA_
24 #elif defined(_M_ARM) && !defined(_ARM_)
25 #define _ARM_
26 #elif defined(_M_PPC) && !defined(_PPC_)
27 #define _PPC_
28 #elif defined(_M_MRX000) && !defined(_MIPS_)
29 #define _MIPS_
30 #elif defined(_M_M68K) && !defined(_68K_)
31 #define _68K_
32 #endif
33
34 #ifdef RC_INVOKED
35 /* winresrc.h includes the necessary headers */
36 #include <winresrc.h>
37 #else
38
39 #include <excpt.h>
40 #include <stdarg.h>
41 #include <windef.h>
42 #include <winbase.h>
43 #include <wingdi.h>
44 #include <winuser.h>
45 #include <wincon.h>
46 #ifndef _WINNLS_H
47 #include <winnls.h>
48 #endif
49 #ifndef _WINVER_H
50 #include <winver.h>
51 #endif
52 #ifndef _WINNETWK_H
53 #include <winnetwk.h>
54 #endif
55 #ifndef _WINREG_H
56 #include <winreg.h>
57 #endif
58 #ifndef _WINSVC_H
59 #include <winsvc.h>
60 #endif
61
62 #ifndef WIN32_LEAN_AND_MEAN
63 #include <cderr.h>
64 #include <dde.h>
65 #include <ddeml.h>
66 #include <dlgs.h>
67 #include <imm.h>
68 #include <lzexpand.h>
69 #include <mmsystem.h>
70 #include <nb30.h>
71 #include <rpc.h>
72 #include <shellapi.h>
73 #include <winperf.h>
74 #ifndef NOCRYPT
75 #include <wincrypt.h>
76 #include <winefs.h>
77 #include <winscard.h>
78 #endif
79 #ifndef NOGDI
80 #include <commdlg.h>
81 #include <winspool.h>
82 #endif
83 #if defined(Win32_Winsock)
84 #warning "The Win32_Winsock macro name is deprecated.\
85 Please use __USE_W32_SOCKETS instead"
86 #ifndef __USE_W32_SOCKETS
87 #define __USE_W32_SOCKETS
88 #endif
89 #endif
90 #if defined(__USE_W32_SOCKETS) || !(defined(__CYGWIN__) || defined(__MSYS__) || defined(_UWIN))
91 #if (_WIN32_WINNT >= 0x0400)
92 #include <winsock2.h>
93 /*
94 * MS likes to include mswsock.h here as well,
95 * but that can cause undefined symbols if
96 * winsock2.h is included before windows.h
97 */
98 #else
99 #include <winsock.h>
100 #endif /* (_WIN32_WINNT >= 0x0400) */
101 #endif
102 #ifndef NOGDI
103 #if !defined (__OBJC__)
104 #if (defined(__GNUC__) && (__GNUC__ >= 3)) || defined (__WATCOMC__) || defined(_MSC_VER)
105 #include <ole2.h>
106 #endif
107 #endif /* __OBJC__ */
108 #endif
109
110 #endif /* WIN32_LEAN_AND_MEAN */
111
112 #endif /* RC_INVOKED */
113
114 #ifdef __OBJC__
115 /* FIXME: Not undefining BOOL here causes all BOOLs to be WINBOOL (int),
116 but undefining it causes trouble as well if a file is included after
117 windows.h
118 */
119 #undef BOOL
120 #endif
121
122 #endif