| 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 |