/**@file Public include file for the WinNt Library Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef __WIN_NT_INCLUDE_H__ #define __WIN_NT_INCLUDE_H__ // // Win32 include files do not compile clean with /W4, so we use the warning // pragma to suppress the warnings for Win32 only. This way our code can still // compile at /W4 (highest warning level) with /WX (warnings cause build // errors). // #pragma warning(disable : 4115) #pragma warning(disable : 4201) #pragma warning(disable : 4028) #pragma warning(disable : 4133) #define GUID _WINNT_DUP_GUID_____ #define _LIST_ENTRY _WINNT_DUP_LIST_ENTRY_FORWARD #define LIST_ENTRY _WINNT_DUP_LIST_ENTRY #define RUNTIME_FUNCTION _WINNT_DUP_RUNTIME_FUNCTION #if defined (MDE_CPU_IA32) && (_MSC_VER < 1800) #define InterlockedIncrement _WINNT_DUP_InterlockedIncrement #define InterlockedDecrement _WINNT_DUP_InterlockedDecrement #define InterlockedCompareExchange64 _WINNT_DUP_InterlockedCompareExchange64 #endif #undef UNALIGNED #undef CONST #undef VOID #undef DEBUG_EVENT // WQBugBug: This typedef is to make "windows.h" buildable. // It should be removed after the root cause why // size_t is undefined when go into the line below is found. #if defined (MDE_CPU_IA32) typedef UINT32 size_t; #endif #include "windows.h" #include "windowsx.h" #undef GUID #undef _LIST_ENTRY #undef LIST_ENTRY #undef RUNTIME_FUNCTION #undef InterlockedIncrement #undef InterlockedDecrement #undef InterlockedCompareExchange64 #undef InterlockedCompareExchangePointer #undef CreateEventEx #define VOID void // // Prevent collisions with Windows API name macros that deal with Unicode/Not issues // #undef LoadImage #undef CreateEvent #undef FAR // // Set the warnings back on as the EFI code must be /W4. // #pragma warning(default : 4115) #pragma warning(default : 4201) #endif