]> git.proxmox.com Git - mirror_edk2.git/blame - EmulatorPkg/Win/Host/WinInclude.h
EmulatorPkg: Change OPTIONAL keyword usage style
[mirror_edk2.git] / EmulatorPkg / Win / Host / WinInclude.h
CommitLineData
3c859dfe
RN
1/**@file\r
2 Public include file for the WinNt Library\r
3\r
4Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
e3ba31da 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
3c859dfe
RN
6**/\r
7\r
8#ifndef __WIN_NT_INCLUDE_H__\r
9#define __WIN_NT_INCLUDE_H__\r
10\r
11//\r
12// Win32 include files do not compile clean with /W4, so we use the warning\r
13// pragma to suppress the warnings for Win32 only. This way our code can stil\r
14// compile at /W4 (highest warning level) with /WX (warnings cause build\r
15// errors).\r
16//\r
17#pragma warning(disable : 4115)\r
18#pragma warning(disable : 4201)\r
19#pragma warning(disable : 4028)\r
20#pragma warning(disable : 4133)\r
21\r
22#define GUID _WINNT_DUP_GUID_____\r
23#define _LIST_ENTRY _WINNT_DUP_LIST_ENTRY_FORWARD\r
24#define LIST_ENTRY _WINNT_DUP_LIST_ENTRY\r
25#if defined (MDE_CPU_IA32) && (_MSC_VER < 1800)\r
26#define InterlockedIncrement _WINNT_DUP_InterlockedIncrement\r
27#define InterlockedDecrement _WINNT_DUP_InterlockedDecrement\r
28#define InterlockedCompareExchange64 _WINNT_DUP_InterlockedCompareExchange64\r
29#endif\r
30#undef UNALIGNED\r
31#undef CONST\r
32#undef VOID\r
33#undef DEBUG_EVENT\r
34\r
35// WQBugBug: This typedef is to make "windows.h" buildable.\r
36// It should be removed after the root cause why\r
37// size_t is undefined when go into the line below is found.\r
38#if defined (MDE_CPU_IA32)\r
39typedef UINT32 size_t ;\r
40#endif\r
41\r
42#include "windows.h"\r
109197ee 43#include "windowsx.h"\r
3c859dfe
RN
44\r
45#undef GUID\r
46#undef _LIST_ENTRY\r
47#undef LIST_ENTRY\r
48#undef InterlockedIncrement\r
49#undef InterlockedDecrement\r
50#undef InterlockedCompareExchange64\r
51#undef InterlockedCompareExchangePointer\r
52#undef CreateEventEx\r
53\r
54#define VOID void\r
55\r
56//\r
57// Prevent collisions with Windows API name macros that deal with Unicode/Not issues\r
58//\r
59#undef LoadImage\r
60#undef CreateEvent\r
61#undef FAR\r
62\r
63//\r
64// Set the warnings back on as the EFI code must be /W4.\r
65//\r
66#pragma warning(default : 4115)\r
67#pragma warning(default : 4201)\r
68\r
69\r
70#endif\r