From d28dcdb9711f26b80d8c7c4bbe6470db48c0fe28 Mon Sep 17 00:00:00 2001 From: Jakub Bogusz Date: Mon, 18 Mar 2019 21:02:43 +0100 Subject: [PATCH] - enhanced winapi-update patch by functionality required for glib 2.60; release 4 --- crossmingw32-w32api-winapi-update.patch | 80 +++++++++++++++++++++++++ crossmingw32-w32api.spec | 2 +- 2 files changed, 81 insertions(+), 1 deletion(-) diff --git a/crossmingw32-w32api-winapi-update.patch b/crossmingw32-w32api-winapi-update.patch index f9df094..4ff80ab 100644 --- a/crossmingw32-w32api-winapi-update.patch +++ b/crossmingw32-w32api-winapi-update.patch @@ -6665,3 +6665,83 @@ +if_indextoname@8 +if_nametoindex@4 +register_icmp@0 +--- w32api-5.0.2/include/shlobj.h.orig 2017-11-09 02:35:48.000000000 +0100 ++++ w32api-5.0.2/include/shlobj.h 2019-03-17 21:21:15.503665619 +0100 +@@ -1500,6 +1500,41 @@ + void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL); + #endif + ++#if NTDDI_VERSION >= 0x06000000 ++typedef GUID KNOWNFOLDERID; ++#ifdef __cplusplus ++#define REFKNOWNFOLDERID const KNOWNFOLDERID & ++#else ++#define REFKNOWNFOLDERID const KNOWNFOLDERID * /* __MIDL_CONST */ ++#endif ++ ++ typedef enum { ++ KF_FLAG_DEFAULT = 0x00000000, ++#if NTDDI_VERSION >= 0x06010000 ++ KF_FLAG_NO_APPCONTAINER_REDIRECTION = 0x00010000, ++#endif ++ KF_FLAG_CREATE = 0x00008000, ++ KF_FLAG_DONT_VERIFY = 0x00004000, ++ KF_FLAG_DONT_UNEXPAND = 0x00002000, ++ KF_FLAG_NO_ALIAS = 0x00001000, ++ KF_FLAG_INIT = 0x00000800, ++ KF_FLAG_DEFAULT_PATH = 0x00000400, ++ KF_FLAG_NOT_PARENT_RELATIVE = 0x00000200, ++ KF_FLAG_SIMPLE_IDLIST = 0x00000100, ++ KF_FLAG_ALIAS_ONLY = 0x80000000 ++ } KNOWN_FOLDER_FLAG; ++ ++ DEFINE_ENUM_FLAG_OPERATORS (KNOWN_FOLDER_FLAG); ++ ++ STDAPI SHGetKnownFolderIDList (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, LPCITEMIDLIST *ppidl); ++ STDAPI SHSetKnownFolderPath (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, PCWSTR pszPath); ++ STDAPI SHGetKnownFolderPath (REFKNOWNFOLDERID rfid, DWORD dwFlags, HANDLE hToken, PWSTR *ppszPath); ++#endif ++ ++#if NTDDI_VERSION >= 0x06010000 ++ STDAPI SHGetKnownFolderItem (REFKNOWNFOLDERID rfid, KNOWN_FOLDER_FLAG flags, HANDLE hToken, REFIID riid, void **ppv); ++#endif ++ + #if (_WIN32_WINNT >= 0x0500) /* W2K */ + BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST); + BOOL WINAPI ILIsParent(LPCITEMIDLIST, LPCITEMIDLIST, BOOL); +--- w32api-5.0.2/include/winioctl.h.orig 2017-11-09 02:35:48.000000000 +0100 ++++ w32api-5.0.2/include/winioctl.h 2019-03-17 21:22:23.789962347 +0100 +@@ -96,6 +96,7 @@ + #define FSCTL_SET_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,41,METHOD_BUFFERED,FILE_ANY_ACCESS) + #define FSCTL_DELETE_REPARSE_POINT CTL_CODE(FILE_DEVICE_FILE_SYSTEM,43,METHOD_BUFFERED,FILE_ANY_ACCESS) + #define FSCTL_SET_SPARSE CTL_CODE(FILE_DEVICE_FILE_SYSTEM,49,METHOD_BUFFERED,FILE_SPECIAL_ACCESS) ++#define FSCTL_SET_ZERO_DATA CTL_CODE(FILE_DEVICE_FILE_SYSTEM,50,METHOD_BUFFERED,FILE_WRITE_DATA) + #define FSCTL_ALLOW_EXTENDED_DASD_IO CTL_CODE(FILE_DEVICE_FILE_SYSTEM,32,METHOD_NEITHER,FILE_ANY_ACCESS) + + typedef DWORD DEVICE_TYPE; +@@ -272,6 +273,15 @@ + LARGE_INTEGER MftZoneEnd; + } NTFS_VOLUME_DATA_BUFFER, *PNTFS_VOLUME_DATA_BUFFER; + ++typedef struct _FILE_SET_SPARSE_BUFFER { ++ BOOLEAN SetSparse; ++} FILE_SET_SPARSE_BUFFER,*PFILE_SET_SPARSE_BUFFER; ++ ++typedef struct _FILE_ZERO_DATA_INFORMATION { ++ LARGE_INTEGER FileOffset; ++ LARGE_INTEGER BeyondFinalZero; ++} FILE_ZERO_DATA_INFORMATION,*PFILE_ZERO_DATA_INFORMATION; ++ + _END_C_DECLS + + #undef __WINIOCTL_H_SOURCED__ +--- w32api-5.0.2/lib/shell32.def.orig 2017-11-09 02:35:48.000000000 +0100 ++++ w32api-5.0.2/lib/shell32.def 2019-03-17 21:25:25.175646363 +0100 +@@ -184,3 +184,7 @@ + ILRemoveLastID@4 + ILSaveToStream@8 + PathResolve@12 ++SHGetKnownFolderIDList@16 ++SHGetKnownFolderItem@20 ++SHGetKnownFolderPath@16 ++SHSetKnownFolderPath@16 diff --git a/crossmingw32-w32api.spec b/crossmingw32-w32api.spec index 57838a7..eb60ffd 100644 --- a/crossmingw32-w32api.spec +++ b/crossmingw32-w32api.spec @@ -6,7 +6,7 @@ Version: 5.0.2 %define apisrc w32api-%{apiver}-mingw32 %define runver 5.0.2 %define runsrc mingwrt-%{runver}-mingw32 -Release: 3 +Release: 4 Epoch: 1 License: Free (Public Domain, SGI Free Software License B, BSD) Group: Development/Libraries -- 2.44.0