crt: Add missing api-ms-win-core-file-l2-1-0 And add missing CopyFileExA and ReadDirectoryChangesW in api-ms-win-core-file-l2-1-0 or the ansi variant Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index a79d3e2..ed9629b 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am
@@ -1670,6 +1670,7 @@ %/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 \ @@ -1762,6 +1763,7 @@ %/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 4092a73..435f600 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 @@ 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 0000000..307e7c7 --- /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 4c62b66..a1e998d 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-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 aefadef..863e6bd 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-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 271479c..9cbbc7e 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 @@ 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 0000000..31aaabd --- /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 cdae61d..bcfa0eb 100644 --- a/mingw-w64-headers/include/winbase.h +++ b/mingw-w64-headers/include/winbase.h
@@ -1989,15 +1989,20 @@ #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 @@ #define CheckNameLegalDOS8Dot3 __MINGW_NAME_AW(CheckNameLegalDOS8Dot3) #define CopyFile __MINGW_NAME_AW(CopyFile) -#define CopyFileEx __MINGW_NAME_AW(CopyFileEx) #endif @@ -2297,6 +2301,14 @@ 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 @@ 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);