seven-zip 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/workflows/ci.yml +31 -0
- data/.github/workflows/release.yml +30 -0
- data/.gitignore +27 -0
- data/.travis.yml +35 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +20 -0
- data/README.md +204 -0
- data/Rakefile +79 -0
- data/ext/C/Types.h +254 -0
- data/ext/CPP/7zip/Archive/IArchive.h +234 -0
- data/ext/CPP/7zip/IDecl.h +15 -0
- data/ext/CPP/7zip/IPassword.h +24 -0
- data/ext/CPP/7zip/IProgress.h +33 -0
- data/ext/CPP/7zip/IStream.h +58 -0
- data/ext/CPP/7zip/PropID.h +76 -0
- data/ext/CPP/Common/MyCom.h +225 -0
- data/ext/CPP/Common/MyGuidDef.h +54 -0
- data/ext/CPP/Common/MyInitGuid.h +22 -0
- data/ext/CPP/Common/MyUnknown.h +13 -0
- data/ext/CPP/Common/MyWindows.h +204 -0
- data/ext/CPP/Common/Types.h +11 -0
- data/ext/CPP/Windows/PropVariant.h +56 -0
- data/ext/CPP/include_windows/basetyps.h +19 -0
- data/ext/CPP/include_windows/tchar.h +89 -0
- data/ext/CPP/include_windows/windows.h +194 -0
- data/ext/p7zip/Asm/x64/7zCrcT8U.asm +103 -0
- data/ext/p7zip/Asm/x86/7zCrcT8U.asm +101 -0
- data/ext/p7zip/C/7zBuf.h +39 -0
- data/ext/p7zip/C/7zBuf2.c +45 -0
- data/ext/p7zip/C/7zCrc.c +76 -0
- data/ext/p7zip/C/7zCrc.h +25 -0
- data/ext/p7zip/C/7zCrcOpt.c +34 -0
- data/ext/p7zip/C/7zCrcT8.c +43 -0
- data/ext/p7zip/C/7zStream.c +169 -0
- data/ext/p7zip/C/7zVersion.h +7 -0
- data/ext/p7zip/C/Aes.c +284 -0
- data/ext/p7zip/C/Aes.h +38 -0
- data/ext/p7zip/C/Alloc.back3 +238 -0
- data/ext/p7zip/C/Alloc.c +280 -0
- data/ext/p7zip/C/Alloc.c.back +243 -0
- data/ext/p7zip/C/Alloc.c.back2 +222 -0
- data/ext/p7zip/C/Alloc.h +27 -0
- data/ext/p7zip/C/Bra.c +133 -0
- data/ext/p7zip/C/Bra.h +68 -0
- data/ext/p7zip/C/Bra86.c +85 -0
- data/ext/p7zip/C/BraIA64.c +67 -0
- data/ext/p7zip/C/BwtSort.c +516 -0
- data/ext/p7zip/C/BwtSort.h +30 -0
- data/ext/p7zip/C/CpuArch.c +168 -0
- data/ext/p7zip/C/CpuArch.h +155 -0
- data/ext/p7zip/C/Delta.c +62 -0
- data/ext/p7zip/C/Delta.h +23 -0
- data/ext/p7zip/C/HuffEnc.c +146 -0
- data/ext/p7zip/C/HuffEnc.h +27 -0
- data/ext/p7zip/C/LzFind.c +761 -0
- data/ext/p7zip/C/LzFind.h +115 -0
- data/ext/p7zip/C/LzFindMt.c +793 -0
- data/ext/p7zip/C/LzFindMt.h +105 -0
- data/ext/p7zip/C/LzHash.h +54 -0
- data/ext/p7zip/C/Lzma2Dec.c +356 -0
- data/ext/p7zip/C/Lzma2Dec.h +84 -0
- data/ext/p7zip/C/Lzma2Enc.c +477 -0
- data/ext/p7zip/C/Lzma2Enc.h +66 -0
- data/ext/p7zip/C/LzmaDec.c +999 -0
- data/ext/p7zip/C/LzmaDec.h +231 -0
- data/ext/p7zip/C/LzmaEnc.c +2268 -0
- data/ext/p7zip/C/LzmaEnc.h +80 -0
- data/ext/p7zip/C/LzmaUtil/Lzma86Dec.c +61 -0
- data/ext/p7zip/C/LzmaUtil/Lzma86Dec.h +51 -0
- data/ext/p7zip/C/LzmaUtil/Lzma86Enc.c +113 -0
- data/ext/p7zip/C/LzmaUtil/Lzma86Enc.h +78 -0
- data/ext/p7zip/C/MtCoder.c +327 -0
- data/ext/p7zip/C/MtCoder.h +98 -0
- data/ext/p7zip/C/Ppmd.h +85 -0
- data/ext/p7zip/C/Ppmd7.c +708 -0
- data/ext/p7zip/C/Ppmd7.h +140 -0
- data/ext/p7zip/C/Ppmd7Dec.c +187 -0
- data/ext/p7zip/C/Ppmd7Enc.c +185 -0
- data/ext/p7zip/C/Ppmd8.c +1120 -0
- data/ext/p7zip/C/Ppmd8.h +133 -0
- data/ext/p7zip/C/Ppmd8Dec.c +155 -0
- data/ext/p7zip/C/Ppmd8Enc.c +161 -0
- data/ext/p7zip/C/RotateDefs.h +20 -0
- data/ext/p7zip/C/Sha256.c +204 -0
- data/ext/p7zip/C/Sha256.h +26 -0
- data/ext/p7zip/C/Sort.c +93 -0
- data/ext/p7zip/C/Sort.h +20 -0
- data/ext/p7zip/C/Threads.c +582 -0
- data/ext/p7zip/C/Threads.h +123 -0
- data/ext/p7zip/C/Types.h +254 -0
- data/ext/p7zip/C/Xz.c +88 -0
- data/ext/p7zip/C/Xz.h +252 -0
- data/ext/p7zip/C/XzCrc64.c +33 -0
- data/ext/p7zip/C/XzCrc64.h +26 -0
- data/ext/p7zip/C/XzDec.c +875 -0
- data/ext/p7zip/C/XzEnc.c +497 -0
- data/ext/p7zip/C/XzEnc.h +25 -0
- data/ext/p7zip/C/XzIn.c +306 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zCompressionMode.cpp +3 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zCompressionMode.h +50 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zDecode.cpp +332 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zDecode.h +68 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zEncode.cpp +444 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zEncode.h +55 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zExtract.cpp +270 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderInStream.cpp +123 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderInStream.h +58 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderOutStream.cpp +149 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zFolderOutStream.h +58 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zHandler.cpp +482 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zHandler.h +119 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zHandlerOut.cpp +483 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zHeader.cpp +14 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zHeader.h +97 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zIn.cpp +1276 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zIn.h +245 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zItem.h +268 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zOut.cpp +866 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zOut.h +152 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zProperties.cpp +164 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zProperties.h +22 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zRegister.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zSpecStream.cpp +24 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zSpecStream.h +35 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zUpdate.cpp +1216 -0
- data/ext/p7zip/CPP/7zip/Archive/7z/7zUpdate.h +88 -0
- data/ext/p7zip/CPP/7zip/Archive/ApmHandler.cpp +356 -0
- data/ext/p7zip/CPP/7zip/Archive/ArchiveExports.cpp +135 -0
- data/ext/p7zip/CPP/7zip/Archive/ArjHandler.cpp +798 -0
- data/ext/p7zip/CPP/7zip/Archive/Bz2Handler.cpp +423 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabBlockInStream.cpp +189 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabBlockInStream.h +44 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabHandler.cpp +929 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabHandler.h +28 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabHeader.cpp +15 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabHeader.h +44 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabIn.cpp +272 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabIn.h +161 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabItem.h +63 -0
- data/ext/p7zip/CPP/7zip/Archive/Cab/CabRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHandler.cpp +721 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHandler.h +29 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHeader.cpp +24 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmHeader.h +28 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmIn.cpp +937 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmIn.h +244 -0
- data/ext/p7zip/CPP/7zip/Archive/Chm/ChmRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/Com/ComHandler.cpp +239 -0
- data/ext/p7zip/CPP/7zip/Archive/Com/ComHandler.h +28 -0
- data/ext/p7zip/CPP/7zip/Archive/Com/ComIn.cpp +389 -0
- data/ext/p7zip/CPP/7zip/Archive/Com/ComIn.h +119 -0
- data/ext/p7zip/CPP/7zip/Archive/Com/ComRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2.cpp +121 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2.h +174 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2MT.cpp +240 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2MT.h +80 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2ST.cpp +239 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CoderMixer2ST.h +88 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CrossThreadProgress.cpp +15 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/CrossThreadProgress.h +37 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/DummyOutStream.cpp +22 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/DummyOutStream.h +24 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/FindSignature.cpp +62 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/FindSignature.h +12 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/HandlerOut.cpp +623 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/HandlerOut.h +87 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/InStreamWithCRC.cpp +42 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/InStreamWithCRC.h +67 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/ItemNameUtils.cpp +61 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/ItemNameUtils.h +24 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/MultiStream.cpp +190 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/MultiStream.h +84 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithCRC.h +36 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/OutStreamWithSha1.h +36 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/ParseProperties.cpp +177 -0
- data/ext/p7zip/CPP/7zip/Archive/Common/ParseProperties.h +18 -0
- data/ext/p7zip/CPP/7zip/Archive/CpioHandler.cpp +624 -0
- data/ext/p7zip/CPP/7zip/Archive/CramfsHandler.cpp +644 -0
- data/ext/p7zip/CPP/7zip/Archive/DebHandler.cpp +413 -0
- data/ext/p7zip/CPP/7zip/Archive/DeflateProps.cpp +118 -0
- data/ext/p7zip/CPP/7zip/Archive/DeflateProps.h +35 -0
- data/ext/p7zip/CPP/7zip/Archive/DllExports2.cpp +76 -0
- data/ext/p7zip/CPP/7zip/Archive/DmgHandler.cpp +918 -0
- data/ext/p7zip/CPP/7zip/Archive/ElfHandler.cpp +534 -0
- data/ext/p7zip/CPP/7zip/Archive/FatHandler.cpp +996 -0
- data/ext/p7zip/CPP/7zip/Archive/FlvHandler.cpp +544 -0
- data/ext/p7zip/CPP/7zip/Archive/GzHandler.cpp +698 -0
- data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsHandler.cpp +243 -0
- data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsHandler.h +26 -0
- data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsIn.cpp +480 -0
- data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsIn.h +154 -0
- data/ext/p7zip/CPP/7zip/Archive/Hfs/HfsRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/IArchive.h +234 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHandler.cpp +326 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHandler.h +30 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHeader.cpp +21 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoHeader.h +61 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoIn.cpp +453 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoIn.h +315 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoItem.h +141 -0
- data/ext/p7zip/CPP/7zip/Archive/Iso/IsoRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/LzhHandler.cpp +775 -0
- data/ext/p7zip/CPP/7zip/Archive/LzmaHandler.cpp +430 -0
- data/ext/p7zip/CPP/7zip/Archive/MachoHandler.cpp +500 -0
- data/ext/p7zip/CPP/7zip/Archive/MbrHandler.cpp +507 -0
- data/ext/p7zip/CPP/7zip/Archive/MslzHandler.cpp +257 -0
- data/ext/p7zip/CPP/7zip/Archive/MubHandler.cpp +266 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisDecode.cpp +130 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisDecode.h +47 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisHandler.cpp +510 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisHandler.h +43 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisIn.cpp +1461 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisIn.h +181 -0
- data/ext/p7zip/CPP/7zip/Archive/Nsis/NsisRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/NtfsHandler.cpp +1764 -0
- data/ext/p7zip/CPP/7zip/Archive/PeHandler.cpp +1752 -0
- data/ext/p7zip/CPP/7zip/Archive/PpmdHandler.cpp +456 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarHandler.cpp +869 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarHandler.h +66 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarHeader.cpp +21 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarHeader.h +205 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarIn.cpp +478 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarIn.h +123 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarItem.cpp +55 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarItem.h +79 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarVolumeInStream.cpp +78 -0
- data/ext/p7zip/CPP/7zip/Archive/Rar/RarVolumeInStream.h +49 -0
- data/ext/p7zip/CPP/7zip/Archive/RpmHandler.cpp +292 -0
- data/ext/p7zip/CPP/7zip/Archive/SplitHandler.cpp +366 -0
- data/ext/p7zip/CPP/7zip/Archive/SquashfsHandler.cpp +2155 -0
- data/ext/p7zip/CPP/7zip/Archive/SwfHandler.cpp +706 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarHandler.cpp +386 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarHandler.h +61 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarHandlerOut.cpp +122 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarHeader.cpp +25 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarHeader.h +108 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarIn.cpp +207 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarIn.h +17 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarItem.h +72 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarOut.cpp +187 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarOut.h +28 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarRegister.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarUpdate.cpp +139 -0
- data/ext/p7zip/CPP/7zip/Archive/Tar/TarUpdate.h +34 -0
- data/ext/p7zip/CPP/7zip/Archive/Udf/UdfHandler.cpp +451 -0
- data/ext/p7zip/CPP/7zip/Archive/Udf/UdfHandler.h +37 -0
- data/ext/p7zip/CPP/7zip/Archive/Udf/UdfIn.cpp +876 -0
- data/ext/p7zip/CPP/7zip/Archive/Udf/UdfIn.h +375 -0
- data/ext/p7zip/CPP/7zip/Archive/Udf/UdfRegister.cpp +13 -0
- data/ext/p7zip/CPP/7zip/Archive/VhdHandler.cpp +734 -0
- data/ext/p7zip/CPP/7zip/Archive/Wim/WimHandler.cpp +660 -0
- data/ext/p7zip/CPP/7zip/Archive/Wim/WimHandler.h +77 -0
- data/ext/p7zip/CPP/7zip/Archive/Wim/WimHandlerOut.cpp +639 -0
- data/ext/p7zip/CPP/7zip/Archive/Wim/WimIn.cpp +855 -0
- data/ext/p7zip/CPP/7zip/Archive/Wim/WimIn.h +297 -0
- data/ext/p7zip/CPP/7zip/Archive/Wim/WimRegister.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Archive/XarHandler.cpp +588 -0
- data/ext/p7zip/CPP/7zip/Archive/XzHandler.cpp +707 -0
- data/ext/p7zip/CPP/7zip/Archive/ZHandler.cpp +161 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipAddCommon.cpp +379 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipAddCommon.h +56 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipCompressionMode.h +42 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHandler.cpp +822 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHandler.h +101 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHandlerOut.cpp +537 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHeader.cpp +36 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipHeader.h +284 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipIn.cpp +893 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipIn.h +125 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipItem.cpp +181 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipItem.h +281 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipItemEx.h +34 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipOut.cpp +289 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipOut.h +56 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipRegister.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipUpdate.cpp +1076 -0
- data/ext/p7zip/CPP/7zip/Archive/Zip/ZipUpdate.h +58 -0
- data/ext/p7zip/CPP/7zip/Bundles/Format7zFree/makefile +328 -0
- data/ext/p7zip/CPP/7zip/Bundles/Format7zFree/makefile.depend +4962 -0
- data/ext/p7zip/CPP/7zip/Bundles/Format7zFree/makefile.list +265 -0
- data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_7zFM.txt +163 -0
- data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_7zG.txt +131 -0
- data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_7za.txt +253 -0
- data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_ALL.txt +32 -0
- data/ext/p7zip/CPP/7zip/CMAKE/CMakeLists_Format7zFree.txt +290 -0
- data/ext/p7zip/CPP/7zip/CMAKE/generate.sh +37 -0
- data/ext/p7zip/CPP/7zip/CMAKE/generate_xcode.sh +32 -0
- data/ext/p7zip/CPP/7zip/Common/CWrappers.cpp +226 -0
- data/ext/p7zip/CPP/7zip/Common/CWrappers.h +109 -0
- data/ext/p7zip/CPP/7zip/Common/CreateCoder.cpp +293 -0
- data/ext/p7zip/CPP/7zip/Common/CreateCoder.h +98 -0
- data/ext/p7zip/CPP/7zip/Common/FilePathAutoRename.cpp +55 -0
- data/ext/p7zip/CPP/7zip/Common/FilePathAutoRename.h +10 -0
- data/ext/p7zip/CPP/7zip/Common/FileStreams.cpp +273 -0
- data/ext/p7zip/CPP/7zip/Common/FileStreams.h +134 -0
- data/ext/p7zip/CPP/7zip/Common/FilterCoder.cpp +247 -0
- data/ext/p7zip/CPP/7zip/Common/FilterCoder.h +128 -0
- data/ext/p7zip/CPP/7zip/Common/InBuffer.cpp +83 -0
- data/ext/p7zip/CPP/7zip/Common/InBuffer.h +81 -0
- data/ext/p7zip/CPP/7zip/Common/InOutTempBuffer.cpp +122 -0
- data/ext/p7zip/CPP/7zip/Common/InOutTempBuffer.h +48 -0
- data/ext/p7zip/CPP/7zip/Common/LimitedStreams.cpp +154 -0
- data/ext/p7zip/CPP/7zip/Common/LimitedStreams.h +125 -0
- data/ext/p7zip/CPP/7zip/Common/LockedStream.cpp +23 -0
- data/ext/p7zip/CPP/7zip/Common/LockedStream.h +38 -0
- data/ext/p7zip/CPP/7zip/Common/MemBlocks.cpp +183 -0
- data/ext/p7zip/CPP/7zip/Common/MemBlocks.h +71 -0
- data/ext/p7zip/CPP/7zip/Common/MethodId.cpp +27 -0
- data/ext/p7zip/CPP/7zip/Common/MethodId.h +10 -0
- data/ext/p7zip/CPP/7zip/Common/MethodProps.cpp +99 -0
- data/ext/p7zip/CPP/7zip/Common/MethodProps.h +41 -0
- data/ext/p7zip/CPP/7zip/Common/OffsetStream.cpp +35 -0
- data/ext/p7zip/CPP/7zip/Common/OffsetStream.h +25 -0
- data/ext/p7zip/CPP/7zip/Common/OutBuffer.cpp +116 -0
- data/ext/p7zip/CPP/7zip/Common/OutBuffer.h +64 -0
- data/ext/p7zip/CPP/7zip/Common/OutMemStream.cpp +142 -0
- data/ext/p7zip/CPP/7zip/Common/OutMemStream.h +96 -0
- data/ext/p7zip/CPP/7zip/Common/ProgressMt.cpp +53 -0
- data/ext/p7zip/CPP/7zip/Common/ProgressMt.h +46 -0
- data/ext/p7zip/CPP/7zip/Common/ProgressUtils.cpp +42 -0
- data/ext/p7zip/CPP/7zip/Common/ProgressUtils.h +34 -0
- data/ext/p7zip/CPP/7zip/Common/RegisterArc.h +32 -0
- data/ext/p7zip/CPP/7zip/Common/RegisterCodec.h +33 -0
- data/ext/p7zip/CPP/7zip/Common/StreamBinder.cpp +152 -0
- data/ext/p7zip/CPP/7zip/Common/StreamBinder.h +38 -0
- data/ext/p7zip/CPP/7zip/Common/StreamObjects.cpp +221 -0
- data/ext/p7zip/CPP/7zip/Common/StreamObjects.h +135 -0
- data/ext/p7zip/CPP/7zip/Common/StreamUtils.cpp +56 -0
- data/ext/p7zip/CPP/7zip/Common/StreamUtils.h +13 -0
- data/ext/p7zip/CPP/7zip/Common/VirtThread.cpp +46 -0
- data/ext/p7zip/CPP/7zip/Common/VirtThread.h +23 -0
- data/ext/p7zip/CPP/7zip/Compress/ArjDecoder1.cpp +309 -0
- data/ext/p7zip/CPP/7zip/Compress/ArjDecoder1.h +98 -0
- data/ext/p7zip/CPP/7zip/Compress/ArjDecoder2.cpp +90 -0
- data/ext/p7zip/CPP/7zip/Compress/ArjDecoder2.h +59 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Const.h +54 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Crc.cpp +26 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Crc.h +31 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Decoder.cpp +943 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Decoder.h +205 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Encoder.cpp +895 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Encoder.h +245 -0
- data/ext/p7zip/CPP/7zip/Compress/BZip2Register.cpp +20 -0
- data/ext/p7zip/CPP/7zip/Compress/Bcj2Coder.cpp +386 -0
- data/ext/p7zip/CPP/7zip/Compress/Bcj2Coder.h +115 -0
- data/ext/p7zip/CPP/7zip/Compress/Bcj2Register.cpp +19 -0
- data/ext/p7zip/CPP/7zip/Compress/BcjCoder.cpp +15 -0
- data/ext/p7zip/CPP/7zip/Compress/BcjCoder.h +19 -0
- data/ext/p7zip/CPP/7zip/Compress/BcjRegister.cpp +19 -0
- data/ext/p7zip/CPP/7zip/Compress/BitlDecoder.cpp +24 -0
- data/ext/p7zip/CPP/7zip/Compress/BitlDecoder.h +141 -0
- data/ext/p7zip/CPP/7zip/Compress/BitlEncoder.h +57 -0
- data/ext/p7zip/CPP/7zip/Compress/BitmDecoder.h +66 -0
- data/ext/p7zip/CPP/7zip/Compress/BitmEncoder.h +50 -0
- data/ext/p7zip/CPP/7zip/Compress/BranchCoder.cpp +19 -0
- data/ext/p7zip/CPP/7zip/Compress/BranchCoder.h +44 -0
- data/ext/p7zip/CPP/7zip/Compress/BranchMisc.cpp +37 -0
- data/ext/p7zip/CPP/7zip/Compress/BranchMisc.h +14 -0
- data/ext/p7zip/CPP/7zip/Compress/BranchRegister.cpp +30 -0
- data/ext/p7zip/CPP/7zip/Compress/ByteSwap.cpp +73 -0
- data/ext/p7zip/CPP/7zip/Compress/CodecExports.cpp +160 -0
- data/ext/p7zip/CPP/7zip/Compress/CopyCoder.cpp +67 -0
- data/ext/p7zip/CPP/7zip/Compress/CopyCoder.h +34 -0
- data/ext/p7zip/CPP/7zip/Compress/CopyRegister.cpp +14 -0
- data/ext/p7zip/CPP/7zip/Compress/Deflate64Register.cpp +20 -0
- data/ext/p7zip/CPP/7zip/Compress/DeflateConst.h +134 -0
- data/ext/p7zip/CPP/7zip/Compress/DeflateDecoder.cpp +353 -0
- data/ext/p7zip/CPP/7zip/Compress/DeflateDecoder.h +157 -0
- data/ext/p7zip/CPP/7zip/Compress/DeflateEncoder.cpp +986 -0
- data/ext/p7zip/CPP/7zip/Compress/DeflateEncoder.h +211 -0
- data/ext/p7zip/CPP/7zip/Compress/DeflateRegister.cpp +21 -0
- data/ext/p7zip/CPP/7zip/Compress/DeltaFilter.cpp +112 -0
- data/ext/p7zip/CPP/7zip/Compress/DllExports.cpp +39 -0
- data/ext/p7zip/CPP/7zip/Compress/DllExports2.cpp +28 -0
- data/ext/p7zip/CPP/7zip/Compress/HuffmanDecoder.h +89 -0
- data/ext/p7zip/CPP/7zip/Compress/ImplodeDecoder.cpp +219 -0
- data/ext/p7zip/CPP/7zip/Compress/ImplodeDecoder.h +57 -0
- data/ext/p7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp +89 -0
- data/ext/p7zip/CPP/7zip/Compress/ImplodeHuffmanDecoder.h +34 -0
- data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaAlone.cpp +531 -0
- data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBench.cpp +1018 -0
- data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBench.h +48 -0
- data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBenchCon.cpp +311 -0
- data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/LzmaBenchCon.h +20 -0
- data/ext/p7zip/CPP/7zip/Compress/LZMA_Alone/makefile +173 -0
- data/ext/p7zip/CPP/7zip/Compress/LzOutWindow.cpp +14 -0
- data/ext/p7zip/CPP/7zip/Compress/LzOutWindow.h +66 -0
- data/ext/p7zip/CPP/7zip/Compress/LzhDecoder.cpp +220 -0
- data/ext/p7zip/CPP/7zip/Compress/LzhDecoder.h +106 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzma2Decoder.cpp +189 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzma2Decoder.h +73 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzma2Encoder.cpp +94 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzma2Encoder.h +36 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzma2Register.cpp +20 -0
- data/ext/p7zip/CPP/7zip/Compress/LzmaDecoder.cpp +252 -0
- data/ext/p7zip/CPP/7zip/Compress/LzmaDecoder.h +84 -0
- data/ext/p7zip/CPP/7zip/Compress/LzmaEncoder.cpp +149 -0
- data/ext/p7zip/CPP/7zip/Compress/LzmaEncoder.h +36 -0
- data/ext/p7zip/CPP/7zip/Compress/LzmaRegister.cpp +20 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzx.h +61 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzx86Converter.cpp +90 -0
- data/ext/p7zip/CPP/7zip/Compress/Lzx86Converter.h +46 -0
- data/ext/p7zip/CPP/7zip/Compress/LzxDecoder.cpp +387 -0
- data/ext/p7zip/CPP/7zip/Compress/LzxDecoder.h +159 -0
- data/ext/p7zip/CPP/7zip/Compress/Mtf8.h +193 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdDecoder.cpp +167 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdDecoder.h +78 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdEncoder.cpp +119 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdEncoder.h +48 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdRegister.cpp +21 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdZip.cpp +223 -0
- data/ext/p7zip/CPP/7zip/Compress/PpmdZip.h +72 -0
- data/ext/p7zip/CPP/7zip/Compress/QuantumDecoder.cpp +175 -0
- data/ext/p7zip/CPP/7zip/Compress/QuantumDecoder.h +264 -0
- data/ext/p7zip/CPP/7zip/Compress/RangeCoder.h +205 -0
- data/ext/p7zip/CPP/7zip/Compress/RangeCoderBit.h +114 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar/makefile +34 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar/makefile.depend +158 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar/makefile.list +64 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar1Decoder.cpp +480 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar1Decoder.h +88 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar2Decoder.cpp +391 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar2Decoder.h +174 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar3Decoder.cpp +897 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar3Decoder.h +267 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar3Vm.cpp +1091 -0
- data/ext/p7zip/CPP/7zip/Compress/Rar3Vm.h +179 -0
- data/ext/p7zip/CPP/7zip/Compress/RarCodecsRegister.cpp +26 -0
- data/ext/p7zip/CPP/7zip/Compress/ShrinkDecoder.cpp +145 -0
- data/ext/p7zip/CPP/7zip/Compress/ShrinkDecoder.h +38 -0
- data/ext/p7zip/CPP/7zip/Compress/ZDecoder.cpp +159 -0
- data/ext/p7zip/CPP/7zip/Compress/ZDecoder.h +42 -0
- data/ext/p7zip/CPP/7zip/Compress/ZlibDecoder.cpp +89 -0
- data/ext/p7zip/CPP/7zip/Compress/ZlibDecoder.h +48 -0
- data/ext/p7zip/CPP/7zip/Compress/ZlibEncoder.cpp +61 -0
- data/ext/p7zip/CPP/7zip/Compress/ZlibEncoder.h +48 -0
- data/ext/p7zip/CPP/7zip/Crypto/7zAes.cpp +244 -0
- data/ext/p7zip/CPP/7zip/Crypto/7zAes.h +117 -0
- data/ext/p7zip/CPP/7zip/Crypto/7zAesRegister.cpp +18 -0
- data/ext/p7zip/CPP/7zip/Crypto/HmacSha1.cpp +109 -0
- data/ext/p7zip/CPP/7zip/Crypto/HmacSha1.h +39 -0
- data/ext/p7zip/CPP/7zip/Crypto/MyAes.cpp +48 -0
- data/ext/p7zip/CPP/7zip/Crypto/MyAes.h +38 -0
- data/ext/p7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.cpp +83 -0
- data/ext/p7zip/CPP/7zip/Crypto/Pbkdf2HmacSha1.h +21 -0
- data/ext/p7zip/CPP/7zip/Crypto/RandGen.cpp +107 -0
- data/ext/p7zip/CPP/7zip/Crypto/RandGen.h +21 -0
- data/ext/p7zip/CPP/7zip/Crypto/Rar20Crypto.cpp +133 -0
- data/ext/p7zip/CPP/7zip/Crypto/Rar20Crypto.h +50 -0
- data/ext/p7zip/CPP/7zip/Crypto/RarAes.cpp +134 -0
- data/ext/p7zip/CPP/7zip/Crypto/RarAes.h +47 -0
- data/ext/p7zip/CPP/7zip/Crypto/Sha1.cpp +229 -0
- data/ext/p7zip/CPP/7zip/Crypto/Sha1.h +68 -0
- data/ext/p7zip/CPP/7zip/Crypto/WzAes.cpp +221 -0
- data/ext/p7zip/CPP/7zip/Crypto/WzAes.h +125 -0
- data/ext/p7zip/CPP/7zip/Crypto/ZipCrypto.cpp +88 -0
- data/ext/p7zip/CPP/7zip/Crypto/ZipCrypto.h +56 -0
- data/ext/p7zip/CPP/7zip/Crypto/ZipStrong.cpp +164 -0
- data/ext/p7zip/CPP/7zip/Crypto/ZipStrong.h +47 -0
- data/ext/p7zip/CPP/7zip/Guid.txt +170 -0
- data/ext/p7zip/CPP/7zip/ICoder.h +186 -0
- data/ext/p7zip/CPP/7zip/IDecl.h +15 -0
- data/ext/p7zip/CPP/7zip/IPassword.h +24 -0
- data/ext/p7zip/CPP/7zip/IProgress.h +33 -0
- data/ext/p7zip/CPP/7zip/IStream.h +58 -0
- data/ext/p7zip/CPP/7zip/MyVersion.h +11 -0
- data/ext/p7zip/CPP/7zip/PREMAKE/generate.sh +18 -0
- data/ext/p7zip/CPP/7zip/PREMAKE/premake4.lua +263 -0
- data/ext/p7zip/CPP/7zip/PropID.h +76 -0
- data/ext/p7zip/CPP/7zip/QMAKE/7ZA/7ZA.pro +228 -0
- data/ext/p7zip/CPP/7zip/QMAKE/7ZA/7ZA_osx.pro +228 -0
- data/ext/p7zip/CPP/7zip/QMAKE/test_emul/test_emul.pro +26 -0
- data/ext/p7zip/CPP/7zip/TEST/TestUI/TestUI.cpp +560 -0
- data/ext/p7zip/CPP/7zip/TEST/TestUI/makefile +33 -0
- data/ext/p7zip/CPP/7zip/TEST/TestUI/makefile.depend +577 -0
- data/ext/p7zip/CPP/7zip/TEST/TestUI/makefile.list +16 -0
- data/ext/p7zip/CPP/Common/AutoPtr.h +35 -0
- data/ext/p7zip/CPP/Common/Buffer.h +77 -0
- data/ext/p7zip/CPP/Common/CRC.cpp +7 -0
- data/ext/p7zip/CPP/Common/C_FileIO.cpp +88 -0
- data/ext/p7zip/CPP/Common/C_FileIO.h +47 -0
- data/ext/p7zip/CPP/Common/ComTry.h +18 -0
- data/ext/p7zip/CPP/Common/CommandLineParser.cpp +230 -0
- data/ext/p7zip/CPP/Common/CommandLineParser.h +72 -0
- data/ext/p7zip/CPP/Common/Defs.h +20 -0
- data/ext/p7zip/CPP/Common/DynamicBuffer.h +50 -0
- data/ext/p7zip/CPP/Common/IntToString.cpp +77 -0
- data/ext/p7zip/CPP/Common/IntToString.h +19 -0
- data/ext/p7zip/CPP/Common/Lang.cpp +130 -0
- data/ext/p7zip/CPP/Common/Lang.h +28 -0
- data/ext/p7zip/CPP/Common/ListFileUtils.cpp +75 -0
- data/ext/p7zip/CPP/Common/ListFileUtils.h +11 -0
- data/ext/p7zip/CPP/Common/MyCom.h +225 -0
- data/ext/p7zip/CPP/Common/MyException.h +14 -0
- data/ext/p7zip/CPP/Common/MyGuidDef.h +54 -0
- data/ext/p7zip/CPP/Common/MyInitGuid.h +22 -0
- data/ext/p7zip/CPP/Common/MyMap.cpp +140 -0
- data/ext/p7zip/CPP/Common/MyMap.h +28 -0
- data/ext/p7zip/CPP/Common/MyString.cpp +206 -0
- data/ext/p7zip/CPP/Common/MyString.h +601 -0
- data/ext/p7zip/CPP/Common/MyUnknown.h +13 -0
- data/ext/p7zip/CPP/Common/MyVector.cpp +87 -0
- data/ext/p7zip/CPP/Common/MyVector.h +266 -0
- data/ext/p7zip/CPP/Common/MyWindows.cpp +111 -0
- data/ext/p7zip/CPP/Common/MyWindows.h +218 -0
- data/ext/p7zip/CPP/Common/MyXml.cpp +209 -0
- data/ext/p7zip/CPP/Common/MyXml.h +40 -0
- data/ext/p7zip/CPP/Common/NewHandler.h +16 -0
- data/ext/p7zip/CPP/Common/StdInStream.cpp +100 -0
- data/ext/p7zip/CPP/Common/StdInStream.h +32 -0
- data/ext/p7zip/CPP/Common/StdOutStream.cpp +93 -0
- data/ext/p7zip/CPP/Common/StdOutStream.h +35 -0
- data/ext/p7zip/CPP/Common/StringConvert.cpp +181 -0
- data/ext/p7zip/CPP/Common/StringConvert.h +73 -0
- data/ext/p7zip/CPP/Common/StringToInt.cpp +90 -0
- data/ext/p7zip/CPP/Common/StringToInt.h +18 -0
- data/ext/p7zip/CPP/Common/TextConfig.cpp +138 -0
- data/ext/p7zip/CPP/Common/TextConfig.h +22 -0
- data/ext/p7zip/CPP/Common/Types.h +11 -0
- data/ext/p7zip/CPP/Common/UTFConvert.cpp +145 -0
- data/ext/p7zip/CPP/Common/UTFConvert.h +11 -0
- data/ext/p7zip/CPP/Common/Wildcard.cpp +462 -0
- data/ext/p7zip/CPP/Common/Wildcard.h +80 -0
- data/ext/p7zip/CPP/Windows/COM.cpp +37 -0
- data/ext/p7zip/CPP/Windows/COM.h +69 -0
- data/ext/p7zip/CPP/Windows/Clipboard.cpp +160 -0
- data/ext/p7zip/CPP/Windows/Clipboard.h +28 -0
- data/ext/p7zip/CPP/Windows/CommonDialog.h +19 -0
- data/ext/p7zip/CPP/Windows/Control/ComboBox.h +82 -0
- data/ext/p7zip/CPP/Windows/Control/Controls.cpp +515 -0
- data/ext/p7zip/CPP/Windows/Control/Dialog.cpp +560 -0
- data/ext/p7zip/CPP/Windows/Control/Dialog.h +179 -0
- data/ext/p7zip/CPP/Windows/Control/DialogImpl.h +73 -0
- data/ext/p7zip/CPP/Windows/Control/Edit.h +24 -0
- data/ext/p7zip/CPP/Windows/Control/ListView.h +164 -0
- data/ext/p7zip/CPP/Windows/Control/ProgressBar.h +34 -0
- data/ext/p7zip/CPP/Windows/Control/Static.h +23 -0
- data/ext/p7zip/CPP/Windows/Control/StatusBar.h +56 -0
- data/ext/p7zip/CPP/Windows/Control/Window2.cpp +211 -0
- data/ext/p7zip/CPP/Windows/Control/Window2.h +111 -0
- data/ext/p7zip/CPP/Windows/DLL.cpp +193 -0
- data/ext/p7zip/CPP/Windows/DLL.h +48 -0
- data/ext/p7zip/CPP/Windows/Defs.h +17 -0
- data/ext/p7zip/CPP/Windows/Error.cpp +58 -0
- data/ext/p7zip/CPP/Windows/Error.h +33 -0
- data/ext/p7zip/CPP/Windows/FileDir.cpp +927 -0
- data/ext/p7zip/CPP/Windows/FileDir.h +115 -0
- data/ext/p7zip/CPP/Windows/FileFind.cpp +604 -0
- data/ext/p7zip/CPP/Windows/FileFind.h +126 -0
- data/ext/p7zip/CPP/Windows/FileIO.cpp +475 -0
- data/ext/p7zip/CPP/Windows/FileIO.h +110 -0
- data/ext/p7zip/CPP/Windows/FileName.cpp +50 -0
- data/ext/p7zip/CPP/Windows/FileName.h +27 -0
- data/ext/p7zip/CPP/Windows/Menu.h +4 -0
- data/ext/p7zip/CPP/Windows/NtCheck.h +44 -0
- data/ext/p7zip/CPP/Windows/PropVariant.cpp +243 -0
- data/ext/p7zip/CPP/Windows/PropVariant.h +56 -0
- data/ext/p7zip/CPP/Windows/PropVariantConversions.cpp +142 -0
- data/ext/p7zip/CPP/Windows/PropVariantConversions.h +14 -0
- data/ext/p7zip/CPP/Windows/PropVariantUtils.cpp +78 -0
- data/ext/p7zip/CPP/Windows/PropVariantUtils.h +28 -0
- data/ext/p7zip/CPP/Windows/Registry.cpp +313 -0
- data/ext/p7zip/CPP/Windows/Registry.h +113 -0
- data/ext/p7zip/CPP/Windows/ResourceString.h +22 -0
- data/ext/p7zip/CPP/Windows/Shell.h +21 -0
- data/ext/p7zip/CPP/Windows/Synchronization.cpp +157 -0
- data/ext/p7zip/CPP/Windows/Synchronization.h +187 -0
- data/ext/p7zip/CPP/Windows/Synchronization2.h +218 -0
- data/ext/p7zip/CPP/Windows/System.cpp +166 -0
- data/ext/p7zip/CPP/Windows/System.h +16 -0
- data/ext/p7zip/CPP/Windows/Thread.h +41 -0
- data/ext/p7zip/CPP/Windows/Time.cpp +88 -0
- data/ext/p7zip/CPP/Windows/Time.h +21 -0
- data/ext/p7zip/CPP/Windows/Window.cpp +101 -0
- data/ext/p7zip/CPP/Windows/Window.h +43 -0
- data/ext/p7zip/CPP/include_windows/basetyps.h +19 -0
- data/ext/p7zip/CPP/include_windows/tchar.h +89 -0
- data/ext/p7zip/CPP/include_windows/windows.h +194 -0
- data/ext/p7zip/CPP/myWindows/StdAfx.h +124 -0
- data/ext/p7zip/CPP/myWindows/config.h +67 -0
- data/ext/p7zip/CPP/myWindows/initguid.h +4 -0
- data/ext/p7zip/CPP/myWindows/makefile +21 -0
- data/ext/p7zip/CPP/myWindows/makefile.depend +32 -0
- data/ext/p7zip/CPP/myWindows/makefile.list +28 -0
- data/ext/p7zip/CPP/myWindows/myAddExeFlag.cpp +20 -0
- data/ext/p7zip/CPP/myWindows/myGetTickCount.cpp +8 -0
- data/ext/p7zip/CPP/myWindows/myPrivate.h +17 -0
- data/ext/p7zip/CPP/myWindows/mySplitCommandLine.cpp +82 -0
- data/ext/p7zip/CPP/myWindows/test_emul.cpp +745 -0
- data/ext/p7zip/CPP/myWindows/wine_GetXXXDefaultLangID.cpp +741 -0
- data/ext/p7zip/CPP/myWindows/wine_date_and_time.cpp +434 -0
- data/ext/p7zip/ChangeLog +914 -0
- data/ext/p7zip/DOCS/7zC.txt +194 -0
- data/ext/p7zip/DOCS/7zFormat.txt +469 -0
- data/ext/p7zip/DOCS/License.txt +52 -0
- data/ext/p7zip/DOCS/MANUAL/commands/add.htm +87 -0
- data/ext/p7zip/DOCS/MANUAL/commands/bench.htm +79 -0
- data/ext/p7zip/DOCS/MANUAL/commands/delete.htm +59 -0
- data/ext/p7zip/DOCS/MANUAL/commands/extract.htm +91 -0
- data/ext/p7zip/DOCS/MANUAL/commands/extract_full.htm +68 -0
- data/ext/p7zip/DOCS/MANUAL/commands/index.htm +33 -0
- data/ext/p7zip/DOCS/MANUAL/commands/list.htm +77 -0
- data/ext/p7zip/DOCS/MANUAL/commands/style.css +232 -0
- data/ext/p7zip/DOCS/MANUAL/commands/test.htm +46 -0
- data/ext/p7zip/DOCS/MANUAL/commands/update.htm +66 -0
- data/ext/p7zip/DOCS/MANUAL/exit_codes.htm +27 -0
- data/ext/p7zip/DOCS/MANUAL/index.htm +29 -0
- data/ext/p7zip/DOCS/MANUAL/style.css +232 -0
- data/ext/p7zip/DOCS/MANUAL/switches/ar_exclude.htm +56 -0
- data/ext/p7zip/DOCS/MANUAL/switches/ar_include.htm +83 -0
- data/ext/p7zip/DOCS/MANUAL/switches/ar_no.htm +52 -0
- data/ext/p7zip/DOCS/MANUAL/switches/charset.htm +49 -0
- data/ext/p7zip/DOCS/MANUAL/switches/exclude.htm +60 -0
- data/ext/p7zip/DOCS/MANUAL/switches/include.htm +87 -0
- data/ext/p7zip/DOCS/MANUAL/switches/index.htm +64 -0
- data/ext/p7zip/DOCS/MANUAL/switches/large_pages.htm +50 -0
- data/ext/p7zip/DOCS/MANUAL/switches/list_tech.htm +36 -0
- data/ext/p7zip/DOCS/MANUAL/switches/method.htm +625 -0
- data/ext/p7zip/DOCS/MANUAL/switches/output_dir.htm +53 -0
- data/ext/p7zip/DOCS/MANUAL/switches/overwrite.htm +56 -0
- data/ext/p7zip/DOCS/MANUAL/switches/password.htm +54 -0
- data/ext/p7zip/DOCS/MANUAL/switches/recurse.htm +83 -0
- data/ext/p7zip/DOCS/MANUAL/switches/sfx.htm +156 -0
- data/ext/p7zip/DOCS/MANUAL/switches/ssc.htm +50 -0
- data/ext/p7zip/DOCS/MANUAL/switches/stdin.htm +55 -0
- data/ext/p7zip/DOCS/MANUAL/switches/stdout.htm +50 -0
- data/ext/p7zip/DOCS/MANUAL/switches/stop_switch.htm +31 -0
- data/ext/p7zip/DOCS/MANUAL/switches/style.css +232 -0
- data/ext/p7zip/DOCS/MANUAL/switches/type.htm +83 -0
- data/ext/p7zip/DOCS/MANUAL/switches/update.htm +176 -0
- data/ext/p7zip/DOCS/MANUAL/switches/volume.htm +49 -0
- data/ext/p7zip/DOCS/MANUAL/switches/working_dir.htm +55 -0
- data/ext/p7zip/DOCS/MANUAL/switches/yes.htm +48 -0
- data/ext/p7zip/DOCS/MANUAL/syntax.htm +120 -0
- data/ext/p7zip/DOCS/Methods.txt +152 -0
- data/ext/p7zip/DOCS/copying.txt +504 -0
- data/ext/p7zip/DOCS/history.txt +456 -0
- data/ext/p7zip/DOCS/lzma.txt +598 -0
- data/ext/p7zip/DOCS/readme.txt +181 -0
- data/ext/p7zip/DOCS/unRarLicense.txt +41 -0
- data/ext/p7zip/README +358 -0
- data/ext/p7zip/TODO +39 -0
- data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/ChangeLog +41 -0
- data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/readme +21 -0
- data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/readme.u7z +30 -0
- data/ext/p7zip/contrib/VirtualFileSystemForMidnightCommander/u7z +133 -0
- data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/README +21 -0
- data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/check/check.sh +117 -0
- data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/check/files.tar +0 -0
- data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/man1/p7zip.1 +33 -0
- data/ext/p7zip/contrib/gzip-like_CLI_wrapper_for_7z/p7zip +144 -0
- data/ext/p7zip/contrib/qnx630sp3/qnx630sp3-shared +14 -0
- data/ext/p7zip/contrib/qnx630sp3/qnx630sp3-static +10 -0
- data/ext/p7zip/extconf.rb +101 -0
- data/ext/p7zip/install.sh +206 -0
- data/ext/p7zip/install_local_context_menu.sh +18 -0
- data/ext/p7zip/integration_context_menu.txt +51 -0
- data/ext/p7zip/makefile +181 -0
- data/ext/p7zip/makefile.aix_gcc +22 -0
- data/ext/p7zip/makefile.beos +18 -0
- data/ext/p7zip/makefile.crc32 +8 -0
- data/ext/p7zip/makefile.cygwin +20 -0
- data/ext/p7zip/makefile.cygwin_asm +21 -0
- data/ext/p7zip/makefile.djgpp_old +21 -0
- data/ext/p7zip/makefile.djgpp_watt +47 -0
- data/ext/p7zip/makefile.freebsd5 +20 -0
- data/ext/p7zip/makefile.freebsd6 +20 -0
- data/ext/p7zip/makefile.glb +39 -0
- data/ext/p7zip/makefile.gprof +18 -0
- data/ext/p7zip/makefile.hpux-acc +17 -0
- data/ext/p7zip/makefile.hpux-acc_64 +19 -0
- data/ext/p7zip/makefile.hpux-gcc +21 -0
- data/ext/p7zip/makefile.linux_amd64 +22 -0
- data/ext/p7zip/makefile.linux_amd64_asm +24 -0
- data/ext/p7zip/makefile.linux_amd64_asm_icc +27 -0
- data/ext/p7zip/makefile.linux_any_cpu +22 -0
- data/ext/p7zip/makefile.linux_any_cpu_gcc_4.X +24 -0
- data/ext/p7zip/makefile.linux_clang_amd64 +22 -0
- data/ext/p7zip/makefile.linux_cross_arm +22 -0
- data/ext/p7zip/makefile.linux_gcc_2.95_no_need_for_libstdc +20 -0
- data/ext/p7zip/makefile.linux_other +23 -0
- data/ext/p7zip/makefile.linux_s390x +23 -0
- data/ext/p7zip/makefile.linux_x86_asm_gcc_4.X +26 -0
- data/ext/p7zip/makefile.linux_x86_asm_gcc_4.X_fltk +26 -0
- data/ext/p7zip/makefile.linux_x86_asm_gcc_mudflap_4.X +26 -0
- data/ext/p7zip/makefile.linux_x86_asm_icc +25 -0
- data/ext/p7zip/makefile.linux_x86_icc +24 -0
- data/ext/p7zip/makefile.machine_base +22 -0
- data/ext/p7zip/makefile.macosx_32bits +20 -0
- data/ext/p7zip/makefile.macosx_32bits_asm +23 -0
- data/ext/p7zip/makefile.macosx_32bits_ppc +21 -0
- data/ext/p7zip/makefile.macosx_64bits +20 -0
- data/ext/p7zip/makefile.macosx_llvm_64bits +20 -0
- data/ext/p7zip/makefile.netbsd +21 -0
- data/ext/p7zip/makefile.netware_asm_gcc_3.X +41 -0
- data/ext/p7zip/makefile.oldmake +174 -0
- data/ext/p7zip/makefile.openbsd +20 -0
- data/ext/p7zip/makefile.openbsd_no_port +20 -0
- data/ext/p7zip/makefile.qnx_shared.bin +21 -0
- data/ext/p7zip/makefile.qnx_static +21 -0
- data/ext/p7zip/makefile.rules +661 -0
- data/ext/p7zip/makefile.solaris_sparc_CC_32 +21 -0
- data/ext/p7zip/makefile.solaris_sparc_CC_64 +23 -0
- data/ext/p7zip/makefile.solaris_sparc_gcc +21 -0
- data/ext/p7zip/makefile.solaris_x86 +19 -0
- data/ext/p7zip/makefile.tru64 +22 -0
- data/ext/seven_zip_ruby/extconf.rb +127 -0
- data/ext/seven_zip_ruby/guid_defs.h +29 -0
- data/ext/seven_zip_ruby/mutex.h +10 -0
- data/ext/seven_zip_ruby/posix/mutex.h +94 -0
- data/ext/seven_zip_ruby/seven_zip_archive.cpp +1876 -0
- data/ext/seven_zip_ruby/seven_zip_archive.h +548 -0
- data/ext/seven_zip_ruby/util_common.cpp +28 -0
- data/ext/seven_zip_ruby/util_common.h +515 -0
- data/ext/seven_zip_ruby/utils.cpp +575 -0
- data/ext/seven_zip_ruby/utils.h +25 -0
- data/ext/seven_zip_ruby/win32/mutex.h +130 -0
- data/lib/seven_zip_ruby/7z.dll +0 -0
- data/lib/seven_zip_ruby/7z.sfx +0 -0
- data/lib/seven_zip_ruby/7z64.dll +0 -0
- data/lib/seven_zip_ruby/7zCon.sfx +0 -0
- data/lib/seven_zip_ruby/archive_info.rb +21 -0
- data/lib/seven_zip_ruby/entry_info.rb +46 -0
- data/lib/seven_zip_ruby/exception.rb +10 -0
- data/lib/seven_zip_ruby/seven_zip_reader.rb +537 -0
- data/lib/seven_zip_ruby/seven_zip_writer.rb +502 -0
- data/lib/seven_zip_ruby/update_info.rb +116 -0
- data/lib/seven_zip_ruby/version.rb +3 -0
- data/lib/seven_zip_ruby.rb +34 -0
- data/seven-zip.gemspec +35 -0
- data/spec/seven_zip.7z +0 -0
- data/spec/seven_zip_password.7z +0 -0
- data/spec/seven_zip_ruby_spec.rb +703 -0
- data/spec/seven_zip_ruby_spec_helper.rb +144 -0
- metadata +829 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/* Threads.h -- multithreading library
|
|
2
|
+
2008-11-22 : Igor Pavlov : Public domain */
|
|
3
|
+
|
|
4
|
+
#ifndef __7Z_THRESDS_H
|
|
5
|
+
#define __7Z_THRESDS_H
|
|
6
|
+
|
|
7
|
+
#include "Types.h"
|
|
8
|
+
#include "windows.h"
|
|
9
|
+
|
|
10
|
+
#ifdef ENV_BEOS
|
|
11
|
+
#include <kernel/OS.h>
|
|
12
|
+
#define MAX_THREAD 256
|
|
13
|
+
#else
|
|
14
|
+
#include <pthread.h>
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
/* #define DEBUG_SYNCHRO 1 */
|
|
18
|
+
|
|
19
|
+
typedef struct _CThread
|
|
20
|
+
{
|
|
21
|
+
#ifdef ENV_BEOS
|
|
22
|
+
thread_id _tid;
|
|
23
|
+
#else
|
|
24
|
+
pthread_t _tid;
|
|
25
|
+
#endif
|
|
26
|
+
int _created;
|
|
27
|
+
|
|
28
|
+
} CThread;
|
|
29
|
+
|
|
30
|
+
#define Thread_Construct(thread) (thread)->_created = 0
|
|
31
|
+
#define Thread_WasCreated(thread) ((thread)->_created != 0)
|
|
32
|
+
|
|
33
|
+
typedef unsigned THREAD_FUNC_RET_TYPE;
|
|
34
|
+
#define THREAD_FUNC_CALL_TYPE MY_STD_CALL
|
|
35
|
+
#define THREAD_FUNC_DECL THREAD_FUNC_RET_TYPE THREAD_FUNC_CALL_TYPE
|
|
36
|
+
|
|
37
|
+
typedef THREAD_FUNC_RET_TYPE (THREAD_FUNC_CALL_TYPE * THREAD_FUNC_TYPE)(void *);
|
|
38
|
+
|
|
39
|
+
WRes Thread_Create(CThread *thread, THREAD_FUNC_TYPE startAddress, LPVOID parameter);
|
|
40
|
+
WRes Thread_Wait(CThread *thread);
|
|
41
|
+
WRes Thread_Close(CThread *thread);
|
|
42
|
+
|
|
43
|
+
typedef struct _CEvent
|
|
44
|
+
{
|
|
45
|
+
int _created;
|
|
46
|
+
int _manual_reset;
|
|
47
|
+
int _state;
|
|
48
|
+
#ifdef ENV_BEOS
|
|
49
|
+
thread_id _waiting[MAX_THREAD];
|
|
50
|
+
int _index_waiting;
|
|
51
|
+
sem_id _sem;
|
|
52
|
+
#else
|
|
53
|
+
pthread_mutex_t _mutex;
|
|
54
|
+
pthread_cond_t _cond;
|
|
55
|
+
#endif
|
|
56
|
+
} CEvent;
|
|
57
|
+
|
|
58
|
+
typedef CEvent CAutoResetEvent;
|
|
59
|
+
typedef CEvent CManualResetEvent;
|
|
60
|
+
|
|
61
|
+
#define Event_Construct(event) (event)->_created = 0
|
|
62
|
+
#define Event_IsCreated(event) ((event)->_created)
|
|
63
|
+
|
|
64
|
+
WRes ManualResetEvent_Create(CManualResetEvent *event, int initialSignaled);
|
|
65
|
+
WRes ManualResetEvent_CreateNotSignaled(CManualResetEvent *event);
|
|
66
|
+
WRes AutoResetEvent_Create(CAutoResetEvent *event, int initialSignaled);
|
|
67
|
+
WRes AutoResetEvent_CreateNotSignaled(CAutoResetEvent *event);
|
|
68
|
+
WRes Event_Set(CEvent *event);
|
|
69
|
+
WRes Event_Reset(CEvent *event);
|
|
70
|
+
WRes Event_Wait(CEvent *event);
|
|
71
|
+
WRes Event_Close(CEvent *event);
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
typedef struct _CSemaphore
|
|
75
|
+
{
|
|
76
|
+
int _created;
|
|
77
|
+
UInt32 _count;
|
|
78
|
+
UInt32 _maxCount;
|
|
79
|
+
#ifdef ENV_BEOS
|
|
80
|
+
thread_id _waiting[MAX_THREAD];
|
|
81
|
+
int _index_waiting;
|
|
82
|
+
sem_id _sem;
|
|
83
|
+
#else
|
|
84
|
+
pthread_mutex_t _mutex;
|
|
85
|
+
pthread_cond_t _cond;
|
|
86
|
+
#endif
|
|
87
|
+
} CSemaphore;
|
|
88
|
+
|
|
89
|
+
#define Semaphore_Construct(p) (p)->_created = 0
|
|
90
|
+
|
|
91
|
+
WRes Semaphore_Create(CSemaphore *p, UInt32 initiallyCount, UInt32 maxCount);
|
|
92
|
+
WRes Semaphore_ReleaseN(CSemaphore *p, UInt32 num);
|
|
93
|
+
#define Semaphore_Release1(p) Semaphore_ReleaseN(p, 1)
|
|
94
|
+
WRes Semaphore_Wait(CSemaphore *p);
|
|
95
|
+
WRes Semaphore_Close(CSemaphore *p);
|
|
96
|
+
|
|
97
|
+
typedef struct {
|
|
98
|
+
#ifdef ENV_BEOS
|
|
99
|
+
sem_id _sem;
|
|
100
|
+
#else
|
|
101
|
+
pthread_mutex_t _mutex;
|
|
102
|
+
#endif
|
|
103
|
+
} CCriticalSection;
|
|
104
|
+
|
|
105
|
+
WRes CriticalSection_Init(CCriticalSection *p);
|
|
106
|
+
#ifdef ENV_BEOS
|
|
107
|
+
#define CriticalSection_Delete(p) delete_sem((p)->_sem)
|
|
108
|
+
#define CriticalSection_Enter(p) acquire_sem((p)->_sem)
|
|
109
|
+
#define CriticalSection_Leave(p) release_sem((p)->_sem)
|
|
110
|
+
#else
|
|
111
|
+
#ifdef DEBUG_SYNCHRO
|
|
112
|
+
void CriticalSection_Delete(CCriticalSection *);
|
|
113
|
+
void CriticalSection_Enter(CCriticalSection *);
|
|
114
|
+
void CriticalSection_Leave(CCriticalSection *);
|
|
115
|
+
#else
|
|
116
|
+
#define CriticalSection_Delete(p) pthread_mutex_destroy(&((p)->_mutex))
|
|
117
|
+
#define CriticalSection_Enter(p) pthread_mutex_lock(&((p)->_mutex))
|
|
118
|
+
#define CriticalSection_Leave(p) pthread_mutex_unlock(&((p)->_mutex))
|
|
119
|
+
#endif
|
|
120
|
+
#endif
|
|
121
|
+
|
|
122
|
+
#endif
|
|
123
|
+
|
data/ext/p7zip/C/Types.h
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
/* Types.h -- Basic types
|
|
2
|
+
2010-10-09 : Igor Pavlov : Public domain */
|
|
3
|
+
|
|
4
|
+
#ifndef __7Z_TYPES_H
|
|
5
|
+
#define __7Z_TYPES_H
|
|
6
|
+
|
|
7
|
+
#include <stddef.h>
|
|
8
|
+
|
|
9
|
+
#ifdef _WIN32
|
|
10
|
+
#include <windows.h>
|
|
11
|
+
#endif
|
|
12
|
+
|
|
13
|
+
#ifndef EXTERN_C_BEGIN
|
|
14
|
+
#ifdef __cplusplus
|
|
15
|
+
#define EXTERN_C_BEGIN extern "C" {
|
|
16
|
+
#define EXTERN_C_END }
|
|
17
|
+
#else
|
|
18
|
+
#define EXTERN_C_BEGIN
|
|
19
|
+
#define EXTERN_C_END
|
|
20
|
+
#endif
|
|
21
|
+
#endif
|
|
22
|
+
|
|
23
|
+
EXTERN_C_BEGIN
|
|
24
|
+
|
|
25
|
+
#define SZ_OK 0
|
|
26
|
+
|
|
27
|
+
#define SZ_ERROR_DATA 1
|
|
28
|
+
#define SZ_ERROR_MEM 2
|
|
29
|
+
#define SZ_ERROR_CRC 3
|
|
30
|
+
#define SZ_ERROR_UNSUPPORTED 4
|
|
31
|
+
#define SZ_ERROR_PARAM 5
|
|
32
|
+
#define SZ_ERROR_INPUT_EOF 6
|
|
33
|
+
#define SZ_ERROR_OUTPUT_EOF 7
|
|
34
|
+
#define SZ_ERROR_READ 8
|
|
35
|
+
#define SZ_ERROR_WRITE 9
|
|
36
|
+
#define SZ_ERROR_PROGRESS 10
|
|
37
|
+
#define SZ_ERROR_FAIL 11
|
|
38
|
+
#define SZ_ERROR_THREAD 12
|
|
39
|
+
|
|
40
|
+
#define SZ_ERROR_ARCHIVE 16
|
|
41
|
+
#define SZ_ERROR_NO_ARCHIVE 17
|
|
42
|
+
|
|
43
|
+
typedef int SRes;
|
|
44
|
+
|
|
45
|
+
#ifdef _WIN32
|
|
46
|
+
typedef DWORD WRes;
|
|
47
|
+
#else
|
|
48
|
+
typedef int WRes;
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
#ifndef RINOK
|
|
52
|
+
#define RINOK(x) { int __result__ = (x); if (__result__ != 0) return __result__; }
|
|
53
|
+
#endif
|
|
54
|
+
|
|
55
|
+
typedef unsigned char Byte;
|
|
56
|
+
typedef short Int16;
|
|
57
|
+
typedef unsigned short UInt16;
|
|
58
|
+
|
|
59
|
+
#ifdef _LZMA_UINT32_IS_ULONG
|
|
60
|
+
typedef long Int32;
|
|
61
|
+
typedef unsigned long UInt32;
|
|
62
|
+
#else
|
|
63
|
+
typedef int Int32;
|
|
64
|
+
typedef unsigned int UInt32;
|
|
65
|
+
#endif
|
|
66
|
+
|
|
67
|
+
#ifdef _SZ_NO_INT_64
|
|
68
|
+
|
|
69
|
+
/* define _SZ_NO_INT_64, if your compiler doesn't support 64-bit integers.
|
|
70
|
+
NOTES: Some code will work incorrectly in that case! */
|
|
71
|
+
|
|
72
|
+
typedef long Int64;
|
|
73
|
+
typedef unsigned long UInt64;
|
|
74
|
+
|
|
75
|
+
#else
|
|
76
|
+
|
|
77
|
+
#if defined(_MSC_VER) || defined(__BORLANDC__)
|
|
78
|
+
typedef __int64 Int64;
|
|
79
|
+
typedef unsigned __int64 UInt64;
|
|
80
|
+
#define UINT64_CONST(n) n
|
|
81
|
+
#else
|
|
82
|
+
typedef long long int Int64;
|
|
83
|
+
typedef unsigned long long int UInt64;
|
|
84
|
+
#define UINT64_CONST(n) n ## ULL
|
|
85
|
+
#endif
|
|
86
|
+
|
|
87
|
+
#endif
|
|
88
|
+
|
|
89
|
+
#ifdef _LZMA_NO_SYSTEM_SIZE_T
|
|
90
|
+
typedef UInt32 SizeT;
|
|
91
|
+
#else
|
|
92
|
+
typedef size_t SizeT;
|
|
93
|
+
#endif
|
|
94
|
+
|
|
95
|
+
typedef int Bool;
|
|
96
|
+
#define True 1
|
|
97
|
+
#define False 0
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
#ifdef _WIN32
|
|
101
|
+
#define MY_STD_CALL __stdcall
|
|
102
|
+
#else
|
|
103
|
+
#define MY_STD_CALL
|
|
104
|
+
#endif
|
|
105
|
+
|
|
106
|
+
#ifdef _MSC_VER
|
|
107
|
+
|
|
108
|
+
#if _MSC_VER >= 1300
|
|
109
|
+
#define MY_NO_INLINE __declspec(noinline)
|
|
110
|
+
#else
|
|
111
|
+
#define MY_NO_INLINE
|
|
112
|
+
#endif
|
|
113
|
+
|
|
114
|
+
#define MY_CDECL __cdecl
|
|
115
|
+
#define MY_FAST_CALL __fastcall
|
|
116
|
+
|
|
117
|
+
#else
|
|
118
|
+
|
|
119
|
+
#define MY_CDECL
|
|
120
|
+
#define MY_FAST_CALL
|
|
121
|
+
|
|
122
|
+
#endif
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
/* The following interfaces use first parameter as pointer to structure */
|
|
126
|
+
|
|
127
|
+
typedef struct
|
|
128
|
+
{
|
|
129
|
+
Byte (*Read)(void *p); /* reads one byte, returns 0 in case of EOF or error */
|
|
130
|
+
} IByteIn;
|
|
131
|
+
|
|
132
|
+
typedef struct
|
|
133
|
+
{
|
|
134
|
+
void (*Write)(void *p, Byte b);
|
|
135
|
+
} IByteOut;
|
|
136
|
+
|
|
137
|
+
typedef struct
|
|
138
|
+
{
|
|
139
|
+
SRes (*Read)(void *p, void *buf, size_t *size);
|
|
140
|
+
/* if (input(*size) != 0 && output(*size) == 0) means end_of_stream.
|
|
141
|
+
(output(*size) < input(*size)) is allowed */
|
|
142
|
+
} ISeqInStream;
|
|
143
|
+
|
|
144
|
+
/* it can return SZ_ERROR_INPUT_EOF */
|
|
145
|
+
SRes SeqInStream_Read(ISeqInStream *stream, void *buf, size_t size);
|
|
146
|
+
SRes SeqInStream_Read2(ISeqInStream *stream, void *buf, size_t size, SRes errorType);
|
|
147
|
+
SRes SeqInStream_ReadByte(ISeqInStream *stream, Byte *buf);
|
|
148
|
+
|
|
149
|
+
typedef struct
|
|
150
|
+
{
|
|
151
|
+
size_t (*Write)(void *p, const void *buf, size_t size);
|
|
152
|
+
/* Returns: result - the number of actually written bytes.
|
|
153
|
+
(result < size) means error */
|
|
154
|
+
} ISeqOutStream;
|
|
155
|
+
|
|
156
|
+
typedef enum
|
|
157
|
+
{
|
|
158
|
+
SZ_SEEK_SET = 0,
|
|
159
|
+
SZ_SEEK_CUR = 1,
|
|
160
|
+
SZ_SEEK_END = 2
|
|
161
|
+
} ESzSeek;
|
|
162
|
+
|
|
163
|
+
typedef struct
|
|
164
|
+
{
|
|
165
|
+
SRes (*Read)(void *p, void *buf, size_t *size); /* same as ISeqInStream::Read */
|
|
166
|
+
SRes (*Seek)(void *p, Int64 *pos, ESzSeek origin);
|
|
167
|
+
} ISeekInStream;
|
|
168
|
+
|
|
169
|
+
typedef struct
|
|
170
|
+
{
|
|
171
|
+
SRes (*Look)(void *p, const void **buf, size_t *size);
|
|
172
|
+
/* if (input(*size) != 0 && output(*size) == 0) means end_of_stream.
|
|
173
|
+
(output(*size) > input(*size)) is not allowed
|
|
174
|
+
(output(*size) < input(*size)) is allowed */
|
|
175
|
+
SRes (*Skip)(void *p, size_t offset);
|
|
176
|
+
/* offset must be <= output(*size) of Look */
|
|
177
|
+
|
|
178
|
+
SRes (*Read)(void *p, void *buf, size_t *size);
|
|
179
|
+
/* reads directly (without buffer). It's same as ISeqInStream::Read */
|
|
180
|
+
SRes (*Seek)(void *p, Int64 *pos, ESzSeek origin);
|
|
181
|
+
} ILookInStream;
|
|
182
|
+
|
|
183
|
+
SRes LookInStream_LookRead(ILookInStream *stream, void *buf, size_t *size);
|
|
184
|
+
SRes LookInStream_SeekTo(ILookInStream *stream, UInt64 offset);
|
|
185
|
+
|
|
186
|
+
/* reads via ILookInStream::Read */
|
|
187
|
+
SRes LookInStream_Read2(ILookInStream *stream, void *buf, size_t size, SRes errorType);
|
|
188
|
+
SRes LookInStream_Read(ILookInStream *stream, void *buf, size_t size);
|
|
189
|
+
|
|
190
|
+
#define LookToRead_BUF_SIZE (1 << 14)
|
|
191
|
+
|
|
192
|
+
typedef struct
|
|
193
|
+
{
|
|
194
|
+
ILookInStream s;
|
|
195
|
+
ISeekInStream *realStream;
|
|
196
|
+
size_t pos;
|
|
197
|
+
size_t size;
|
|
198
|
+
Byte buf[LookToRead_BUF_SIZE];
|
|
199
|
+
} CLookToRead;
|
|
200
|
+
|
|
201
|
+
void LookToRead_CreateVTable(CLookToRead *p, int lookahead);
|
|
202
|
+
void LookToRead_Init(CLookToRead *p);
|
|
203
|
+
|
|
204
|
+
typedef struct
|
|
205
|
+
{
|
|
206
|
+
ISeqInStream s;
|
|
207
|
+
ILookInStream *realStream;
|
|
208
|
+
} CSecToLook;
|
|
209
|
+
|
|
210
|
+
void SecToLook_CreateVTable(CSecToLook *p);
|
|
211
|
+
|
|
212
|
+
typedef struct
|
|
213
|
+
{
|
|
214
|
+
ISeqInStream s;
|
|
215
|
+
ILookInStream *realStream;
|
|
216
|
+
} CSecToRead;
|
|
217
|
+
|
|
218
|
+
void SecToRead_CreateVTable(CSecToRead *p);
|
|
219
|
+
|
|
220
|
+
typedef struct
|
|
221
|
+
{
|
|
222
|
+
SRes (*Progress)(void *p, UInt64 inSize, UInt64 outSize);
|
|
223
|
+
/* Returns: result. (result != SZ_OK) means break.
|
|
224
|
+
Value (UInt64)(Int64)-1 for size means unknown value. */
|
|
225
|
+
} ICompressProgress;
|
|
226
|
+
|
|
227
|
+
typedef struct
|
|
228
|
+
{
|
|
229
|
+
void *(*Alloc)(void *p, size_t size);
|
|
230
|
+
void (*Free)(void *p, void *address); /* address can be 0 */
|
|
231
|
+
} ISzAlloc;
|
|
232
|
+
|
|
233
|
+
#define IAlloc_Alloc(p, size) (p)->Alloc((p), size)
|
|
234
|
+
#define IAlloc_Free(p, a) (p)->Free((p), a)
|
|
235
|
+
|
|
236
|
+
#ifdef _WIN32
|
|
237
|
+
|
|
238
|
+
#define CHAR_PATH_SEPARATOR '\\'
|
|
239
|
+
#define WCHAR_PATH_SEPARATOR L'\\'
|
|
240
|
+
#define STRING_PATH_SEPARATOR "\\"
|
|
241
|
+
#define WSTRING_PATH_SEPARATOR L"\\"
|
|
242
|
+
|
|
243
|
+
#else
|
|
244
|
+
|
|
245
|
+
#define CHAR_PATH_SEPARATOR '/'
|
|
246
|
+
#define WCHAR_PATH_SEPARATOR L'/'
|
|
247
|
+
#define STRING_PATH_SEPARATOR "/"
|
|
248
|
+
#define WSTRING_PATH_SEPARATOR L"/"
|
|
249
|
+
|
|
250
|
+
#endif
|
|
251
|
+
|
|
252
|
+
EXTERN_C_END
|
|
253
|
+
|
|
254
|
+
#endif
|
data/ext/p7zip/C/Xz.c
ADDED
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/* Xz.c - Xz
|
|
2
|
+
2009-04-15 : Igor Pavlov : Public domain */
|
|
3
|
+
|
|
4
|
+
#include "7zCrc.h"
|
|
5
|
+
#include "CpuArch.h"
|
|
6
|
+
#include "Xz.h"
|
|
7
|
+
#include "XzCrc64.h"
|
|
8
|
+
|
|
9
|
+
Byte XZ_SIG[XZ_SIG_SIZE] = { 0xFD, '7', 'z', 'X', 'Z', 0 };
|
|
10
|
+
Byte XZ_FOOTER_SIG[XZ_FOOTER_SIG_SIZE] = { 'Y', 'Z' };
|
|
11
|
+
|
|
12
|
+
unsigned Xz_WriteVarInt(Byte *buf, UInt64 v)
|
|
13
|
+
{
|
|
14
|
+
unsigned i = 0;
|
|
15
|
+
do
|
|
16
|
+
{
|
|
17
|
+
buf[i++] = (Byte)((v & 0x7F) | 0x80);
|
|
18
|
+
v >>= 7;
|
|
19
|
+
}
|
|
20
|
+
while (v != 0);
|
|
21
|
+
buf[i - 1] &= 0x7F;
|
|
22
|
+
return i;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
void Xz_Construct(CXzStream *p)
|
|
26
|
+
{
|
|
27
|
+
p->numBlocks = p->numBlocksAllocated = 0;
|
|
28
|
+
p->blocks = 0;
|
|
29
|
+
p->flags = 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
void Xz_Free(CXzStream *p, ISzAlloc *alloc)
|
|
33
|
+
{
|
|
34
|
+
alloc->Free(alloc, p->blocks);
|
|
35
|
+
p->numBlocks = p->numBlocksAllocated = 0;
|
|
36
|
+
p->blocks = 0;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
unsigned XzFlags_GetCheckSize(CXzStreamFlags f)
|
|
40
|
+
{
|
|
41
|
+
int t = XzFlags_GetCheckType(f);
|
|
42
|
+
return (t == 0) ? 0 : (4 << ((t - 1) / 3));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
void XzCheck_Init(CXzCheck *p, int mode)
|
|
46
|
+
{
|
|
47
|
+
p->mode = mode;
|
|
48
|
+
switch (mode)
|
|
49
|
+
{
|
|
50
|
+
case XZ_CHECK_CRC32: p->crc = CRC_INIT_VAL; break;
|
|
51
|
+
case XZ_CHECK_CRC64: p->crc64 = CRC64_INIT_VAL; break;
|
|
52
|
+
case XZ_CHECK_SHA256: Sha256_Init(&p->sha); break;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
void XzCheck_Update(CXzCheck *p, const void *data, size_t size)
|
|
57
|
+
{
|
|
58
|
+
switch (p->mode)
|
|
59
|
+
{
|
|
60
|
+
case XZ_CHECK_CRC32: p->crc = CrcUpdate(p->crc, data, size); break;
|
|
61
|
+
case XZ_CHECK_CRC64: p->crc64 = Crc64Update(p->crc64, data, size); break;
|
|
62
|
+
case XZ_CHECK_SHA256: Sha256_Update(&p->sha, (const Byte *)data, size); break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
int XzCheck_Final(CXzCheck *p, Byte *digest)
|
|
67
|
+
{
|
|
68
|
+
switch (p->mode)
|
|
69
|
+
{
|
|
70
|
+
case XZ_CHECK_CRC32:
|
|
71
|
+
SetUi32(digest, CRC_GET_DIGEST(p->crc));
|
|
72
|
+
break;
|
|
73
|
+
case XZ_CHECK_CRC64:
|
|
74
|
+
{
|
|
75
|
+
int i;
|
|
76
|
+
UInt64 v = CRC64_GET_DIGEST(p->crc64);
|
|
77
|
+
for (i = 0; i < 8; i++, v >>= 8)
|
|
78
|
+
digest[i] = (Byte)(v & 0xFF);
|
|
79
|
+
break;
|
|
80
|
+
}
|
|
81
|
+
case XZ_CHECK_SHA256:
|
|
82
|
+
Sha256_Final(&p->sha, digest);
|
|
83
|
+
break;
|
|
84
|
+
default:
|
|
85
|
+
return 0;
|
|
86
|
+
}
|
|
87
|
+
return 1;
|
|
88
|
+
}
|
data/ext/p7zip/C/Xz.h
ADDED
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
/* Xz.h - Xz interface
|
|
2
|
+
2010-09-17 : Igor Pavlov : Public domain */
|
|
3
|
+
|
|
4
|
+
#ifndef __XZ_H
|
|
5
|
+
#define __XZ_H
|
|
6
|
+
|
|
7
|
+
#include "Sha256.h"
|
|
8
|
+
|
|
9
|
+
EXTERN_C_BEGIN
|
|
10
|
+
|
|
11
|
+
#define XZ_ID_Subblock 1
|
|
12
|
+
#define XZ_ID_Delta 3
|
|
13
|
+
#define XZ_ID_X86 4
|
|
14
|
+
#define XZ_ID_PPC 5
|
|
15
|
+
#define XZ_ID_IA64 6
|
|
16
|
+
#define XZ_ID_ARM 7
|
|
17
|
+
#define XZ_ID_ARMT 8
|
|
18
|
+
#define XZ_ID_SPARC 9
|
|
19
|
+
#define XZ_ID_LZMA2 0x21
|
|
20
|
+
|
|
21
|
+
unsigned Xz_ReadVarInt(const Byte *p, size_t maxSize, UInt64 *value);
|
|
22
|
+
unsigned Xz_WriteVarInt(Byte *buf, UInt64 v);
|
|
23
|
+
|
|
24
|
+
/* ---------- xz block ---------- */
|
|
25
|
+
|
|
26
|
+
#define XZ_BLOCK_HEADER_SIZE_MAX 1024
|
|
27
|
+
|
|
28
|
+
#define XZ_NUM_FILTERS_MAX 4
|
|
29
|
+
#define XZ_BF_NUM_FILTERS_MASK 3
|
|
30
|
+
#define XZ_BF_PACK_SIZE (1 << 6)
|
|
31
|
+
#define XZ_BF_UNPACK_SIZE (1 << 7)
|
|
32
|
+
|
|
33
|
+
#define XZ_FILTER_PROPS_SIZE_MAX 20
|
|
34
|
+
|
|
35
|
+
typedef struct
|
|
36
|
+
{
|
|
37
|
+
UInt64 id;
|
|
38
|
+
UInt32 propsSize;
|
|
39
|
+
Byte props[XZ_FILTER_PROPS_SIZE_MAX];
|
|
40
|
+
} CXzFilter;
|
|
41
|
+
|
|
42
|
+
typedef struct
|
|
43
|
+
{
|
|
44
|
+
UInt64 packSize;
|
|
45
|
+
UInt64 unpackSize;
|
|
46
|
+
Byte flags;
|
|
47
|
+
CXzFilter filters[XZ_NUM_FILTERS_MAX];
|
|
48
|
+
} CXzBlock;
|
|
49
|
+
|
|
50
|
+
#define XzBlock_GetNumFilters(p) (((p)->flags & XZ_BF_NUM_FILTERS_MASK) + 1)
|
|
51
|
+
#define XzBlock_HasPackSize(p) (((p)->flags & XZ_BF_PACK_SIZE) != 0)
|
|
52
|
+
#define XzBlock_HasUnpackSize(p) (((p)->flags & XZ_BF_UNPACK_SIZE) != 0)
|
|
53
|
+
|
|
54
|
+
SRes XzBlock_Parse(CXzBlock *p, const Byte *header);
|
|
55
|
+
SRes XzBlock_ReadHeader(CXzBlock *p, ISeqInStream *inStream, Bool *isIndex, UInt32 *headerSizeRes);
|
|
56
|
+
|
|
57
|
+
/* ---------- xz stream ---------- */
|
|
58
|
+
|
|
59
|
+
#define XZ_SIG_SIZE 6
|
|
60
|
+
#define XZ_FOOTER_SIG_SIZE 2
|
|
61
|
+
|
|
62
|
+
extern Byte XZ_SIG[XZ_SIG_SIZE];
|
|
63
|
+
extern Byte XZ_FOOTER_SIG[XZ_FOOTER_SIG_SIZE];
|
|
64
|
+
|
|
65
|
+
#define XZ_STREAM_FLAGS_SIZE 2
|
|
66
|
+
#define XZ_STREAM_CRC_SIZE 4
|
|
67
|
+
|
|
68
|
+
#define XZ_STREAM_HEADER_SIZE (XZ_SIG_SIZE + XZ_STREAM_FLAGS_SIZE + XZ_STREAM_CRC_SIZE)
|
|
69
|
+
#define XZ_STREAM_FOOTER_SIZE (XZ_FOOTER_SIG_SIZE + XZ_STREAM_FLAGS_SIZE + XZ_STREAM_CRC_SIZE + 4)
|
|
70
|
+
|
|
71
|
+
#define XZ_CHECK_MASK 0xF
|
|
72
|
+
#define XZ_CHECK_NO 0
|
|
73
|
+
#define XZ_CHECK_CRC32 1
|
|
74
|
+
#define XZ_CHECK_CRC64 4
|
|
75
|
+
#define XZ_CHECK_SHA256 10
|
|
76
|
+
|
|
77
|
+
typedef struct
|
|
78
|
+
{
|
|
79
|
+
int mode;
|
|
80
|
+
UInt32 crc;
|
|
81
|
+
UInt64 crc64;
|
|
82
|
+
CSha256 sha;
|
|
83
|
+
} CXzCheck;
|
|
84
|
+
|
|
85
|
+
void XzCheck_Init(CXzCheck *p, int mode);
|
|
86
|
+
void XzCheck_Update(CXzCheck *p, const void *data, size_t size);
|
|
87
|
+
int XzCheck_Final(CXzCheck *p, Byte *digest);
|
|
88
|
+
|
|
89
|
+
typedef UInt16 CXzStreamFlags;
|
|
90
|
+
|
|
91
|
+
#define XzFlags_IsSupported(f) ((f) <= XZ_CHECK_MASK)
|
|
92
|
+
#define XzFlags_GetCheckType(f) ((f) & XZ_CHECK_MASK)
|
|
93
|
+
#define XzFlags_HasDataCrc32(f) (Xz_GetCheckType(f) == XZ_CHECK_CRC32)
|
|
94
|
+
unsigned XzFlags_GetCheckSize(CXzStreamFlags f);
|
|
95
|
+
|
|
96
|
+
SRes Xz_ParseHeader(CXzStreamFlags *p, const Byte *buf);
|
|
97
|
+
SRes Xz_ReadHeader(CXzStreamFlags *p, ISeqInStream *inStream);
|
|
98
|
+
|
|
99
|
+
typedef struct
|
|
100
|
+
{
|
|
101
|
+
UInt64 unpackSize;
|
|
102
|
+
UInt64 totalSize;
|
|
103
|
+
} CXzBlockSizes;
|
|
104
|
+
|
|
105
|
+
typedef struct
|
|
106
|
+
{
|
|
107
|
+
CXzStreamFlags flags;
|
|
108
|
+
size_t numBlocks;
|
|
109
|
+
size_t numBlocksAllocated;
|
|
110
|
+
CXzBlockSizes *blocks;
|
|
111
|
+
UInt64 startOffset;
|
|
112
|
+
} CXzStream;
|
|
113
|
+
|
|
114
|
+
void Xz_Construct(CXzStream *p);
|
|
115
|
+
void Xz_Free(CXzStream *p, ISzAlloc *alloc);
|
|
116
|
+
|
|
117
|
+
#define XZ_SIZE_OVERFLOW ((UInt64)(Int64)-1)
|
|
118
|
+
|
|
119
|
+
UInt64 Xz_GetUnpackSize(const CXzStream *p);
|
|
120
|
+
UInt64 Xz_GetPackSize(const CXzStream *p);
|
|
121
|
+
|
|
122
|
+
typedef struct
|
|
123
|
+
{
|
|
124
|
+
size_t num;
|
|
125
|
+
size_t numAllocated;
|
|
126
|
+
CXzStream *streams;
|
|
127
|
+
} CXzs;
|
|
128
|
+
|
|
129
|
+
void Xzs_Construct(CXzs *p);
|
|
130
|
+
void Xzs_Free(CXzs *p, ISzAlloc *alloc);
|
|
131
|
+
SRes Xzs_ReadBackward(CXzs *p, ILookInStream *inStream, Int64 *startOffset, ICompressProgress *progress, ISzAlloc *alloc);
|
|
132
|
+
|
|
133
|
+
UInt64 Xzs_GetNumBlocks(const CXzs *p);
|
|
134
|
+
UInt64 Xzs_GetUnpackSize(const CXzs *p);
|
|
135
|
+
|
|
136
|
+
typedef enum
|
|
137
|
+
{
|
|
138
|
+
CODER_STATUS_NOT_SPECIFIED, /* use main error code instead */
|
|
139
|
+
CODER_STATUS_FINISHED_WITH_MARK, /* stream was finished with end mark. */
|
|
140
|
+
CODER_STATUS_NOT_FINISHED, /* stream was not finished */
|
|
141
|
+
CODER_STATUS_NEEDS_MORE_INPUT /* you must provide more input bytes */
|
|
142
|
+
} ECoderStatus;
|
|
143
|
+
|
|
144
|
+
typedef enum
|
|
145
|
+
{
|
|
146
|
+
CODER_FINISH_ANY, /* finish at any point */
|
|
147
|
+
CODER_FINISH_END /* block must be finished at the end */
|
|
148
|
+
} ECoderFinishMode;
|
|
149
|
+
|
|
150
|
+
typedef struct _IStateCoder
|
|
151
|
+
{
|
|
152
|
+
void *p;
|
|
153
|
+
void (*Free)(void *p, ISzAlloc *alloc);
|
|
154
|
+
SRes (*SetProps)(void *p, const Byte *props, size_t propSize, ISzAlloc *alloc);
|
|
155
|
+
void (*Init)(void *p);
|
|
156
|
+
SRes (*Code)(void *p, Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen,
|
|
157
|
+
int srcWasFinished, ECoderFinishMode finishMode, int *wasFinished);
|
|
158
|
+
} IStateCoder;
|
|
159
|
+
|
|
160
|
+
#define MIXCODER_NUM_FILTERS_MAX 4
|
|
161
|
+
|
|
162
|
+
typedef struct
|
|
163
|
+
{
|
|
164
|
+
ISzAlloc *alloc;
|
|
165
|
+
Byte *buf;
|
|
166
|
+
int numCoders;
|
|
167
|
+
int finished[MIXCODER_NUM_FILTERS_MAX - 1];
|
|
168
|
+
size_t pos[MIXCODER_NUM_FILTERS_MAX - 1];
|
|
169
|
+
size_t size[MIXCODER_NUM_FILTERS_MAX - 1];
|
|
170
|
+
UInt64 ids[MIXCODER_NUM_FILTERS_MAX];
|
|
171
|
+
IStateCoder coders[MIXCODER_NUM_FILTERS_MAX];
|
|
172
|
+
} CMixCoder;
|
|
173
|
+
|
|
174
|
+
void MixCoder_Construct(CMixCoder *p, ISzAlloc *alloc);
|
|
175
|
+
void MixCoder_Free(CMixCoder *p);
|
|
176
|
+
void MixCoder_Init(CMixCoder *p);
|
|
177
|
+
SRes MixCoder_SetFromMethod(CMixCoder *p, int coderIndex, UInt64 methodId);
|
|
178
|
+
SRes MixCoder_Code(CMixCoder *p, Byte *dest, SizeT *destLen,
|
|
179
|
+
const Byte *src, SizeT *srcLen, int srcWasFinished,
|
|
180
|
+
ECoderFinishMode finishMode, ECoderStatus *status);
|
|
181
|
+
|
|
182
|
+
typedef enum
|
|
183
|
+
{
|
|
184
|
+
XZ_STATE_STREAM_HEADER,
|
|
185
|
+
XZ_STATE_STREAM_INDEX,
|
|
186
|
+
XZ_STATE_STREAM_INDEX_CRC,
|
|
187
|
+
XZ_STATE_STREAM_FOOTER,
|
|
188
|
+
XZ_STATE_STREAM_PADDING,
|
|
189
|
+
XZ_STATE_BLOCK_HEADER,
|
|
190
|
+
XZ_STATE_BLOCK,
|
|
191
|
+
XZ_STATE_BLOCK_FOOTER
|
|
192
|
+
} EXzState;
|
|
193
|
+
|
|
194
|
+
typedef struct
|
|
195
|
+
{
|
|
196
|
+
EXzState state;
|
|
197
|
+
UInt32 pos;
|
|
198
|
+
unsigned alignPos;
|
|
199
|
+
unsigned indexPreSize;
|
|
200
|
+
|
|
201
|
+
CXzStreamFlags streamFlags;
|
|
202
|
+
|
|
203
|
+
UInt32 blockHeaderSize;
|
|
204
|
+
UInt64 packSize;
|
|
205
|
+
UInt64 unpackSize;
|
|
206
|
+
|
|
207
|
+
UInt64 numBlocks;
|
|
208
|
+
UInt64 indexSize;
|
|
209
|
+
UInt64 indexPos;
|
|
210
|
+
UInt64 padSize;
|
|
211
|
+
|
|
212
|
+
UInt64 numStreams;
|
|
213
|
+
|
|
214
|
+
UInt32 crc;
|
|
215
|
+
CMixCoder decoder;
|
|
216
|
+
CXzBlock block;
|
|
217
|
+
CXzCheck check;
|
|
218
|
+
CSha256 sha;
|
|
219
|
+
Byte shaDigest[SHA256_DIGEST_SIZE];
|
|
220
|
+
Byte buf[XZ_BLOCK_HEADER_SIZE_MAX];
|
|
221
|
+
} CXzUnpacker;
|
|
222
|
+
|
|
223
|
+
SRes XzUnpacker_Create(CXzUnpacker *p, ISzAlloc *alloc);
|
|
224
|
+
void XzUnpacker_Free(CXzUnpacker *p);
|
|
225
|
+
|
|
226
|
+
/*
|
|
227
|
+
finishMode:
|
|
228
|
+
It has meaning only if the decoding reaches output limit (*destLen).
|
|
229
|
+
LZMA_FINISH_ANY - use smallest number of input bytes
|
|
230
|
+
LZMA_FINISH_END - read EndOfStream marker after decoding
|
|
231
|
+
|
|
232
|
+
Returns:
|
|
233
|
+
SZ_OK
|
|
234
|
+
status:
|
|
235
|
+
LZMA_STATUS_FINISHED_WITH_MARK
|
|
236
|
+
LZMA_STATUS_NOT_FINISHED
|
|
237
|
+
SZ_ERROR_DATA - Data error
|
|
238
|
+
SZ_ERROR_MEM - Memory allocation error
|
|
239
|
+
SZ_ERROR_UNSUPPORTED - Unsupported properties
|
|
240
|
+
SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src).
|
|
241
|
+
*/
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
SRes XzUnpacker_Code(CXzUnpacker *p, Byte *dest, SizeT *destLen,
|
|
245
|
+
const Byte *src, SizeT *srcLen, /* int srcWasFinished, */ int finishMode,
|
|
246
|
+
ECoderStatus *status);
|
|
247
|
+
|
|
248
|
+
Bool XzUnpacker_IsStreamWasFinished(CXzUnpacker *p);
|
|
249
|
+
|
|
250
|
+
EXTERN_C_END
|
|
251
|
+
|
|
252
|
+
#endif
|