And add missing CopyFileExA and ReadDirectoryChangesW in
api-ms-win-core-file-l2-1-0 or the ansi variant
---
 mingw-w64-crt/Makefile.am                     |  2 ++
 .../api-ms-win-core-file-ansi-l2-1-0.def      |  1 +
 .../api-ms-win-core-file-l2-1-0.def           |  6 ++++++
 mingw-w64-crt/lib-common/mincore.mri          |  3 ++-
 mingw-w64-crt/lib-common/windowsapp.mri       |  1 +
 .../api-ms-win-core-file-ansi-l2-1-0.def      |  1 +
 .../lib32/api-ms-win-core-file-l2-1-0.def     |  6 ++++++
 mingw-w64-headers/include/winbase.h           | 21 ++++++++++++++-----
 8 files changed, 35 insertions(+), 6 deletions(-)
 create mode 100644 mingw-w64-crt/lib-common/api-ms-win-core-file-l2-1-0.def
 create mode 100644 mingw-w64-crt/lib32/api-ms-win-core-file-l2-1-0.def

diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 6bf3f3c7..277d1537 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -1667,6 +1667,7 @@ endif
                %/libapi-ms-win-core-errorhandling-l1-1-3.a \
                %/libapi-ms-win-core-fibers-l1-1-1.a \
                %/libapi-ms-win-core-file-l1-2-1.a \
+               %/libapi-ms-win-core-file-l2-1-0.a \
                %/libapi-ms-win-core-file-l2-1-1.a \
                %/libapi-ms-win-core-handle-l1-1-0.a \
                %/libapi-ms-win-core-interlocked-l1-2-0.a \
@@ -1759,6 +1760,7 @@ endif
                %/libapi-ms-win-core-fibers-l2-1-1.a \
                %/libapi-ms-win-core-file-ansi-l2-1-0.a \
                %/libapi-ms-win-core-file-l1-2-1.a \
+               %/libapi-ms-win-core-file-l2-1-0.a \
                %/libapi-ms-win-core-file-l2-1-1.a \
                %/libapi-ms-win-core-handle-l1-1-0.a \
                %/libapi-ms-win-core-heap-l1-2-0.a \
diff --git a/mingw-w64-crt/lib-common/api-ms-win-core-file-ansi-l2-1-0.def 
b/mingw-w64-crt/lib-common/api-ms-win-core-file-ansi-l2-1-0.def
index 4092a731..435f600c 100644
--- a/mingw-w64-crt/lib-common/api-ms-win-core-file-ansi-l2-1-0.def
+++ b/mingw-w64-crt/lib-common/api-ms-win-core-file-ansi-l2-1-0.def
@@ -3,3 +3,4 @@ LIBRARY api-ms-win-core-file-ansi-l2-1-0
 EXPORTS
 
 ReplaceFileA
+CopyFileExA
diff --git a/mingw-w64-crt/lib-common/api-ms-win-core-file-l2-1-0.def 
b/mingw-w64-crt/lib-common/api-ms-win-core-file-l2-1-0.def
new file mode 100644
index 00000000..307e7c70
--- /dev/null
+++ b/mingw-w64-crt/lib-common/api-ms-win-core-file-l2-1-0.def
@@ -0,0 +1,6 @@
+LIBRARY api-ms-win-core-file-l1-2-0
+
+EXPORTS
+
+CopyFileExW
+ReadDirectoryChangesW
diff --git a/mingw-w64-crt/lib-common/mincore.mri 
b/mingw-w64-crt/lib-common/mincore.mri
index 4c62b661..a1e998de 100644
--- a/mingw-w64-crt/lib-common/mincore.mri
+++ b/mingw-w64-crt/lib-common/mincore.mri
@@ -21,11 +21,12 @@ ADDLIB libapi-ms-win-core-errorhandling-l1-1-1.a
 ADDLIB libapi-ms-win-core-errorhandling-l1-1-3.a
 ; FIXME libapi-ms-win-core-fibers-l1-1-0.a
 ADDLIB libapi-ms-win-core-fibers-l1-1-1.a
+ADDLIB libapi-ms-win-core-file-ansi-l2-1-0.a
 ; FIXME libapi-ms-win-core-file-l1-1-0.a
 ; FIXME libapi-ms-win-core-file-l1-2-0.a
 ADDLIB libapi-ms-win-core-file-l1-2-1.a
 ; FIXME libapi-ms-win-core-file-l1-2-2.a
-; FIXME libapi-ms-win-core-file-l2-1-0.a
+ADDLIB libapi-ms-win-core-file-l2-1-0.a
 ADDLIB libapi-ms-win-core-file-l2-1-1.a
 ; FIXME libapi-ms-win-core-file-l2-1-2.a
 ; FIXME libapi-ms-win-core-file-l2-1-3.a
diff --git a/mingw-w64-crt/lib-common/windowsapp.mri 
b/mingw-w64-crt/lib-common/windowsapp.mri
index aefadef7..863e6bd4 100644
--- a/mingw-w64-crt/lib-common/windowsapp.mri
+++ b/mingw-w64-crt/lib-common/windowsapp.mri
@@ -13,6 +13,7 @@ ADDLIB libapi-ms-win-core-fibers-l1-1-1.a
 ADDLIB libapi-ms-win-core-fibers-l2-1-1.a
 ADDLIB libapi-ms-win-core-file-ansi-l2-1-0.a
 ADDLIB libapi-ms-win-core-file-l1-2-1.a
+ADDLIB libapi-ms-win-core-file-l2-1-0.a
 ADDLIB libapi-ms-win-core-file-l2-1-1.a
 ADDLIB libapi-ms-win-core-handle-l1-1-0.a
 ADDLIB libapi-ms-win-core-heap-l1-2-0.a
diff --git a/mingw-w64-crt/lib32/api-ms-win-core-file-ansi-l2-1-0.def 
b/mingw-w64-crt/lib32/api-ms-win-core-file-ansi-l2-1-0.def
index 271479c9..9cbbc7e5 100644
--- a/mingw-w64-crt/lib32/api-ms-win-core-file-ansi-l2-1-0.def
+++ b/mingw-w64-crt/lib32/api-ms-win-core-file-ansi-l2-1-0.def
@@ -3,3 +3,4 @@ LIBRARY api-ms-win-core-file-ansi-l2-1-0
 EXPORTS
 
 ReplaceFileA@24
+CopyFileExA@24
diff --git a/mingw-w64-crt/lib32/api-ms-win-core-file-l2-1-0.def 
b/mingw-w64-crt/lib32/api-ms-win-core-file-l2-1-0.def
new file mode 100644
index 00000000..31aaabd1
--- /dev/null
+++ b/mingw-w64-crt/lib32/api-ms-win-core-file-l2-1-0.def
@@ -0,0 +1,6 @@
+LIBRARY api-ms-win-core-file-l1-2-0
+
+EXPORTS
+
+CopyFileExW@24
+ReadDirectoryChangesW@32
diff --git a/mingw-w64-headers/include/winbase.h 
b/mingw-w64-headers/include/winbase.h
index cdae61df..bcfa0eb0 100644
--- a/mingw-w64-headers/include/winbase.h
+++ b/mingw-w64-headers/include/winbase.h
@@ -1989,15 +1989,20 @@ extern "C" {
 #endif
 #endif
 
-#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 
_WIN32_WINNT_WIN10
   typedef DWORD (WINAPI *LPPROGRESS_ROUTINE) (LARGE_INTEGER TotalFileSize, 
LARGE_INTEGER TotalBytesTransferred, LARGE_INTEGER StreamSize, LARGE_INTEGER 
StreamBytesTransferred, DWORD dwStreamNumber, DWORD dwCallbackReason, HANDLE 
hSourceFile, HANDLE hDestinationFile, LPVOID lpData);
 
+  WINBASEAPI WINBOOL WINAPI CopyFileExA (LPCSTR lpExistingFileName, LPCSTR 
lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL 
pbCancel, DWORD dwCopyFlags);
+  WINBASEAPI WINBOOL WINAPI CopyFileExW (LPCWSTR lpExistingFileName, LPCWSTR 
lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL 
pbCancel, DWORD dwCopyFlags);
+
+#define CopyFileEx __MINGW_NAME_AW(CopyFileEx)
+#endif
+
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
   WINBASEAPI WINBOOL WINAPI CheckNameLegalDOS8Dot3A (LPCSTR lpName, LPSTR 
lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces, PBOOL pbNameLegal);
   WINBASEAPI WINBOOL WINAPI CheckNameLegalDOS8Dot3W (LPCWSTR lpName, LPSTR 
lpOemName, DWORD OemNameSize, PBOOL pbNameContainsSpaces, PBOOL pbNameLegal);
   WINBASEAPI WINBOOL WINAPI CopyFileA (LPCSTR lpExistingFileName, LPCSTR 
lpNewFileName, WINBOOL bFailIfExists);
   WINBASEAPI WINBOOL WINAPI CopyFileW (LPCWSTR lpExistingFileName, LPCWSTR 
lpNewFileName, WINBOOL bFailIfExists);
-  WINBASEAPI WINBOOL WINAPI CopyFileExA (LPCSTR lpExistingFileName, LPCSTR 
lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL 
pbCancel, DWORD dwCopyFlags);
-  WINBASEAPI WINBOOL WINAPI CopyFileExW (LPCWSTR lpExistingFileName, LPCWSTR 
lpNewFileName, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL 
pbCancel, DWORD dwCopyFlags);
 
 #if _WIN32_WINNT >= 0x0600
   WINBASEAPI HANDLE WINAPI FindFirstFileTransactedA (LPCSTR lpFileName, 
FINDEX_INFO_LEVELS fInfoLevelId, LPVOID lpFindFileData, FINDEX_SEARCH_OPS 
fSearchOp, LPVOID lpSearchFilter, DWORD dwAdditionalFlags, HANDLE hTransaction);
@@ -2011,7 +2016,6 @@ extern "C" {
 
 #define CheckNameLegalDOS8Dot3 __MINGW_NAME_AW(CheckNameLegalDOS8Dot3)
 #define CopyFile __MINGW_NAME_AW(CopyFile)
-#define CopyFileEx __MINGW_NAME_AW(CopyFileEx)
 
 #endif
 
@@ -2297,6 +2301,14 @@ extern "C" {
   WINADVAPI WINBOOL WINAPI OperationEnd (OPERATION_END_PARAMETERS 
*OperationEndParams);
 #endif
 
+#endif
+
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= 
_WIN32_WINNT_WIN10
+  WINBASEAPI WINBOOL WINAPI ReadDirectoryChangesW (HANDLE hDirectory, LPVOID 
lpBuffer, DWORD nBufferLength, WINBOOL bWatchSubtree, DWORD dwNotifyFilter, 
LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, 
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
+#endif
+
+#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
+
   WINADVAPI WINBOOL WINAPI AccessCheckAndAuditAlarmA (LPCSTR SubsystemName, 
LPVOID HandleId, LPSTR ObjectTypeName, LPSTR ObjectName, PSECURITY_DESCRIPTOR 
SecurityDescriptor, DWORD DesiredAccess, PGENERIC_MAPPING GenericMapping, 
WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL 
pfGenerateOnClose);
   WINADVAPI WINBOOL WINAPI AccessCheckByTypeAndAuditAlarmA (LPCSTR 
SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, 
PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD 
DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST 
ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, 
WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPBOOL AccessStatus, LPBOOL 
pfGenerateOnClose);
   WINADVAPI WINBOOL WINAPI AccessCheckByTypeResultListAndAuditAlarmA (LPCSTR 
SubsystemName, LPVOID HandleId, LPCSTR ObjectTypeName, LPCSTR ObjectName, 
PSECURITY_DESCRIPTOR SecurityDescriptor, PSID PrincipalSelfSid, DWORD 
DesiredAccess, AUDIT_EVENT_TYPE AuditType, DWORD Flags, POBJECT_TYPE_LIST 
ObjectTypeList, DWORD ObjectTypeListLength, PGENERIC_MAPPING GenericMapping, 
WINBOOL ObjectCreation, LPDWORD GrantedAccess, LPDWORD AccessStatusList, LPBOOL 
pfGenerateOnClose);
@@ -2308,7 +2320,6 @@ extern "C" {
   WINADVAPI WINBOOL WINAPI PrivilegedServiceAuditAlarmA (LPCSTR SubsystemName, 
LPCSTR ServiceName, HANDLE ClientToken, PPRIVILEGE_SET Privileges, WINBOOL 
AccessGranted);
   WINADVAPI WINBOOL WINAPI SetFileSecurityA (LPCSTR lpFileName, 
SECURITY_INFORMATION SecurityInformation, PSECURITY_DESCRIPTOR 
pSecurityDescriptor);
   WINADVAPI WINBOOL WINAPI GetFileSecurityA (LPCSTR lpFileName, 
SECURITY_INFORMATION RequestedInformation, PSECURITY_DESCRIPTOR 
pSecurityDescriptor, DWORD nLength, LPDWORD lpnLengthNeeded);
-  WINBASEAPI WINBOOL WINAPI ReadDirectoryChangesW (HANDLE hDirectory, LPVOID 
lpBuffer, DWORD nBufferLength, WINBOOL bWatchSubtree, DWORD dwNotifyFilter, 
LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped, 
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine);
   WINBASEAPI WINBOOL WINAPI IsBadReadPtr (CONST VOID *lp, UINT_PTR ucb);
   WINBASEAPI WINBOOL WINAPI IsBadWritePtr (LPVOID lp, UINT_PTR ucb);
   WINBASEAPI WINBOOL WINAPI IsBadHugeReadPtr (CONST VOID *lp, UINT_PTR ucb);
-- 
2.20.1



_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to