From 13862a53f6f8eab91acaedcf33735c3bab2b330e Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbap...@gmail.com>
Date: Wed, 2 Oct 2024 05:49:45 +0000
Subject: [PATCH] headers: Add new symbols in winbase.h

Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com>
---
 mingw-w64-headers/include/winbase.h | 56 +++++++++++++++++++++++++++--
 1 file changed, 54 insertions(+), 2 deletions(-)

diff --git a/mingw-w64-headers/include/winbase.h 
b/mingw-w64-headers/include/winbase.h
index f0affe0..f733784 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -95,6 +95,9 @@ extern "C" {
 #define FILE_FLAG_FIRST_PIPE_INSTANCE 0x80000
 #if _WIN32_WINNT >= _WIN32_WINNT_WIN8
 #define FILE_FLAG_OPEN_REQUIRING_OPLOCK 0x40000
+#if NTDDI_VERSION >= NTDDI_WIN10_CU
+#define FILE_FLAG_IGNORE_IMPERSONATED_DEVICEMAP 0x20000
+#endif
 #endif
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
   typedef enum FILE_WRITE_FLAGS {
@@ -148,6 +151,9 @@ typedef enum FILE_FLUSH_MODE {
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
 #define COPY_FILE_ENABLE_SPARSE_COPY 0x20000000
 #endif
+#if NTDDI_VERSION >= NTDDI_WIN11_ZN
+#define COPY_FILE_DISABLE_SPARSE_COPY 0x80000000
+#endif
 
 #define REPLACEFILE_WRITE_THROUGH 0x1
 #define REPLACEFILE_IGNORE_MERGE_ERRORS 0x2
@@ -1728,6 +1734,9 @@ typedef enum FILE_FLUSH_MODE {
 #endif
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
     ,ProcThreadAttributeTrustedApp = 29
+#endif
+#if NTDDI_VERSION >= NTDDI_WIN11_GE
+    ,ProcThreadAttributeSveVectorLength = 30
 #endif
   } PROC_THREAD_ATTRIBUTE_NUM;
 #endif
@@ -1767,6 +1776,18 @@ typedef enum FILE_FLUSH_MODE {
 #define PROC_THREAD_ATTRIBUTE_ENABLE_OPTIONAL_XSTATE_FEATURES 
ProcThreadAttributeValue (ProcThreadAttributeEnableOptionalXStateFeatures, 
TRUE, TRUE, FALSE)
 #endif
 
+#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
+#define PROC_THREAD_ATTRIBUTE_SVE_VECTOR_LENGTH ProcThreadAttributeValue 
(ProcThreadAttributeSveVectorLength, FALSE, TRUE, FALSE)
+
+  typedef union _PROCESS_CREATION_SVE_VECTOR_LENGTH {
+    ULONG Data;
+    __C89_NAMELESS struct {
+      ULONG VectorLength : 24;
+      ULONG FlagsReserved : 8;
+    };
+  } PROCESS_CREATION_SVE_VECTOR_LENGTH, *PPROCESS_CREATION_SVE_VECTOR_LENGTH;
+#endif
+
 #if _WIN32_WINNT >= _WIN32_WINNT_WIN7
 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01
 #define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02
@@ -1940,6 +1961,12 @@ typedef enum FILE_FLUSH_MODE {
 #define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_ALWAYS_OFF 
(0x00000002ULL << 52)
 #define PROCESS_CREATION_MITIGATION_POLICY2_RESTRICT_CORE_SHARING_RESERVED 
(0x00000003ULL << 52)
 
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_MASK 
(0x00000003ULL << 56)
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_DEFER 
(0x00000000ULL << 56)
+#define 
PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_ALWAYS_ON 
(0x00000001ULL << 56)
+#define 
PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_ALWAYS_OFF 
(0x00000002ULL << 56)
+#define PROCESS_CREATION_MITIGATION_POLICY2_FSCTL_SYSTEM_CALL_DISABLE_RESERVED 
(0x00000003ULL << 56)
+
 #endif /* _WIN32_WINNT_WINTHRESHOLD */
 #endif /* _WIN32_WINNT_WINBLUE */
 #endif /* _WIN32_WINNT_WIN8 */
@@ -2385,6 +2412,13 @@ typedef enum FILE_FLUSH_MODE {
 #define COPYFILE2_IO_CYCLE_SIZE_MAX 0x40000000
 #define COPYFILE2_IO_RATE_MIN 512
 
+#if NTDDI_VERSION >= NTDDI_WIN10_GE
+  typedef struct _COPYFILE2_CREATE_OPLOCK_KEYS {
+    GUID ParentOplockKey;
+    GUID TargetOplockKey;
+  } COPYFILE2_CREATE_OPLOCK_KEYS, *PCOPYFILE2_CREATE_OPLOCK_KEYS;
+#endif
+
   typedef struct COPYFILE2_EXTENDED_PARAMETERS_V2 {
     DWORD dwSize;
     DWORD dwCopyFlags;
@@ -2394,14 +2428,28 @@ typedef enum FILE_FLUSH_MODE {
     DWORD dwCopyFlagsV2;
     ULONG ioDesiredSize;
     ULONG ioDesiredRate;
+#if NTDDI_VERSION >= NTDDI_WIN11_GA
+    LPPROGRESS_ROUTINE pProgressRoutineOld;
+#if NTDDI_VERSION >= NTDDI_WIN10_GE
+    PCOPYFILE2_CREATE_OPLOCK_KEYS SourceOplockKeys;
+    PVOID reserved[6];
+#else
+    PVOID reserved[7];
+#endif
+#else
     PVOID reserved[8];
+#endif
   } COPYFILE2_EXTENDED_PARAMETERS_V2;
 
 #if NTDDI_VERSION >= NTDDI_WIN10_NI
 #define COPY_FILE2_V2_DONT_COPY_JUNCTIONS 0x00000001
+#if NTDDI_VERSION >= NTDDI_WIN11_GA
+#define COPY_FILE2_V2_DISABLE_BLOCK_CLONING 0x00000002
+#define COPY_FILE2_V2_VALID_FLAGS (COPY_FILE2_V2_DONT_COPY_JUNCTIONS | 
COPY_FILE2_V2_DISABLE_BLOCK_CLONING)
+#else
 #define COPY_FILE2_V2_VALID_FLAGS COPY_FILE2_V2_DONT_COPY_JUNCTIONS
-#endif
-
+#endif /* NTDDI_VERSION >= NTDDI_WIN11_GA */
+#endif /* NTDDI_VERSION >= NTDDI_WIN10_NI */
 #endif /* NTDDI_VERSION >= NTDDI_WIN10_FE */
 
   WINBASEAPI HRESULT WINAPI CopyFile2 (PCWSTR pwszExistingFileName, PCWSTR 
pwszNewFileName, COPYFILE2_EXTENDED_PARAMETERS *pExtendedParameters);
@@ -3337,6 +3385,10 @@ WINBASEAPI WINBOOL WINAPI ReadDirectoryChangesExW 
(HANDLE hDirectory, LPVOID lpB
   } FILE_REMOTE_PROTOCOL_INFO,*PFILE_REMOTE_PROTOCOL_INFO;
 
   WINBASEAPI WINBOOL WINAPI GetFileInformationByHandleEx (HANDLE hFile, 
FILE_INFO_BY_HANDLE_CLASS FileInformationClass, LPVOID lpFileInformation, DWORD 
dwBufferSize);
+
+#if NTDDI_VERSION >= NTDDI_WIN11_ZN
+  WINBASEAPI WINBOOL WINAPI GetFileInformationByName(PCWSTR FileName, 
FILE_INFO_BY_NAME_CLASS FileInformationClass, PVOID FileInfoBuffer, ULONG 
FileInfoBufferSize);
+#endif
 #endif
 
 #if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
-- 
2.46.2

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to