summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--winsup/cygwin/ntdll.h6
-rw-r--r--winsup/cygwin/winlean.h52
-rw-r--r--winsup/utils/cygpath.cc1
-rw-r--r--winsup/utils/ps.cc1
4 files changed, 17 insertions, 43 deletions
diff --git a/winsup/cygwin/ntdll.h b/winsup/cygwin/ntdll.h
index 0c6ad13dc..554e04665 100644
--- a/winsup/cygwin/ntdll.h
+++ b/winsup/cygwin/ntdll.h
@@ -1423,6 +1423,12 @@ extern "C"
NTSTATUS NTAPI NtMapViewOfSection (HANDLE, HANDLE, PVOID *, ULONG_PTR, SIZE_T,
PLARGE_INTEGER, PSIZE_T, SECTION_INHERIT,
ULONG, ULONG);
+
+/* For the extended memory API. */
+#if __MINGW64_VERSION_MAJOR < 8
+#error "Version >= 8 of the w32api headers is required"
+#endif
+
NTSTATUS NTAPI NtMapViewOfSectionEx (HANDLE, HANDLE, PVOID *, PLARGE_INTEGER,
PSIZE_T, ULONG, ULONG,
PMEM_EXTENDED_PARAMETER, ULONG);
diff --git a/winsup/cygwin/winlean.h b/winsup/cygwin/winlean.h
index 2ee4aaff4..2e2308eb6 100644
--- a/winsup/cygwin/winlean.h
+++ b/winsup/cygwin/winlean.h
@@ -99,47 +99,17 @@ details. */
extern "C" {
#endif
-/* Define extended memory API here as long as not available from mingw-w64. */
-
-typedef struct _MEM_ADDRESS_REQUIREMENTS
-{
- PVOID LowestStartingAddress;
- PVOID HighestEndingAddress;
- SIZE_T Alignment;
-} MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS;
-
-typedef enum MEM_EXTENDED_PARAMETER_TYPE
-{
- MemExtendedParameterInvalidType = 0,
- MemExtendedParameterAddressRequirements,
- MemExtendedParameterNumaNode,
- MemExtendedParameterPartitionHandle,
- MemExtendedParameterUserPhysicalHandle,
- MemExtendedParameterAttributeFlags,
- MemExtendedParameterMax
-} MEM_EXTENDED_PARAMETER_TYPE, *PMEM_EXTENDED_PARAMETER_TYPE;
-
-#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8
-
-typedef struct DECLSPEC_ALIGN(8) MEM_EXTENDED_PARAMETER
-{
- struct
- {
- DWORD64 Type : MEM_EXTENDED_PARAMETER_TYPE_BITS;
- DWORD64 Reserved : 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS;
- };
- union
- {
- DWORD64 ULong64;
- PVOID Pointer;
- SIZE_T Size;
- HANDLE Handle;
- DWORD ULong;
- };
-} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER;
-
-PVOID VirtualAlloc2 (HANDLE, PVOID, SIZE_T, ULONG, ULONG,
- PMEM_EXTENDED_PARAMETER, ULONG);
+/* For the extended memory API. */
+#if __MINGW64_VERSION_MAJOR < 8
+#error "Version >= 8 of the w32api headers is required"
+#endif
+
+/* VirtualAlloc2 is declared in <w32api/memoryapi.h> if NTDDI_VERSION
+ >= NTDDI_WIN10_RS4 (a compile-time condition). But we need the
+ declaration unconditionally, even though the function will only be
+ executed on systems that support it (a run-time condition). */
+PVOID WINAPI VirtualAlloc2 (HANDLE, PVOID, SIZE_T, ULONG, ULONG,
+ PMEM_EXTENDED_PARAMETER, ULONG);
#ifdef __cplusplus
}
diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc
index aa9df3a21..bc5f11dd0 100644
--- a/winsup/utils/cygpath.cc
+++ b/winsup/utils/cygpath.cc
@@ -24,7 +24,6 @@ details. */
#define _WIN32_WINNT 0x0a00
#define WINVER 0x0a00
#define NOCOMATTRIBUTE
-#define PMEM_EXTENDED_PARAMETER PVOID
#include <windows.h>
#include <userenv.h>
#include <shlobj.h>
diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
index f3eb9e847..478ed8efd 100644
--- a/winsup/utils/ps.cc
+++ b/winsup/utils/ps.cc
@@ -6,7 +6,6 @@ This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
-#define PMEM_EXTENDED_PARAMETER PVOID
#include <errno.h>
#include <stdio.h>
#include <locale.h>