From c544c427b73c398a9aea760dc3534b2c89399ac2 Mon Sep 17 00:00:00 2001 From: Stijn Van der Borght Date: Sat, 21 Nov 2020 17:49:21 +0000 Subject: [PATCH] add Windows ifuse support via Dokany --- get-source.cmd | 2 + ifuse.vcxproj | 137 ++++++++++++++++++++++++++++++++++++++++ libimobiledevice-vs.sln | 7 ++ polyfill/config.h | 4 ++ 4 files changed, 150 insertions(+) create mode 100644 ifuse.vcxproj diff --git a/get-source.cmd b/get-source.cmd index 19cb525..239e21b 100644 --- a/get-source.cmd +++ b/get-source.cmd @@ -7,6 +7,8 @@ git clone --single-branch --branch msvc/master https://github.com/libimobiledevi git clone --single-branch --branch msvc/master https://github.com/libimobiledevice-win32/idevicerestore git clone --single-branch --branch master-msvc https://github.com/libimobiledevice-win32/usbmuxd git clone --single-branch --branch msvc/master https://github.com/libimobiledevice-win32/ios-webkit-debug-proxy +git clone --single-branch --branch msvc/master https://github.com/stijnvdb88/ifuse +git clone --single-branch --branch master https://github.com/dokan-dev/dokany echo "libplist revision:" git -C libplist rev-parse HEAD diff --git a/ifuse.vcxproj b/ifuse.vcxproj new file mode 100644 index 0000000..68e10e4 --- /dev/null +++ b/ifuse.vcxproj @@ -0,0 +1,137 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + {A6DB61C4-073B-46E3-A973-948B56577759} + idevicerestore + 10 + v142 + + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + Application + true + MultiByte + + + Application + false + true + MultiByte + + + + + + + + + + + + + + + + + + + + + $(ProjectDir)\dokany\dokan_fuse\include;$(ProjectDir)\polyfill\;$(ProjectDir)\libplist\include\;$(ProjectDir)\libusbmuxd\include\;$(ProjectDir)\libimobiledevice\include\;$(ProjectDir)ifuse\src;$(IncludePath) + $(SolutionDir)$(Platform)\$(Configuration)\ + $(SolutionDir)$(Platform)\$(Configuration)\$(ProjectName) + + + + HAVE_CONFIG_H;_MBCS;_CRT_SECURE_NO_WARNINGS;_CRT_NONSTDC_NO_DEPRECATE;WIN32;_WINSOCK_DEPRECATED_NO_WARNINGS;HAVE_REALPATH;%(PreprocessorDefinitions) + + + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib + $(SolutionDir)$(Platform)\$(Configuration)\ + + + + + Level3 + Disabled + true + + + + + Level3 + Disabled + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + + + + + Level3 + MaxSpeed + true + true + true + + + true + true + + + + + + + + {4af8149d-c526-4d38-a4bc-9ffa67edf924} + + + {ee16e7f2-ac27-4e30-ab22-b02a9c2380b4} + + + {75352a45-bcb8-4774-8c66-3af9ea6b6b42} + + + + \ No newline at end of file diff --git a/libimobiledevice-vs.sln b/libimobiledevice-vs.sln index fc2a1ee..a2a51ac 100644 --- a/libimobiledevice-vs.sln +++ b/libimobiledevice-vs.sln @@ -128,6 +128,11 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ideviceinstaller", "idevice {EE16E7F2-AC27-4E30-AB22-B02A9C2380B4} = {EE16E7F2-AC27-4E30-AB22-B02A9C2380B4} EndProjectSection EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dokan_fuse", "dokany\dokan_fuse\dokan_fuse.vcxproj", "{4AF8149D-C526-4D38-A4BC-9FFA67EDF924}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ifuse", "ifuse.vcxproj", "{A6DB61C4-073B-46E3-A973-948B56577759}" +EndProject + Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "build", "build", "{EDA94425-DDD6-4DD0-AB80-5B3ED502A551}" ProjectSection(SolutionItems) = preProject azure-pipelines.yml = azure-pipelines.yml @@ -500,6 +505,7 @@ Global {C524F5B4-EDB1-4622-8EA5-8CA9DFACA09D} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} {A68FA899-3363-4E9D-91A5-0C413FED5CC0} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} {10E88C2B-E98B-4EAA-AA34-9CA59136BBFD} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} + {A6DB61C4-073B-46E3-A973-948B56577759} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} {1F5B7A30-B170-4D4C-89F8-33E4A24CF9CE} = {3D82DA5A-AC7F-42CC-8F68-0B7D701C1140} {85BB4A0B-C219-42A5-BDA1-79CF05B5A5A1} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} {E775C6D0-C295-4D09-9ADC-60FC95526993} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} @@ -513,6 +519,7 @@ Global {E6694D68-7D6C-4540-9833-E90B535B0CD3} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} {D5F1A4D4-C23A-47EF-91E9-E2C08F6E31B2} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} {B3202DE4-A933-46D3-B268-9C2156ECCAF6} = {BD71AAE2-2013-4CBF-A6C8-8FEA7ECDC77D} + {4AF8149D-C526-4D38-A4BC-9FFA67EDF924} = {3D82DA5A-AC7F-42CC-8F68-0B7D701C1140} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {22F8E3CD-A6BA-4F08-9695-1B4A2EE751B2} diff --git a/polyfill/config.h b/polyfill/config.h index 5e601c2..c6d6cd8 100644 --- a/polyfill/config.h +++ b/polyfill/config.h @@ -49,4 +49,8 @@ #ifndef strcasecmp #define strcasecmp _stricmp +#endif + +#ifndef O_ACCMODE +#define O_ACCMODE (_O_RDONLY | _O_WRONLY | _O_RDWR) #endif \ No newline at end of file