├── .github └── workflows │ └── ci.yaml ├── .gitignore ├── .gitmodules ├── Asm ├── arm │ └── 7zCrcOpt.asm ├── arm64 │ ├── 7zAsm.S │ └── LzmaDecOpt.S └── x86 │ ├── 7zAsm.asm │ ├── 7zCrcOpt.asm │ ├── AesOpt.asm │ ├── LzFindOpt.asm │ ├── LzmaDecOpt.asm │ ├── Sha1Opt.asm │ ├── Sha256Opt.asm │ └── XzCrc64Opt.asm ├── C ├── 7z.h ├── 7zAlloc.c ├── 7zAlloc.h ├── 7zArcIn.c ├── 7zBuf.c ├── 7zBuf.h ├── 7zBuf2.c ├── 7zCrc.c ├── 7zCrc.h ├── 7zCrcOpt.c ├── 7zDec.c ├── 7zFile.c ├── 7zFile.h ├── 7zStream.c ├── 7zTypes.h ├── 7zVersion.h ├── 7zVersion.rc ├── 7zWindows.h ├── 7zip_gcc_c.mak ├── Aes.c ├── Aes.h ├── AesOpt.c ├── Alloc.c ├── Alloc.h ├── Asm_c.mak ├── Bcj2.c ├── Bcj2.h ├── Bcj2Enc.c ├── Blake2.h ├── Blake2s.c ├── Bra.c ├── Bra.h ├── Bra86.c ├── BraIA64.c ├── BwtSort.c ├── BwtSort.h ├── Compiler.h ├── CpuArch.c ├── CpuArch.h ├── Delta.c ├── Delta.h ├── DllSecur.c ├── DllSecur.h ├── HuffEnc.c ├── HuffEnc.h ├── LzFind.c ├── LzFind.h ├── LzFindMt.c ├── LzFindMt.h ├── LzFindOpt.c ├── LzHash.h ├── Lzma2Dec.c ├── Lzma2Dec.h ├── Lzma2DecMt.c ├── Lzma2DecMt.h ├── Lzma2Enc.c ├── Lzma2Enc.h ├── Lzma86.h ├── Lzma86Dec.c ├── Lzma86Enc.c ├── LzmaDec.c ├── LzmaDec.h ├── LzmaEnc.c ├── LzmaEnc.h ├── LzmaLib.c ├── LzmaLib.h ├── Md5.c ├── Md5.h ├── MtCoder.c ├── MtCoder.h ├── MtDec.c ├── MtDec.h ├── Ppmd.h ├── Ppmd7.c ├── Ppmd7.h ├── Ppmd7Dec.c ├── Ppmd7Enc.c ├── Ppmd7aDec.c ├── Ppmd8.c ├── Ppmd8.h ├── Ppmd8Dec.c ├── Ppmd8Enc.c ├── Precomp.h ├── RotateDefs.h ├── Sha1.c ├── Sha1.h ├── Sha1Opt.c ├── Sha256.c ├── Sha256.h ├── Sha256Opt.c ├── Sha3.c ├── Sha3.h ├── Sha512.c ├── Sha512.h ├── Sha512Opt.c ├── Sort.c ├── Sort.h ├── SwapBytes.c ├── SwapBytes.h ├── Threads.c ├── Threads.h ├── Util │ ├── 7z │ │ ├── 7z.dsp │ │ ├── 7z.dsw │ │ ├── 7zMain.c │ │ ├── Precomp.c │ │ ├── Precomp.h │ │ ├── makefile │ │ └── makefile.gcc │ ├── 7zipInstall │ │ ├── 7zip.ico │ │ ├── 7zipInstall.c │ │ ├── 7zipInstall.dsp │ │ ├── 7zipInstall.dsw │ │ ├── 7zipInstall.manifest │ │ ├── Precomp.c │ │ ├── Precomp.h │ │ ├── makefile │ │ ├── resource.h │ │ └── resource.rc │ ├── 7zipUninstall │ │ ├── 7zipUninstall.c │ │ ├── 7zipUninstall.dsp │ │ ├── 7zipUninstall.dsw │ │ ├── 7zipUninstall.ico │ │ ├── 7zipUninstall.manifest │ │ ├── Precomp.c │ │ ├── Precomp.h │ │ ├── makefile │ │ ├── resource.h │ │ └── resource.rc │ ├── Lzma │ │ ├── LzmaUtil.c │ │ ├── LzmaUtil.dsp │ │ ├── LzmaUtil.dsw │ │ ├── Precomp.h │ │ ├── makefile │ │ └── makefile.gcc │ ├── LzmaLib │ │ ├── LzmaLib.def │ │ ├── LzmaLib.dsp │ │ ├── LzmaLib.dsw │ │ ├── LzmaLibExports.c │ │ ├── Precomp.c │ │ ├── Precomp.h │ │ ├── makefile │ │ └── resource.rc │ └── SfxSetup │ │ ├── Precomp.c │ │ ├── Precomp.h │ │ ├── SfxSetup.c │ │ ├── SfxSetup.dsp │ │ ├── SfxSetup.dsw │ │ ├── makefile │ │ ├── makefile_con │ │ ├── resource.rc │ │ └── setup.ico ├── Xxh64.c ├── Xxh64.h ├── Xz.c ├── Xz.h ├── XzCrc64.c ├── XzCrc64.h ├── XzCrc64Opt.c ├── XzDec.c ├── XzEnc.c ├── XzEnc.h ├── XzIn.c ├── ZstdDec.c ├── ZstdDec.h ├── var_clang.mak ├── var_clang_arm64.mak ├── var_clang_x64.mak ├── var_clang_x86.mak ├── var_gcc.mak ├── var_gcc_arm64.mak ├── var_gcc_x64.mak ├── var_gcc_x86.mak ├── var_mac_arm64.mak ├── var_mac_x64.mak ├── warn_clang.mak ├── warn_clang_mac.mak └── warn_gcc.mak ├── CPP ├── 7zip │ ├── 7zip.mak │ ├── 7zip_gcc.mak │ ├── 7zip_gcc_additional.mak │ ├── Aes.mak │ ├── Archive │ │ ├── 7z │ │ │ ├── 7z.dsp │ │ │ ├── 7z.dsw │ │ │ ├── 7zCompressionMode.cpp │ │ │ ├── 7zCompressionMode.h │ │ │ ├── 7zDecode.cpp │ │ │ ├── 7zDecode.h │ │ │ ├── 7zEncode.cpp │ │ │ ├── 7zEncode.h │ │ │ ├── 7zExtract.cpp │ │ │ ├── 7zFolderInStream.cpp │ │ │ ├── 7zFolderInStream.h │ │ │ ├── 7zHandler.cpp │ │ │ ├── 7zHandler.h │ │ │ ├── 7zHandlerOut.cpp │ │ │ ├── 7zHeader.cpp │ │ │ ├── 7zHeader.h │ │ │ ├── 7zIn.cpp │ │ │ ├── 7zIn.h │ │ │ ├── 7zItem.h │ │ │ ├── 7zOut.cpp │ │ │ ├── 7zOut.h │ │ │ ├── 7zProperties.cpp │ │ │ ├── 7zProperties.h │ │ │ ├── 7zRegister.cpp │ │ │ ├── 7zSpecStream.cpp │ │ │ ├── 7zSpecStream.h │ │ │ ├── 7zUpdate.cpp │ │ │ ├── 7zUpdate.h │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── ApfsHandler.cpp │ │ ├── ApmHandler.cpp │ │ ├── ArHandler.cpp │ │ ├── Archive.def │ │ ├── Archive2.def │ │ ├── ArchiveExports.cpp │ │ ├── ArjHandler.cpp │ │ ├── AvbHandler.cpp │ │ ├── Base64Handler.cpp │ │ ├── Bz2Handler.cpp │ │ ├── Cab │ │ │ ├── CabBlockInStream.cpp │ │ │ ├── CabBlockInStream.h │ │ │ ├── CabHandler.cpp │ │ │ ├── CabHandler.h │ │ │ ├── CabHeader.cpp │ │ │ ├── CabHeader.h │ │ │ ├── CabIn.cpp │ │ │ ├── CabIn.h │ │ │ ├── CabItem.h │ │ │ ├── CabRegister.cpp │ │ │ └── StdAfx.h │ │ ├── Chm │ │ │ ├── ChmHandler.cpp │ │ │ ├── ChmHandler.h │ │ │ ├── ChmIn.cpp │ │ │ ├── ChmIn.h │ │ │ └── StdAfx.h │ │ ├── ComHandler.cpp │ │ ├── Common │ │ │ ├── CoderMixer2.cpp │ │ │ ├── CoderMixer2.h │ │ │ ├── DummyOutStream.cpp │ │ │ ├── DummyOutStream.h │ │ │ ├── FindSignature.cpp │ │ │ ├── FindSignature.h │ │ │ ├── HandlerOut.cpp │ │ │ ├── HandlerOut.h │ │ │ ├── InStreamWithCRC.cpp │ │ │ ├── InStreamWithCRC.h │ │ │ ├── ItemNameUtils.cpp │ │ │ ├── ItemNameUtils.h │ │ │ ├── MultiStream.cpp │ │ │ ├── MultiStream.h │ │ │ ├── OutStreamWithCRC.cpp │ │ │ ├── OutStreamWithCRC.h │ │ │ ├── OutStreamWithSha1.cpp │ │ │ ├── OutStreamWithSha1.h │ │ │ ├── ParseProperties.cpp │ │ │ ├── ParseProperties.h │ │ │ └── StdAfx.h │ │ ├── CpioHandler.cpp │ │ ├── CramfsHandler.cpp │ │ ├── DeflateProps.cpp │ │ ├── DeflateProps.h │ │ ├── DllExports.cpp │ │ ├── DllExports2.cpp │ │ ├── DmgHandler.cpp │ │ ├── ElfHandler.cpp │ │ ├── ExtHandler.cpp │ │ ├── FatHandler.cpp │ │ ├── FlvHandler.cpp │ │ ├── GptHandler.cpp │ │ ├── GzHandler.cpp │ │ ├── HandlerCont.cpp │ │ ├── HandlerCont.h │ │ ├── HfsHandler.cpp │ │ ├── HfsHandler.h │ │ ├── IArchive.h │ │ ├── Icons │ │ │ ├── 7z.ico │ │ │ ├── apfs.ico │ │ │ ├── arj.ico │ │ │ ├── bz2.ico │ │ │ ├── cab.ico │ │ │ ├── cpio.ico │ │ │ ├── deb.ico │ │ │ ├── dmg.ico │ │ │ ├── fat.ico │ │ │ ├── gz.ico │ │ │ ├── hfs.ico │ │ │ ├── iso.ico │ │ │ ├── lzh.ico │ │ │ ├── lzma.ico │ │ │ ├── ntfs.ico │ │ │ ├── rar.ico │ │ │ ├── rpm.ico │ │ │ ├── split.ico │ │ │ ├── squashfs.ico │ │ │ ├── tar.ico │ │ │ ├── vhd.ico │ │ │ ├── wim.ico │ │ │ ├── xar.ico │ │ │ ├── xz.ico │ │ │ ├── z.ico │ │ │ ├── zip.ico │ │ │ └── zst.ico │ │ ├── IhexHandler.cpp │ │ ├── Iso │ │ │ ├── IsoHandler.cpp │ │ │ ├── IsoHandler.h │ │ │ ├── IsoHeader.cpp │ │ │ ├── IsoHeader.h │ │ │ ├── IsoIn.cpp │ │ │ ├── IsoIn.h │ │ │ ├── IsoItem.h │ │ │ ├── IsoRegister.cpp │ │ │ └── StdAfx.h │ │ ├── LizardHandler.cpp │ │ ├── LpHandler.cpp │ │ ├── LvmHandler.cpp │ │ ├── Lz4Handler.cpp │ │ ├── Lz5Handler.cpp │ │ ├── LzHandler.cpp │ │ ├── LzhHandler.cpp │ │ ├── LzmaHandler.cpp │ │ ├── MachoHandler.cpp │ │ ├── MbrHandler.cpp │ │ ├── MslzHandler.cpp │ │ ├── MubHandler.cpp │ │ ├── Nsis │ │ │ ├── NsisDecode.cpp │ │ │ ├── NsisDecode.h │ │ │ ├── NsisHandler.cpp │ │ │ ├── NsisHandler.h │ │ │ ├── NsisIn.cpp │ │ │ ├── NsisIn.h │ │ │ ├── NsisRegister.cpp │ │ │ └── StdAfx.h │ │ ├── NtfsHandler.cpp │ │ ├── PeHandler.cpp │ │ ├── PpmdHandler.cpp │ │ ├── QcowHandler.cpp │ │ ├── Rar │ │ │ ├── Rar5Handler.cpp │ │ │ ├── Rar5Handler.h │ │ │ ├── RarHandler.cpp │ │ │ ├── RarHandler.h │ │ │ ├── RarHeader.h │ │ │ ├── RarItem.h │ │ │ ├── RarVol.h │ │ │ ├── StdAfx.cpp │ │ │ └── StdAfx.h │ │ ├── RpmHandler.cpp │ │ ├── SparseHandler.cpp │ │ ├── SplitHandler.cpp │ │ ├── SquashfsHandler.cpp │ │ ├── StdAfx.h │ │ ├── SwfHandler.cpp │ │ ├── Tar │ │ │ ├── StdAfx.h │ │ │ ├── TarHandler.cpp │ │ │ ├── TarHandler.h │ │ │ ├── TarHandlerOut.cpp │ │ │ ├── TarHeader.cpp │ │ │ ├── TarHeader.h │ │ │ ├── TarIn.cpp │ │ │ ├── TarIn.h │ │ │ ├── TarItem.h │ │ │ ├── TarOut.cpp │ │ │ ├── TarOut.h │ │ │ ├── TarRegister.cpp │ │ │ ├── TarUpdate.cpp │ │ │ └── TarUpdate.h │ │ ├── Udf │ │ │ ├── StdAfx.h │ │ │ ├── UdfHandler.cpp │ │ │ ├── UdfHandler.h │ │ │ ├── UdfIn.cpp │ │ │ └── UdfIn.h │ │ ├── UefiHandler.cpp │ │ ├── VdiHandler.cpp │ │ ├── VhdHandler.cpp │ │ ├── VhdxHandler.cpp │ │ ├── VmdkHandler.cpp │ │ ├── Wim │ │ │ ├── StdAfx.h │ │ │ ├── WimHandler.cpp │ │ │ ├── WimHandler.h │ │ │ ├── WimHandlerOut.cpp │ │ │ ├── WimIn.cpp │ │ │ ├── WimIn.h │ │ │ └── WimRegister.cpp │ │ ├── XarHandler.cpp │ │ ├── XzHandler.cpp │ │ ├── XzHandler.h │ │ ├── ZHandler.cpp │ │ ├── Zip │ │ │ ├── StdAfx.h │ │ │ ├── ZipAddCommon.cpp │ │ │ ├── ZipAddCommon.h │ │ │ ├── ZipCompressionMode.h │ │ │ ├── ZipHandler.cpp │ │ │ ├── ZipHandler.h │ │ │ ├── ZipHandlerOut.cpp │ │ │ ├── ZipHeader.h │ │ │ ├── ZipIn.cpp │ │ │ ├── ZipIn.h │ │ │ ├── ZipItem.cpp │ │ │ ├── ZipItem.h │ │ │ ├── ZipOut.cpp │ │ │ ├── ZipOut.h │ │ │ ├── ZipRegister.cpp │ │ │ ├── ZipUpdate.cpp │ │ │ └── ZipUpdate.h │ │ ├── ZstdHandler.cpp │ │ └── makefile │ ├── Asm.mak │ ├── Bundles │ │ ├── Alone │ │ │ ├── Alone.dsp │ │ │ ├── Alone.dsw │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── Alone2 │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── Alone7z │ │ │ ├── Alone.dsp │ │ │ ├── Alone.dsw │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── Fm │ │ │ ├── FM.dsp │ │ │ ├── FM.dsw │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── Format7z │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── Format7zExtract │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── Format7zExtractR │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── Format7zF │ │ │ ├── Arc.mak │ │ │ ├── Arc_gcc.mak │ │ │ ├── Format7z.dsp │ │ │ ├── Format7z.dsw │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── Format7zR │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── LzmaCon │ │ │ ├── LzmaAlone.cpp │ │ │ ├── LzmaCon.dsp │ │ │ ├── LzmaCon.dsw │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── SFXCon │ │ │ ├── 7z.ico │ │ │ ├── SFXCon.dsp │ │ │ ├── SFXCon.dsw │ │ │ ├── SfxCon.cpp │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── SFXSetup │ │ │ ├── ExtractCallbackSfx.cpp │ │ │ ├── ExtractCallbackSfx.h │ │ │ ├── ExtractEngine.cpp │ │ │ ├── ExtractEngine.h │ │ │ ├── SFXSetup.dsp │ │ │ ├── SFXSetup.dsw │ │ │ ├── SfxSetup.cpp │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── resource.h │ │ │ ├── resource.rc │ │ │ └── setup.ico │ │ ├── SFXWin │ │ │ ├── 7z.ico │ │ │ ├── SFXWin.dsp │ │ │ ├── SFXWin.dsw │ │ │ ├── SfxWin.cpp │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── resource.h │ │ │ └── resource.rc │ │ └── makefile │ ├── Common │ │ ├── CWrappers.cpp │ │ ├── CWrappers.h │ │ ├── CreateCoder.cpp │ │ ├── CreateCoder.h │ │ ├── FilePathAutoRename.cpp │ │ ├── FilePathAutoRename.h │ │ ├── FileStreams.cpp │ │ ├── FileStreams.h │ │ ├── FilterCoder.cpp │ │ ├── FilterCoder.h │ │ ├── InBuffer.cpp │ │ ├── InBuffer.h │ │ ├── InOutTempBuffer.cpp │ │ ├── InOutTempBuffer.h │ │ ├── LimitedStreams.cpp │ │ ├── LimitedStreams.h │ │ ├── LockedStream.cpp │ │ ├── LockedStream.h │ │ ├── MemBlocks.cpp │ │ ├── MemBlocks.h │ │ ├── MethodId.cpp │ │ ├── MethodId.h │ │ ├── MethodProps.cpp │ │ ├── MethodProps.h │ │ ├── MultiOutStream.cpp │ │ ├── MultiOutStream.h │ │ ├── OffsetStream.cpp │ │ ├── OffsetStream.h │ │ ├── OutBuffer.cpp │ │ ├── OutBuffer.h │ │ ├── OutMemStream.cpp │ │ ├── OutMemStream.h │ │ ├── ProgressMt.cpp │ │ ├── ProgressMt.h │ │ ├── ProgressUtils.cpp │ │ ├── ProgressUtils.h │ │ ├── PropId.cpp │ │ ├── RegisterArc.h │ │ ├── RegisterCodec.h │ │ ├── StdAfx.h │ │ ├── StreamBinder.cpp │ │ ├── StreamBinder.h │ │ ├── StreamObjects.cpp │ │ ├── StreamObjects.h │ │ ├── StreamUtils.cpp │ │ ├── StreamUtils.h │ │ ├── UniqBlocks.cpp │ │ ├── UniqBlocks.h │ │ ├── VirtThread.cpp │ │ └── VirtThread.h │ ├── Compress │ │ ├── BZip2Const.h │ │ ├── BZip2Crc.cpp │ │ ├── BZip2Crc.h │ │ ├── BZip2Decoder.cpp │ │ ├── BZip2Decoder.h │ │ ├── BZip2Encoder.cpp │ │ ├── BZip2Encoder.h │ │ ├── BZip2Register.cpp │ │ ├── Balz │ │ │ ├── BalzEncoder.h │ │ │ ├── BalzRegister.cpp │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── StdAfx.h │ │ │ └── makefile.gcc │ │ ├── Bcj2Coder.cpp │ │ ├── Bcj2Coder.h │ │ ├── Bcj2Register.cpp │ │ ├── BcjCoder.cpp │ │ ├── BcjCoder.h │ │ ├── BcjRegister.cpp │ │ ├── Bcm │ │ │ ├── BcmEncoder.h │ │ │ ├── BcmRegister.cpp │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── StdAfx.h │ │ │ ├── libsais.c │ │ │ ├── libsais.h │ │ │ └── makefile.gcc │ │ ├── BitlDecoder.cpp │ │ ├── BitlDecoder.h │ │ ├── BitlEncoder.h │ │ ├── BitmDecoder.h │ │ ├── BitmEncoder.h │ │ ├── Blake3 │ │ │ └── makefile.gcc │ │ ├── BranchMisc.cpp │ │ ├── BranchMisc.h │ │ ├── BranchRegister.cpp │ │ ├── Brotli │ │ │ └── makefile.gcc │ │ ├── BrotliDecoder.cpp │ │ ├── BrotliDecoder.h │ │ ├── BrotliEncoder.cpp │ │ ├── BrotliEncoder.h │ │ ├── BrotliRegister.cpp │ │ ├── ByteSwap.cpp │ │ ├── Codec.def │ │ ├── CodecExports.cpp │ │ ├── CopyCoder.cpp │ │ ├── CopyCoder.h │ │ ├── CopyRegister.cpp │ │ ├── Deflate64Register.cpp │ │ ├── DeflateConst.h │ │ ├── DeflateDecoder.cpp │ │ ├── DeflateDecoder.h │ │ ├── DeflateEncoder.cpp │ │ ├── DeflateEncoder.h │ │ ├── DeflateRegister.cpp │ │ ├── DeltaFilter.cpp │ │ ├── DllExports2Compress.cpp │ │ ├── DllExportsCompress.cpp │ │ ├── FLzma2 │ │ │ └── makefile.gcc │ │ ├── FastLzma2Encoder.cpp │ │ ├── FastLzma2Encoder.h │ │ ├── FastLzma2Register.cpp │ │ ├── HuffmanDecoder.h │ │ ├── ImplodeDecoder.cpp │ │ ├── ImplodeDecoder.h │ │ ├── ImplodeHuffmanDecoder.cpp │ │ ├── ImplodeHuffmanDecoder.h │ │ ├── Lizard │ │ │ └── makefile.gcc │ │ ├── LizardDecoder.cpp │ │ ├── LizardDecoder.h │ │ ├── LizardEncoder.cpp │ │ ├── LizardEncoder.h │ │ ├── LizardRegister.cpp │ │ ├── Lz4 │ │ │ └── makefile.gcc │ │ ├── Lz4Decoder.cpp │ │ ├── Lz4Decoder.h │ │ ├── Lz4Encoder.cpp │ │ ├── Lz4Encoder.h │ │ ├── Lz4Register.cpp │ │ ├── Lz5 │ │ │ └── makefile.gcc │ │ ├── Lz5Decoder.cpp │ │ ├── Lz5Decoder.h │ │ ├── Lz5Encoder.cpp │ │ ├── Lz5Encoder.h │ │ ├── Lz5Register.cpp │ │ ├── LzOutWindow.cpp │ │ ├── LzOutWindow.h │ │ ├── LzfseDecoder.cpp │ │ ├── LzfseDecoder.h │ │ ├── LzhDecoder.cpp │ │ ├── LzhDecoder.h │ │ ├── Lzham │ │ │ └── makefile.gcc │ │ ├── LzhamRegister.cpp │ │ ├── Lzma2Decoder.cpp │ │ ├── Lzma2Decoder.h │ │ ├── Lzma2Encoder.cpp │ │ ├── Lzma2Encoder.h │ │ ├── Lzma2Register.cpp │ │ ├── LzmaDecoder.cpp │ │ ├── LzmaDecoder.h │ │ ├── LzmaEncoder.cpp │ │ ├── LzmaEncoder.h │ │ ├── LzmaRegister.cpp │ │ ├── LzmsDecoder.cpp │ │ ├── LzmsDecoder.h │ │ ├── Lzx.h │ │ ├── LzxDecoder.cpp │ │ ├── LzxDecoder.h │ │ ├── Md5 │ │ │ └── makefile.gcc │ │ ├── Mtf8.h │ │ ├── PKImplode │ │ │ └── makefile.gcc │ │ ├── PKImplodeDecoder.cpp │ │ ├── PKImplodeDecoder.h │ │ ├── PKImplodeEncoder.cpp │ │ ├── PKImplodeEncoder.h │ │ ├── PKImplodeRegister.cpp │ │ ├── PpmdDecoder.cpp │ │ ├── PpmdDecoder.h │ │ ├── PpmdEncoder.cpp │ │ ├── PpmdEncoder.h │ │ ├── PpmdRegister.cpp │ │ ├── PpmdZip.cpp │ │ ├── PpmdZip.h │ │ ├── QuantumDecoder.cpp │ │ ├── QuantumDecoder.h │ │ ├── Rar │ │ │ └── makefile.gcc │ │ ├── Rar1Decoder.cpp │ │ ├── Rar1Decoder.h │ │ ├── Rar2Decoder.cpp │ │ ├── Rar2Decoder.h │ │ ├── Rar3Decoder.cpp │ │ ├── Rar3Decoder.h │ │ ├── Rar3Vm.cpp │ │ ├── Rar3Vm.h │ │ ├── Rar5Decoder.cpp │ │ ├── Rar5Decoder.h │ │ ├── RarCodecsRegister.cpp │ │ ├── Sha512 │ │ │ └── makefile.gcc │ │ ├── ShrinkDecoder.cpp │ │ ├── ShrinkDecoder.h │ │ ├── StdAfx.h │ │ ├── XpressDecoder.cpp │ │ ├── XpressDecoder.h │ │ ├── Xxh64 │ │ │ └── makefile.gcc │ │ ├── XzDecoder.cpp │ │ ├── XzDecoder.h │ │ ├── XzEncoder.cpp │ │ ├── XzEncoder.h │ │ ├── ZDecoder.cpp │ │ ├── ZDecoder.h │ │ ├── ZlibDecoder.cpp │ │ ├── ZlibDecoder.h │ │ ├── ZlibEncoder.cpp │ │ ├── ZlibEncoder.h │ │ ├── Zstd │ │ │ └── makefile.gcc │ │ ├── ZstdDecoder.cpp │ │ ├── ZstdDecoder.h │ │ ├── ZstdEncoder.cpp │ │ ├── ZstdEncoder.h │ │ ├── ZstdRegister.cpp │ │ ├── ZstdZipRegister.cpp │ │ └── makefile │ ├── Crc.mak │ ├── Crc64.mak │ ├── Crypto │ │ ├── 7zAes.cpp │ │ ├── 7zAes.h │ │ ├── 7zAesRegister.cpp │ │ ├── Codec.def │ │ ├── HmacSha1.cpp │ │ ├── HmacSha1.h │ │ ├── HmacSha256.cpp │ │ ├── HmacSha256.h │ │ ├── MyAes.cpp │ │ ├── MyAes.h │ │ ├── MyAesReg.cpp │ │ ├── Pbkdf2HmacSha1.cpp │ │ ├── Pbkdf2HmacSha1.h │ │ ├── RandGen.cpp │ │ ├── RandGen.h │ │ ├── Rar20Crypto.cpp │ │ ├── Rar20Crypto.h │ │ ├── Rar5Aes.cpp │ │ ├── Rar5Aes.h │ │ ├── RarAes.cpp │ │ ├── RarAes.h │ │ ├── Sha1Cls.h │ │ ├── StdAfx.h │ │ ├── WzAes.cpp │ │ ├── WzAes.h │ │ ├── ZipCrypto.cpp │ │ ├── ZipCrypto.h │ │ ├── ZipStrong.cpp │ │ └── ZipStrong.h │ ├── GuiCommon.rc │ ├── Guid.txt │ ├── ICoder.h │ ├── IDecl.h │ ├── IPassword.h │ ├── IProgress.h │ ├── IStream.h │ ├── LzFindOpt.mak │ ├── LzmaDec.mak │ ├── LzmaDec_gcc.mak │ ├── MyVersion.h │ ├── MyVersionInfo.rc │ ├── PropID.h │ ├── Sha1.mak │ ├── Sha256.mak │ ├── SubBuild.mak │ ├── UI │ │ ├── Agent │ │ │ ├── Agent.cpp │ │ │ ├── Agent.h │ │ │ ├── AgentOut.cpp │ │ │ ├── AgentProxy.cpp │ │ │ ├── AgentProxy.h │ │ │ ├── ArchiveFolder.cpp │ │ │ ├── ArchiveFolderOpen.cpp │ │ │ ├── ArchiveFolderOut.cpp │ │ │ ├── IFolderArchive.h │ │ │ ├── StdAfx.h │ │ │ ├── UpdateCallbackAgent.cpp │ │ │ └── UpdateCallbackAgent.h │ │ ├── Client7z │ │ │ ├── Client7z.cpp │ │ │ ├── Client7z.dsp │ │ │ ├── Client7z.dsw │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── Common │ │ │ ├── ArchiveCommandLine.cpp │ │ │ ├── ArchiveCommandLine.h │ │ │ ├── ArchiveExtractCallback.cpp │ │ │ ├── ArchiveExtractCallback.h │ │ │ ├── ArchiveName.cpp │ │ │ ├── ArchiveName.h │ │ │ ├── ArchiveOpenCallback.cpp │ │ │ ├── ArchiveOpenCallback.h │ │ │ ├── Bench.cpp │ │ │ ├── Bench.h │ │ │ ├── CompressCall.cpp │ │ │ ├── CompressCall.h │ │ │ ├── CompressCall2.cpp │ │ │ ├── DefaultName.cpp │ │ │ ├── DefaultName.h │ │ │ ├── DirItem.h │ │ │ ├── EnumDirItems.cpp │ │ │ ├── EnumDirItems.h │ │ │ ├── ExitCode.h │ │ │ ├── Extract.cpp │ │ │ ├── Extract.h │ │ │ ├── ExtractMode.h │ │ │ ├── ExtractingFilePath.cpp │ │ │ ├── ExtractingFilePath.h │ │ │ ├── HashCalc.cpp │ │ │ ├── HashCalc.h │ │ │ ├── IFileExtractCallback.h │ │ │ ├── LoadCodecs.cpp │ │ │ ├── LoadCodecs.h │ │ │ ├── OpenArchive.cpp │ │ │ ├── OpenArchive.h │ │ │ ├── PropIDUtils.cpp │ │ │ ├── PropIDUtils.h │ │ │ ├── Property.h │ │ │ ├── SetProperties.cpp │ │ │ ├── SetProperties.h │ │ │ ├── SortUtils.cpp │ │ │ ├── SortUtils.h │ │ │ ├── StdAfx.h │ │ │ ├── TempFiles.cpp │ │ │ ├── TempFiles.h │ │ │ ├── Update.cpp │ │ │ ├── Update.h │ │ │ ├── UpdateAction.cpp │ │ │ ├── UpdateAction.h │ │ │ ├── UpdateCallback.cpp │ │ │ ├── UpdateCallback.h │ │ │ ├── UpdatePair.cpp │ │ │ ├── UpdatePair.h │ │ │ ├── UpdateProduce.cpp │ │ │ ├── UpdateProduce.h │ │ │ ├── WorkDir.cpp │ │ │ ├── WorkDir.h │ │ │ ├── ZipRegistry.cpp │ │ │ └── ZipRegistry.h │ │ ├── Console │ │ │ ├── BenchCon.cpp │ │ │ ├── BenchCon.h │ │ │ ├── Console.dsp │ │ │ ├── Console.dsw │ │ │ ├── Console.mak │ │ │ ├── Console.manifest │ │ │ ├── ConsoleClose.cpp │ │ │ ├── ConsoleClose.h │ │ │ ├── ExtractCallbackConsole.cpp │ │ │ ├── ExtractCallbackConsole.h │ │ │ ├── HashCon.cpp │ │ │ ├── HashCon.h │ │ │ ├── List.cpp │ │ │ ├── List.h │ │ │ ├── Main.cpp │ │ │ ├── MainAr.cpp │ │ │ ├── OpenCallbackConsole.cpp │ │ │ ├── OpenCallbackConsole.h │ │ │ ├── PercentPrinter.cpp │ │ │ ├── PercentPrinter.h │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── UpdateCallbackConsole.cpp │ │ │ ├── UpdateCallbackConsole.h │ │ │ ├── UserInputUtils.cpp │ │ │ ├── UserInputUtils.h │ │ │ ├── makefile │ │ │ ├── makefile.gcc │ │ │ └── resource.rc │ │ ├── Explorer │ │ │ ├── 7-zip.dll.manifest │ │ │ ├── ContextMenu.cpp │ │ │ ├── ContextMenu.h │ │ │ ├── ContextMenuFlags.h │ │ │ ├── DllExportsExplorer.cpp │ │ │ ├── Explorer.def │ │ │ ├── Explorer.dsp │ │ │ ├── Explorer.dsw │ │ │ ├── MenuLogo.bmp │ │ │ ├── MyExplorerCommand.h │ │ │ ├── MyMessages.cpp │ │ │ ├── MyMessages.h │ │ │ ├── RegistryContextMenu.cpp │ │ │ ├── RegistryContextMenu.h │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── makefile │ │ │ ├── resource.h │ │ │ ├── resource.rc │ │ │ └── resource2.rc │ │ ├── Far │ │ │ ├── ExtractEngine.cpp │ │ │ ├── ExtractEngine.h │ │ │ ├── Far.cpp │ │ │ ├── Far.def │ │ │ ├── Far.dsp │ │ │ ├── Far.dsw │ │ │ ├── FarPlugin.h │ │ │ ├── FarUtils.cpp │ │ │ ├── FarUtils.h │ │ │ ├── Messages.h │ │ │ ├── OverwriteDialogFar.cpp │ │ │ ├── OverwriteDialogFar.h │ │ │ ├── Plugin.cpp │ │ │ ├── Plugin.h │ │ │ ├── PluginCommon.cpp │ │ │ ├── PluginDelete.cpp │ │ │ ├── PluginRead.cpp │ │ │ ├── PluginWrite.cpp │ │ │ ├── ProgressBox.cpp │ │ │ ├── ProgressBox.h │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── UpdateCallbackFar.cpp │ │ │ ├── UpdateCallbackFar.h │ │ │ ├── makefile │ │ │ └── resource.rc │ │ ├── FileManager │ │ │ ├── 7zFM.exe.manifest │ │ │ ├── 7zipLogo.ico │ │ │ ├── AboutDialog.cpp │ │ │ ├── AboutDialog.h │ │ │ ├── AboutDialog.rc │ │ │ ├── AboutDialogRes.h │ │ │ ├── Add.bmp │ │ │ ├── Add2.bmp │ │ │ ├── AltStreamsFolder.cpp │ │ │ ├── AltStreamsFolder.h │ │ │ ├── App.cpp │ │ │ ├── App.h │ │ │ ├── AppState.h │ │ │ ├── BrowseDialog.cpp │ │ │ ├── BrowseDialog.h │ │ │ ├── BrowseDialog.rc │ │ │ ├── BrowseDialog2.cpp │ │ │ ├── BrowseDialog2.h │ │ │ ├── BrowseDialog2.rc │ │ │ ├── BrowseDialog2Res.h │ │ │ ├── BrowseDialogRes.h │ │ │ ├── ClassDefs.cpp │ │ │ ├── ComboDialog.cpp │ │ │ ├── ComboDialog.h │ │ │ ├── ComboDialog.rc │ │ │ ├── ComboDialogRes.h │ │ │ ├── Copy.bmp │ │ │ ├── Copy2.bmp │ │ │ ├── CopyDialog.cpp │ │ │ ├── CopyDialog.h │ │ │ ├── CopyDialog.rc │ │ │ ├── CopyDialogRes.h │ │ │ ├── Delete.bmp │ │ │ ├── Delete2.bmp │ │ │ ├── DialogSize.h │ │ │ ├── EditDialog.cpp │ │ │ ├── EditDialog.h │ │ │ ├── EditDialog.rc │ │ │ ├── EditDialogRes.h │ │ │ ├── EditPage.cpp │ │ │ ├── EditPage.h │ │ │ ├── EditPage.rc │ │ │ ├── EditPage2.rc │ │ │ ├── EditPageRes.h │ │ │ ├── EnumFormatEtc.cpp │ │ │ ├── EnumFormatEtc.h │ │ │ ├── Extract.bmp │ │ │ ├── Extract2.bmp │ │ │ ├── ExtractCallback.cpp │ │ │ ├── ExtractCallback.h │ │ │ ├── FM.cpp │ │ │ ├── FM.dsp │ │ │ ├── FM.dsw │ │ │ ├── FM.ico │ │ │ ├── FM.mak │ │ │ ├── FSDrives.cpp │ │ │ ├── FSDrives.h │ │ │ ├── FSFolder.cpp │ │ │ ├── FSFolder.h │ │ │ ├── FSFolderCopy.cpp │ │ │ ├── FileFolderPluginOpen.cpp │ │ │ ├── FileFolderPluginOpen.h │ │ │ ├── FilePlugins.cpp │ │ │ ├── FilePlugins.h │ │ │ ├── FoldersPage.cpp │ │ │ ├── FoldersPage.h │ │ │ ├── FoldersPage.rc │ │ │ ├── FoldersPage2.rc │ │ │ ├── FoldersPageRes.h │ │ │ ├── FormatUtils.cpp │ │ │ ├── FormatUtils.h │ │ │ ├── HelpUtils.cpp │ │ │ ├── HelpUtils.h │ │ │ ├── IFolder.h │ │ │ ├── Info.bmp │ │ │ ├── Info2.bmp │ │ │ ├── LangPage.cpp │ │ │ ├── LangPage.h │ │ │ ├── LangPage.rc │ │ │ ├── LangPageRes.h │ │ │ ├── LangUtils.cpp │ │ │ ├── LangUtils.h │ │ │ ├── LinkDialog.cpp │ │ │ ├── LinkDialog.h │ │ │ ├── LinkDialog.rc │ │ │ ├── LinkDialogRes.h │ │ │ ├── ListViewDialog.cpp │ │ │ ├── ListViewDialog.h │ │ │ ├── ListViewDialog.rc │ │ │ ├── ListViewDialogRes.h │ │ │ ├── MemDialog.cpp │ │ │ ├── MemDialog.h │ │ │ ├── MemDialog.rc │ │ │ ├── MemDialogRes.h │ │ │ ├── MenuPage.cpp │ │ │ ├── MenuPage.h │ │ │ ├── MenuPage.rc │ │ │ ├── MenuPage2.rc │ │ │ ├── MenuPageRes.h │ │ │ ├── MessagesDialog.cpp │ │ │ ├── MessagesDialog.h │ │ │ ├── MessagesDialog.rc │ │ │ ├── MessagesDialogRes.h │ │ │ ├── Move.bmp │ │ │ ├── Move2.bmp │ │ │ ├── MyCom2.h │ │ │ ├── MyLoadMenu.cpp │ │ │ ├── MyLoadMenu.h │ │ │ ├── MyWindowsNew.h │ │ │ ├── NetFolder.cpp │ │ │ ├── NetFolder.h │ │ │ ├── OpenCallback.cpp │ │ │ ├── OpenCallback.h │ │ │ ├── OptionsDialog.cpp │ │ │ ├── OverwriteDialog.cpp │ │ │ ├── OverwriteDialog.h │ │ │ ├── OverwriteDialog.rc │ │ │ ├── OverwriteDialogRes.h │ │ │ ├── Panel.cpp │ │ │ ├── Panel.h │ │ │ ├── PanelCopy.cpp │ │ │ ├── PanelCrc.cpp │ │ │ ├── PanelDrag.cpp │ │ │ ├── PanelFolderChange.cpp │ │ │ ├── PanelItemOpen.cpp │ │ │ ├── PanelItems.cpp │ │ │ ├── PanelKey.cpp │ │ │ ├── PanelListNotify.cpp │ │ │ ├── PanelMenu.cpp │ │ │ ├── PanelOperations.cpp │ │ │ ├── PanelSelect.cpp │ │ │ ├── PanelSort.cpp │ │ │ ├── PanelSplitFile.cpp │ │ │ ├── PasswordDialog.cpp │ │ │ ├── PasswordDialog.h │ │ │ ├── PasswordDialog.rc │ │ │ ├── PasswordDialogRes.h │ │ │ ├── PluginInterface.h │ │ │ ├── PluginLoader.h │ │ │ ├── ProgramLocation.cpp │ │ │ ├── ProgramLocation.h │ │ │ ├── ProgressDialog.cpp │ │ │ ├── ProgressDialog.h │ │ │ ├── ProgressDialog.rc │ │ │ ├── ProgressDialog2.cpp │ │ │ ├── ProgressDialog2.h │ │ │ ├── ProgressDialog2.rc │ │ │ ├── ProgressDialog2Res.h │ │ │ ├── ProgressDialog2a.rc │ │ │ ├── ProgressDialogRes.h │ │ │ ├── PropertyName.cpp │ │ │ ├── PropertyName.h │ │ │ ├── PropertyName.rc │ │ │ ├── PropertyNameRes.h │ │ │ ├── RegistryAssociations.cpp │ │ │ ├── RegistryAssociations.h │ │ │ ├── RegistryPlugins.cpp │ │ │ ├── RegistryPlugins.h │ │ │ ├── RegistryUtils.cpp │ │ │ ├── RegistryUtils.h │ │ │ ├── RootFolder.cpp │ │ │ ├── RootFolder.h │ │ │ ├── SettingsPage.cpp │ │ │ ├── SettingsPage.h │ │ │ ├── SettingsPage.rc │ │ │ ├── SettingsPage2.rc │ │ │ ├── SettingsPageRes.h │ │ │ ├── SplitDialog.cpp │ │ │ ├── SplitDialog.h │ │ │ ├── SplitDialog.rc │ │ │ ├── SplitDialogRes.h │ │ │ ├── SplitUtils.cpp │ │ │ ├── SplitUtils.h │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── StringUtils.cpp │ │ │ ├── StringUtils.h │ │ │ ├── SysIconUtils.cpp │ │ │ ├── SysIconUtils.h │ │ │ ├── SystemPage.cpp │ │ │ ├── SystemPage.h │ │ │ ├── SystemPage.rc │ │ │ ├── SystemPageRes.h │ │ │ ├── Test.bmp │ │ │ ├── Test2.bmp │ │ │ ├── TextPairs.cpp │ │ │ ├── TextPairs.h │ │ │ ├── UpdateCallback100.cpp │ │ │ ├── UpdateCallback100.h │ │ │ ├── VerCtrl.cpp │ │ │ ├── ViewSettings.cpp │ │ │ ├── ViewSettings.h │ │ │ ├── makefile │ │ │ ├── resource.h │ │ │ ├── resource.rc │ │ │ ├── resourceGui.h │ │ │ └── resourceGui.rc │ │ ├── GUI │ │ │ ├── 7zG.exe.manifest │ │ │ ├── BenchmarkDialog.cpp │ │ │ ├── BenchmarkDialog.h │ │ │ ├── BenchmarkDialog.rc │ │ │ ├── BenchmarkDialogRes.h │ │ │ ├── CompressDialog.cpp │ │ │ ├── CompressDialog.h │ │ │ ├── CompressDialog.rc │ │ │ ├── CompressDialogRes.h │ │ │ ├── CompressOptionsDialog.rc │ │ │ ├── Extract.rc │ │ │ ├── ExtractDialog.cpp │ │ │ ├── ExtractDialog.h │ │ │ ├── ExtractDialog.rc │ │ │ ├── ExtractDialogRes.h │ │ │ ├── ExtractGUI.cpp │ │ │ ├── ExtractGUI.h │ │ │ ├── ExtractRes.h │ │ │ ├── FM.ico │ │ │ ├── GUI.cpp │ │ │ ├── GUI.dsp │ │ │ ├── GUI.dsw │ │ │ ├── HashGUI.cpp │ │ │ ├── HashGUI.h │ │ │ ├── StdAfx.cpp │ │ │ ├── StdAfx.h │ │ │ ├── UpdateCallbackGUI.cpp │ │ │ ├── UpdateCallbackGUI.h │ │ │ ├── UpdateCallbackGUI2.cpp │ │ │ ├── UpdateCallbackGUI2.h │ │ │ ├── UpdateGUI.cpp │ │ │ ├── UpdateGUI.h │ │ │ ├── makefile │ │ │ ├── resource.rc │ │ │ ├── resource2.h │ │ │ ├── resource2.rc │ │ │ ├── resource3.h │ │ │ └── resource3.rc │ │ └── makefile │ ├── cmpl_clang.mak │ ├── cmpl_clang_arm64.mak │ ├── cmpl_clang_x64.mak │ ├── cmpl_clang_x86.mak │ ├── cmpl_gcc.mak │ ├── cmpl_gcc_arm.mak │ ├── cmpl_gcc_arm64.mak │ ├── cmpl_gcc_x64.mak │ ├── cmpl_gcc_x86.mak │ ├── cmpl_mac_arm64.mak │ ├── cmpl_mac_x64.mak │ ├── makefile │ ├── var_clang.mak │ ├── var_clang_arm64.mak │ ├── var_clang_x64.mak │ ├── var_clang_x86.mak │ ├── var_gcc.mak │ ├── var_gcc_arm.mak │ ├── var_gcc_arm64.mak │ ├── var_gcc_x64.mak │ ├── var_gcc_x86.mak │ ├── var_mac_arm64.mak │ ├── var_mac_x64.mak │ ├── warn_clang.mak │ ├── warn_clang_mac.mak │ └── warn_gcc.mak ├── Build.mak ├── Common │ ├── AutoPtr.h │ ├── Blake3Reg.cpp │ ├── CRC.cpp │ ├── C_FileIO.cpp │ ├── C_FileIO.h │ ├── CksumReg.cpp │ ├── ComTry.h │ ├── CommandLineParser.cpp │ ├── CommandLineParser.h │ ├── Common.h │ ├── Common0.h │ ├── CrcReg.cpp │ ├── Defs.h │ ├── DynLimBuf.cpp │ ├── DynLimBuf.h │ ├── DynamicBuffer.h │ ├── IntToString.cpp │ ├── IntToString.h │ ├── Lang.cpp │ ├── Lang.h │ ├── ListFileUtils.cpp │ ├── ListFileUtils.h │ ├── LzFindPrepare.cpp │ ├── Md2Reg.cpp │ ├── Md4Reg.cpp │ ├── Md5Reg.cpp │ ├── MyBuffer.h │ ├── MyBuffer2.h │ ├── MyCom.h │ ├── MyException.h │ ├── MyGuidDef.h │ ├── MyInitGuid.h │ ├── MyLinux.h │ ├── MyMap.cpp │ ├── MyMap.h │ ├── MyString.cpp │ ├── MyString.h │ ├── MyTypes.h │ ├── MyUnknown.h │ ├── MyVector.cpp │ ├── MyVector.h │ ├── MyWindows.cpp │ ├── MyWindows.h │ ├── MyXml.cpp │ ├── MyXml.h │ ├── NewHandler.cpp │ ├── NewHandler.h │ ├── Random.cpp │ ├── Random.h │ ├── Sha1Prepare.cpp │ ├── Sha1Reg.cpp │ ├── Sha256Prepare.cpp │ ├── Sha256Reg.cpp │ ├── Sha3Reg.cpp │ ├── Sha512Prepare.cpp │ ├── Sha512Reg.cpp │ ├── StdAfx.h │ ├── StdInStream.cpp │ ├── StdInStream.h │ ├── StdOutStream.cpp │ ├── StdOutStream.h │ ├── StringConvert.cpp │ ├── StringConvert.h │ ├── StringToInt.cpp │ ├── StringToInt.h │ ├── TextConfig.cpp │ ├── TextConfig.h │ ├── UTFConvert.cpp │ ├── UTFConvert.h │ ├── Wildcard.cpp │ ├── Wildcard.h │ ├── XXH32Reg.cpp │ ├── Xxh64Reg.cpp │ ├── XzCrc64Init.cpp │ └── XzCrc64Reg.cpp └── Windows │ ├── COM.cpp │ ├── COM.h │ ├── Clipboard.cpp │ ├── Clipboard.h │ ├── CommonDialog.cpp │ ├── CommonDialog.h │ ├── Console.cpp │ ├── Console.h │ ├── Control │ ├── ComboBox.cpp │ ├── ComboBox.h │ ├── CommandBar.h │ ├── Dialog.cpp │ ├── Dialog.h │ ├── Edit.h │ ├── ImageList.cpp │ ├── ImageList.h │ ├── ListView.cpp │ ├── ListView.h │ ├── ProgressBar.h │ ├── PropertyPage.cpp │ ├── PropertyPage.h │ ├── ReBar.h │ ├── Static.h │ ├── StatusBar.h │ ├── StdAfx.h │ ├── ToolBar.h │ ├── Trackbar.h │ ├── Window2.cpp │ └── Window2.h │ ├── DLL.cpp │ ├── DLL.h │ ├── Defs.h │ ├── ErrorMsg.cpp │ ├── ErrorMsg.h │ ├── FileDir.cpp │ ├── FileDir.h │ ├── FileFind.cpp │ ├── FileFind.h │ ├── FileIO.cpp │ ├── FileIO.h │ ├── FileLink.cpp │ ├── FileMapping.cpp │ ├── FileMapping.h │ ├── FileName.cpp │ ├── FileName.h │ ├── FileSystem.cpp │ ├── FileSystem.h │ ├── Handle.h │ ├── MemoryGlobal.cpp │ ├── MemoryGlobal.h │ ├── MemoryLock.cpp │ ├── MemoryLock.h │ ├── Menu.cpp │ ├── Menu.h │ ├── NationalTime.cpp │ ├── NationalTime.h │ ├── Net.cpp │ ├── Net.h │ ├── NtCheck.h │ ├── ProcessMessages.cpp │ ├── ProcessMessages.h │ ├── ProcessUtils.cpp │ ├── ProcessUtils.h │ ├── PropVariant.cpp │ ├── PropVariant.h │ ├── PropVariantConv.cpp │ ├── PropVariantConv.h │ ├── PropVariantUtils.cpp │ ├── PropVariantUtils.h │ ├── Registry.cpp │ ├── Registry.h │ ├── ResourceString.cpp │ ├── ResourceString.h │ ├── SecurityUtils.cpp │ ├── SecurityUtils.h │ ├── Shell.cpp │ ├── Shell.h │ ├── StdAfx.h │ ├── Synchronization.cpp │ ├── Synchronization.h │ ├── System.cpp │ ├── System.h │ ├── SystemInfo.cpp │ ├── SystemInfo.h │ ├── Thread.h │ ├── TimeUtils.cpp │ ├── TimeUtils.h │ ├── Window.cpp │ └── Window.h ├── Codecs └── hashes │ ├── README.md │ ├── blake3.c │ ├── blake3.h │ ├── hash.h │ ├── md2.c │ ├── md2.h │ ├── md4.c │ ├── md4.h │ ├── md5.c │ ├── md5.h │ ├── sha.h │ └── sha512.c ├── DOC ├── 7zC.txt ├── 7zFormat.txt ├── 7zip.hhp ├── 7zip.wxs ├── License.txt ├── Methods.txt ├── copying.txt ├── lzma.txt ├── readme.txt ├── src-history.txt └── unRarLicense.txt ├── README.md ├── build_linux.sh ├── build_macos.sh ├── build_win.sh └── d2u-dir.sh /.gitignore: -------------------------------------------------------------------------------- 1 | *.o 2 | _o 3 | zstd_build 4 | lz4_build 5 | brotli_build 6 | lzham_build 7 | -------------------------------------------------------------------------------- /C/7zAlloc.h: -------------------------------------------------------------------------------- 1 | /* 7zAlloc.h -- Allocation functions 2 | 2023-03-04 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_7Z_ALLOC_H 5 | #define ZIP7_INC_7Z_ALLOC_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | void *SzAlloc(ISzAllocPtr p, size_t size); 12 | void SzFree(ISzAllocPtr p, void *address); 13 | 14 | void *SzAllocTemp(ISzAllocPtr p, size_t size); 15 | void SzFreeTemp(ISzAllocPtr p, void *address); 16 | 17 | EXTERN_C_END 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /C/7zBuf.c: -------------------------------------------------------------------------------- 1 | /* 7zBuf.c -- Byte Buffer 2 | 2017-04-03 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "7zBuf.h" 7 | 8 | void Buf_Init(CBuf *p) 9 | { 10 | p->data = 0; 11 | p->size = 0; 12 | } 13 | 14 | int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc) 15 | { 16 | p->size = 0; 17 | if (size == 0) 18 | { 19 | p->data = 0; 20 | return 1; 21 | } 22 | p->data = (Byte *)ISzAlloc_Alloc(alloc, size); 23 | if (p->data) 24 | { 25 | p->size = size; 26 | return 1; 27 | } 28 | return 0; 29 | } 30 | 31 | void Buf_Free(CBuf *p, ISzAllocPtr alloc) 32 | { 33 | ISzAlloc_Free(alloc, p->data); 34 | p->data = 0; 35 | p->size = 0; 36 | } 37 | -------------------------------------------------------------------------------- /C/7zBuf.h: -------------------------------------------------------------------------------- 1 | /* 7zBuf.h -- Byte Buffer 2 | 2023-03-04 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_7Z_BUF_H 5 | #define ZIP7_INC_7Z_BUF_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | typedef struct 12 | { 13 | Byte *data; 14 | size_t size; 15 | } CBuf; 16 | 17 | void Buf_Init(CBuf *p); 18 | int Buf_Create(CBuf *p, size_t size, ISzAllocPtr alloc); 19 | void Buf_Free(CBuf *p, ISzAllocPtr alloc); 20 | 21 | typedef struct 22 | { 23 | Byte *data; 24 | size_t size; 25 | size_t pos; 26 | } CDynBuf; 27 | 28 | void DynBuf_Construct(CDynBuf *p); 29 | void DynBuf_SeekToBeg(CDynBuf *p); 30 | int DynBuf_Write(CDynBuf *p, const Byte *buf, size_t size, ISzAllocPtr alloc); 31 | void DynBuf_Free(CDynBuf *p, ISzAllocPtr alloc); 32 | 33 | EXTERN_C_END 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /C/7zVersion.h: -------------------------------------------------------------------------------- 1 | #define MY_VER_MAJOR 24 2 | #define MY_VER_MINOR 9 3 | #define MY_VER_BUILD 0 4 | #define MY_VERSION_NUMBERS "24.09" 5 | #define MY_VERSION MY_VERSION_NUMBERS 6 | 7 | #ifdef MY_CPU_NAME 8 | #define MY_VERSION_CPU MY_VERSION " (" MY_CPU_NAME ")" 9 | #else 10 | #define MY_VERSION_CPU MY_VERSION 11 | #endif 12 | 13 | #define MY_DATE "2024-11-29" 14 | #undef MY_COPYRIGHT 15 | #undef MY_VERSION_COPYRIGHT_DATE 16 | #define MY_AUTHOR_NAME "Igor Pavlov" 17 | #define MY_COPYRIGHT_PD "Igor Pavlov : Public domain" 18 | #define MY_COPYRIGHT_CR "Copyright (c) 1999-2024 Igor Pavlov" 19 | 20 | #ifdef USE_COPYRIGHT_CR 21 | #define MY_COPYRIGHT MY_COPYRIGHT_CR 22 | #else 23 | #define MY_COPYRIGHT MY_COPYRIGHT_PD 24 | #endif 25 | 26 | #define MY_COPYRIGHT_DATE MY_COPYRIGHT " : " MY_DATE 27 | #define MY_VERSION_COPYRIGHT_DATE MY_VERSION_CPU " : " MY_COPYRIGHT " : " MY_DATE 28 | -------------------------------------------------------------------------------- /C/Asm_c.mak: -------------------------------------------------------------------------------- 1 | !IFDEF ASM_OBJS 2 | !IF "$(PLATFORM)" == "arm64" 3 | $(ASM_OBJS): ../../../Asm/arm64/$(*B).S 4 | $(COMPL_ASM_CLANG) 5 | !ELSEIF "$(PLATFORM)" == "arm" 6 | $(ASM_OBJS): ../../../Asm/arm/$(*B).asm 7 | $(COMPL_ASM) 8 | !ELSEIF "$(PLATFORM)" != "ia64" && "$(PLATFORM)" != "mips" 9 | $(ASM_OBJS): ../../../Asm/x86/$(*B).asm 10 | $(COMPL_ASM) 11 | !ENDIF 12 | !ENDIF 13 | -------------------------------------------------------------------------------- /C/BraIA64.c: -------------------------------------------------------------------------------- 1 | /* BraIA64.c -- Converter for IA-64 code 2 | 2023-02-20 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | // the code was moved to Bra.c 7 | 8 | #ifdef _MSC_VER 9 | #pragma warning(disable : 4206) // nonstandard extension used : translation unit is empty 10 | #endif 11 | 12 | #if defined(__clang__) 13 | #pragma GCC diagnostic ignored "-Wempty-translation-unit" 14 | #endif 15 | -------------------------------------------------------------------------------- /C/BwtSort.h: -------------------------------------------------------------------------------- 1 | /* BwtSort.h -- BWT block sorting 2 | 2023-03-03 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_BWT_SORT_H 5 | #define ZIP7_INC_BWT_SORT_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | /* use BLOCK_SORT_EXTERNAL_FLAGS if blockSize can be > 1M */ 12 | /* #define BLOCK_SORT_EXTERNAL_FLAGS */ 13 | 14 | #ifdef BLOCK_SORT_EXTERNAL_FLAGS 15 | #define BLOCK_SORT_EXTERNAL_SIZE(blockSize) ((((blockSize) + 31) >> 5)) 16 | #else 17 | #define BLOCK_SORT_EXTERNAL_SIZE(blockSize) 0 18 | #endif 19 | 20 | #define BLOCK_SORT_BUF_SIZE(blockSize) ((blockSize) * 2 + BLOCK_SORT_EXTERNAL_SIZE(blockSize) + (1 << 16)) 21 | 22 | UInt32 BlockSort(UInt32 *indices, const Byte *data, UInt32 blockSize); 23 | 24 | EXTERN_C_END 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /C/Delta.h: -------------------------------------------------------------------------------- 1 | /* Delta.h -- Delta converter 2 | 2023-03-03 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_DELTA_H 5 | #define ZIP7_INC_DELTA_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | #define DELTA_STATE_SIZE 256 12 | 13 | void Delta_Init(Byte *state); 14 | void Delta_Encode(Byte *state, unsigned delta, Byte *data, SizeT size); 15 | void Delta_Decode(Byte *state, unsigned delta, Byte *data, SizeT size); 16 | 17 | EXTERN_C_END 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /C/DllSecur.h: -------------------------------------------------------------------------------- 1 | /* DllSecur.h -- DLL loading for security 2 | 2023-03-03 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_DLL_SECUR_H 5 | #define ZIP7_INC_DLL_SECUR_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | #ifdef _WIN32 12 | 13 | void My_SetDefaultDllDirectories(void); 14 | void LoadSecurityDlls(void); 15 | 16 | #endif 17 | 18 | EXTERN_C_END 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /C/HuffEnc.h: -------------------------------------------------------------------------------- 1 | /* HuffEnc.h -- Huffman encoding 2 | 2023-03-05 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_HUFF_ENC_H 5 | #define ZIP7_INC_HUFF_ENC_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | /* 12 | Conditions: 13 | num <= 1024 = 2 ^ NUM_BITS 14 | Sum(freqs) < 4M = 2 ^ (32 - NUM_BITS) 15 | maxLen <= 16 = kMaxLen 16 | Num_Items(p) >= HUFFMAN_TEMP_SIZE(num) 17 | */ 18 | 19 | void Huffman_Generate(const UInt32 *freqs, UInt32 *p, Byte *lens, UInt32 num, UInt32 maxLen); 20 | 21 | EXTERN_C_END 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /C/Md5.h: -------------------------------------------------------------------------------- 1 | /* Md5.h -- MD5 Hash 2 | : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_MD5_H 5 | #define ZIP7_INC_MD5_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | #define MD5_NUM_BLOCK_WORDS 16 12 | #define MD5_NUM_DIGEST_WORDS 4 13 | 14 | #define MD5_BLOCK_SIZE (MD5_NUM_BLOCK_WORDS * 4) 15 | #define MD5_DIGEST_SIZE (MD5_NUM_DIGEST_WORDS * 4) 16 | 17 | typedef struct 18 | { 19 | UInt64 count; 20 | UInt64 _pad_1; 21 | // we want 16-bytes alignment here 22 | UInt32 state[MD5_NUM_DIGEST_WORDS]; 23 | UInt64 _pad_2[4]; 24 | // we want 64-bytes alignment here 25 | Byte buffer[MD5_BLOCK_SIZE]; 26 | } CMd5; 27 | 28 | void Md5_Init(CMd5 *p); 29 | void Md5_Update(CMd5 *p, const Byte *data, size_t size); 30 | void Md5_Final(CMd5 *p, Byte *digest); 31 | 32 | EXTERN_C_END 33 | 34 | #endif 35 | -------------------------------------------------------------------------------- /C/Sort.h: -------------------------------------------------------------------------------- 1 | /* Sort.h -- Sort functions 2 | 2023-03-05 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_SORT_H 5 | #define ZIP7_INC_SORT_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | void HeapSort(UInt32 *p, size_t size); 12 | void HeapSort64(UInt64 *p, size_t size); 13 | 14 | /* void HeapSortRef(UInt32 *p, UInt32 *vals, size_t size); */ 15 | 16 | EXTERN_C_END 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /C/SwapBytes.h: -------------------------------------------------------------------------------- 1 | /* SwapBytes.h -- Byte Swap conversion filter 2 | 2023-04-02 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_SWAP_BYTES_H 5 | #define ZIP7_INC_SWAP_BYTES_H 6 | 7 | #include "7zTypes.h" 8 | 9 | EXTERN_C_BEGIN 10 | 11 | void z7_SwapBytes2(UInt16 *data, size_t numItems); 12 | void z7_SwapBytes4(UInt32 *data, size_t numItems); 13 | void z7_SwapBytesPrepare(void); 14 | 15 | EXTERN_C_END 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /C/Util/7z/7z.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "7z"=.\7z.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /C/Util/7z/Precomp.c: -------------------------------------------------------------------------------- 1 | /* Precomp.c -- StdAfx 2 | 2013-01-21 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | -------------------------------------------------------------------------------- /C/Util/7z/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- Precomp 2 | 2024-01-23 : Igor Pavlov : Public domain */ 3 | 4 | // #ifndef ZIP7_INC_PRECOMP_LOC_H 5 | // #define ZIP7_INC_PRECOMP_LOC_H 6 | 7 | #if defined(_MSC_VER) && _MSC_VER >= 1800 8 | #pragma warning(disable : 4464) // relative include path contains '..' 9 | #endif 10 | 11 | #include "../../Precomp.h" 12 | 13 | // #endif 14 | -------------------------------------------------------------------------------- /C/Util/7z/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = 7zdec 2 | 3 | LOCAL_FLAGS = -DZ7_PPMD_SUPPORT -DZ7_EXTRACT_ONLY 4 | 5 | include ../../../CPP/7zip/LzmaDec_gcc.mak 6 | 7 | 8 | OBJS = \ 9 | $(LZMA_DEC_OPT_OBJS) \ 10 | $O/Bcj2.o \ 11 | $O/Bra.o \ 12 | $O/Bra86.o \ 13 | $O/BraIA64.o \ 14 | $O/CpuArch.o \ 15 | $O/Delta.o \ 16 | $O/Lzma2Dec.o \ 17 | $O/LzmaDec.o \ 18 | $O/Ppmd7.o \ 19 | $O/Ppmd7Dec.o \ 20 | $O/7zCrc.o \ 21 | $O/7zCrcOpt.o \ 22 | $O/7zAlloc.o \ 23 | $O/7zArcIn.o \ 24 | $O/7zBuf.o \ 25 | $O/7zBuf2.o \ 26 | $O/7zDec.o \ 27 | $O/7zMain.o \ 28 | $O/7zFile.o \ 29 | $O/7zStream.o \ 30 | 31 | 32 | include ../../7zip_gcc_c.mak 33 | -------------------------------------------------------------------------------- /C/Util/7zipInstall/7zip.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/C/Util/7zipInstall/7zip.ico -------------------------------------------------------------------------------- /C/Util/7zipInstall/7zipInstall.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "7zipInstall"=.\7zipInstall.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /C/Util/7zipInstall/Precomp.c: -------------------------------------------------------------------------------- 1 | /* Precomp.c -- StdAfx 2 | 2013-01-21 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | -------------------------------------------------------------------------------- /C/Util/7zipInstall/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- Precomp 2 | 2024-01-23 : Igor Pavlov : Public domain */ 3 | 4 | // #ifndef ZIP7_INC_PRECOMP_LOC_H 5 | // #define ZIP7_INC_PRECOMP_LOC_H 6 | 7 | #if defined(_MSC_VER) && _MSC_VER >= 1800 8 | #pragma warning(disable : 4464) // relative include path contains '..' 9 | #endif 10 | 11 | #include "../../Precomp.h" 12 | 13 | // #endif 14 | -------------------------------------------------------------------------------- /C/Util/7zipInstall/resource.h: -------------------------------------------------------------------------------- 1 | #define IDD_INSTALL 100 2 | 3 | #define IDT_EXTRACT_EXTRACT_TO 110 4 | #define IDE_EXTRACT_PATH 111 5 | #define IDB_EXTRACT_SET_PATH 112 6 | #define IDT_CUR_FILE 113 7 | #define IDC_PROGRESS 114 8 | 9 | #define IDI_ICON 1 10 | -------------------------------------------------------------------------------- /C/Util/7zipUninstall/7zipUninstall.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "7zipUninstall"=.\7zipUninstall.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /C/Util/7zipUninstall/7zipUninstall.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/C/Util/7zipUninstall/7zipUninstall.ico -------------------------------------------------------------------------------- /C/Util/7zipUninstall/Precomp.c: -------------------------------------------------------------------------------- 1 | /* Precomp.c -- StdAfx 2 | 2013-01-21 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | -------------------------------------------------------------------------------- /C/Util/7zipUninstall/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- Precomp 2 | 2024-01-23 : Igor Pavlov : Public domain */ 3 | 4 | // #ifndef ZIP7_INC_PRECOMP_LOC_H 5 | // #define ZIP7_INC_PRECOMP_LOC_H 6 | 7 | #if defined(_MSC_VER) && _MSC_VER >= 1800 8 | #pragma warning(disable : 4464) // relative include path contains '..' 9 | #endif 10 | 11 | #include "../../Precomp.h" 12 | 13 | // #endif 14 | -------------------------------------------------------------------------------- /C/Util/7zipUninstall/makefile: -------------------------------------------------------------------------------- 1 | PROG = 7zipUninstall.exe 2 | MY_FIXED = 1 3 | 4 | !IFDEF Z7_64BIT_INSTALLER 5 | CFLAGS = $(CFLAGS) -DZ7_64BIT_INSTALLER 6 | !ENDIF 7 | 8 | MAIN_OBJS = \ 9 | $O\7zipUninstall.obj \ 10 | 11 | OBJS = \ 12 | $(MAIN_OBJS) \ 13 | $O\resource.res 14 | 15 | !include "../../../CPP/Build.mak" 16 | 17 | $(MAIN_OBJS): $(*B).c 18 | $(COMPL_O1) 19 | -------------------------------------------------------------------------------- /C/Util/7zipUninstall/resource.h: -------------------------------------------------------------------------------- 1 | #define IDD_INSTALL 100 2 | 3 | #define IDT_EXTRACT_EXTRACT_TO 110 4 | #define IDE_EXTRACT_PATH 111 5 | 6 | #define IDT_CUR_FILE 113 7 | #define IDC_PROGRESS 114 8 | 9 | #define IDI_ICON 1 10 | -------------------------------------------------------------------------------- /C/Util/Lzma/LzmaUtil.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "LzmaUtil"=.\LzmaUtil.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /C/Util/Lzma/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- Precomp 2 | 2024-01-23 : Igor Pavlov : Public domain */ 3 | 4 | // #ifndef ZIP7_INC_PRECOMP_LOC_H 5 | // #define ZIP7_INC_PRECOMP_LOC_H 6 | 7 | #if defined(_MSC_VER) && _MSC_VER >= 1800 8 | #pragma warning(disable : 4464) // relative include path contains '..' 9 | #endif 10 | 11 | #include "../../Precomp.h" 12 | 13 | // #endif 14 | -------------------------------------------------------------------------------- /C/Util/Lzma/makefile: -------------------------------------------------------------------------------- 1 | # MY_STATIC_LINK=1 2 | PROG = LZMAc.exe 3 | 4 | CFLAGS = $(CFLAGS) \ 5 | 6 | LIB_OBJS = \ 7 | $O\LzmaUtil.obj \ 8 | 9 | C_OBJS = \ 10 | $O\Alloc.obj \ 11 | $O\CpuArch.obj \ 12 | $O\LzFind.obj \ 13 | $O\LzFindMt.obj \ 14 | $O\LzFindOpt.obj \ 15 | $O\LzmaDec.obj \ 16 | $O\LzmaEnc.obj \ 17 | $O\7zFile.obj \ 18 | $O\7zStream.obj \ 19 | $O\Threads.obj \ 20 | 21 | OBJS = \ 22 | $(LIB_OBJS) \ 23 | $(C_OBJS) \ 24 | 25 | !include "../../../CPP/Build.mak" 26 | 27 | $(LIB_OBJS): $(*B).c 28 | $(COMPL_O2) 29 | $(C_OBJS): ../../$(*B).c 30 | $(COMPL_O2) 31 | -------------------------------------------------------------------------------- /C/Util/Lzma/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = 7lzma 2 | 3 | include ../../../CPP/7zip/LzmaDec_gcc.mak 4 | 5 | 6 | OBJS = \ 7 | $(LZMA_DEC_OPT_OBJS) \ 8 | $O/7zFile.o \ 9 | $O/7zStream.o \ 10 | $O/Alloc.o \ 11 | $O/CpuArch.o \ 12 | $O/LzFind.o \ 13 | $O/LzFindMt.o \ 14 | $O/LzFindOpt.o \ 15 | $O/LzmaDec.o \ 16 | $O/LzmaEnc.o \ 17 | $O/LzmaUtil.o \ 18 | $O/Threads.o \ 19 | 20 | 21 | include ../../7zip_gcc_c.mak 22 | -------------------------------------------------------------------------------- /C/Util/LzmaLib/LzmaLib.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | LzmaCompress 3 | LzmaUncompress 4 | 5 | -------------------------------------------------------------------------------- /C/Util/LzmaLib/LzmaLib.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "LzmaLib"=.\LzmaLib.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /C/Util/LzmaLib/LzmaLibExports.c: -------------------------------------------------------------------------------- 1 | /* LzmaLibExports.c -- LZMA library DLL Entry point 2 | 2023-03-05 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | 6 | #include "../../7zWindows.h" 7 | 8 | BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved); 9 | BOOL WINAPI DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved) 10 | { 11 | UNUSED_VAR(hInstance) 12 | UNUSED_VAR(dwReason) 13 | UNUSED_VAR(lpReserved) 14 | return TRUE; 15 | } 16 | -------------------------------------------------------------------------------- /C/Util/LzmaLib/Precomp.c: -------------------------------------------------------------------------------- 1 | /* Precomp.c -- StdAfx 2 | 2013-01-21 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | -------------------------------------------------------------------------------- /C/Util/LzmaLib/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- Precomp 2 | 2024-01-23 : Igor Pavlov : Public domain */ 3 | 4 | // #ifndef ZIP7_INC_PRECOMP_LOC_H 5 | // #define ZIP7_INC_PRECOMP_LOC_H 6 | 7 | #if defined(_MSC_VER) && _MSC_VER >= 1800 8 | #pragma warning(disable : 4464) // relative include path contains '..' 9 | #endif 10 | 11 | #include "../../Precomp.h" 12 | 13 | // #endif 14 | -------------------------------------------------------------------------------- /C/Util/LzmaLib/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../7zVersion.rc" 2 | 3 | MY_VERSION_INFO_DLL("LZMA library", "LZMA") 4 | -------------------------------------------------------------------------------- /C/Util/SfxSetup/Precomp.c: -------------------------------------------------------------------------------- 1 | /* Precomp.c -- StdAfx 2 | 2013-01-21 : Igor Pavlov : Public domain */ 3 | 4 | #include "Precomp.h" 5 | -------------------------------------------------------------------------------- /C/Util/SfxSetup/Precomp.h: -------------------------------------------------------------------------------- 1 | /* Precomp.h -- Precomp 2 | 2024-01-23 : Igor Pavlov : Public domain */ 3 | 4 | // #ifndef ZIP7_INC_PRECOMP_LOC_H 5 | // #define ZIP7_INC_PRECOMP_LOC_H 6 | 7 | #if defined(_MSC_VER) && _MSC_VER >= 1800 8 | #pragma warning(disable : 4464) // relative include path contains '..' 9 | #endif 10 | 11 | #include "../../Precomp.h" 12 | 13 | // #endif 14 | -------------------------------------------------------------------------------- /C/Util/SfxSetup/SfxSetup.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "SfxSetup"=.\SfxSetup.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /C/Util/SfxSetup/makefile_con: -------------------------------------------------------------------------------- 1 | PROG = 7zS2con.sfx 2 | MY_FIXED = 1 3 | 4 | CFLAGS = $(CFLAGS) -D_CONSOLE \ 5 | -DZ7_EXTRACT_ONLY \ 6 | 7 | C_OBJS = \ 8 | $O\7zAlloc.obj \ 9 | $O\7zArcIn.obj \ 10 | $O\7zBuf.obj \ 11 | $O\7zBuf2.obj \ 12 | $O\7zCrc.obj \ 13 | $O\7zCrcOpt.obj \ 14 | $O\7zFile.obj \ 15 | $O\7zDec.obj \ 16 | $O\7zStream.obj \ 17 | $O\Bcj2.obj \ 18 | $O\Bra.obj \ 19 | $O\Bra86.obj \ 20 | $O\BraIA64.obj \ 21 | $O\CpuArch.obj \ 22 | $O\Delta.obj \ 23 | $O\DllSecur.obj \ 24 | $O\Lzma2Dec.obj \ 25 | $O\LzmaDec.obj \ 26 | 27 | 7Z_OBJS = \ 28 | $O\SfxSetup.obj \ 29 | 30 | OBJS = \ 31 | $(7Z_OBJS) \ 32 | $(C_OBJS) \ 33 | $O\resource.res 34 | 35 | !include "../../../CPP/Build.mak" 36 | 37 | $(7Z_OBJS): $(*B).c 38 | $(COMPL_O1) 39 | $(C_OBJS): ../../$(*B).c 40 | $(COMPL_O1) 41 | -------------------------------------------------------------------------------- /C/Util/SfxSetup/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../7zVersion.rc" 2 | 3 | MY_VERSION_INFO_APP("7z Setup SFX small", "7zS2.sfx") 4 | 5 | 1 ICON "setup.ico" 6 | -------------------------------------------------------------------------------- /C/Util/SfxSetup/setup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/C/Util/SfxSetup/setup.ico -------------------------------------------------------------------------------- /C/XzCrc64.h: -------------------------------------------------------------------------------- 1 | /* XzCrc64.h -- CRC64 calculation 2 | 2023-12-08 : Igor Pavlov : Public domain */ 3 | 4 | #ifndef ZIP7_INC_XZ_CRC64_H 5 | #define ZIP7_INC_XZ_CRC64_H 6 | 7 | #include 8 | 9 | #include "7zTypes.h" 10 | 11 | EXTERN_C_BEGIN 12 | 13 | // extern UInt64 g_Crc64Table[]; 14 | 15 | void Z7_FASTCALL Crc64GenerateTable(void); 16 | 17 | #define CRC64_INIT_VAL UINT64_CONST(0xFFFFFFFFFFFFFFFF) 18 | #define CRC64_GET_DIGEST(crc) ((crc) ^ CRC64_INIT_VAL) 19 | // #define CRC64_UPDATE_BYTE(crc, b) (g_Crc64Table[((crc) ^ (b)) & 0xFF] ^ ((crc) >> 8)) 20 | 21 | UInt64 Z7_FASTCALL Crc64Update(UInt64 crc, const void *data, size_t size); 22 | // UInt64 Z7_FASTCALL Crc64Calc(const void *data, size_t size); 23 | 24 | EXTERN_C_END 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /C/var_clang.mak: -------------------------------------------------------------------------------- 1 | PLATFORM= 2 | O=b/c 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM= 9 | CC=$(CROSS_COMPILE)clang 10 | CXX=$(CROSS_COMPILE)clang++ 11 | USE_CLANG=1 12 | -------------------------------------------------------------------------------- /C/var_clang_arm64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=arm64 2 | O=b/c_$(PLATFORM) 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64=1 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM=1 9 | ASM_FLAGS=-Wno-unused-macros 10 | CC=$(CROSS_COMPILE)clang 11 | CXX=$(CROSS_COMPILE)clang++ 12 | USE_CLANG=1 13 | -------------------------------------------------------------------------------- /C/var_clang_x64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x64 2 | O=b/c_$(PLATFORM) 3 | IS_X64=1 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM=1 9 | CC=$(CROSS_COMPILE)clang 10 | CXX=$(CROSS_COMPILE)clang++ 11 | USE_CLANG=1 12 | -------------------------------------------------------------------------------- /C/var_clang_x86.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x86 2 | O=b/c_$(PLATFORM) 3 | IS_X64= 4 | IS_X86=1 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH=-m32 8 | USE_ASM=1 9 | CC=$(CROSS_COMPILE)clang 10 | CXX=$(CROSS_COMPILE)clang++ 11 | USE_CLANG=1 12 | -------------------------------------------------------------------------------- /C/var_gcc.mak: -------------------------------------------------------------------------------- 1 | PLATFORM= 2 | O=b/g 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM= 9 | CC=$(CROSS_COMPILE)gcc 10 | CXX=$(CROSS_COMPILE)g++ 11 | 12 | # -march=armv8-a+crc+crypto 13 | -------------------------------------------------------------------------------- /C/var_gcc_arm64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=arm64 2 | O=b/g_$(PLATFORM) 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64=1 6 | CROSS_COMPILE= 7 | MY_ARCH=-mtune=cortex-a53 8 | USE_ASM=1 9 | CC=$(CROSS_COMPILE)gcc 10 | CXX=$(CROSS_COMPILE)g++ 11 | 12 | # -march=armv8-a+crc+crypto 13 | -------------------------------------------------------------------------------- /C/var_gcc_x64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x64 2 | O=b/g_$(PLATFORM) 3 | IS_X64=1 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM=1 9 | CC=$(CROSS_COMPILE)gcc 10 | CXX=$(CROSS_COMPILE)g++ 11 | -------------------------------------------------------------------------------- /C/var_gcc_x86.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x86 2 | O=b/g_$(PLATFORM) 3 | IS_X64= 4 | IS_X86=1 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH=-m32 8 | USE_ASM=1 9 | CC=$(CROSS_COMPILE)gcc 10 | CXX=$(CROSS_COMPILE)g++ 11 | -------------------------------------------------------------------------------- /C/var_mac_arm64.mak: -------------------------------------------------------------------------------- 1 | IS_MAC=1 2 | PLATFORM=arm64 3 | O=b/m_$(PLATFORM) 4 | IS_X64= 5 | IS_X86= 6 | IS_ARM64=1 7 | CROSS_COMPILE= 8 | MY_ARCH=-arch arm64 9 | USE_ASM=1 10 | CC=$(CROSS_COMPILE)clang 11 | CXX=$(CROSS_COMPILE)clang++ 12 | USE_CLANG=1 13 | -------------------------------------------------------------------------------- /C/var_mac_x64.mak: -------------------------------------------------------------------------------- 1 | IS_MAC=1 2 | PLATFORM=x64 3 | O=b/m_$(PLATFORM) 4 | IS_X64=1 5 | IS_X86= 6 | IS_ARM64= 7 | CROSS_COMPILE= 8 | MY_ARCH=-arch x86_64 9 | USE_ASM=1 10 | CC=$(CROSS_COMPILE)clang 11 | CXX=$(CROSS_COMPILE)clang++ 12 | USE_CLANG=1 13 | -------------------------------------------------------------------------------- /CPP/7zip/Aes.mak: -------------------------------------------------------------------------------- 1 | C_OBJS = $(C_OBJS) \ 2 | $O\Aes.obj 3 | 4 | !IF defined(USE_C_AES) || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64" 5 | C_OBJS = $(C_OBJS) \ 6 | $O\AesOpt.obj 7 | !ELSEIF "$(PLATFORM)" != "ia64" && "$(PLATFORM)" != "mips" && "$(PLATFORM)" != "arm" && "$(PLATFORM)" != "arm64" 8 | ASM_OBJS = $(ASM_OBJS) \ 9 | $O\AesOpt.obj 10 | !ENDIF 11 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/7z.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "7z"=".\7z.dsp" - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/7zCompressionMode.cpp: -------------------------------------------------------------------------------- 1 | // CompressionMethod.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/7zHeader.cpp: -------------------------------------------------------------------------------- 1 | // 7zHeader.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "7zHeader.h" 6 | 7 | namespace NArchive { 8 | namespace N7z { 9 | 10 | Byte kSignature[kSignatureSize] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C}; 11 | #ifdef Z7_7Z_VOL 12 | Byte kFinishSignature[kSignatureSize] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C + 1}; 13 | #endif 14 | 15 | // We can change signature. So file doesn't contain correct signature. 16 | // struct SignatureInitializer { SignatureInitializer() { kSignature[0]--; } }; 17 | // static SignatureInitializer g_SignatureInitializer; 18 | 19 | }} 20 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/7zProperties.h: -------------------------------------------------------------------------------- 1 | // 7zProperties.h 2 | 3 | #ifndef ZIP7_INC_7Z_PROPERTIES_H 4 | #define ZIP7_INC_7Z_PROPERTIES_H 5 | 6 | #include "../../PropID.h" 7 | 8 | namespace NArchive { 9 | namespace N7z { 10 | 11 | // #define Z7_7Z_SHOW_PACK_STREAMS_SIZES // for debug 12 | 13 | #ifdef Z7_7Z_SHOW_PACK_STREAMS_SIZES 14 | enum 15 | { 16 | kpidPackedSize0 = kpidUserDefined, 17 | kpidPackedSize1, 18 | kpidPackedSize2, 19 | kpidPackedSize3, 20 | kpidPackedSize4 21 | }; 22 | #endif 23 | 24 | }} 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/7zRegister.cpp: -------------------------------------------------------------------------------- 1 | // 7zRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../Common/RegisterArc.h" 6 | 7 | #include "7zHandler.h" 8 | 9 | namespace NArchive { 10 | namespace N7z { 11 | 12 | static Byte k_Signature_Dec[kSignatureSize] = {'7' + 1, 'z', 0xBC, 0xAF, 0x27, 0x1C}; 13 | 14 | REGISTER_ARC_IO_DECREMENT_SIG( 15 | "7z", "7z", NULL, 7, 16 | k_Signature_Dec, 17 | 0, 18 | NArcInfoFlags::kFindSignature 19 | | NArcInfoFlags::kCTime 20 | | NArcInfoFlags::kATime 21 | | NArcInfoFlags::kMTime 22 | | NArcInfoFlags::kMTime_Default 23 | , TIME_PREC_TO_ARC_FLAGS_MASK(NFileTimeType::kWindows) 24 | | TIME_PREC_TO_ARC_FLAGS_TIME_DEFAULT(NFileTimeType::kWindows) 25 | , NULL) 26 | 27 | }} 28 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/7z/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_DLL("7z Plugin", "7z") 4 | 5 | 0 ICON "../Icons/7z.ico" 6 | 7 | STRINGTABLE 8 | BEGIN 9 | 100 "7z:0" 10 | END 11 | 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Archive.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | CreateObject PRIVATE 3 | 4 | GetHandlerProperty PRIVATE 5 | GetNumberOfFormats PRIVATE 6 | GetHandlerProperty2 PRIVATE 7 | GetIsArc PRIVATE 8 | 9 | SetCodecs PRIVATE 10 | 11 | SetLargePageMode PRIVATE 12 | SetCaseSensitive PRIVATE 13 | 14 | GetModuleProp PRIVATE 15 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Archive2.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | CreateObject PRIVATE 3 | 4 | GetHandlerProperty PRIVATE 5 | GetNumberOfFormats PRIVATE 6 | GetHandlerProperty2 PRIVATE 7 | GetIsArc PRIVATE 8 | 9 | GetNumberOfMethods PRIVATE 10 | GetMethodProperty PRIVATE 11 | CreateDecoder PRIVATE 12 | CreateEncoder PRIVATE 13 | 14 | GetHashers PRIVATE 15 | 16 | SetCodecs PRIVATE 17 | 18 | SetLargePageMode PRIVATE 19 | SetCaseSensitive PRIVATE 20 | 21 | GetModuleProp PRIVATE 22 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Cab/CabBlockInStream.h: -------------------------------------------------------------------------------- 1 | // CabBlockInStream.h 2 | 3 | #ifndef ZIP7_INC_CAB_BLOCK_IN_STREAM_H 4 | #define ZIP7_INC_CAB_BLOCK_IN_STREAM_H 5 | 6 | #include "../../IStream.h" 7 | 8 | namespace NArchive { 9 | namespace NCab { 10 | 11 | class CBlockPackData 12 | { 13 | Byte *_buf; 14 | UInt32 _size; 15 | public: 16 | CBlockPackData(): _buf(NULL), _size(0) {} 17 | ~CBlockPackData() throw(); 18 | bool Create() throw(); 19 | void InitForNewBlock() { _size = 0; } 20 | HRESULT Read(ISequentialInStream *stream, Byte ReservedSize, UInt32 &packSize, UInt32 &unpackSize) throw(); 21 | UInt32 GetPackSize() const { return _size; } 22 | // 32 bytes of overread zone is available after PackSize: 23 | const Byte *GetData() const { return _buf; } 24 | }; 25 | 26 | }} 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Cab/CabHandler.h: -------------------------------------------------------------------------------- 1 | // CabHandler.h 2 | 3 | #ifndef ZIP7_INC_CAB_HANDLER_H 4 | #define ZIP7_INC_CAB_HANDLER_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | 8 | #include "../IArchive.h" 9 | 10 | #include "CabIn.h" 11 | 12 | namespace NArchive { 13 | namespace NCab { 14 | 15 | Z7_CLASS_IMP_CHandler_IInArchive_0 16 | 17 | CMvDatabaseEx m_Database; 18 | UString _errorMessage; 19 | bool _isArc; 20 | bool _errorInHeaders; 21 | bool _unexpectedEnd; 22 | // int _mainVolIndex; 23 | UInt32 _phySize; 24 | UInt64 _offset; 25 | }; 26 | 27 | }} 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Cab/CabHeader.cpp: -------------------------------------------------------------------------------- 1 | // CabHeader.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "CabHeader.h" 6 | 7 | namespace NArchive { 8 | namespace NCab { 9 | namespace NHeader { 10 | 11 | const Byte kMarker[kMarkerSize] = {'M', 'S', 'C', 'F', 0, 0, 0, 0 }; 12 | 13 | // struct CSignatureInitializer { CSignatureInitializer() { kMarker[0]--; } } g_SignatureInitializer; 14 | 15 | }}} 16 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Cab/CabRegister.cpp: -------------------------------------------------------------------------------- 1 | // CabRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../Common/RegisterArc.h" 6 | 7 | #include "CabHandler.h" 8 | 9 | namespace NArchive { 10 | namespace NCab { 11 | 12 | REGISTER_ARC_I( 13 | "Cab", "cab", NULL, 8, 14 | NHeader::kMarker, 15 | 0, 16 | NArcInfoFlags::kFindSignature, 17 | NULL) 18 | 19 | }} 20 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Cab/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Chm/ChmHandler.h: -------------------------------------------------------------------------------- 1 | // ChmHandler.h 2 | 3 | #ifndef ZIP7_INC_ARCHIVE_CHM_HANDLER_H 4 | #define ZIP7_INC_ARCHIVE_CHM_HANDLER_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | 8 | #include "../IArchive.h" 9 | 10 | #include "ChmIn.h" 11 | 12 | namespace NArchive { 13 | namespace NChm { 14 | 15 | Z7_CLASS_IMP_CHandler_IInArchive_0 16 | 17 | CFilesDatabase m_Database; 18 | CMyComPtr m_Stream; 19 | bool _help2; 20 | UInt32 m_ErrorFlags; 21 | public: 22 | CHandler(bool help2): _help2(help2) {} 23 | }; 24 | 25 | }} 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Chm/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/DummyOutStream.cpp: -------------------------------------------------------------------------------- 1 | // DummyOutStream.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "DummyOutStream.h" 6 | 7 | Z7_COM7F_IMF(CDummyOutStream::Write(const void *data, UInt32 size, UInt32 *processedSize)) 8 | { 9 | UInt32 realProcessedSize = size; 10 | HRESULT res = S_OK; 11 | if (_stream) 12 | res = _stream->Write(data, size, &realProcessedSize); 13 | _size += realProcessedSize; 14 | if (processedSize) 15 | *processedSize = realProcessedSize; 16 | return res; 17 | } 18 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/DummyOutStream.h: -------------------------------------------------------------------------------- 1 | // DummyOutStream.h 2 | 3 | #ifndef ZIP7_INC_DUMMY_OUT_STREAM_H 4 | #define ZIP7_INC_DUMMY_OUT_STREAM_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | 8 | #include "../../IStream.h" 9 | 10 | Z7_CLASS_IMP_NOQIB_1( 11 | CDummyOutStream 12 | , ISequentialOutStream 13 | ) 14 | CMyComPtr _stream; 15 | UInt64 _size; 16 | public: 17 | void SetStream(ISequentialOutStream *outStream) { _stream = outStream; } 18 | void ReleaseStream() { _stream.Release(); } 19 | void Init() { _size = 0; } 20 | UInt64 GetSize() const { return _size; } 21 | }; 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/FindSignature.h: -------------------------------------------------------------------------------- 1 | // FindSignature.h 2 | 3 | #ifndef ZIP7_INC_FIND_SIGNATURE_H 4 | #define ZIP7_INC_FIND_SIGNATURE_H 5 | 6 | #include "../../IStream.h" 7 | 8 | HRESULT FindSignatureInStream(ISequentialInStream *stream, 9 | const Byte *signature, unsigned signatureSize, 10 | const UInt64 *limit, UInt64 &resPos); 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/OutStreamWithCRC.cpp: -------------------------------------------------------------------------------- 1 | // OutStreamWithCRC.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "OutStreamWithCRC.h" 6 | 7 | Z7_COM7F_IMF(COutStreamWithCRC::Write(const void *data, UInt32 size, UInt32 *processedSize)) 8 | { 9 | HRESULT result = S_OK; 10 | if (_stream) 11 | result = _stream->Write(data, size, &size); 12 | if (_calculate) 13 | _crc = CrcUpdate(_crc, data, size); 14 | _size += size; 15 | if (processedSize) 16 | *processedSize = size; 17 | return result; 18 | } 19 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/ParseProperties.cpp: -------------------------------------------------------------------------------- 1 | // ParseProperties.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/ParseProperties.h: -------------------------------------------------------------------------------- 1 | // ParseProperties.h 2 | 3 | #ifndef ZIP7_INC_PARSE_PROPERTIES_H 4 | #define ZIP7_INC_PARSE_PROPERTIES_H 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Common/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/DeflateProps.cpp: -------------------------------------------------------------------------------- 1 | // DeflateProps.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/DeflateProps.h: -------------------------------------------------------------------------------- 1 | // DeflateProps.h 2 | 3 | #ifndef ZIP7_INC_DEFLATE_PROPS_H 4 | #define ZIP7_INC_DEFLATE_PROPS_H 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/7z.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/7z.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/apfs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/apfs.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/arj.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/arj.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/bz2.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/bz2.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/cab.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/cab.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/cpio.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/cpio.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/deb.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/deb.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/dmg.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/dmg.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/fat.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/fat.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/gz.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/gz.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/hfs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/hfs.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/iso.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/iso.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/lzh.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/lzh.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/lzma.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/lzma.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/ntfs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/ntfs.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/rar.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/rar.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/rpm.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/rpm.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/split.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/split.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/squashfs.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/squashfs.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/tar.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/tar.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/vhd.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/vhd.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/wim.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/wim.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/xar.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/xar.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/xz.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/xz.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/z.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/z.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/zip.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/zip.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Icons/zst.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Archive/Icons/zst.ico -------------------------------------------------------------------------------- /CPP/7zip/Archive/Iso/IsoHandler.h: -------------------------------------------------------------------------------- 1 | // IsoHandler.h 2 | 3 | #ifndef ZIP7_INC_ISO_HANDLER_H 4 | #define ZIP7_INC_ISO_HANDLER_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | 8 | #include "../IArchive.h" 9 | 10 | #include "IsoIn.h" 11 | 12 | namespace NArchive { 13 | namespace NIso { 14 | 15 | Z7_CLASS_IMP_CHandler_IInArchive_1( 16 | IInArchiveGetStream 17 | ) 18 | CMyComPtr _stream; 19 | CInArchive _archive; 20 | }; 21 | 22 | }} 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Iso/IsoHeader.cpp: -------------------------------------------------------------------------------- 1 | // Archive/Iso/Header.h 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "IsoHeader.h" 6 | 7 | namespace NArchive { 8 | namespace NIso { 9 | 10 | const char * const kElToritoSpec = "EL TORITO SPECIFICATION\0\0\0\0\0\0\0\0\0"; 11 | 12 | }} 13 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Iso/IsoRegister.cpp: -------------------------------------------------------------------------------- 1 | // IsoRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../Common/RegisterArc.h" 6 | 7 | #include "IsoHandler.h" 8 | 9 | namespace NArchive { 10 | namespace NIso { 11 | 12 | static const Byte k_Signature[] = { 'C', 'D', '0', '0', '1' }; 13 | 14 | REGISTER_ARC_I( 15 | "Iso", "iso img", NULL, 0xE7, 16 | k_Signature, 17 | NArchive::NIso::kStartPos + 1, 18 | 0, 19 | NULL) 20 | 21 | }} 22 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Iso/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Nsis/NsisHandler.h: -------------------------------------------------------------------------------- 1 | // NSisHandler.h 2 | 3 | #ifndef ZIP7_INC_NSIS_HANDLER_H 4 | #define ZIP7_INC_NSIS_HANDLER_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | 8 | #include "../../Common/CreateCoder.h" 9 | 10 | #include "../IArchive.h" 11 | 12 | #include "NsisIn.h" 13 | 14 | namespace NArchive { 15 | namespace NNsis { 16 | 17 | Z7_CLASS_IMP_CHandler_IInArchive_0 18 | 19 | CInArchive _archive; 20 | AString _methodString; 21 | 22 | bool GetUncompressedSize(unsigned index, UInt32 &size) const; 23 | bool GetCompressedSize(unsigned index, UInt32 &size) const; 24 | 25 | // AString GetMethod(NMethodType::EEnum method, bool useItemFilter, UInt32 dictionary) const; 26 | }; 27 | 28 | }} 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Nsis/NsisRegister.cpp: -------------------------------------------------------------------------------- 1 | // NsisRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../Common/RegisterArc.h" 6 | 7 | #include "NsisHandler.h" 8 | 9 | namespace NArchive { 10 | namespace NNsis { 11 | 12 | REGISTER_ARC_I( 13 | "Nsis", "nsis", NULL, 0x9, 14 | kSignature, 15 | 4, 16 | NArcInfoFlags::kFindSignature | 17 | NArcInfoFlags::kUseGlobalOffset, 18 | NULL) 19 | 20 | }} 21 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Nsis/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Rar/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Rar/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Tar/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Udf/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Udf/UdfHandler.h: -------------------------------------------------------------------------------- 1 | // UdfHandler.h 2 | 3 | #ifndef ZIP7_INC_UDF_HANDLER_H 4 | #define ZIP7_INC_UDF_HANDLER_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | 8 | #include "../IArchive.h" 9 | 10 | #include "UdfIn.h" 11 | 12 | namespace NArchive { 13 | namespace NUdf { 14 | 15 | struct CRef2 16 | { 17 | unsigned Vol; 18 | unsigned Fs; 19 | unsigned Ref; 20 | }; 21 | 22 | Z7_CLASS_IMP_CHandler_IInArchive_1( 23 | IInArchiveGetStream 24 | ) 25 | CRecordVector _refs2; 26 | CMyComPtr _inStream; 27 | CInArchive _archive; 28 | }; 29 | 30 | }} 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Wim/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Wim/WimRegister.cpp: -------------------------------------------------------------------------------- 1 | // WimRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../Common/RegisterArc.h" 6 | 7 | #include "WimHandler.h" 8 | 9 | namespace NArchive { 10 | namespace NWim { 11 | 12 | REGISTER_ARC_IO( 13 | "wim", "wim swm esd ppkg", NULL, 0xE6 14 | , kSignature, 0 15 | , NArcInfoFlags::kAltStreams 16 | | NArcInfoFlags::kNtSecure 17 | | NArcInfoFlags::kSymLinks 18 | | NArcInfoFlags::kHardLinks 19 | | NArcInfoFlags::kCTime 20 | // | NArcInfoFlags::kCTime_Default 21 | | NArcInfoFlags::kATime 22 | // | NArcInfoFlags::kATime_Default 23 | | NArcInfoFlags::kMTime 24 | | NArcInfoFlags::kMTime_Default 25 | , TIME_PREC_TO_ARC_FLAGS_MASK (NFileTimeType::kWindows) 26 | | TIME_PREC_TO_ARC_FLAGS_TIME_DEFAULT (NFileTimeType::kWindows) 27 | , NULL) 28 | 29 | }} 30 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/XzHandler.h: -------------------------------------------------------------------------------- 1 | // XzHandler.h 2 | 3 | #ifndef ZIP7_INC_XZ_HANDLER_H 4 | #define ZIP7_INC_XZ_HANDLER_H 5 | 6 | namespace NArchive { 7 | namespace NXz { 8 | 9 | }} 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/Zip/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Archive/makefile: -------------------------------------------------------------------------------- 1 | DIRS = \ 2 | 7z\~ \ 3 | Arj\~ \ 4 | BZip2\~ \ 5 | Cab\~ \ 6 | Chm\~ \ 7 | Cpio\~ \ 8 | Deb\~ \ 9 | GZip\~ \ 10 | Iso\~ \ 11 | Lzh\~ \ 12 | Nsis\~ \ 13 | Rar\~ \ 14 | RPM\~ \ 15 | Split\~ \ 16 | Tar\~ \ 17 | Z\~ \ 18 | Zip\~ \ 19 | 20 | all: $(DIRS) 21 | 22 | $(DIRS): 23 | !include "../SubBuild.mak" 24 | -------------------------------------------------------------------------------- /CPP/7zip/Asm.mak: -------------------------------------------------------------------------------- 1 | !IFDEF ASM_OBJS 2 | !IF "$(PLATFORM)" == "arm64" 3 | $(ASM_OBJS): ../../../../Asm/arm64/$(*B).S 4 | $(COMPL_ASM_CLANG) 5 | !ELSEIF "$(PLATFORM)" == "arm" 6 | $(ASM_OBJS): ../../../../Asm/arm/$(*B).asm 7 | $(COMPL_ASM) 8 | !ELSEIF "$(PLATFORM)" != "ia64" && "$(PLATFORM)" != "mips" 9 | $(ASM_OBJS): ../../../../Asm/x86/$(*B).asm 10 | $(COMPL_ASM) 11 | !ENDIF 12 | !ENDIF 13 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone/Alone.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Alone"=.\Alone.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_APP("7-Zip Standalone Console", "7za") 4 | 5 | #ifndef UNDER_CE 6 | 1 24 MOVEABLE PURE "../../UI/Console/Console.manifest" 7 | #endif 8 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone2/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone2/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone2/makefile: -------------------------------------------------------------------------------- 1 | PROG = 7zz.exe 2 | # USE_C_AES = 1 3 | # USE_C_SHA = 1 4 | 5 | CFLAGS = $(CFLAGS) -DZ7_PROG_VARIANT_Z 6 | # CONSOLE_VARIANT_FLAGS=-DZ7_PROG_VARIANT_Z 7 | 8 | !include "../Format7zF/Arc.mak" 9 | !include "../../UI/Console/Console.mak" 10 | 11 | COMMON_OBJS = $(COMMON_OBJS) \ 12 | $O\CommandLineParser.obj \ 13 | $O\ListFileUtils.obj \ 14 | $O\StdInStream.obj \ 15 | $O\StdOutStream.obj \ 16 | 17 | WIN_OBJS = $(WIN_OBJS) \ 18 | $O\DLL.obj \ 19 | $O\ErrorMsg.obj \ 20 | $O\FileLink.obj \ 21 | $O\FileSystem.obj \ 22 | $O\MemoryLock.obj \ 23 | $O\Registry.obj \ 24 | $O\SystemInfo.obj \ 25 | 26 | 7ZIP_COMMON_OBJS = $(7ZIP_COMMON_OBJS) \ 27 | $O\FilePathAutoRename.obj \ 28 | $O\FileStreams.obj \ 29 | $O\MultiOutStream.obj \ 30 | 31 | !include "../../7zip.mak" 32 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone2/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_APP("7-Zip Standalone 2 Console", "7zz") 4 | 5 | #ifndef UNDER_CE 6 | 1 24 MOVEABLE PURE "../../UI/Console/Console.manifest" 7 | #endif 8 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone7z/Alone.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Alone"=.\Alone.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone7z/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone7z/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Alone7z/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../../../C/7zVersion.rc" 2 | 3 | MY_VERSION_INFO_APP("7-Zip Reduced Standalone Console", "7zr") 4 | 5 | #ifndef UNDER_CE 6 | 1 24 MOVEABLE PURE "../../UI/Console/Console.manifest" 7 | #endif 8 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Fm/FM.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "FM"=.\FM.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Fm/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Fm/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #if _MSC_VER >= 1800 4 | #pragma warning(disable : 4464) // relative include path contains '..' 5 | #endif 6 | #include "../../UI/FileManager/StdAfx.h" 7 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Fm/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../UI/FileManager/resource.rc" 2 | #include "../../UI/GUI/resource2.rc" 3 | 4 | STRINGTABLE 5 | BEGIN 6 | 100 "7z zip rar 001 cab iso xz txz lzma tar cpio bz2 bzip2 tbz2 tbz gz gzip tgz tpz z taz lzh lha rpm deb arj vhd vhdx wim swm esd fat ntfs dmg hfs xar squashfs apfs" 7 | END 8 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7z/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7z/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7z/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_DLL("7z Standalone Plugin", "7za") 4 | 5 | 101 ICON "../../Archive/Icons/7z.ico" 6 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zExtract/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zExtract/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zExtract/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_DLL("7z Standalone Extracting Plugin", "7zxa") 4 | 5 | 101 ICON "../../Archive/Icons/7z.ico" 6 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zExtractR/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zExtractR/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zExtractR/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../../../C/7zVersion.rc" 2 | 3 | MY_VERSION_INFO_DLL("7z Extracting Reduced Standalone Plugin", "7zxr") 4 | 5 | 101 ICON "../../Archive/Icons/7z.ico" 6 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zF/Format7z.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "7z"=.\Format7z.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zF/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zF/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zF/makefile: -------------------------------------------------------------------------------- 1 | PROG = 7z.dll 2 | # USE_C_LZFINDOPT = 1 3 | DEF_FILE = ../../Archive/Archive2.def 4 | CFLAGS = $(CFLAGS) \ 5 | -DZ7_EXTERNAL_CODECS \ 6 | 7 | !IFNDEF UNDER_CE 8 | # CFLAGS = $(CFLAGS) -DZ7_LARGE_PAGES 9 | !ENDIF 10 | 11 | !include "Arc.mak" 12 | 13 | COMPRESS_OBJS = $(COMPRESS_OBJS) \ 14 | $O\CodecExports.obj \ 15 | 16 | AR_OBJS = $(AR_OBJS) \ 17 | $O\ArchiveExports.obj \ 18 | $O\DllExports2.obj \ 19 | 20 | 21 | !include "../../7zip.mak" 22 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zR/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zR/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/Format7zR/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../../../C/7zVersion.rc" 2 | 3 | MY_VERSION_INFO_DLL("7z Reduced Standalone Plugin", "7zr") 4 | 5 | 101 ICON "../../Archive/Icons/7z.ico" 6 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/LzmaCon/LzmaCon.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "LzmaCon"=.\LzmaCon.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/LzmaCon/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/LzmaCon/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/LzmaCon/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_APP("LZMA", "lzma") 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXCon/7z.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Bundles/SFXCon/7z.ico -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXCon/SFXCon.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "SFXCon"=.\SFXCon.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXCon/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXCon/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXCon/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_APP("7z Console SFX", "7z.sfx") 4 | 5 | 101 ICON "7z.ico" 6 | 7 | #ifndef UNDER_CE 8 | 1 24 MOVEABLE PURE "../../UI/Console/Console.manifest" 9 | #endif 10 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/ExtractEngine.h: -------------------------------------------------------------------------------- 1 | // ExtractEngine.h 2 | 3 | #ifndef ZIP7_INC_EXTRACT_ENGINE_H 4 | #define ZIP7_INC_EXTRACT_ENGINE_H 5 | 6 | #include "../../UI/Common/LoadCodecs.h" 7 | 8 | HRESULT ExtractArchive(CCodecs *codecs, const FString &fileName, const FString &destFolder, 9 | bool showProgress, bool &isCorrupt, UString &errorMessage); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/SFXSetup.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "SFXSetup"=.\SFXSetup.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #if _MSC_VER >= 1800 4 | #pragma warning(disable : 4464) // relative include path contains '..' 5 | #endif 6 | #include "../../UI/FileManager/StdAfx.h" 7 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/resource.h: -------------------------------------------------------------------------------- 1 | #define IDI_ICON 1 2 | 3 | #define IDS_EXTRACTION_ERROR_TITLE 7 4 | #define IDS_EXTRACTION_ERROR_MESSAGE 8 5 | #define IDS_CANNOT_CREATE_FOLDER 3003 6 | #define IDS_PROGRESS_EXTRACTING 3300 7 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | #include "resource.h" 3 | 4 | MY_VERSION_INFO_APP("7z Setup SFX", "7zS.sfx") 5 | 6 | IDI_ICON ICON "setup.ico" 7 | 8 | STRINGTABLE 9 | BEGIN 10 | IDS_EXTRACTION_ERROR_TITLE "Extraction Failed" 11 | IDS_EXTRACTION_ERROR_MESSAGE "File is corrupt" 12 | IDS_CANNOT_CREATE_FOLDER "Cannot create folder '{0}'" 13 | IDS_PROGRESS_EXTRACTING "Extracting" 14 | END 15 | 16 | #include "../../UI/FileManager/ProgressDialog.rc" 17 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXSetup/setup.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Bundles/SFXSetup/setup.ico -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXWin/7z.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/Bundles/SFXWin/7z.ico -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXWin/SFXWin.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "SFXWin"=.\SFXWin.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXWin/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXWin/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #if _MSC_VER >= 1800 4 | #pragma warning(disable : 4464) // relative include path contains '..' 5 | #endif 6 | #include "../../UI/FileManager/StdAfx.h" 7 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/SFXWin/resource.h: -------------------------------------------------------------------------------- 1 | #define IDI_ICON 1 2 | -------------------------------------------------------------------------------- /CPP/7zip/Bundles/makefile: -------------------------------------------------------------------------------- 1 | DIRS = \ 2 | Alone\~ \ 3 | Alone2\~ \ 4 | Alone7z\~ \ 5 | Fm\~ \ 6 | Format7z\~ \ 7 | Format7zF\~ \ 8 | Format7zR\~ \ 9 | Format7zExtract\~ \ 10 | Format7zExtractR\~ \ 11 | LzmaCon\~ \ 12 | SFXCon\~ \ 13 | SFXSetup\~ \ 14 | SFXWin\~ \ 15 | 16 | all: $(DIRS) 17 | 18 | $(DIRS): 19 | !include "../SubBuild.mak" 20 | -------------------------------------------------------------------------------- /CPP/7zip/Common/FilePathAutoRename.h: -------------------------------------------------------------------------------- 1 | // FilePathAutoRename.h 2 | 3 | #ifndef ZIP7_INC_FILE_PATH_AUTO_RENAME_H 4 | #define ZIP7_INC_FILE_PATH_AUTO_RENAME_H 5 | 6 | #include "../../Common/MyString.h" 7 | 8 | bool AutoRenamePath(FString &fullProcessedPath); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/Common/LockedStream.cpp: -------------------------------------------------------------------------------- 1 | // LockedStream.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Common/LockedStream.h: -------------------------------------------------------------------------------- 1 | // LockedStream.h 2 | 3 | #ifndef ZIP7_INC_LOCKED_STREAM_H 4 | #define ZIP7_INC_LOCKED_STREAM_H 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /CPP/7zip/Common/MethodId.cpp: -------------------------------------------------------------------------------- 1 | // MethodId.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Common/MethodId.h: -------------------------------------------------------------------------------- 1 | // MethodId.h 2 | 3 | #ifndef ZIP7_INC_7Z_METHOD_ID_H 4 | #define ZIP7_INC_7Z_METHOD_ID_H 5 | 6 | #include "../../Common/MyTypes.h" 7 | 8 | typedef UInt64 CMethodId; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/Common/OffsetStream.h: -------------------------------------------------------------------------------- 1 | // OffsetStream.h 2 | 3 | #ifndef ZIP7_INC_OFFSET_STREAM_H 4 | #define ZIP7_INC_OFFSET_STREAM_H 5 | 6 | #include "../../Common/MyCom.h" 7 | 8 | #include "../IStream.h" 9 | 10 | Z7_CLASS_IMP_NOQIB_1( 11 | COffsetOutStream 12 | , IOutStream 13 | ) 14 | Z7_IFACE_COM7_IMP(ISequentialOutStream) 15 | 16 | CMyComPtr _stream; 17 | UInt64 _offset; 18 | public: 19 | HRESULT Init(IOutStream *stream, UInt64 offset); 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /CPP/7zip/Common/ProgressUtils.h: -------------------------------------------------------------------------------- 1 | // ProgressUtils.h 2 | 3 | #ifndef ZIP7_INC_PROGRESS_UTILS_H 4 | #define ZIP7_INC_PROGRESS_UTILS_H 5 | 6 | #include "../../Common/MyCom.h" 7 | 8 | #include "../ICoder.h" 9 | #include "../IProgress.h" 10 | 11 | Z7_CLASS_IMP_COM_1( 12 | CLocalProgress 13 | , ICompressProgressInfo 14 | ) 15 | public: 16 | bool SendRatio; 17 | bool SendProgress; 18 | private: 19 | bool _inSizeIsMain; 20 | CMyComPtr _progress; 21 | CMyComPtr _ratioProgress; 22 | public: 23 | UInt64 ProgressOffset; 24 | UInt64 InSize; 25 | UInt64 OutSize; 26 | 27 | CLocalProgress(); 28 | 29 | void Init(IProgress *progress, bool inSizeIsMain); 30 | HRESULT SetCur(); 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /CPP/7zip/Common/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Common/VirtThread.h: -------------------------------------------------------------------------------- 1 | // VirtThread.h 2 | 3 | #ifndef ZIP7_INC_VIRT_THREAD_H 4 | #define ZIP7_INC_VIRT_THREAD_H 5 | 6 | #include "../../Windows/Synchronization.h" 7 | #include "../../Windows/Thread.h" 8 | 9 | struct CVirtThread 10 | { 11 | NWindows::NSynchronization::CAutoResetEvent StartEvent; 12 | NWindows::NSynchronization::CAutoResetEvent FinishedEvent; 13 | NWindows::CThread Thread; 14 | bool Exit; 15 | 16 | virtual ~CVirtThread() { WaitThreadFinish(); } 17 | void WaitThreadFinish(); // call it in destructor of child class ! 18 | WRes Create(); 19 | WRes Start(); 20 | virtual void Execute() = 0; 21 | WRes WaitExecuteFinish() { return FinishedEvent.Lock(); } 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/BZip2Crc.cpp: -------------------------------------------------------------------------------- 1 | // BZip2Crc.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "BZip2Crc.h" 6 | 7 | MY_ALIGN(64) 8 | UInt32 CBZip2Crc::Table[256]; 9 | 10 | static const UInt32 kBZip2CrcPoly = 0x04c11db7; /* AUTODIN II, Ethernet, & FDDI */ 11 | 12 | void CBZip2Crc::InitTable() 13 | { 14 | for (UInt32 i = 0; i < 256; i++) 15 | { 16 | UInt32 r = i << 24; 17 | for (unsigned j = 0; j < 8; j++) 18 | r = (r << 1) ^ (kBZip2CrcPoly & ((UInt32)0 - (r >> 31))); 19 | Table[i] = r; 20 | } 21 | } 22 | 23 | static 24 | class CBZip2CrcTableInit 25 | { 26 | public: 27 | CBZip2CrcTableInit() { CBZip2Crc::InitTable(); } 28 | } g_BZip2CrcTableInit; 29 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/BZip2Register.cpp: -------------------------------------------------------------------------------- 1 | // BZip2Register.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "BZip2Decoder.h" 8 | #if !defined(Z7_EXTRACT_ONLY) && !defined(Z7_BZIP2_EXTRACT_ONLY) 9 | #include "BZip2Encoder.h" 10 | #endif 11 | 12 | namespace NCompress { 13 | namespace NBZip2 { 14 | 15 | REGISTER_CODEC_CREATE(CreateDec, CDecoder) 16 | 17 | #if !defined(Z7_EXTRACT_ONLY) && !defined(Z7_BZIP2_EXTRACT_ONLY) 18 | REGISTER_CODEC_CREATE(CreateEnc, CEncoder) 19 | #else 20 | #define CreateEnc NULL 21 | #endif 22 | 23 | REGISTER_CODEC_2(BZip2, CreateDec, CreateEnc, 0x40202, "BZip2") 24 | 25 | }} 26 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Balz/LICENSE: -------------------------------------------------------------------------------- 1 | balz.cpp is written and placed in the public domain by Ilya Muravyov 2 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Balz/README.txt: -------------------------------------------------------------------------------- 1 | BALZ v1.20 2 | 3 | DESCRIPTION 4 | BALZ is a command-line file compressor with a high compression ratio and fast decompression. 5 | 6 | AUTHOR 7 | Ilya Muravyov 8 | 9 | THANKS 10 | Special thanks to Matt Mahoney, Eugene Shelwien, Uwe Herklotz, Malcolm Taylor and LovePimple. 11 | 12 | HOMEPAGE 13 | http://sourceforge.net/projects/balz/ 14 | 15 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Balz/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef __STDAFX_H 4 | #define __STDAFX_H 5 | 6 | #include "../../../Common/Common.h" 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Balz/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = Balz 2 | DEF_FILE = ../Codec.def 3 | 4 | # IS_X64 = 1 5 | # USE_ASM = 1 6 | # ST_MODE = 1 7 | 8 | ifdef SystemDrive 9 | 10 | LOCAL_FLAGS_WIN = \ 11 | -D_7ZIP_LARGE_PAGES \ 12 | $(LOCAL_FLAGS_ST) \ 13 | 14 | SYS_OBJS = \ 15 | 16 | else 17 | 18 | SYS_OBJS = \ 19 | $O/MyWindows.o \ 20 | 21 | endif 22 | 23 | LOCAL_FLAGS = \ 24 | -DEXTERNAL_CODECS \ 25 | $(LOCAL_FLAGS_WIN) \ 26 | $(LOCAL_FLAGS_ST) \ 27 | 28 | COMMON_OBJS = \ 29 | $O/InBuffer.o \ 30 | $O/OutBuffer.o \ 31 | $O/StreamUtils.o \ 32 | 33 | COMPRESS_OBJS_2 = \ 34 | $O/CodecExports.o \ 35 | $O/DllExportsCompress.o \ 36 | $O/Alloc.o \ 37 | $O/BalzRegister.o \ 38 | 39 | OBJS = \ 40 | $(COMPRESS_OBJS_2) \ 41 | $(SYS_OBJS) \ 42 | $(COMMON_OBJS) \ 43 | 44 | include ../../7zip_gcc.mak 45 | 46 | $O/BalzRegister.o: BalzRegister.cpp 47 | $(CXX) $(CXXFLAGS) $< 48 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Bcj2Register.cpp: -------------------------------------------------------------------------------- 1 | // Bcj2Register.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "Bcj2Coder.h" 8 | 9 | namespace NCompress { 10 | namespace NBcj2 { 11 | 12 | REGISTER_CODEC_CREATE_2(CreateCodec, CDecoder(), ICompressCoder2) 13 | #ifndef Z7_EXTRACT_ONLY 14 | REGISTER_CODEC_CREATE_2(CreateCodecOut, CEncoder(), ICompressCoder2) 15 | #else 16 | #define CreateCodecOut NULL 17 | #endif 18 | 19 | REGISTER_CODEC_VAR(BCJ2) 20 | { CreateCodec, CreateCodecOut, 0x303011B, "BCJ2", 4, false }; 21 | 22 | REGISTER_CODEC(BCJ2) 23 | 24 | }} 25 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/BcjCoder.cpp: -------------------------------------------------------------------------------- 1 | // BcjCoder.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "BcjCoder.h" 6 | 7 | namespace NCompress { 8 | namespace NBcj { 9 | 10 | Z7_COM7F_IMF(CCoder2::Init()) 11 | { 12 | _pc = 0; 13 | _state = Z7_BRANCH_CONV_ST_X86_STATE_INIT_VAL; 14 | return S_OK; 15 | } 16 | 17 | Z7_COM7F_IMF2(UInt32, CCoder2::Filter(Byte *data, UInt32 size)) 18 | { 19 | const UInt32 processed = (UInt32)(size_t)(_convFunc(data, size, _pc, &_state) - data); 20 | _pc += processed; 21 | return processed; 22 | } 23 | 24 | }} 25 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/BcjRegister.cpp: -------------------------------------------------------------------------------- 1 | // BcjRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "BcjCoder.h" 8 | 9 | namespace NCompress { 10 | namespace NBcj { 11 | 12 | REGISTER_FILTER_E(BCJ, 13 | CCoder2(z7_BranchConvSt_X86_Dec), 14 | CCoder2(z7_BranchConvSt_X86_Enc), 15 | 0x3030103, "BCJ") 16 | 17 | }} 18 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Bcm/README.md: -------------------------------------------------------------------------------- 1 | # BCM v1.60 2 | 3 | ### Description 4 | BCM is a high-performance file compressor that utilizes advanced context modeling techniques to achieve a very high compression ratio. All in all, it's like a big brother of the BZIP2. 5 | 6 | ### Quick Benchmark 7 | [ENWIK8][1] | Compressed Size | 8 | ------------|-------------------| 9 | Original | 100,000,000 bytes | 10 | GZIP -9 | 36,445,248 bytes | 11 | BZIP2 -9 | 29,008,758 bytes | 12 | 7-Zip Ultra | 24,864,804 bytes | 13 | BCM -9 | 20,789,667 bytes | 14 | 15 | [1]:http://mattmahoney.net/dc/text.html 16 | 17 | ### Author 18 | Ilya Muravyov 19 | 20 | ### Thanks 21 | Special thanks to Ilya Grebnov, Yuta Mori, Matt Mahoney, Eugene Shelwien, Alexander Rhatushnyak, Przemyslaw Skibinski, Malcolm Taylor and LovePimple. 22 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Bcm/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef __STDAFX_H 4 | #define __STDAFX_H 5 | 6 | #include "../../../Common/Common.h" 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/BitlDecoder.cpp: -------------------------------------------------------------------------------- 1 | // BitlDecoder.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "BitlDecoder.h" 6 | 7 | namespace NBitl { 8 | 9 | #if defined(Z7_BITL_USE_REVERSE_BITS_TABLE) 10 | 11 | MY_ALIGN(64) 12 | Byte kReverseTable[256]; 13 | 14 | static 15 | struct CReverseerTableInitializer 16 | { 17 | CReverseerTableInitializer() 18 | { 19 | for (unsigned i = 0; i < 256; i++) 20 | { 21 | unsigned 22 | x = ((i & 0x55) << 1) | ((i >> 1) & 0x55); 23 | x = ((x & 0x33) << 2) | ((x >> 2) & 0x33); 24 | kReverseTable[i] = (Byte)((x << 4) | (x >> 4)); 25 | } 26 | } 27 | } g_ReverseerTableInitializer; 28 | 29 | #elif 0 30 | unsigned ReverseBits8test(unsigned i) { return ReverseBits8(i); } 31 | #endif 32 | } 33 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Blake3/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = Blake3 2 | DEF_FILE = ../Codec.def 3 | 4 | # IS_X64 = 1 5 | # USE_ASM = 1 6 | # ST_MODE = 1 7 | 8 | ifdef SystemDrive 9 | 10 | LOCAL_FLAGS_WIN = \ 11 | -D_7ZIP_LARGE_PAGES \ 12 | $(LOCAL_FLAGS_ST) \ 13 | 14 | SYS_OBJS = \ 15 | 16 | else 17 | 18 | SYS_OBJS = \ 19 | $O/MyWindows.o \ 20 | 21 | endif 22 | 23 | LOCAL_FLAGS = \ 24 | -DEXTERNAL_CODECS \ 25 | $(LOCAL_FLAGS_WIN) \ 26 | $(LOCAL_FLAGS_ST) \ 27 | 28 | COMPRESS_OBJS_2 = \ 29 | $O/CodecExports.o \ 30 | $O/DllExportsCompress.o \ 31 | $O/Blake3Reg.o \ 32 | $O/blake3.o \ 33 | 34 | OBJS = \ 35 | $(COMPRESS_OBJS_2) \ 36 | $(SYS_OBJS) \ 37 | $(COMMON_OBJS) \ 38 | 39 | include ../../7zip_gcc.mak 40 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/BrotliRegister.cpp: -------------------------------------------------------------------------------- 1 | // (C) 2017 Tino Reichardt 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "BrotliDecoder.h" 8 | 9 | #ifndef EXTRACT_ONLY 10 | #include "BrotliEncoder.h" 11 | #endif 12 | 13 | REGISTER_CODEC_E( 14 | BROTLI, 15 | NCompress::NBROTLI::CDecoder(), 16 | NCompress::NBROTLI::CEncoder(), 17 | 0x4F71102, "BROTLI") 18 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Codec.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | CreateObject PRIVATE 3 | GetNumberOfMethods PRIVATE 4 | GetMethodProperty PRIVATE 5 | CreateDecoder PRIVATE 6 | CreateEncoder PRIVATE 7 | GetModuleProp PRIVATE 8 | GetHashers PRIVATE 9 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/CopyRegister.cpp: -------------------------------------------------------------------------------- 1 | // CopyRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "CopyCoder.h" 8 | 9 | namespace NCompress { 10 | 11 | REGISTER_CODEC_CREATE(CreateCodec, CCopyCoder()) 12 | 13 | REGISTER_CODEC_2(Copy, CreateCodec, CreateCodec, 0, "Copy") 14 | 15 | } 16 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Deflate64Register.cpp: -------------------------------------------------------------------------------- 1 | // Deflate64Register.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "DeflateDecoder.h" 8 | #if !defined(Z7_EXTRACT_ONLY) && !defined(Z7_DEFLATE_EXTRACT_ONLY) 9 | #include "DeflateEncoder.h" 10 | #endif 11 | 12 | namespace NCompress { 13 | namespace NDeflate { 14 | 15 | REGISTER_CODEC_CREATE(CreateDec, NDecoder::CCOMCoder64()) 16 | 17 | #if !defined(Z7_EXTRACT_ONLY) && !defined(Z7_DEFLATE_EXTRACT_ONLY) 18 | REGISTER_CODEC_CREATE(CreateEnc, NEncoder::CCOMCoder64()) 19 | #else 20 | #define CreateEnc NULL 21 | #endif 22 | 23 | REGISTER_CODEC_2(Deflate64, CreateDec, CreateEnc, 0x40109, "Deflate64") 24 | 25 | }} 26 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/DeflateRegister.cpp: -------------------------------------------------------------------------------- 1 | // DeflateRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "DeflateDecoder.h" 8 | #if !defined(Z7_EXTRACT_ONLY) && !defined(Z7_DEFLATE_EXTRACT_ONLY) 9 | #include "DeflateEncoder.h" 10 | #endif 11 | 12 | namespace NCompress { 13 | namespace NDeflate { 14 | 15 | REGISTER_CODEC_CREATE(CreateDec, NDecoder::CCOMCoder) 16 | 17 | #if !defined(Z7_EXTRACT_ONLY) && !defined(Z7_DEFLATE_EXTRACT_ONLY) 18 | REGISTER_CODEC_CREATE(CreateEnc, NEncoder::CCOMCoder) 19 | #else 20 | #define CreateEnc NULL 21 | #endif 22 | 23 | REGISTER_CODEC_2(Deflate, CreateDec, CreateEnc, 0x40108, "Deflate") 24 | 25 | }} 26 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/FastLzma2Register.cpp: -------------------------------------------------------------------------------- 1 | // FastLzma2Register.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "Lzma2Decoder.h" 8 | 9 | #ifndef EXTRACT_ONLY 10 | #include "FastLzma2Encoder.h" 11 | #endif 12 | 13 | REGISTER_CODEC_E( 14 | FLZMA2, 15 | NCompress::NLzma2::CDecoder(), 16 | NCompress::NLzma2::CFastEncoder(), 17 | 0x21, 18 | "FLZMA2") 19 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/ImplodeHuffmanDecoder.cpp: -------------------------------------------------------------------------------- 1 | // ImplodeHuffmanDecoder.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/ImplodeHuffmanDecoder.h: -------------------------------------------------------------------------------- 1 | // ImplodeHuffmanDecoder.h 2 | 3 | #ifndef ZIP7_INC_IMPLODE_HUFFMAN_DECODER_H 4 | #define ZIP7_INC_IMPLODE_HUFFMAN_DECODER_H 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/LizardRegister.cpp: -------------------------------------------------------------------------------- 1 | // (C) 2017 Tino Reichardt 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "LizardDecoder.h" 8 | 9 | #ifndef EXTRACT_ONLY 10 | #include "LizardEncoder.h" 11 | #endif 12 | 13 | REGISTER_CODEC_E( 14 | LIZARD, 15 | NCompress::NLIZARD::CDecoder(), 16 | NCompress::NLIZARD::CEncoder(), 17 | 0x4F71106, "LIZARD") 18 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Lz4Register.cpp: -------------------------------------------------------------------------------- 1 | // (C) 2016 Tino Reichardt 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "Lz4Decoder.h" 8 | 9 | #ifndef EXTRACT_ONLY 10 | #include "Lz4Encoder.h" 11 | #endif 12 | 13 | REGISTER_CODEC_E( 14 | LZ4, 15 | NCompress::NLZ4::CDecoder(), 16 | NCompress::NLZ4::CEncoder(), 17 | 0x4F71104, "LZ4") 18 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Lz5Register.cpp: -------------------------------------------------------------------------------- 1 | // (C) 2016 Tino Reichardt 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "Lz5Decoder.h" 8 | 9 | #ifndef EXTRACT_ONLY 10 | #include "Lz5Encoder.h" 11 | #endif 12 | 13 | REGISTER_CODEC_E( 14 | LZ5, 15 | NCompress::NLZ5::CDecoder(), 16 | NCompress::NLZ5::CEncoder(), 17 | 0x4F71105, "LZ5") 18 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/LzOutWindow.cpp: -------------------------------------------------------------------------------- 1 | // LzOutWindow.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "LzOutWindow.h" 6 | 7 | void CLzOutWindow::Init(bool solid) throw() 8 | { 9 | if (!solid) 10 | COutBuffer::Init(); 11 | #ifdef Z7_NO_EXCEPTIONS 12 | ErrorCode = S_OK; 13 | #endif 14 | } 15 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Lzma2Encoder.h: -------------------------------------------------------------------------------- 1 | // Lzma2Encoder.h 2 | 3 | #ifndef ZIP7_INC_LZMA2_ENCODER_H 4 | #define ZIP7_INC_LZMA2_ENCODER_H 5 | 6 | #include "../../../C/Lzma2Enc.h" 7 | 8 | #include "../../Common/MyCom.h" 9 | 10 | #include "../ICoder.h" 11 | 12 | namespace NCompress { 13 | namespace NLzma2 { 14 | 15 | Z7_CLASS_IMP_COM_4( 16 | CEncoder 17 | , ICompressCoder 18 | , ICompressSetCoderProperties 19 | , ICompressWriteCoderProperties 20 | , ICompressSetCoderPropertiesOpt 21 | ) 22 | CLzma2EncHandle _encoder; 23 | public: 24 | CEncoder(); 25 | ~CEncoder(); 26 | }; 27 | 28 | }} 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Lzma2Register.cpp: -------------------------------------------------------------------------------- 1 | // Lzma2Register.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "Lzma2Decoder.h" 8 | 9 | #ifndef Z7_EXTRACT_ONLY 10 | #include "Lzma2Encoder.h" 11 | #endif 12 | 13 | namespace NCompress { 14 | namespace NLzma2 { 15 | 16 | REGISTER_CODEC_E(LZMA2, 17 | CDecoder(), 18 | CEncoder(), 19 | 0x21, 20 | "LZMA2") 21 | 22 | }} 23 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/LzmaRegister.cpp: -------------------------------------------------------------------------------- 1 | // LzmaRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "LzmaDecoder.h" 8 | 9 | #ifndef Z7_EXTRACT_ONLY 10 | #include "LzmaEncoder.h" 11 | #endif 12 | 13 | namespace NCompress { 14 | namespace NLzma { 15 | 16 | REGISTER_CODEC_E(LZMA, 17 | CDecoder(), 18 | CEncoder(), 19 | 0x30101, 20 | "LZMA") 21 | 22 | }} 23 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Md5/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = Md5 2 | DEF_FILE = ../Codec.def 3 | 4 | # IS_X64 = 1 5 | # USE_ASM = 1 6 | # ST_MODE = 1 7 | 8 | ifdef SystemDrive 9 | 10 | LOCAL_FLAGS_WIN = \ 11 | -D_7ZIP_LARGE_PAGES \ 12 | $(LOCAL_FLAGS_ST) \ 13 | 14 | SYS_OBJS = \ 15 | 16 | else 17 | 18 | SYS_OBJS = \ 19 | $O/MyWindows.o \ 20 | 21 | endif 22 | 23 | LOCAL_FLAGS = \ 24 | -DEXTERNAL_CODECS \ 25 | $(LOCAL_FLAGS_WIN) \ 26 | $(LOCAL_FLAGS_ST) \ 27 | 28 | COMPRESS_OBJS_2 = \ 29 | $O/CodecExports.o \ 30 | $O/DllExportsCompress.o \ 31 | $O/Md2Reg.o \ 32 | $O/Md4Reg.o \ 33 | $O/Md5Reg.o \ 34 | $O/md2.o \ 35 | $O/md4.o \ 36 | $O/Md5.o \ 37 | 38 | OBJS = \ 39 | $(COMPRESS_OBJS_2) \ 40 | $(SYS_OBJS) \ 41 | $(COMMON_OBJS) \ 42 | $O/Alloc.o \ 43 | 44 | include ../../7zip_gcc.mak 45 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/PKImplodeRegister.cpp: -------------------------------------------------------------------------------- 1 | // PKImplodeRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "PKImplodeDecoder.h" 8 | #include "PKImplodeEncoder.h" 9 | 10 | namespace NCompress { 11 | 12 | REGISTER_CODEC_E( 13 | PKImplode, 14 | NPKImplode::NDecoder::CDecoder(), 15 | NPKImplode::NEncoder::CEncoder(), 16 | 0x40100+10, "PKImplode") 17 | 18 | } 19 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/PpmdRegister.cpp: -------------------------------------------------------------------------------- 1 | // PpmdRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "PpmdDecoder.h" 8 | 9 | #ifndef Z7_EXTRACT_ONLY 10 | #include "PpmdEncoder.h" 11 | #endif 12 | 13 | namespace NCompress { 14 | namespace NPpmd { 15 | 16 | REGISTER_CODEC_E(PPMD, 17 | CDecoder(), 18 | CEncoder(), 19 | 0x30401, 20 | "PPMD") 21 | 22 | }} 23 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/RarCodecsRegister.cpp: -------------------------------------------------------------------------------- 1 | // RarCodecsRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "Rar1Decoder.h" 8 | #include "Rar2Decoder.h" 9 | #include "Rar3Decoder.h" 10 | #include "Rar5Decoder.h" 11 | 12 | namespace NCompress { 13 | 14 | #define CREATE_CODEC(x) REGISTER_CODEC_CREATE(CreateCodec ## x, NRar ## x::CDecoder()) 15 | 16 | CREATE_CODEC(1) 17 | CREATE_CODEC(2) 18 | CREATE_CODEC(3) 19 | CREATE_CODEC(5) 20 | 21 | #define RAR_CODEC(x, name) { CreateCodec ## x, NULL, 0x40300 + x, "Rar" name, 1, false } 22 | 23 | REGISTER_CODECS_VAR 24 | { 25 | RAR_CODEC(1, "1"), 26 | RAR_CODEC(2, "2"), 27 | RAR_CODEC(3, "3"), 28 | RAR_CODEC(5, "5"), 29 | }; 30 | 31 | REGISTER_CODECS(Rar) 32 | 33 | } 34 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Sha512/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = Sha512 2 | DEF_FILE = ../Codec.def 3 | 4 | # IS_X64 = 1 5 | # USE_ASM = 1 6 | # ST_MODE = 1 7 | 8 | ifdef SystemDrive 9 | 10 | LOCAL_FLAGS_WIN = \ 11 | -D_7ZIP_LARGE_PAGES \ 12 | $(LOCAL_FLAGS_ST) \ 13 | 14 | SYS_OBJS = \ 15 | 16 | else 17 | 18 | SYS_OBJS = \ 19 | $O/MyWindows.o \ 20 | 21 | endif 22 | 23 | LOCAL_FLAGS = \ 24 | -DEXTERNAL_CODECS \ 25 | $(LOCAL_FLAGS_WIN) \ 26 | $(LOCAL_FLAGS_ST) \ 27 | 28 | COMPRESS_OBJS_2 = \ 29 | $O/CodecExports.o \ 30 | $O/DllExportsCompress.o \ 31 | $O/Sha512Reg.o \ 32 | $O/Sha512.o \ 33 | $O/Sha512Opt.o \ 34 | 35 | OBJS = \ 36 | $(COMPRESS_OBJS_2) \ 37 | $(SYS_OBJS) \ 38 | $(COMMON_OBJS) \ 39 | $O/Alloc.o \ 40 | $O/CpuArch.o \ 41 | 42 | include ../../7zip_gcc.mak 43 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/XpressDecoder.h: -------------------------------------------------------------------------------- 1 | // XpressDecoder.h 2 | 3 | #ifndef ZIP7_INC_XPRESS_DECODER_H 4 | #define ZIP7_INC_XPRESS_DECODER_H 5 | 6 | #include "../../Common/MyTypes.h" 7 | 8 | namespace NCompress { 9 | namespace NXpress { 10 | 11 | // (out) buffer size must be larger than (outSize) for the following value: 12 | const unsigned kAdditionalOutputBufSize = 32; 13 | 14 | HRESULT Decode_WithExceedWrite(const Byte *in, size_t inSize, Byte *out, size_t outSize); 15 | 16 | }} 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/Xxh64/makefile.gcc: -------------------------------------------------------------------------------- 1 | PROG = Xxh64 2 | DEF_FILE = ../Codec.def 3 | 4 | # IS_X64 = 1 5 | # USE_ASM = 1 6 | # ST_MODE = 1 7 | 8 | ifdef SystemDrive 9 | 10 | LOCAL_FLAGS_WIN = \ 11 | -D_7ZIP_LARGE_PAGES \ 12 | $(LOCAL_FLAGS_ST) \ 13 | 14 | SYS_OBJS = \ 15 | 16 | else 17 | 18 | SYS_OBJS = \ 19 | $O/MyWindows.o \ 20 | 21 | endif 22 | 23 | LOCAL_FLAGS = \ 24 | -DEXTERNAL_CODECS \ 25 | $(LOCAL_FLAGS_WIN) \ 26 | $(LOCAL_FLAGS_ST) \ 27 | 28 | COMPRESS_OBJS_2 = \ 29 | $O/CodecExports.o \ 30 | $O/DllExportsCompress.o \ 31 | $O/XXH32Reg.o \ 32 | $O/Xxh64Reg.o \ 33 | $O/xxhash.o \ 34 | $O/Xxh64.o \ 35 | 36 | OBJS = \ 37 | $(COMPRESS_OBJS_2) \ 38 | $(SYS_OBJS) \ 39 | $(COMMON_OBJS) \ 40 | 41 | include ../../7zip_gcc.mak 42 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/XzEncoder.h: -------------------------------------------------------------------------------- 1 | // XzEncoder.h 2 | 3 | #ifndef ZIP7_INC_XZ_ENCODER_H 4 | #define ZIP7_INC_XZ_ENCODER_H 5 | 6 | #include "../../../C/XzEnc.h" 7 | 8 | #include "../../Common/MyCom.h" 9 | 10 | #include "../ICoder.h" 11 | 12 | namespace NCompress { 13 | namespace NXz { 14 | 15 | Z7_CLASS_IMP_COM_3( 16 | CEncoder 17 | , ICompressCoder 18 | , ICompressSetCoderProperties 19 | , ICompressSetCoderPropertiesOpt 20 | ) 21 | CXzEncHandle _encoder; 22 | public: 23 | CXzProps xzProps; 24 | 25 | void InitCoderProps(); 26 | HRESULT SetCheckSize(UInt32 checkSizeInBytes); 27 | HRESULT SetCoderProp(PROPID propID, const PROPVARIANT &prop); 28 | 29 | CEncoder(); 30 | ~CEncoder(); 31 | }; 32 | 33 | }} 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/ZstdZipRegister.cpp: -------------------------------------------------------------------------------- 1 | // (C) 2016 Tino Reichardt 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "ZstdDecoder.h" 8 | 9 | #ifndef EXTRACT_ONLY 10 | #include "ZstdEncoder.h" 11 | #endif 12 | 13 | namespace NCompress { 14 | 15 | namespace NZstdPK { 16 | REGISTER_CODEC_E( 17 | ZSTD_PK, 18 | NCompress::NZstd::CDecoder(), 19 | NCompress::NZSTD::CEncoder(), 20 | 0x40100+20, "ZSTD-PK") 21 | } 22 | 23 | namespace NZstdWZ { 24 | REGISTER_CODEC_E( 25 | ZSTD_WZ, 26 | NCompress::NZstd::CDecoder(), 27 | NCompress::NZSTD::CEncoder(), 28 | 0x40100+93, "ZSTD-WZ") 29 | } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /CPP/7zip/Compress/makefile: -------------------------------------------------------------------------------- 1 | DIRS = \ 2 | LZMA_Alone\~ \ 3 | 4 | all: $(DIRS) 5 | 6 | $(DIRS): 7 | !include "../SubBuild.mak" 8 | -------------------------------------------------------------------------------- /CPP/7zip/Crc.mak: -------------------------------------------------------------------------------- 1 | C_OBJS = $(C_OBJS) \ 2 | $O\7zCrc.obj 3 | !IF defined(USE_NO_ASM) || defined(USE_C_CRC) || "$(PLATFORM)" == "ia64" || "$(PLATFORM)" == "mips" || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64" 4 | C_OBJS = $(C_OBJS) \ 5 | !ELSE 6 | ASM_OBJS = $(ASM_OBJS) \ 7 | !ENDIF 8 | $O\7zCrcOpt.obj 9 | -------------------------------------------------------------------------------- /CPP/7zip/Crc64.mak: -------------------------------------------------------------------------------- 1 | C_OBJS = $(C_OBJS) \ 2 | $O\XzCrc64.obj 3 | !IF defined(USE_NO_ASM) || defined(USE_C_CRC64) || "$(PLATFORM)" == "ia64" || "$(PLATFORM)" == "mips" || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64" 4 | C_OBJS = $(C_OBJS) \ 5 | !ELSE 6 | ASM_OBJS = $(ASM_OBJS) \ 7 | !ENDIF 8 | $O\XzCrc64Opt.obj 9 | -------------------------------------------------------------------------------- /CPP/7zip/Crypto/7zAesRegister.cpp: -------------------------------------------------------------------------------- 1 | // 7zAesRegister.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "7zAes.h" 8 | 9 | namespace NCrypto { 10 | namespace N7z { 11 | 12 | REGISTER_FILTER_E(SzAES, 13 | CDecoder, 14 | CEncoder, 15 | 0x6F10701, "7zAES") 16 | 17 | }} 18 | -------------------------------------------------------------------------------- /CPP/7zip/Crypto/Codec.def: -------------------------------------------------------------------------------- 1 | EXPORTS 2 | CreateObject PRIVATE 3 | GetNumberOfMethods PRIVATE 4 | GetMethodProperty PRIVATE 5 | -------------------------------------------------------------------------------- /CPP/7zip/Crypto/HmacSha256.h: -------------------------------------------------------------------------------- 1 | // HmacSha256.h 2 | // Implements HMAC-SHA-256 (RFC2104, FIPS-198) 3 | 4 | #ifndef ZIP7_INC_CRYPTO_HMAC_SHA256_H 5 | #define ZIP7_INC_CRYPTO_HMAC_SHA256_H 6 | 7 | #include "../../../C/Sha256.h" 8 | 9 | namespace NCrypto { 10 | namespace NSha256 { 11 | 12 | const unsigned kBlockSize = SHA256_BLOCK_SIZE; 13 | const unsigned kDigestSize = SHA256_DIGEST_SIZE; 14 | 15 | class CHmac 16 | { 17 | CSha256 _sha; 18 | CSha256 _sha2; 19 | public: 20 | void SetKey(const Byte *key, size_t keySize); 21 | void Update(const Byte *data, size_t dataSize) { Sha256_Update(&_sha, data, dataSize); } 22 | void Final(Byte *mac); 23 | }; 24 | 25 | }} 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/7zip/Crypto/MyAesReg.cpp: -------------------------------------------------------------------------------- 1 | // MyAesReg.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../Common/RegisterCodec.h" 6 | 7 | #include "MyAes.h" 8 | 9 | namespace NCrypto { 10 | 11 | #ifndef Z7_SFX 12 | 13 | #define REGISTER_AES_2(name, nameString, keySize) \ 14 | REGISTER_FILTER_E(name, \ 15 | CAesCbcDecoder(keySize), \ 16 | CAesCbcEncoder(keySize), \ 17 | 0x6F00100 | ((keySize - 16) * 8) | (/* isCtr */ 0 ? 4 : 1), \ 18 | nameString) \ 19 | 20 | #define REGISTER_AES(name, nameString) \ 21 | /* REGISTER_AES_2(AES128 ## name, "AES128" nameString, 16) */ \ 22 | /* REGISTER_AES_2(AES192 ## name, "AES192" nameString, 24) */ \ 23 | REGISTER_AES_2(AES256 ## name, "AES256" nameString, 32) \ 24 | 25 | REGISTER_AES(CBC, "CBC") 26 | 27 | #endif 28 | 29 | } 30 | -------------------------------------------------------------------------------- /CPP/7zip/Crypto/Pbkdf2HmacSha1.h: -------------------------------------------------------------------------------- 1 | // Pbkdf2HmacSha1.h 2 | // Password-Based Key Derivation Function (RFC 2898, PKCS #5) based on HMAC-SHA-1 3 | 4 | #ifndef ZIP7_INC_CRYPTO_PBKDF2_HMAC_SHA1_H 5 | #define ZIP7_INC_CRYPTO_PBKDF2_HMAC_SHA1_H 6 | 7 | #include 8 | 9 | #include "../../Common/MyTypes.h" 10 | 11 | namespace NCrypto { 12 | namespace NSha1 { 13 | 14 | void Pbkdf2Hmac(const Byte *pwd, size_t pwdSize, const Byte *salt, size_t saltSize, 15 | UInt32 numIterations, Byte *key, size_t keySize); 16 | 17 | }} 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /CPP/7zip/Crypto/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/IProgress.h: -------------------------------------------------------------------------------- 1 | // IProgress.h 2 | 3 | #ifndef ZIP7_INC_IPROGRESS_H 4 | #define ZIP7_INC_IPROGRESS_H 5 | 6 | #include "../Common/MyTypes.h" 7 | 8 | #include "IDecl.h" 9 | 10 | Z7_PURE_INTERFACES_BEGIN 11 | 12 | #define Z7_IFACEM_IProgress(x) \ 13 | x(SetTotal(UInt64 total)) \ 14 | x(SetCompleted(const UInt64 *completeValue)) \ 15 | 16 | Z7_DECL_IFACE_7ZIP(IProgress, 0, 5) 17 | { Z7_IFACE_COM7_PURE(IProgress) }; 18 | 19 | Z7_PURE_INTERFACES_END 20 | #endif 21 | -------------------------------------------------------------------------------- /CPP/7zip/LzFindOpt.mak: -------------------------------------------------------------------------------- 1 | !IF defined(USE_C_LZFINDOPT) || "$(PLATFORM)" != "x64" 2 | C_OBJS = $(C_OBJS) \ 3 | $O\LzFindOpt.obj 4 | !ELSE 5 | ASM_OBJS = $(ASM_OBJS) \ 6 | $O\LzFindOpt.obj 7 | !ENDIF 8 | -------------------------------------------------------------------------------- /CPP/7zip/LzmaDec.mak: -------------------------------------------------------------------------------- 1 | !IF "$(PLATFORM)" == "x64" || ("$(PLATFORM)" == "arm64" && !defined(NO_ASM_GNU)) 2 | !IFNDEF NO_ASM 3 | CFLAGS_C_SPEC = -DZ7_LZMA_DEC_OPT 4 | ASM_OBJS = $(ASM_OBJS) \ 5 | $O\LzmaDecOpt.obj 6 | !ENDIF 7 | !ENDIF 8 | -------------------------------------------------------------------------------- /CPP/7zip/LzmaDec_gcc.mak: -------------------------------------------------------------------------------- 1 | ifndef IS_MAC 2 | ifdef USE_ASM 3 | ifdef IS_X64 4 | USE_LZMA_DEC_ASM=1 5 | endif 6 | ifdef IS_ARM64 7 | USE_LZMA_DEC_ASM=1 8 | endif 9 | endif 10 | endif 11 | 12 | ifdef USE_LZMA_DEC_ASM 13 | 14 | LZMA_DEC_OPT_OBJS= $O/LzmaDecOpt.o 15 | 16 | endif 17 | -------------------------------------------------------------------------------- /CPP/7zip/MyVersion.h: -------------------------------------------------------------------------------- 1 | #define USE_COPYRIGHT_CR 2 | #include "../../C/7zVersion.h" 3 | -------------------------------------------------------------------------------- /CPP/7zip/MyVersionInfo.rc: -------------------------------------------------------------------------------- 1 | #include "MyVersion.h" 2 | #include "../../C/7zVersion.rc" 3 | -------------------------------------------------------------------------------- /CPP/7zip/Sha1.mak: -------------------------------------------------------------------------------- 1 | COMMON_OBJS = $(COMMON_OBJS) \ 2 | $O\Sha1Prepare.obj 3 | 4 | C_OBJS = $(C_OBJS) \ 5 | $O\Sha1.obj 6 | 7 | !IF defined(USE_C_SHA) || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64" 8 | C_OBJS = $(C_OBJS) \ 9 | $O\Sha1Opt.obj 10 | !ELSEIF "$(PLATFORM)" != "ia64" && "$(PLATFORM)" != "mips" && "$(PLATFORM)" != "arm" && "$(PLATFORM)" != "arm64" 11 | ASM_OBJS = $(ASM_OBJS) \ 12 | $O\Sha1Opt.obj 13 | !ENDIF 14 | -------------------------------------------------------------------------------- /CPP/7zip/Sha256.mak: -------------------------------------------------------------------------------- 1 | COMMON_OBJS = $(COMMON_OBJS) \ 2 | $O\Sha256Prepare.obj 3 | 4 | C_OBJS = $(C_OBJS) \ 5 | $O\Sha256.obj 6 | 7 | !IF defined(USE_C_SHA) || "$(PLATFORM)" == "arm" || "$(PLATFORM)" == "arm64" 8 | C_OBJS = $(C_OBJS) \ 9 | $O\Sha256Opt.obj 10 | !ELSEIF "$(PLATFORM)" != "ia64" && "$(PLATFORM)" != "mips" && "$(PLATFORM)" != "arm" && "$(PLATFORM)" != "arm64" 11 | ASM_OBJS = $(ASM_OBJS) \ 12 | $O\Sha256Opt.obj 13 | !ENDIF 14 | -------------------------------------------------------------------------------- /CPP/7zip/SubBuild.mak: -------------------------------------------------------------------------------- 1 | cd $(@D) 2 | $(MAKE) -nologo $(TARGETS) 3 | cd .. 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Agent/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Agent/UpdateCallbackAgent.h: -------------------------------------------------------------------------------- 1 | // UpdateCallbackAgent.h 2 | 3 | #ifndef ZIP7_INC_UPDATE_CALLBACK_AGENT_H 4 | #define ZIP7_INC_UPDATE_CALLBACK_AGENT_H 5 | 6 | #include "../Common/UpdateCallback.h" 7 | 8 | #include "IFolderArchive.h" 9 | 10 | class CUpdateCallbackAgent Z7_final: public IUpdateCallbackUI 11 | { 12 | Z7_IFACE_IMP(IUpdateCallbackUI) 13 | 14 | CMyComPtr _cryptoGetTextPassword; 15 | CMyComPtr Callback; 16 | CMyComPtr Callback2; 17 | CMyComPtr _compressProgress; 18 | public: 19 | void SetCallback(IFolderArchiveUpdateCallback *callback); 20 | }; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Client7z/Client7z.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Client7z"=.\Client7z.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Client7z/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Client7z/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Client7z/makefile: -------------------------------------------------------------------------------- 1 | PROG = 7zcl.exe 2 | MY_CONSOLE = 1 3 | 4 | CURRENT_OBJS = \ 5 | $O\Client7z.obj \ 6 | 7 | COMMON_OBJS = \ 8 | $O\IntToString.obj \ 9 | $O\NewHandler.obj \ 10 | $O\MyString.obj \ 11 | $O\MyVector.obj \ 12 | $O\StringConvert.obj \ 13 | $O\StringToInt.obj \ 14 | $O\Wildcard.obj \ 15 | 16 | WIN_OBJS = \ 17 | $O\DLL.obj \ 18 | $O\FileDir.obj \ 19 | $O\FileFind.obj \ 20 | $O\FileIO.obj \ 21 | $O\FileName.obj \ 22 | $O\PropVariant.obj \ 23 | $O\PropVariantConv.obj \ 24 | $O\TimeUtils.obj \ 25 | 26 | 7ZIP_COMMON_OBJS = \ 27 | $O\FileStreams.obj \ 28 | 29 | !include "../../7zip.mak" 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Client7z/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_APP("7-Zip client" , "7zcl") 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/ArchiveName.h: -------------------------------------------------------------------------------- 1 | // ArchiveName.h 2 | 3 | #ifndef ZIP7_INC_ARCHIVE_NAME_H 4 | #define ZIP7_INC_ARCHIVE_NAME_H 5 | 6 | #include "../../../Windows/FileFind.h" 7 | 8 | /* (fi != NULL) only if (paths.Size() == 1) */ 9 | 10 | UString CreateArchiveName( 11 | const UStringVector &paths, 12 | bool isHash, 13 | const NWindows::NFile::NFind::CFileInfo *fi, 14 | UString &baseName); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/DefaultName.h: -------------------------------------------------------------------------------- 1 | // DefaultName.h 2 | 3 | #ifndef ZIP7_INC_DEFAULT_NAME_H 4 | #define ZIP7_INC_DEFAULT_NAME_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | UString GetDefaultName2(const UString &fileName, 9 | const UString &extension, const UString &addSubExtension); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/ExtractMode.h: -------------------------------------------------------------------------------- 1 | // ExtractMode.h 2 | 3 | #ifndef ZIP7_INC_EXTRACT_MODE_H 4 | #define ZIP7_INC_EXTRACT_MODE_H 5 | 6 | namespace NExtract { 7 | 8 | namespace NPathMode 9 | { 10 | enum EEnum 11 | { 12 | kFullPaths, 13 | kCurPaths, 14 | kNoPaths, 15 | kAbsPaths, 16 | kNoPathsAlt // alt streams must be extracted without name of base file 17 | }; 18 | } 19 | 20 | namespace NOverwriteMode 21 | { 22 | enum EEnum 23 | { 24 | kAsk, 25 | kOverwrite, 26 | kSkip, 27 | kRename, 28 | kRenameExisting 29 | }; 30 | } 31 | 32 | namespace NZoneIdMode 33 | { 34 | enum EEnum 35 | { 36 | kNone, 37 | kAll, 38 | kOffice 39 | }; 40 | } 41 | 42 | } 43 | 44 | #endif 45 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/PropIDUtils.h: -------------------------------------------------------------------------------- 1 | // PropIDUtils.h 2 | 3 | #ifndef ZIP7_INC_PROPID_UTILS_H 4 | #define ZIP7_INC_PROPID_UTILS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | // provide at least 64 bytes for buffer including zero-end 9 | void ConvertPropertyToShortString2(char *dest, const PROPVARIANT &propVariant, PROPID propID, int level = 0) throw(); 10 | void ConvertPropertyToString2(UString &dest, const PROPVARIANT &propVariant, PROPID propID, int level = 0); 11 | 12 | bool ConvertNtReparseToString(const Byte *data, size_t size, UString &s); 13 | void ConvertNtSecureToString(const Byte *data, size_t size, AString &s); 14 | bool CheckNtSecure(const Byte *data, size_t size) throw(); 15 | 16 | void ConvertWinAttribToString(char *s, UInt32 wa) throw(); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/Property.h: -------------------------------------------------------------------------------- 1 | // Property.h 2 | 3 | #ifndef ZIP7_INC_7Z_PROPERTY_H 4 | #define ZIP7_INC_7Z_PROPERTY_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | struct CProperty 9 | { 10 | UString Name; 11 | UString Value; 12 | }; 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/SetProperties.h: -------------------------------------------------------------------------------- 1 | // SetProperties.h 2 | 3 | #ifndef ZIP7_INC_SETPROPERTIES_H 4 | #define ZIP7_INC_SETPROPERTIES_H 5 | 6 | #include "Property.h" 7 | 8 | HRESULT SetProperties(IUnknown *unknown, const CObjectVector &properties); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/SortUtils.cpp: -------------------------------------------------------------------------------- 1 | // SortUtils.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../../Common/Wildcard.h" 6 | 7 | #include "SortUtils.h" 8 | 9 | static int CompareStrings(const unsigned *p1, const unsigned *p2, void *param) 10 | { 11 | const UStringVector &strings = *(const UStringVector *)param; 12 | return CompareFileNames(strings[*p1], strings[*p2]); 13 | } 14 | 15 | void SortFileNames(const UStringVector &strings, CUIntVector &indices) 16 | { 17 | const unsigned numItems = strings.Size(); 18 | indices.ClearAndSetSize(numItems); 19 | if (numItems == 0) 20 | return; 21 | unsigned *vals = &indices[0]; 22 | for (unsigned i = 0; i < numItems; i++) 23 | vals[i] = i; 24 | indices.Sort(CompareStrings, (void *)&strings); 25 | } 26 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/SortUtils.h: -------------------------------------------------------------------------------- 1 | // SortUtils.h 2 | 3 | #ifndef ZIP7_INC_SORT_UTLS_H 4 | #define ZIP7_INC_SORT_UTLS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | void SortFileNames(const UStringVector &strings, CUIntVector &indices); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/TempFiles.cpp: -------------------------------------------------------------------------------- 1 | // TempFiles.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../../Windows/FileDir.h" 6 | 7 | #include "TempFiles.h" 8 | 9 | using namespace NWindows; 10 | using namespace NFile; 11 | 12 | void CTempFiles::Clear() 13 | { 14 | while (!Paths.IsEmpty()) 15 | { 16 | if (NeedDeleteFiles) 17 | NDir::DeleteFileAlways(Paths.Back()); 18 | Paths.DeleteBack(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/TempFiles.h: -------------------------------------------------------------------------------- 1 | // TempFiles.h 2 | 3 | #ifndef ZIP7_INC_TEMP_FILES_H 4 | #define ZIP7_INC_TEMP_FILES_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | class CTempFiles 9 | { 10 | void Clear(); 11 | public: 12 | FStringVector Paths; 13 | bool NeedDeleteFiles; 14 | 15 | CTempFiles(): NeedDeleteFiles(true) {} 16 | ~CTempFiles() { Clear(); } 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Common/UpdatePair.h: -------------------------------------------------------------------------------- 1 | // UpdatePair.h 2 | 3 | #ifndef ZIP7_INC_UPDATE_PAIR_H 4 | #define ZIP7_INC_UPDATE_PAIR_H 5 | 6 | #include "DirItem.h" 7 | #include "UpdateAction.h" 8 | 9 | #include "../../Archive/IArchive.h" 10 | 11 | struct CUpdatePair 12 | { 13 | NUpdateArchive::NPairState::EEnum State; 14 | int ArcIndex; 15 | int DirIndex; 16 | int HostIndex; // >= 0 for alt streams only, contains index of host pair 17 | 18 | CUpdatePair(): ArcIndex(-1), DirIndex(-1), HostIndex(-1) {} 19 | }; 20 | 21 | void GetUpdatePairInfoList( 22 | const CDirItems &dirItems, 23 | const CObjectVector &arcItems, 24 | NFileTimeType::EEnum fileTimeType, 25 | CRecordVector &updatePairs); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/BenchCon.h: -------------------------------------------------------------------------------- 1 | // BenchCon.h 2 | 3 | #ifndef ZIP7_INC_BENCH_CON_H 4 | #define ZIP7_INC_BENCH_CON_H 5 | 6 | #include 7 | 8 | #include "../../Common/CreateCoder.h" 9 | #include "../../UI/Common/Property.h" 10 | 11 | HRESULT BenchCon(DECL_EXTERNAL_CODECS_LOC_VARS 12 | const CObjectVector &props, UInt32 numIterations, FILE *f); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/Console.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Console"=".\Console.dsp" - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/ConsoleClose.h: -------------------------------------------------------------------------------- 1 | // ConsoleClose.h 2 | 3 | #ifndef ZIP7_INC_CONSOLE_CLOSE_H 4 | #define ZIP7_INC_CONSOLE_CLOSE_H 5 | 6 | namespace NConsoleClose { 7 | 8 | // class CCtrlBreakException {}; 9 | 10 | #ifdef UNDER_CE 11 | 12 | inline bool TestBreakSignal() { return false; } 13 | struct CCtrlHandlerSetter {}; 14 | 15 | #else 16 | 17 | extern unsigned g_BreakCounter; 18 | 19 | inline bool TestBreakSignal() 20 | { 21 | return (g_BreakCounter != 0); 22 | } 23 | 24 | class CCtrlHandlerSetter Z7_final 25 | { 26 | #ifndef _WIN32 27 | void (*memo_sig_int)(int); 28 | void (*memo_sig_term)(int); 29 | #endif 30 | public: 31 | CCtrlHandlerSetter(); 32 | ~CCtrlHandlerSetter(); 33 | }; 34 | 35 | #endif 36 | 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/UserInputUtils.h: -------------------------------------------------------------------------------- 1 | // UserInputUtils.h 2 | 3 | #ifndef ZIP7_INC_USER_INPUT_UTILS_H 4 | #define ZIP7_INC_USER_INPUT_UTILS_H 5 | 6 | #include "../../../Common/StdOutStream.h" 7 | 8 | namespace NUserAnswerMode { 9 | 10 | enum EEnum 11 | { 12 | kYes, 13 | kNo, 14 | kYesAll, 15 | kNoAll, 16 | kAutoRenameAll, 17 | kQuit, 18 | kEof, 19 | kError 20 | }; 21 | } 22 | 23 | NUserAnswerMode::EEnum ScanUserYesNoAllQuit(CStdOutStream *outStream); 24 | // bool GetPassword(CStdOutStream *outStream, UString &psw); 25 | HRESULT GetPassword_HRESULT(CStdOutStream *outStream, UString &psw); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Console/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_APP("7-Zip Console" , "7z") 4 | 5 | #ifndef UNDER_CE 6 | 1 24 MOVEABLE PURE "Console.manifest" 7 | #endif 8 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/7-zip.dll.manifest: -------------------------------------------------------------------------------- 1 | 7-Zip Extension. 2 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/ContextMenuFlags.h: -------------------------------------------------------------------------------- 1 | // ContextMenuFlags.h 2 | 3 | #ifndef ZIP7_INC_CONTEXT_MENU_FLAGS_H 4 | #define ZIP7_INC_CONTEXT_MENU_FLAGS_H 5 | 6 | namespace NContextMenuFlags 7 | { 8 | const UInt32 kExtract = 1 << 0; 9 | const UInt32 kExtractHere = 1 << 1; 10 | const UInt32 kExtractTo = 1 << 2; 11 | 12 | const UInt32 kTest = 1 << 4; 13 | const UInt32 kOpen = 1 << 5; 14 | const UInt32 kOpenAs = 1 << 6; 15 | 16 | const UInt32 kCompress = 1 << 8; 17 | const UInt32 kCompressTo7z = 1 << 9; 18 | const UInt32 kCompressEmail = 1 << 10; 19 | const UInt32 kCompressTo7zEmail = 1 << 11; 20 | const UInt32 kCompressToZip = 1 << 12; 21 | const UInt32 kCompressToZipEmail = 1 << 13; 22 | 23 | const UInt32 kCRC_Cascaded = (UInt32)1 << 30; 24 | const UInt32 kCRC = (UInt32)1 << 31; 25 | } 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/Explorer.def: -------------------------------------------------------------------------------- 1 | ; 7-zip.def 2 | 3 | LIBRARY "7-zip" 4 | 5 | EXPORTS 6 | DllCanUnloadNow PRIVATE 7 | DllGetClassObject PRIVATE 8 | DllRegisterServer PRIVATE 9 | DllUnregisterServer PRIVATE 10 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/Explorer.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Explorer"=".\Explorer.dsp" - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/MenuLogo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/Explorer/MenuLogo.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/MyMessages.h: -------------------------------------------------------------------------------- 1 | // MyMessages.h 2 | 3 | #ifndef ZIP7_INC_MY_MESSAGES_H 4 | #define ZIP7_INC_MY_MESSAGES_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | void ShowErrorMessage(HWND window, LPCWSTR message); 9 | inline void ShowErrorMessage(LPCWSTR message) { ShowErrorMessage(NULL, message); } 10 | 11 | void ShowErrorMessageHwndRes(HWND window, UInt32 langID); 12 | void ShowErrorMessageRes(UInt32 langID); 13 | 14 | void ShowLastErrorMessage(HWND window = NULL); 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/RegistryContextMenu.h: -------------------------------------------------------------------------------- 1 | // RegistryContextMenu.h 2 | 3 | #ifndef ZIP7_INC_REGISTRY_CONTEXT_MENU_H 4 | #define ZIP7_INC_REGISTRY_CONTEXT_MENU_H 5 | 6 | #ifndef UNDER_CE 7 | 8 | bool CheckContextMenuHandler(const UString &path, UInt32 wow = 0); 9 | LONG SetContextMenuHandler(bool setMode, const UString &path, UInt32 wow = 0); 10 | 11 | #endif 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #if _MSC_VER >= 1800 4 | #pragma warning(disable : 4464) // relative include path contains '..' 5 | #endif 6 | #include "../FileManager/StdAfx.h" 7 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/resource.h: -------------------------------------------------------------------------------- 1 | #define IDS_CONTEXT_FOLDER 2320 2 | #define IDS_CONTEXT_ARCHIVE 2321 3 | #define IDS_CONTEXT_OPEN 2322 4 | #define IDS_CONTEXT_EXTRACT 2323 5 | #define IDS_CONTEXT_COMPRESS 2324 6 | #define IDS_CONTEXT_TEST 2325 7 | #define IDS_CONTEXT_EXTRACT_HERE 2326 8 | #define IDS_CONTEXT_EXTRACT_TO 2327 9 | #define IDS_CONTEXT_COMPRESS_TO 2328 10 | #define IDS_CONTEXT_COMPRESS_EMAIL 2329 11 | #define IDS_CONTEXT_COMPRESS_TO_EMAIL 2330 12 | 13 | #define IDS_SELECT_FILES 3015 14 | 15 | #define IDB_MENU_LOGO 190 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | #include "resource2.rc" 3 | 4 | MY_VERSION_INFO_DLL("7-Zip Shell Extension", "7-zip") 5 | 6 | #ifndef UNDER_CE 7 | 1 24 MOVEABLE PURE "7-zip.dll.manifest" 8 | #endif 9 | 10 | IDI_ICON ICON "../FileManager/FM.ico" 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Explorer/resource2.rc: -------------------------------------------------------------------------------- 1 | #include "resource.h" 2 | 3 | STRINGTABLE 4 | BEGIN 5 | IDS_CONTEXT_FOLDER "" 6 | IDS_CONTEXT_ARCHIVE "" 7 | IDS_CONTEXT_OPEN "Open archive" 8 | IDS_CONTEXT_EXTRACT "Extract files..." 9 | IDS_CONTEXT_COMPRESS "Add to archive..." 10 | IDS_CONTEXT_TEST "Test archive" 11 | IDS_CONTEXT_EXTRACT_HERE "Extract Here" 12 | IDS_CONTEXT_EXTRACT_TO "Extract to {0}" 13 | IDS_CONTEXT_COMPRESS_TO "Add to {0}" 14 | IDS_CONTEXT_COMPRESS_EMAIL "Compress and email..." 15 | IDS_CONTEXT_COMPRESS_TO_EMAIL "Compress to {0} and email" 16 | IDS_SELECT_FILES "You must select one or more files" 17 | END 18 | 19 | IDB_MENU_LOGO BITMAP "../../UI/Explorer/MenuLogo.bmp" 20 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Far/Far.def: -------------------------------------------------------------------------------- 1 | ; 7-ZipFar.def : Declares the module parameters for the DLL. 2 | 3 | LIBRARY "7-ZipFar" 4 | 5 | EXPORTS 6 | ExitFAR 7 | SetStartupInfo 8 | OpenPlugin 9 | OpenFilePlugin 10 | ClosePlugin 11 | GetFindData 12 | FreeFindData 13 | SetDirectory 14 | GetPluginInfo 15 | Configure 16 | GetOpenPluginInfo 17 | GetFiles 18 | PutFiles 19 | DeleteFiles 20 | ProcessKey 21 | 22 | ;SetStartupInfoW 23 | ;OpenPluginW 24 | ;OpenFilePluginW 25 | ;ClosePluginW 26 | ;GetFindDataW 27 | ;FreeFindDataW 28 | ;SetDirectoryW 29 | ;GetPluginInfoW 30 | ;ConfigureW 31 | ;GetOpenPluginInfoW 32 | ;GetFilesW 33 | ;PutFilesW 34 | ;DeleteFilesW 35 | ;ProcessKeyW 36 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Far/Far.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "Far"=.\Far.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Far/OverwriteDialogFar.h: -------------------------------------------------------------------------------- 1 | // OverwriteDialogFar.h 2 | 3 | #ifndef ZIP7_INC_OVERWRITE_DIALOG_FAR_H 4 | #define ZIP7_INC_OVERWRITE_DIALOG_FAR_H 5 | 6 | #include "../../../Common/MyString.h" 7 | #include "../../../Common/MyTypes.h" 8 | 9 | namespace NOverwriteDialog { 10 | 11 | struct CFileInfo 12 | { 13 | bool SizeIsDefined; 14 | bool TimeIsDefined; 15 | UInt64 Size; 16 | FILETIME Time; 17 | UString Name; 18 | }; 19 | 20 | namespace NResult 21 | { 22 | enum EEnum 23 | { 24 | kYes, 25 | kYesToAll, 26 | kNo, 27 | kNoToAll, 28 | kAutoRename, 29 | kCancel 30 | }; 31 | } 32 | 33 | NResult::EEnum Execute(const CFileInfo &oldFileInfo, const CFileInfo &newFileInfo); 34 | 35 | } 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Far/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Far/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/Far/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | 3 | MY_VERSION_INFO_DLL("7-Zip Plugin for FAR Manager", "7-ZipFar") 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/7zipLogo.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/7zipLogo.ico -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/AboutDialog.h: -------------------------------------------------------------------------------- 1 | // AboutDialog.h 2 | 3 | #ifndef ZIP7_INC_ABOUT_DIALOG_H 4 | #define ZIP7_INC_ABOUT_DIALOG_H 5 | 6 | #include "../../../Windows/Control/Dialog.h" 7 | 8 | #include "AboutDialogRes.h" 9 | 10 | class CAboutDialog: public NWindows::NControl::CModalDialog 11 | { 12 | public: 13 | virtual bool OnInit() Z7_override; 14 | virtual void OnHelp() Z7_override; 15 | virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override; 16 | INT_PTR Create(HWND wndParent = NULL) { return CModalDialog::Create(IDD_ABOUT, wndParent); } 17 | }; 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/AboutDialog.rc: -------------------------------------------------------------------------------- 1 | #include "AboutDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | #include "../../MyVersion.h" 4 | 5 | #define xc 144 6 | #define yc 144 7 | 8 | #define y 93 9 | 10 | IDI_LOGO ICON "../../UI/FileManager/7zipLogo.ico" 11 | 12 | #ifndef SS_REALSIZEIMAGE 13 | #define SS_REALSIZEIMAGE 0x800 14 | #endif 15 | 16 | IDD_ABOUT DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT 17 | CAPTION "About 7-Zip" 18 | { 19 | DEFPUSHBUTTON "OK", IDOK, bx1, by, bxs, bys 20 | PUSHBUTTON "www.7-zip.org", IDB_ABOUT_HOMEPAGE, bx2, by, bxs, bys 21 | ICON IDI_LOGO, -1, m, m, 32, 32, SS_REALSIZEIMAGE 22 | LTEXT "", IDT_ABOUT_VERSION, m, 54, xc, 8 23 | LTEXT "", IDT_ABOUT_DATE, m, 67, xc, 8 24 | LTEXT MY_COPYRIGHT, -1, m, 80, xc, 8 25 | LTEXT "7-Zip is free software", IDT_ABOUT_INFO, m, y, xc, (by - y - 1) 26 | } 27 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/AboutDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_ABOUT 2900 2 | 3 | #define IDT_ABOUT_INFO 2901 4 | 5 | #define IDI_LOGO 100 6 | #define IDT_ABOUT_VERSION 101 7 | #define IDT_ABOUT_DATE 102 8 | #define IDB_ABOUT_HOMEPAGE 110 9 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Add.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Add.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Add2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Add2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/BrowseDialog2.h: -------------------------------------------------------------------------------- 1 | // BrowseDialog2.h 2 | 3 | #ifndef ZIP7_INC_BROWSE_DIALOG2_H 4 | #define ZIP7_INC_BROWSE_DIALOG2_H 5 | 6 | #include "../../../Windows/Window.h" 7 | 8 | void MyBrowseForTempFolder(HWND owner); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/BrowseDialog2Res.h: -------------------------------------------------------------------------------- 1 | #define IDD_BROWSE2 93 2 | 3 | #define IDL_BROWSE2 100 4 | #define IDT_BROWSE2_FOLDER 101 5 | // #define IDE_BROWSE2_PATH 102 6 | #define IDC_BROWSE2_FILTER 103 7 | 8 | #define IDB_BROWSE2_PARENT 110 9 | // #define IDB_BROWSE2_CREATE_DIR 112 10 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/BrowseDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_BROWSE 95 2 | 3 | #define IDL_BROWSE 100 4 | #define IDT_BROWSE_FOLDER 101 5 | #define IDE_BROWSE_PATH 102 6 | #define IDC_BROWSE_FILTER 103 7 | 8 | #define IDB_BROWSE_PARENT 110 9 | #define IDB_BROWSE_CREATE_DIR 112 10 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ClassDefs.cpp: -------------------------------------------------------------------------------- 1 | // ClassDefs.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../../Common/MyWindows.h" 6 | 7 | #include "../../../Common/MyInitGuid.h" 8 | 9 | #include "../Agent/Agent.h" 10 | 11 | #include "MyWindowsNew.h" 12 | #include "../Explorer/MyExplorerCommand.h" 13 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ComboDialog.h: -------------------------------------------------------------------------------- 1 | // ComboDialog.h 2 | 3 | #ifndef ZIP7_INC_COMBO_DIALOG_H 4 | #define ZIP7_INC_COMBO_DIALOG_H 5 | 6 | #include "../../../Windows/Control/ComboBox.h" 7 | #include "../../../Windows/Control/Dialog.h" 8 | 9 | #include "ComboDialogRes.h" 10 | 11 | class CComboDialog: public NWindows::NControl::CModalDialog 12 | { 13 | NWindows::NControl::CComboBox _comboBox; 14 | virtual void OnOK() Z7_override; 15 | virtual bool OnInit() Z7_override; 16 | virtual bool OnSize(WPARAM wParam, int xSize, int ySize) Z7_override; 17 | public: 18 | // bool Sorted; 19 | UString Title; 20 | UString Static; 21 | UString Value; 22 | UStringVector Strings; 23 | 24 | // CComboDialog(): Sorted(false) {}; 25 | INT_PTR Create(HWND parentWindow = NULL) { return CModalDialog::Create(IDD_COMBO, parentWindow); } 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ComboDialog.rc: -------------------------------------------------------------------------------- 1 | #include "ComboDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 240 5 | #define yc 64 6 | 7 | IDD_COMBO DIALOG 0, 0, xs, ys MY_MODAL_RESIZE_DIALOG_STYLE MY_FONT 8 | CAPTION "Combo" 9 | { 10 | LTEXT "", IDT_COMBO, m, m, xc, 8 11 | COMBOBOX IDC_COMBO, m, 20, xc, 65, MY_COMBO_WITH_EDIT 12 | OK_CANCEL 13 | } 14 | 15 | #undef xc 16 | #undef yc 17 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ComboDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_COMBO 98 2 | 3 | #define IDT_COMBO 100 4 | #define IDC_COMBO 101 5 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Copy.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Copy.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Copy2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Copy2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/CopyDialog.rc: -------------------------------------------------------------------------------- 1 | #include "CopyDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 320 5 | #define yc 144 6 | 7 | #define y 40 8 | 9 | IDD_COPY DIALOG 0, 0, xs, ys MY_MODAL_RESIZE_DIALOG_STYLE MY_FONT 10 | CAPTION "Copy" 11 | { 12 | LTEXT "", IDT_COPY, m, m, xc, 8 13 | COMBOBOX IDC_COPY, m, 20, xc - bxsDots - m, 65, MY_COMBO_WITH_EDIT 14 | PUSHBUTTON "...", IDB_COPY_SET_PATH, xs - m - bxsDots, 18, bxsDots, bys, WS_GROUP 15 | LTEXT "", IDT_COPY_INFO, m, y, xc, by - y - 1, SS_NOPREFIX | SS_LEFTNOWORDWRAP 16 | OK_CANCEL 17 | } 18 | 19 | #undef xc 20 | #undef yc 21 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/CopyDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_COPY 96 2 | 3 | #define IDT_COPY 100 4 | #define IDC_COPY 101 5 | #define IDB_COPY_SET_PATH 102 6 | #define IDT_COPY_INFO 103 7 | 8 | #define IDS_SET_FOLDER 6007 9 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Delete.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Delete.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Delete2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Delete2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/DialogSize.h: -------------------------------------------------------------------------------- 1 | // DialogSize.h 2 | 3 | #ifndef ZIP7_INC_DIALOG_SIZE_H 4 | #define ZIP7_INC_DIALOG_SIZE_H 5 | 6 | #include "../../../Windows/Control/Dialog.h" 7 | 8 | #ifdef UNDER_CE 9 | #define BIG_DIALOG_SIZE(x, y) bool isBig = NWindows::NControl::IsDialogSizeOK(x, y); 10 | #define SIZED_DIALOG(big) (isBig ? big : big ## _2) 11 | #else 12 | #define BIG_DIALOG_SIZE(x, y) 13 | #define SIZED_DIALOG(big) big 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditDialog.h: -------------------------------------------------------------------------------- 1 | // EditDialog.h 2 | 3 | #ifndef ZIP7_INC_EDIT_DIALOG_H 4 | #define ZIP7_INC_EDIT_DIALOG_H 5 | 6 | #include "../../../Windows/Control/Dialog.h" 7 | #include "../../../Windows/Control/Edit.h" 8 | 9 | #include "EditDialogRes.h" 10 | 11 | class CEditDialog: public NWindows::NControl::CModalDialog 12 | { 13 | NWindows::NControl::CEdit _edit; 14 | virtual bool OnInit() Z7_override; 15 | virtual bool OnSize(WPARAM wParam, int xSize, int ySize) Z7_override; 16 | public: 17 | UString Title; 18 | UString Text; 19 | 20 | INT_PTR Create(HWND wndParent = NULL) { return CModalDialog::Create(IDD_EDIT_DLG, wndParent); } 21 | 22 | CEditDialog() {} 23 | }; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditDialog.rc: -------------------------------------------------------------------------------- 1 | #include "EditDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 320 5 | #define yc 240 6 | 7 | IDD_EDIT_DLG DIALOG 0, 0, xs, ys MY_MODAL_RESIZE_DIALOG_STYLE MY_FONT 8 | CAPTION "Edit" 9 | { 10 | // OK_CANCEL 11 | MY_BUTTON__CLOSE 12 | 13 | EDITTEXT IDE_EDIT, m, m, xc, yc - bys - m, 14 | ES_MULTILINE | ES_READONLY | WS_VSCROLL | WS_HSCROLL | ES_WANTRETURN 15 | } 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_EDIT_DLG 94 2 | #define IDE_EDIT 100 3 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditPage.h: -------------------------------------------------------------------------------- 1 | // EditPage.h 2 | 3 | #ifndef ZIP7_INC_EDIT_PAGE_H 4 | #define ZIP7_INC_EDIT_PAGE_H 5 | 6 | #include "../../../Windows/Control/PropertyPage.h" 7 | #include "../../../Windows/Control/Edit.h" 8 | 9 | struct CEditPageCtrl 10 | { 11 | NWindows::NControl::CEdit Edit; 12 | bool WasChanged; 13 | unsigned Ctrl; 14 | unsigned Button; 15 | }; 16 | 17 | class CEditPage: public NWindows::NControl::CPropertyPage 18 | { 19 | CEditPageCtrl _ctrls[3]; 20 | 21 | bool _initMode; 22 | public: 23 | virtual bool OnInit() Z7_override; 24 | virtual void OnNotifyHelp() Z7_override; 25 | virtual bool OnCommand(unsigned code, unsigned itemID, LPARAM param) Z7_override; 26 | virtual LONG OnApply() Z7_override; 27 | virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override; 28 | }; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditPage.rc: -------------------------------------------------------------------------------- 1 | #include "EditPageRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc OPTIONS_PAGE_XC_SIZE 5 | #define yc 100 6 | 7 | IDD_EDIT MY_PAGE 8 | #include "EditPage2.rc" 9 | 10 | #ifdef UNDER_CE 11 | 12 | #undef xc 13 | 14 | #define xc SMALL_PAGE_SIZE_X 15 | 16 | IDD_EDIT_2 MY_PAGE 17 | #include "EditPage2.rc" 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditPage2.rc: -------------------------------------------------------------------------------- 1 | CAPTION "Editor" 2 | { 3 | LTEXT "&View:", IDT_EDIT_VIEWER, m, m, xc, 8 4 | EDITTEXT IDE_EDIT_VIEWER, m, m + 12, xc - m - bxsDots, 14, ES_AUTOHSCROLL 5 | PUSHBUTTON "...", IDB_EDIT_VIEWER, xs - m - bxsDots, m + 11, bxsDots, bys 6 | 7 | LTEXT "&Editor:", IDT_EDIT_EDITOR, m, m + 32, xc, 8 8 | EDITTEXT IDE_EDIT_EDITOR, m, m + 44, xc - m - bxsDots, 14, ES_AUTOHSCROLL 9 | PUSHBUTTON "...", IDB_EDIT_EDITOR, xs - m - bxsDots, m + 43, bxsDots, bys 10 | 11 | LTEXT "&Diff:", IDT_EDIT_DIFF, m, m + 64, xc, 8 12 | EDITTEXT IDE_EDIT_DIFF, m, m + 76, xc - m - bxsDots, 14, ES_AUTOHSCROLL 13 | PUSHBUTTON "...", IDB_EDIT_DIFF, xs - m - bxsDots, m + 75, bxsDots, bys 14 | } 15 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EditPageRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_EDIT 2103 2 | #define IDD_EDIT_2 12103 3 | 4 | #define IDT_EDIT_VIEWER 543 5 | #define IDT_EDIT_EDITOR 2104 6 | #define IDT_EDIT_DIFF 2105 7 | 8 | #define IDE_EDIT_VIEWER 100 9 | #define IDB_EDIT_VIEWER 101 10 | 11 | #define IDE_EDIT_EDITOR 102 12 | #define IDB_EDIT_EDITOR 103 13 | 14 | #define IDE_EDIT_DIFF 104 15 | #define IDB_EDIT_DIFF 105 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/EnumFormatEtc.h: -------------------------------------------------------------------------------- 1 | // EnumFormatEtc.h 2 | 3 | #ifndef ZIP7_INC_ENUMFORMATETC_H 4 | #define ZIP7_INC_ENUMFORMATETC_H 5 | 6 | #include "../../../Common/MyWindows.h" 7 | 8 | HRESULT CreateEnumFormatEtc(UINT numFormats, const FORMATETC *formats, IEnumFORMATETC **enumFormat); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Extract.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Extract.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Extract2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Extract2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FM.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "FM"=.\FM.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FM.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/FM.ico -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FileFolderPluginOpen.h: -------------------------------------------------------------------------------- 1 | // FileFolderPluginOpen.h 2 | 3 | #ifndef ZIP7_INC_FILE_FOLDER_PLUGIN_OPEN_H 4 | #define ZIP7_INC_FILE_FOLDER_PLUGIN_OPEN_H 5 | 6 | #include "../../../Windows/DLL.h" 7 | 8 | struct CFfpOpen 9 | { 10 | Z7_CLASS_NO_COPY(CFfpOpen) 11 | public: 12 | // out: 13 | bool Encrypted; 14 | UString Password; 15 | 16 | NWindows::NDLL::CLibrary Library; 17 | CMyComPtr Folder; 18 | UString ErrorMessage; 19 | 20 | CFfpOpen(): Encrypted (false) {} 21 | 22 | HRESULT OpenFileFolderPlugin(IInStream *inStream, 23 | const FString &path, const UString &arcFormat, HWND parentWindow); 24 | }; 25 | 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FilePlugins.h: -------------------------------------------------------------------------------- 1 | // FilePlugins.h 2 | 3 | #ifndef ZIP7_INC_FILE_PLUGINS_H 4 | #define ZIP7_INC_FILE_PLUGINS_H 5 | 6 | #include "RegistryPlugins.h" 7 | 8 | struct CPluginToIcon 9 | { 10 | // unsigned PluginIndex; 11 | int IconIndex; 12 | UString IconPath; 13 | 14 | CPluginToIcon(): IconIndex(-1) {} 15 | }; 16 | 17 | struct CExtPlugins 18 | { 19 | UString Ext; 20 | CObjectVector Plugins; 21 | }; 22 | 23 | class CExtDatabase 24 | { 25 | int FindExt(const UString &ext) const; 26 | public: 27 | CObjectVector Exts; 28 | // CObjectVector Plugins; 29 | 30 | void Read(); 31 | }; 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FoldersPage.rc: -------------------------------------------------------------------------------- 1 | #include "FoldersPageRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc OPTIONS_PAGE_XC_SIZE 5 | #define yc 100 6 | 7 | IDD_FOLDERS MY_PAGE 8 | #include "FoldersPage2.rc" 9 | 10 | #ifdef UNDER_CE 11 | 12 | #undef xc 13 | #define xc SMALL_PAGE_SIZE_X 14 | 15 | IDD_FOLDERS_2 MY_PAGE 16 | #include "FoldersPage2.rc" 17 | 18 | #endif 19 | 20 | STRINGTABLE 21 | BEGIN 22 | IDS_FOLDERS_SET_WORK_PATH_TITLE "Specify a location for temporary archive files." 23 | END 24 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FoldersPage2.rc: -------------------------------------------------------------------------------- 1 | CAPTION "Folders" 2 | BEGIN 3 | // GROUPBOX "&Working folder", IDT_FOLDERS_WORKING_FOLDER, m, m, xc, 98 4 | LTEXT "&Working folder", IDT_FOLDERS_WORKING_FOLDER, m, m, xc, 8 5 | MY_CONTROL_AUTORADIOBUTTON_GROUP ( "&System temp folder", IDR_FOLDERS_WORK_SYSTEM, m, 20, xc) 6 | MY_CONTROL_AUTORADIOBUTTON ( "&Current", IDR_FOLDERS_WORK_CURRENT, m, 34, xc) 7 | MY_CONTROL_AUTORADIOBUTTON ( "Specified:", IDR_FOLDERS_WORK_SPECIFIED, m, 48, xc) 8 | EDITTEXT IDE_FOLDERS_WORK_PATH, m + m, 62, xc - m - m - bxsDots, 14, ES_AUTOHSCROLL 9 | PUSHBUTTON "...", IDB_FOLDERS_WORK_PATH, xs - m - bxsDots, 61, bxsDots, bys 10 | MY_CONTROL_CHECKBOX ( "Use for removable drives only", IDX_FOLDERS_WORK_FOR_REMOVABLE, m, 86, xc) 11 | END 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FoldersPageRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_FOLDERS 2400 2 | #define IDD_FOLDERS_2 12400 3 | 4 | #define IDT_FOLDERS_WORKING_FOLDER 2401 5 | #define IDR_FOLDERS_WORK_SYSTEM 2402 6 | #define IDR_FOLDERS_WORK_CURRENT 2403 7 | #define IDR_FOLDERS_WORK_SPECIFIED 2404 8 | #define IDX_FOLDERS_WORK_FOR_REMOVABLE 2405 9 | #define IDS_FOLDERS_SET_WORK_PATH_TITLE 2406 10 | 11 | #define IDE_FOLDERS_WORK_PATH 100 12 | #define IDB_FOLDERS_WORK_PATH 101 13 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FormatUtils.cpp: -------------------------------------------------------------------------------- 1 | // FormatUtils.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../../Common/IntToString.h" 6 | 7 | #include "FormatUtils.h" 8 | 9 | #include "LangUtils.h" 10 | 11 | UString NumberToString(UInt64 number) 12 | { 13 | wchar_t numberString[32]; 14 | ConvertUInt64ToString(number, numberString); 15 | return numberString; 16 | } 17 | 18 | UString MyFormatNew(const UString &format, const UString &argument) 19 | { 20 | UString result = format; 21 | result.Replace(L"{0}", argument); 22 | return result; 23 | } 24 | 25 | UString MyFormatNew(UINT resourceID, const UString &argument) 26 | { 27 | return MyFormatNew(LangString(resourceID), argument); 28 | } 29 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/FormatUtils.h: -------------------------------------------------------------------------------- 1 | // FormatUtils.h 2 | 3 | #ifndef ZIP7_INC_FORMAT_UTILS_H 4 | #define ZIP7_INC_FORMAT_UTILS_H 5 | 6 | #include "../../../Common/MyTypes.h" 7 | #include "../../../Common/MyString.h" 8 | 9 | UString NumberToString(UInt64 number); 10 | 11 | UString MyFormatNew(const UString &format, const UString &argument); 12 | UString MyFormatNew(UINT resourceID, const UString &argument); 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/HelpUtils.h: -------------------------------------------------------------------------------- 1 | // HelpUtils.h 2 | 3 | #ifndef ZIP7_INC_HELP_UTILS_H 4 | #define ZIP7_INC_HELP_UTILS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | void ShowHelpWindow(LPCSTR topicFile); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Info.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Info.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Info2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Info2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/LangPageRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_LANG 2101 2 | #define IDD_LANG_2 12101 3 | 4 | #define IDS_LANG_ENGLISH 1 5 | #define IDS_LANG_NATIVE 2 6 | 7 | #define IDT_LANG_LANG 2102 8 | #define IDC_LANG_LANG 100 9 | #define IDT_LANG_INFO 101 10 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/LinkDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_LINK 7700 2 | 3 | #define IDB_LINK_LINK 7701 4 | 5 | #define IDT_LINK_PATH_FROM 7702 6 | #define IDT_LINK_PATH_TO 7703 7 | 8 | #define IDG_LINK_TYPE 7710 9 | #define IDR_LINK_TYPE_HARD 7711 10 | #define IDR_LINK_TYPE_SYM_FILE 7712 11 | #define IDR_LINK_TYPE_SYM_DIR 7713 12 | #define IDR_LINK_TYPE_JUNCTION 7714 13 | #define IDR_LINK_TYPE_WSL 7715 14 | 15 | 16 | #define IDC_LINK_PATH_FROM 100 17 | #define IDC_LINK_PATH_TO 101 18 | 19 | #define IDT_LINK_PATH_TO_CUR 102 20 | 21 | #define IDB_LINK_PATH_FROM 103 22 | #define IDB_LINK_PATH_TO 104 23 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ListViewDialog.rc: -------------------------------------------------------------------------------- 1 | #include "ListViewDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 480 5 | #define yc 320 6 | 7 | IDD_LISTVIEW DIALOG 0, 0, xs, ys MY_MODAL_RESIZE_DIALOG_STYLE MY_FONT 8 | CAPTION "ListView" 9 | { 10 | CONTROL "List1", IDL_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SHOWSELALWAYS | 11 | LVS_AUTOARRANGE | LVS_NOCOLUMNHEADER | WS_BORDER | WS_TABSTOP, 12 | m, m, xc, yc - bys - m 13 | OK_CANCEL 14 | } 15 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ListViewDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_LISTVIEW 99 2 | #define IDL_LISTVIEW 100 3 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/MemDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_MEM 7800 2 | 3 | #define IDX_MEM_SAVE_LIMIT 7801 4 | #define IDX_MEM_REMEMBER 7802 5 | #define IDG_MEM_ACTION 7803 6 | 7 | #define IDR_MEM_ACTION_ALLOW 7820 8 | #define IDR_MEM_ACTION_SKIP_ARC 7821 9 | 10 | #define IDT_MEM_MESSAGE 101 11 | #define IDE_MEM_SPIN_EDIT 110 12 | #define IDC_MEM_SPIN 111 13 | #define IDT_MEM_GB 112 14 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/MenuPage.rc: -------------------------------------------------------------------------------- 1 | #include "MenuPageRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc OPTIONS_PAGE_XC_SIZE 5 | #define yc OPTIONS_PAGE_YC_SIZE 6 | 7 | IDD_MENU MY_PAGE 8 | #include "MenuPage2.rc" 9 | 10 | #ifdef UNDER_CE 11 | 12 | #undef m 13 | #undef xc 14 | #undef yc 15 | 16 | #define m 4 17 | #define xc (SMALL_PAGE_SIZE_X + 8) 18 | 19 | #define yc 112 20 | 21 | IDD_MENU_2 MY_PAGE 22 | #include "MenuPage2.rc" 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/MenuPageRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_MENU 2300 2 | #define IDD_MENU_2 12300 3 | 4 | #define IDX_SYSTEM_INTEGRATE_TO_MENU 2301 5 | #define IDX_SYSTEM_CASCADED_MENU 2302 6 | #define IDT_SYSTEM_CONTEXT_MENU_ITEMS 2303 7 | #define IDX_SYSTEM_ICON_IN_MENU 2304 8 | 9 | #define IDX_SYSTEM_INTEGRATE_TO_MENU_2 2310 10 | 11 | #define IDT_SYSTEM_ZONE 3440 12 | #define IDT_ZONE_FOR_OFFICE 3441 13 | 14 | #define IDL_SYSTEM_OPTIONS 100 15 | #define IDC_SYSTEM_ZONE 101 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/MessagesDialog.h: -------------------------------------------------------------------------------- 1 | // MessagesDialog.h 2 | 3 | #ifndef ZIP7_INC_MESSAGES_DIALOG_H 4 | #define ZIP7_INC_MESSAGES_DIALOG_H 5 | 6 | #include "../../../Windows/Control/Dialog.h" 7 | #include "../../../Windows/Control/ListView.h" 8 | 9 | #include "MessagesDialogRes.h" 10 | 11 | class CMessagesDialog: public NWindows::NControl::CModalDialog 12 | { 13 | NWindows::NControl::CListView _messageList; 14 | 15 | void AddMessageDirect(LPCWSTR message); 16 | void AddMessage(LPCWSTR message); 17 | virtual bool OnInit() Z7_override; 18 | virtual bool OnSize(WPARAM wParam, int xSize, int ySize) Z7_override; 19 | public: 20 | const UStringVector *Messages; 21 | 22 | INT_PTR Create(HWND parent = NULL) { return CModalDialog::Create(IDD_MESSAGES, parent); } 23 | }; 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/MessagesDialog.rc: -------------------------------------------------------------------------------- 1 | #include "MessagesDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 440 5 | #define yc 160 6 | 7 | IDD_MESSAGES DIALOG 0, 0, xs, ys MY_MODAL_RESIZE_DIALOG_STYLE MY_FONT 8 | CAPTION "7-Zip: Diagnostic messages" 9 | { 10 | DEFPUSHBUTTON "&Close", IDOK, bx, by, bxs, bys 11 | CONTROL "List1", IDL_MESSAGE, "SysListView32", 12 | LVS_REPORT | LVS_SHOWSELALWAYS | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 13 | m, m, xc, yc - bys - m 14 | } 15 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/MessagesDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_MESSAGES 6602 2 | #define IDS_MESSAGE 6603 3 | #define IDL_MESSAGE 100 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Move.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Move.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Move2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Move2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/OverwriteDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_OVERWRITE 3500 2 | #define IDD_OVERWRITE_2 13500 3 | 4 | #define IDT_OVERWRITE_HEADER 3501 5 | #define IDT_OVERWRITE_QUESTION_BEGIN 3502 6 | #define IDT_OVERWRITE_QUESTION_END 3503 7 | #define IDS_FILE_SIZE 3504 8 | 9 | #define IDB_AUTO_RENAME 3505 10 | #define IDB_YES_TO_ALL 440 11 | #define IDB_NO_TO_ALL 441 12 | 13 | #define IDI_OVERWRITE_OLD_FILE 100 14 | #define IDI_OVERWRITE_OLD_FILE_2 101 15 | #define IDT_OVERWRITE_OLD_FILE_SIZE_TIME 102 16 | 17 | #define IDI_OVERWRITE_NEW_FILE 110 18 | #define IDI_OVERWRITE_NEW_FILE_2 111 19 | #define IDT_OVERWRITE_NEW_FILE_SIZE_TIME 112 20 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/PasswordDialog.h: -------------------------------------------------------------------------------- 1 | // PasswordDialog.h 2 | 3 | #ifndef ZIP7_INC_PASSWORD_DIALOG_H 4 | #define ZIP7_INC_PASSWORD_DIALOG_H 5 | 6 | #include "../../../Windows/Control/Dialog.h" 7 | #include "../../../Windows/Control/Edit.h" 8 | 9 | #include "PasswordDialogRes.h" 10 | 11 | class CPasswordDialog: public NWindows::NControl::CModalDialog 12 | { 13 | NWindows::NControl::CEdit _passwordEdit; 14 | 15 | virtual void OnOK() Z7_override; 16 | virtual bool OnInit() Z7_override; 17 | virtual bool OnButtonClicked(unsigned buttonID, HWND buttonHWND) Z7_override; 18 | void SetTextSpec(); 19 | void ReadControls(); 20 | public: 21 | UString Password; 22 | bool ShowPassword; 23 | 24 | CPasswordDialog(): ShowPassword(false) {} 25 | INT_PTR Create(HWND parentWindow = NULL) { return CModalDialog::Create(IDD_PASSWORD, parentWindow); } 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/PasswordDialog.rc: -------------------------------------------------------------------------------- 1 | #include "PasswordDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #ifdef UNDER_CE 5 | #define xc 140 6 | #else 7 | #define xc 200 8 | #endif 9 | #define yc 72 10 | 11 | IDD_PASSWORD DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT 12 | CAPTION "Enter password" 13 | BEGIN 14 | LTEXT "&Enter password:", IDT_PASSWORD_ENTER, m, m, xc, 8 15 | EDITTEXT IDE_PASSWORD_PASSWORD, m, 20, xc, 14, ES_PASSWORD | ES_AUTOHSCROLL 16 | CONTROL "&Show password", IDX_PASSWORD_SHOW, MY_CHECKBOX, m, 42, xc, 10 17 | OK_CANCEL 18 | END 19 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/PasswordDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_PASSWORD 3800 2 | #define IDT_PASSWORD_ENTER 3801 3 | #define IDX_PASSWORD_SHOW 3803 4 | 5 | #define IDE_PASSWORD_PASSWORD 120 6 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ProgramLocation.cpp: -------------------------------------------------------------------------------- 1 | // ProgramLocation.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ProgramLocation.h: -------------------------------------------------------------------------------- 1 | // ProgramLocation.h 2 | 3 | #ifndef ZIP7_INC_PROGRAM_LOCATION_H 4 | #define ZIP7_INC_PROGRAM_LOCATION_H 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ProgressDialog.rc: -------------------------------------------------------------------------------- 1 | #include "ProgressDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 172 5 | #define yc 44 6 | 7 | IDD_PROGRESS DIALOG 0, 0, xs, ys MY_MODAL_DIALOG_STYLE MY_FONT 8 | CAPTION "Progress" 9 | BEGIN 10 | PUSHBUTTON "Cancel", IDCANCEL, bx, by, bxs, bys 11 | CONTROL "Progress1", IDC_PROGRESS1, "msctls_progress32", PBS_SMOOTH | WS_BORDER, m, m, xc, 14 12 | END 13 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ProgressDialog2.rc: -------------------------------------------------------------------------------- 1 | #include "ProgressDialog2Res.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #undef DIALOG_ID 5 | #define DIALOG_ID IDD_PROGRESS 6 | #define xc 360 7 | #define k 11 8 | #define z1s 16 9 | 10 | #include "ProgressDialog2a.rc" 11 | 12 | #ifdef UNDER_CE 13 | 14 | #include "../../GuiCommon.rc" 15 | 16 | 17 | #undef DIALOG_ID 18 | #undef m 19 | #undef k 20 | #undef z1s 21 | 22 | #define DIALOG_ID IDD_PROGRESS_2 23 | #define m 4 24 | #define k 8 25 | #define z1s 12 26 | 27 | #define xc 280 28 | 29 | #include "ProgressDialog2a.rc" 30 | 31 | #endif 32 | 33 | STRINGTABLE DISCARDABLE 34 | { 35 | IDS_PROGRESS_PAUSED "Paused" 36 | IDS_PROGRESS_FOREGROUND "&Foreground" 37 | IDS_CONTINUE "&Continue" 38 | IDS_PROGRESS_ASK_CANCEL "Are you sure you want to cancel?" 39 | IDS_CLOSE "&Close" 40 | } 41 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/ProgressDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_PROGRESS 97 2 | 3 | #define IDC_PROGRESS1 100 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/PropertyName.cpp: -------------------------------------------------------------------------------- 1 | // PropertyName.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../../Common/IntToString.h" 6 | 7 | #include "LangUtils.h" 8 | #include "PropertyName.h" 9 | 10 | UString GetNameOfProperty(PROPID propID, const wchar_t *name) 11 | { 12 | if (propID < 1000) 13 | { 14 | UString s = LangString(1000 + propID); 15 | if (!s.IsEmpty()) 16 | return s; 17 | } 18 | if (name) 19 | return name; 20 | wchar_t temp[16]; 21 | ConvertUInt32ToString(propID, temp); 22 | return temp; 23 | } 24 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/PropertyName.h: -------------------------------------------------------------------------------- 1 | // PropertyName.h 2 | 3 | #ifndef ZIP7_INC_PROPERTY_NAME_H 4 | #define ZIP7_INC_PROPERTY_NAME_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | UString GetNameOfProperty(PROPID propID, const wchar_t *name); 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/RegistryAssociations.h: -------------------------------------------------------------------------------- 1 | // RegistryAssociations.h 2 | 3 | #ifndef ZIP7_INC_REGISTRY_ASSOCIATIONS_H 4 | #define ZIP7_INC_REGISTRY_ASSOCIATIONS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | namespace NRegistryAssoc { 9 | 10 | struct CShellExtInfo 11 | { 12 | CSysString ProgramKey; 13 | UString IconPath; 14 | int IconIndex; 15 | 16 | bool ReadFromRegistry(HKEY hkey, const CSysString &ext); 17 | bool IsIt7Zip() const; 18 | }; 19 | 20 | LONG DeleteShellExtensionInfo(HKEY hkey, const CSysString &ext); 21 | 22 | LONG AddShellExtensionInfo(HKEY hkey, 23 | const CSysString &ext, 24 | const UString &programTitle, 25 | const UString &programOpenCommand, 26 | const UString &iconPath, int iconIndex 27 | // , const void *shellNewData, int shellNewDataSize 28 | ); 29 | } 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/RegistryPlugins.h: -------------------------------------------------------------------------------- 1 | // RegistryPlugins.h 2 | 3 | #ifndef ZIP7_INC_REGISTRY_PLUGINS_H 4 | #define ZIP7_INC_REGISTRY_PLUGINS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | /* 9 | enum EPluginType 10 | { 11 | kPluginTypeFF = 0 12 | }; 13 | 14 | struct CPluginInfo 15 | { 16 | EPluginType Type; 17 | // bool ClassID_Defined; 18 | // bool OptionsClassID_Defined; 19 | // FString FilePath; 20 | // UString Name; 21 | // CLSID ClassID; 22 | // CLSID OptionsClassID; 23 | }; 24 | 25 | // void ReadPluginInfoList(CObjectVector &plugins); 26 | // void ReadFileFolderPluginInfoList(CObjectVector &plugins); 27 | */ 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/RootFolder.h: -------------------------------------------------------------------------------- 1 | // RootFolder.h 2 | 3 | #ifndef ZIP7_INC_ROOT_FOLDER_H 4 | #define ZIP7_INC_ROOT_FOLDER_H 5 | 6 | #include "../../../Common/MyCom.h" 7 | #include "../../../Common/MyString.h" 8 | 9 | #include "IFolder.h" 10 | 11 | const unsigned kNumRootFolderItems_Max = 4; 12 | 13 | Z7_CLASS_IMP_NOQIB_2( 14 | CRootFolder 15 | , IFolderFolder 16 | , IFolderGetSystemIconIndex 17 | ) 18 | UString _names[kNumRootFolderItems_Max]; 19 | int _iconIndices[kNumRootFolderItems_Max]; 20 | public: 21 | void Init(); 22 | }; 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/SettingsPage.rc: -------------------------------------------------------------------------------- 1 | #include "SettingsPageRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc OPTIONS_PAGE_XC_SIZE 5 | #define yc OPTIONS_PAGE_YC_SIZE 6 | 7 | IDD_SETTINGS MY_PAGE 8 | #include "SettingsPage2.rc" 9 | 10 | 11 | #ifdef UNDER_CE 12 | 13 | #undef m 14 | #undef xc 15 | 16 | #define m 4 17 | #define xc (SMALL_PAGE_SIZE_X + 8) 18 | 19 | IDD_SETTINGS_2 MY_PAGE 20 | #include "SettingsPage2.rc" 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/SplitDialog.rc: -------------------------------------------------------------------------------- 1 | #include "SplitDialogRes.h" 2 | #include "../../GuiCommon.rc" 3 | 4 | #define xc 288 5 | #define yc 96 6 | 7 | IDD_SPLIT DIALOG 0, 0, xs, ys MY_MODAL_RESIZE_DIALOG_STYLE MY_FONT 8 | CAPTION "Split File" 9 | BEGIN 10 | LTEXT "&Split to:", IDT_SPLIT_PATH, m, m, xc, 8 11 | COMBOBOX IDC_SPLIT_PATH, m, 20, xc - bxsDots - m, 64, MY_COMBO_WITH_EDIT 12 | PUSHBUTTON "...", IDB_SPLIT_PATH, xs - m - bxsDots, 18, bxsDots, bys, WS_GROUP 13 | LTEXT "Split to &volumes, bytes:", IDT_SPLIT_VOLUME, m, 44, xc, 8 14 | COMBOBOX IDC_SPLIT_VOLUME, m, 56, 96, 52, MY_COMBO_WITH_EDIT 15 | OK_CANCEL 16 | END 17 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/SplitDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_SPLIT 7300 2 | 3 | #define IDT_SPLIT_PATH 7301 4 | #define IDT_SPLIT_VOLUME 7302 5 | 6 | #define IDC_SPLIT_PATH 100 7 | #define IDB_SPLIT_PATH 101 8 | #define IDC_SPLIT_VOLUME 102 9 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/SplitUtils.h: -------------------------------------------------------------------------------- 1 | // SplitUtils.h 2 | 3 | #ifndef ZIP7_INC_SPLIT_UTILS_H 4 | #define ZIP7_INC_SPLIT_UTILS_H 5 | 6 | #include "../../../Common/MyTypes.h" 7 | #include "../../../Common/MyString.h" 8 | 9 | #include "../../../Windows/Control/ComboBox.h" 10 | 11 | bool ParseVolumeSizes(const UString &s, CRecordVector &values); 12 | void AddVolumeItems(NWindows::NControl::CComboBox &volumeCombo); 13 | UInt64 GetNumberOfVolumes(UInt64 size, const CRecordVector &volSizes); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/StringUtils.cpp: -------------------------------------------------------------------------------- 1 | // StringUtils.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "StringUtils.h" 6 | 7 | void SplitStringToTwoStrings(const UString &src, UString &dest1, UString &dest2) 8 | { 9 | dest1.Empty(); 10 | dest2.Empty(); 11 | bool quoteMode = false; 12 | for (unsigned i = 0; i < src.Len(); i++) 13 | { 14 | const wchar_t c = src[i]; 15 | if (c == '\"') 16 | quoteMode = !quoteMode; 17 | else if (c == ' ' && !quoteMode) 18 | { 19 | dest2 = src.Ptr(i + 1); 20 | return; 21 | } 22 | else 23 | dest1 += c; 24 | } 25 | } 26 | 27 | /* 28 | UString JoinStrings(const UStringVector &srcStrings) 29 | { 30 | UString s; 31 | FOR_VECTOR (i, srcStrings) 32 | { 33 | if (i != 0) 34 | s.Add_Space(); 35 | s += srcStrings[i]; 36 | } 37 | return s; 38 | } 39 | */ 40 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/StringUtils.h: -------------------------------------------------------------------------------- 1 | // StringUtils.h 2 | 3 | #ifndef ZIP7_INC_STRING_UTILS_H 4 | #define ZIP7_INC_STRING_UTILS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | void SplitStringToTwoStrings(const UString &src, UString &dest1, UString &dest2); 9 | // UString JoinStrings(const UStringVector &srcStrings); 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/SystemPageRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_SYSTEM 2200 2 | #define IDD_SYSTEM_2 12200 3 | 4 | #define IDT_SYSTEM_ASSOCIATE 2201 5 | #define IDS_SYSTEM_ALL_USERS 2202 6 | 7 | #define IDL_SYSTEM_ASSOCIATE 100 8 | #define IDB_SYSTEM_CURRENT 101 9 | #define IDB_SYSTEM_ALL 102 10 | -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Test.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Test.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/Test2.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/FileManager/Test2.bmp -------------------------------------------------------------------------------- /CPP/7zip/UI/FileManager/TextPairs.h: -------------------------------------------------------------------------------- 1 | // TextPairs.h 2 | 3 | #ifndef ZIP7_INC_FM_TEXT_PAIRS_H 4 | #define ZIP7_INC_FM_TEXT_PAIRS_H 5 | 6 | #include "../../../Common/MyString.h" 7 | 8 | struct CTextPair 9 | { 10 | UString ID; 11 | UString Value; 12 | }; 13 | 14 | class CPairsStorage 15 | { 16 | CObjectVector Pairs; 17 | 18 | int FindID(const UString &id, unsigned &insertPos) const; 19 | int FindID(const UString &id) const; 20 | void Sort(); 21 | public: 22 | void Clear() { Pairs.Clear(); } 23 | bool ReadFromString(const UString &text); 24 | void SaveToString(UString &text) const; 25 | 26 | bool GetValue(const UString &id, UString &value) const; 27 | UString GetValue(const UString &id) const; 28 | void AddPair(const CTextPair &pair); 29 | void DeletePair(const UString &id); 30 | }; 31 | 32 | #endif 33 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/BenchmarkDialog.h: -------------------------------------------------------------------------------- 1 | // BenchmarkDialog.h 2 | 3 | #ifndef ZIP7_INC_BENCHMARK_DIALOG_H 4 | #define ZIP7_INC_BENCHMARK_DIALOG_H 5 | 6 | #include "../../Common/CreateCoder.h" 7 | #include "../../UI/Common/Property.h" 8 | 9 | const UInt32 k_NumBenchIterations_Default = 10; 10 | 11 | HRESULT Benchmark( 12 | DECL_EXTERNAL_CODECS_LOC_VARS 13 | const CObjectVector &props, UInt32 numIterations, HWND hwndParent = NULL); 14 | 15 | #endif 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/ExtractDialogRes.h: -------------------------------------------------------------------------------- 1 | #define IDD_EXTRACT 3400 2 | #define IDD_EXTRACT_2 13400 3 | 4 | #define IDC_EXTRACT_PATH 100 5 | #define IDB_EXTRACT_SET_PATH 101 6 | #define IDC_EXTRACT_PATH_MODE 102 7 | #define IDC_EXTRACT_OVERWRITE_MODE 103 8 | 9 | #define IDE_EXTRACT_PASSWORD 120 10 | 11 | #define IDE_EXTRACT_NAME 130 12 | #define IDX_EXTRACT_NAME_ENABLE 131 13 | 14 | 15 | #define IDT_EXTRACT_EXTRACT_TO 3401 16 | #define IDT_EXTRACT_PATH_MODE 3410 17 | #define IDT_EXTRACT_OVERWRITE_MODE 3420 18 | 19 | #define IDX_EXTRACT_ELIM_DUP 3430 20 | #define IDX_EXTRACT_NT_SECUR 3431 21 | // #define IDX_EXTRACT_ALT_STREAMS 3432 22 | 23 | #define IDX_PASSWORD_SHOW 3803 24 | #define IDG_PASSWORD 3807 25 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/FM.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cielavenir/p7zip/2989692de4ba97eb7197f9c9a75d87bc8eb43051/CPP/7zip/UI/GUI/FM.ico -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/GUI.dsw: -------------------------------------------------------------------------------- 1 | Microsoft Developer Studio Workspace File, Format Version 6.00 2 | # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! 3 | 4 | ############################################################################### 5 | 6 | Project: "GUI"=.\GUI.dsp - Package Owner=<4> 7 | 8 | Package=<5> 9 | {{{ 10 | }}} 11 | 12 | Package=<4> 13 | {{{ 14 | }}} 15 | 16 | ############################################################################### 17 | 18 | Global: 19 | 20 | Package=<5> 21 | {{{ 22 | }}} 23 | 24 | Package=<3> 25 | {{{ 26 | }}} 27 | 28 | ############################################################################### 29 | 30 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/StdAfx.cpp: -------------------------------------------------------------------------------- 1 | // StdAfx.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #if _MSC_VER >= 1800 4 | #pragma warning(disable : 4464) // relative include path contains '..' 5 | #endif 6 | #include "../FileManager/StdAfx.h" 7 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/UpdateCallbackGUI.h: -------------------------------------------------------------------------------- 1 | // UpdateCallbackGUI.h 2 | 3 | #ifndef ZIP7_INC_UPDATE_CALLBACK_GUI_H 4 | #define ZIP7_INC_UPDATE_CALLBACK_GUI_H 5 | 6 | #include "../Common/Update.h" 7 | #include "../Common/ArchiveOpenCallback.h" 8 | 9 | #include "UpdateCallbackGUI2.h" 10 | 11 | class CUpdateCallbackGUI Z7_final: 12 | public IOpenCallbackUI, 13 | public IUpdateCallbackUI2, 14 | public CUpdateCallbackGUI2 15 | { 16 | Z7_IFACE_IMP(IOpenCallbackUI) 17 | Z7_IFACE_IMP(IUpdateCallbackUI) 18 | Z7_IFACE_IMP(IDirItemsCallback) 19 | Z7_IFACE_IMP(IUpdateCallbackUI2) 20 | 21 | public: 22 | bool AskPassword; 23 | FStringVector FailedFiles; 24 | 25 | CUpdateCallbackGUI(): 26 | AskPassword(false) 27 | {} 28 | void Init(); 29 | }; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/resource.rc: -------------------------------------------------------------------------------- 1 | #include "../../MyVersionInfo.rc" 2 | // #include 3 | 4 | #include "resource2.rc" 5 | #include "resource3.rc" 6 | 7 | #include "../FileManager/resourceGui.rc" 8 | 9 | MY_VERSION_INFO(MY_VFT_APP, "7-Zip GUI", "7zg", "7zg.exe") 10 | 11 | IDI_ICON ICON "FM.ico" 12 | 13 | #ifndef UNDER_CE 14 | 1 24 MOVEABLE PURE "7zG.exe.manifest" 15 | #endif 16 | 17 | #include "../FileManager/PropertyName.rc" 18 | #include "../FileManager/MemDialog.rc" 19 | #include "../FileManager/OverwriteDialog.rc" 20 | #include "../FileManager/PasswordDialog.rc" 21 | #include "../FileManager/ProgressDialog2.rc" 22 | #include "Extract.rc" 23 | #include "../FileManager/BrowseDialog.rc" 24 | #include "../FileManager/ComboDialog.rc" 25 | #include "../FileManager/EditDialog.rc" 26 | #include "../FileManager/ListViewDialog.rc" 27 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/resource2.h: -------------------------------------------------------------------------------- 1 | #define IDS_PROGRESS_COMPRESSING 3301 2 | #define IDS_ARCHIVES_COLON 3907 3 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/resource2.rc: -------------------------------------------------------------------------------- 1 | #include "ExtractDialog.rc" 2 | #include "CompressDialog.rc" 3 | #include "BenchmarkDialog.rc" 4 | #include "resource2.h" 5 | 6 | STRINGTABLE 7 | BEGIN 8 | IDS_PROGRESS_COMPRESSING "Compressing" 9 | IDS_ARCHIVES_COLON "Archives:" 10 | END 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/resource3.h: -------------------------------------------------------------------------------- 1 | #define IDS_PROGRESS_REMOVE 3305 2 | 3 | #define IDS_PROGRESS_ADD 3320 4 | #define IDS_PROGRESS_UPDATE 3321 5 | #define IDS_PROGRESS_ANALYZE 3322 6 | #define IDS_PROGRESS_REPLICATE 3323 7 | #define IDS_PROGRESS_REPACK 3324 8 | 9 | #define IDS_PROGRESS_DELETE 3326 10 | #define IDS_PROGRESS_HEADER 3327 11 | -------------------------------------------------------------------------------- /CPP/7zip/UI/GUI/resource3.rc: -------------------------------------------------------------------------------- 1 | #include "resource3.h" 2 | 3 | STRINGTABLE 4 | BEGIN 5 | IDS_PROGRESS_REMOVE "Removing" 6 | 7 | IDS_PROGRESS_ADD "Adding" 8 | IDS_PROGRESS_UPDATE "Updating" 9 | IDS_PROGRESS_ANALYZE "Analyzing" 10 | IDS_PROGRESS_REPLICATE "Replicating" 11 | IDS_PROGRESS_REPACK "Repacking" 12 | 13 | IDS_PROGRESS_DELETE "Deleting" 14 | IDS_PROGRESS_HEADER "Header creating" 15 | END 16 | -------------------------------------------------------------------------------- /CPP/7zip/UI/makefile: -------------------------------------------------------------------------------- 1 | DIRS = \ 2 | Client7z\~ \ 3 | Console\~ \ 4 | Explorer\~ \ 5 | Far\~ \ 6 | FileManager\~ \ 7 | GUI\~ \ 8 | 9 | all: $(DIRS) 10 | 11 | $(DIRS): 12 | !include "../SubBuild.mak" 13 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_clang.mak: -------------------------------------------------------------------------------- 1 | include ../../var_clang.mak 2 | include ../../warn_clang.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_clang_arm64.mak: -------------------------------------------------------------------------------- 1 | include ../../var_clang_arm64.mak 2 | include ../../warn_clang.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_clang_x64.mak: -------------------------------------------------------------------------------- 1 | include ../../var_clang_x64.mak 2 | include ../../warn_clang.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_clang_x86.mak: -------------------------------------------------------------------------------- 1 | include ../../var_clang_x86.mak 2 | include ../../warn_clang.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_gcc.mak: -------------------------------------------------------------------------------- 1 | include ../../var_gcc.mak 2 | include ../../warn_gcc.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_gcc_arm.mak: -------------------------------------------------------------------------------- 1 | include ../../var_gcc_arm.mak 2 | include ../../warn_gcc.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_gcc_arm64.mak: -------------------------------------------------------------------------------- 1 | include ../../var_gcc_arm64.mak 2 | include ../../warn_gcc.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_gcc_x64.mak: -------------------------------------------------------------------------------- 1 | include ../../var_gcc_x64.mak 2 | include ../../warn_gcc.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_gcc_x86.mak: -------------------------------------------------------------------------------- 1 | include ../../var_gcc_x86.mak 2 | include ../../warn_gcc.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_mac_arm64.mak: -------------------------------------------------------------------------------- 1 | include ../../var_mac_arm64.mak 2 | include ../../warn_clang_mac.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/cmpl_mac_x64.mak: -------------------------------------------------------------------------------- 1 | include ../../var_mac_x64.mak 2 | include ../../warn_clang_mac.mak 3 | include makefile.gcc 4 | -------------------------------------------------------------------------------- /CPP/7zip/makefile: -------------------------------------------------------------------------------- 1 | DIRS = \ 2 | UI\~ \ 3 | Bundles\~ \ 4 | 5 | all: $(DIRS) 6 | 7 | $(DIRS): 8 | cd $(@D) 9 | $(MAKE) -nologo 10 | cd .. 11 | -------------------------------------------------------------------------------- /CPP/7zip/var_clang.mak: -------------------------------------------------------------------------------- 1 | PLATFORM= 2 | O=b/c 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM= 9 | export CC=$(CROSS_COMPILE)clang 10 | export CXX=$(CROSS_COMPILE)clang++ 11 | USE_CLANG=1 12 | -------------------------------------------------------------------------------- /CPP/7zip/var_clang_arm64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=arm64 2 | O=b/c_$(PLATFORM) 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64=1 6 | CROSS_COMPILE= 7 | 8 | MY_ARCH=-march=armv8-a 9 | MY_ARCH=-march=armv8-a+crypto+crc 10 | MY_ARCH=-march=armv8.3-a+crypto+crc 11 | MY_ARCH= 12 | 13 | USE_ASM= 14 | USE_ASM=1 15 | export CC=$(CROSS_COMPILE)clang 16 | export CXX=$(CROSS_COMPILE)clang++ 17 | USE_CLANG=1 18 | -------------------------------------------------------------------------------- /CPP/7zip/var_clang_x64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x64 2 | O=b/c_$(PLATFORM) 3 | IS_X64=1 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM=1 9 | export CC=$(CROSS_COMPILE)clang 10 | export CXX=$(CROSS_COMPILE)clang++ 11 | USE_CLANG=1 12 | -------------------------------------------------------------------------------- /CPP/7zip/var_clang_x86.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x86 2 | O=b/c_$(PLATFORM) 3 | IS_X64= 4 | IS_X86=1 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH=-m32 8 | USE_ASM=1 9 | export CC=$(CROSS_COMPILE)clang 10 | export CXX=$(CROSS_COMPILE)clang++ 11 | USE_CLANG=1 12 | -------------------------------------------------------------------------------- /CPP/7zip/var_gcc.mak: -------------------------------------------------------------------------------- 1 | PLATFORM= 2 | O=b/g 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH= 8 | USE_ASM= 9 | export CC=$(CROSS_COMPILE)gcc 10 | export CXX=$(CROSS_COMPILE)g++ 11 | 12 | # -march=armv8-a+crc+crypto 13 | -------------------------------------------------------------------------------- /CPP/7zip/var_gcc_arm64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=arm64 2 | O=b/g_$(PLATFORM) 3 | IS_X64= 4 | IS_X86= 5 | IS_ARM64=1 6 | CROSS_COMPILE= 7 | MY_ARCH=-mtune=cortex-a53 8 | USE_ASM=1 9 | export CC=$(CROSS_COMPILE)gcc 10 | export CXX=$(CROSS_COMPILE)g++ 11 | 12 | # -march=armv8-a+crc+crypto 13 | -------------------------------------------------------------------------------- /CPP/7zip/var_gcc_x64.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x64 2 | O=b/g_$(PLATFORM) 3 | IS_X64=1 4 | IS_X86= 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH=-mavx512f -mavx512vl 8 | MY_ARCH= 9 | USE_ASM=1 10 | export CC=$(CROSS_COMPILE)gcc 11 | export CXX=$(CROSS_COMPILE)g++ 12 | -------------------------------------------------------------------------------- /CPP/7zip/var_gcc_x86.mak: -------------------------------------------------------------------------------- 1 | PLATFORM=x86 2 | O=b/g_$(PLATFORM) 3 | IS_X64= 4 | IS_X86=1 5 | IS_ARM64= 6 | CROSS_COMPILE= 7 | MY_ARCH=-m32 8 | USE_ASM=1 9 | export CC=$(CROSS_COMPILE)gcc 10 | export CXX=$(CROSS_COMPILE)g++ 11 | -------------------------------------------------------------------------------- /CPP/7zip/var_mac_arm64.mak: -------------------------------------------------------------------------------- 1 | IS_MAC=1 2 | PLATFORM=arm64 3 | O=b/m_$(PLATFORM) 4 | IS_X64= 5 | IS_X86= 6 | IS_ARM64=1 7 | CROSS_COMPILE= 8 | #use this code to reduce features 9 | MY_ARCH=-arch arm64 -march=armv8-a 10 | MY_ARCH=-arch arm64 11 | USE_ASM=1 12 | export CC=$(CROSS_COMPILE)clang 13 | export CXX=$(CROSS_COMPILE)clang++ 14 | USE_CLANG=1 15 | -------------------------------------------------------------------------------- /CPP/7zip/var_mac_x64.mak: -------------------------------------------------------------------------------- 1 | IS_MAC=1 2 | PLATFORM=x64 3 | O=b/m_$(PLATFORM) 4 | IS_X64=1 5 | IS_X86= 6 | IS_ARM64= 7 | CROSS_COMPILE= 8 | MY_ARCH=-arch x86_64 9 | USE_ASM=1 10 | export CC=$(CROSS_COMPILE)clang 11 | export CXX=$(CROSS_COMPILE)clang++ 12 | USE_CLANG=1 13 | -------------------------------------------------------------------------------- /CPP/Common/CRC.cpp: -------------------------------------------------------------------------------- 1 | // Common/CRC.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../C/7zCrc.h" 6 | 7 | static struct CCRCTableInit { CCRCTableInit() { CrcGenerateTable(); } } g_CRCTableInit; 8 | -------------------------------------------------------------------------------- /CPP/Common/C_FileIO.cpp: -------------------------------------------------------------------------------- 1 | // Common/C_FileIO.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/Common/C_FileIO.h: -------------------------------------------------------------------------------- 1 | // Common/C_FileIO.h 2 | 3 | #ifndef ZIP7_INC_COMMON_C_FILEIO_H 4 | #define ZIP7_INC_COMMON_C_FILEIO_H 5 | 6 | #endif 7 | -------------------------------------------------------------------------------- /CPP/Common/ComTry.h: -------------------------------------------------------------------------------- 1 | // ComTry.h 2 | 3 | #ifndef ZIP7_INC_COM_TRY_H 4 | #define ZIP7_INC_COM_TRY_H 5 | 6 | #include "MyWindows.h" 7 | // #include "Exception.h" 8 | // #include "NewHandler.h" 9 | 10 | #define COM_TRY_BEGIN try { 11 | #define COM_TRY_END } catch(...) { return E_OUTOFMEMORY; } 12 | 13 | /* 14 | #define COM_TRY_END } \ 15 | catch(const CNewException &) { return E_OUTOFMEMORY; } \ 16 | catch(...) { return HRESULT_FROM_WIN32(ERROR_NOACCESS); } \ 17 | */ 18 | // catch(const CSystemException &e) { return e.ErrorCode; } 19 | // catch(...) { return E_FAIL; } 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /CPP/Common/Common.h: -------------------------------------------------------------------------------- 1 | // Common.h 2 | 3 | #if defined(_MSC_VER) && _MSC_VER >= 1800 4 | #pragma warning(disable : 4464) // relative include path contains '..' 5 | #endif 6 | 7 | #ifndef ZIP7_INC_COMMON_H 8 | #define ZIP7_INC_COMMON_H 9 | 10 | #include "../../C/Precomp.h" 11 | #include "Common0.h" 12 | #include "MyWindows.h" 13 | 14 | /* 15 | This file is included to all cpp files in 7-Zip. 16 | Each folder contains StdAfx.h file that includes "Common.h". 17 | So 7-Zip includes "Common.h" in both modes: 18 | with precompiled StdAfx.h 19 | and 20 | without precompiled StdAfx.h 21 | 22 | include "Common.h" before other h files of 7-zip, 23 | if you need predefined macros. 24 | do not include "Common.h", if you need only interfaces, 25 | and you don't need predefined macros. 26 | */ 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /CPP/Common/Defs.h: -------------------------------------------------------------------------------- 1 | // Common/Defs.h 2 | 3 | #ifndef ZIP7_INC_COMMON_DEFS_H 4 | #define ZIP7_INC_COMMON_DEFS_H 5 | 6 | template inline T MyMin(T a, T b) { return a < b ? a : b; } 7 | template inline T MyMax(T a, T b) { return a > b ? a : b; } 8 | 9 | template inline int MyCompare(T a, T b) 10 | { return a == b ? 0 : (a < b ? -1 : 1); } 11 | 12 | inline int BoolToInt(bool v) { return (v ? 1 : 0); } 13 | inline unsigned BoolToUInt(bool v) { return (v ? 1u : 0u); } 14 | inline bool IntToBool(int v) { return (v != 0); } 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /CPP/Common/Lang.h: -------------------------------------------------------------------------------- 1 | // Common/Lang.h 2 | 3 | #ifndef ZIP7_INC_COMMON_LANG_H 4 | #define ZIP7_INC_COMMON_LANG_H 5 | 6 | #include "MyString.h" 7 | 8 | class CLang 9 | { 10 | wchar_t *_text; 11 | 12 | bool OpenFromString(const AString &s); 13 | public: 14 | CRecordVector _ids; 15 | CRecordVector _offsets; 16 | UStringVector Comments; 17 | 18 | CLang(): _text(NULL) {} 19 | ~CLang() { Clear(); } 20 | bool Open(CFSTR fileName, const char *id); 21 | void Clear() throw(); 22 | bool IsEmpty() const { return _ids.IsEmpty(); } 23 | const wchar_t *Get(UInt32 id) const throw(); 24 | const wchar_t *Get_by_index(unsigned index) const throw() 25 | { 26 | return _text + (size_t)_offsets[index]; 27 | } 28 | }; 29 | 30 | #endif 31 | -------------------------------------------------------------------------------- /CPP/Common/ListFileUtils.h: -------------------------------------------------------------------------------- 1 | // Common/ListFileUtils.h 2 | 3 | #ifndef ZIP7_INC_COMMON_LIST_FILE_UTILS_H 4 | #define ZIP7_INC_COMMON_LIST_FILE_UTILS_H 5 | 6 | #include "MyString.h" 7 | #include "MyTypes.h" 8 | 9 | #define Z7_WIN_CP_UTF16 1200 10 | #define Z7_WIN_CP_UTF16BE 1201 11 | 12 | // bool ReadNamesFromListFile(CFSTR fileName, UStringVector &strings, UINT codePage = CP_OEMCP); 13 | 14 | // = CP_OEMCP 15 | bool ReadNamesFromListFile2(CFSTR fileName, UStringVector &strings, UINT codePage, 16 | DWORD &lastError); 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /CPP/Common/LzFindPrepare.cpp: -------------------------------------------------------------------------------- 1 | // Sha256Prepare.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../C/LzFind.h" 6 | 7 | static struct CLzFindPrepare { CLzFindPrepare() { LzFindPrepare(); } } g_CLzFindPrepare; 8 | -------------------------------------------------------------------------------- /CPP/Common/MyException.h: -------------------------------------------------------------------------------- 1 | // Common/Exception.h 2 | 3 | #ifndef ZIP7_INC_COMMON_EXCEPTION_H 4 | #define ZIP7_INC_COMMON_EXCEPTION_H 5 | 6 | #include "MyWindows.h" 7 | 8 | struct CSystemException 9 | { 10 | HRESULT ErrorCode; 11 | CSystemException(HRESULT errorCode): ErrorCode(errorCode) {} 12 | }; 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /CPP/Common/MyMap.h: -------------------------------------------------------------------------------- 1 | // MyMap.h 2 | 3 | #ifndef ZIP7_INC_COMMON_MY_MAP_H 4 | #define ZIP7_INC_COMMON_MY_MAP_H 5 | 6 | #include "MyTypes.h" 7 | #include "MyVector.h" 8 | 9 | class CMap32 10 | { 11 | struct CNode 12 | { 13 | UInt32 Key; 14 | UInt32 Keys[2]; 15 | UInt32 Values[2]; 16 | UInt16 Len; 17 | Byte IsLeaf[2]; 18 | }; 19 | CRecordVector Nodes; 20 | 21 | public: 22 | 23 | void Clear() { Nodes.Clear(); } 24 | bool Find(UInt32 key, UInt32 &valueRes) const throw(); 25 | bool Set(UInt32 key, UInt32 value); // returns true, if there is such key already 26 | }; 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /CPP/Common/MyTypes.h: -------------------------------------------------------------------------------- 1 | // Common/MyTypes.h 2 | 3 | #ifndef ZIP7_INC_COMMON_MY_TYPES_H 4 | #define ZIP7_INC_COMMON_MY_TYPES_H 5 | 6 | #include "Common0.h" 7 | #include "../../C/7zTypes.h" 8 | 9 | // typedef int HRes; 10 | // typedef HRESULT HRes; 11 | 12 | struct CBoolPair 13 | { 14 | bool Val; 15 | bool Def; 16 | 17 | CBoolPair(): Val(false), Def(false) {} 18 | 19 | void Init() 20 | { 21 | Val = false; 22 | Def = false; 23 | } 24 | 25 | void SetTrueTrue() 26 | { 27 | Val = true; 28 | Def = true; 29 | } 30 | 31 | void SetVal_as_Defined(bool val) 32 | { 33 | Val = val; 34 | Def = true; 35 | } 36 | }; 37 | 38 | #endif 39 | -------------------------------------------------------------------------------- /CPP/Common/MyUnknown.h: -------------------------------------------------------------------------------- 1 | // MyUnknown.h 2 | 3 | #ifndef ZIP7_INC_MY_UNKNOWN_H 4 | #define ZIP7_INC_MY_UNKNOWN_H 5 | 6 | #include "MyWindows.h" 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /CPP/Common/MyVector.cpp: -------------------------------------------------------------------------------- 1 | // Common/MyVector.cpp 2 | 3 | #include "StdAfx.h" 4 | -------------------------------------------------------------------------------- /CPP/Common/Random.cpp: -------------------------------------------------------------------------------- 1 | // Common/Random.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include 6 | 7 | #ifndef _WIN32 8 | #include 9 | #else 10 | #include "MyWindows.h" 11 | #endif 12 | 13 | #include "Random.h" 14 | 15 | void CRandom::Init(unsigned seed) { srand(seed); } 16 | 17 | void CRandom::Init() 18 | { 19 | Init((unsigned) 20 | #ifdef _WIN32 21 | GetTickCount() 22 | #else 23 | time(NULL) 24 | #endif 25 | ); 26 | } 27 | 28 | int CRandom::Generate() const { return rand(); } 29 | -------------------------------------------------------------------------------- /CPP/Common/Random.h: -------------------------------------------------------------------------------- 1 | // Common/Random.h 2 | 3 | #ifndef ZIP7_INC_COMMON_RANDOM_H 4 | #define ZIP7_INC_COMMON_RANDOM_H 5 | 6 | class CRandom 7 | { 8 | public: 9 | void Init(); 10 | void Init(unsigned seed); 11 | int Generate() const; 12 | }; 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /CPP/Common/Sha1Prepare.cpp: -------------------------------------------------------------------------------- 1 | // Sha1Prepare.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../C/Sha1.h" 6 | 7 | static struct CSha1Prepare { CSha1Prepare() { Sha1Prepare(); } } g_Sha1Prepare; 8 | -------------------------------------------------------------------------------- /CPP/Common/Sha256Prepare.cpp: -------------------------------------------------------------------------------- 1 | // Sha256Prepare.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../C/Sha256.h" 6 | 7 | static struct CSha256Prepare { CSha256Prepare() { Sha256Prepare(); } } g_Sha256Prepare; 8 | -------------------------------------------------------------------------------- /CPP/Common/Sha512Prepare.cpp: -------------------------------------------------------------------------------- 1 | // Sha512Prepare.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../C/Sha512.h" 6 | 7 | static struct CSha512Prepare { CSha512Prepare() { Sha512Prepare(); } } g_Sha512Prepare; 8 | -------------------------------------------------------------------------------- /CPP/Common/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #include "Common.h" 7 | 8 | #endif 9 | -------------------------------------------------------------------------------- /CPP/Common/TextConfig.h: -------------------------------------------------------------------------------- 1 | // Common/TextConfig.h 2 | 3 | #ifndef ZIP7_INC_COMMON_TEXT_CONFIG_H 4 | #define ZIP7_INC_COMMON_TEXT_CONFIG_H 5 | 6 | #include "MyString.h" 7 | 8 | struct CTextConfigPair 9 | { 10 | UString ID; 11 | UString String; 12 | }; 13 | 14 | bool GetTextConfig(const AString &text, CObjectVector &pairs); 15 | 16 | int FindTextConfigItem(const CObjectVector &pairs, const char *id) throw(); 17 | UString GetTextConfigValue(const CObjectVector &pairs, const char *id); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /CPP/Common/XzCrc64Init.cpp: -------------------------------------------------------------------------------- 1 | // XzCrc64Init.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "../../C/XzCrc64.h" 6 | 7 | static struct CCrc64Gen { CCrc64Gen() { Crc64GenerateTable(); } } g_Crc64TableInit; 8 | -------------------------------------------------------------------------------- /CPP/Windows/Clipboard.h: -------------------------------------------------------------------------------- 1 | // Windows/Clipboard.h 2 | 3 | #ifndef ZIP7_INC_CLIPBOARD_H 4 | #define ZIP7_INC_CLIPBOARD_H 5 | 6 | #include "../Common/MyString.h" 7 | 8 | namespace NWindows { 9 | 10 | class CClipboard 11 | { 12 | bool m_Open; 13 | public: 14 | CClipboard(): m_Open(false) {} 15 | ~CClipboard() { Close(); } 16 | bool Open(HWND wndNewOwner) throw(); 17 | bool Close() throw(); 18 | }; 19 | 20 | bool ClipboardIsFormatAvailableHDROP(); 21 | 22 | // bool ClipboardGetFileNames(UStringVector &names); 23 | // bool ClipboardGetTextString(AString &s); 24 | bool ClipboardSetText(HWND owner, const UString &s); 25 | 26 | } 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /CPP/Windows/Console.cpp: -------------------------------------------------------------------------------- 1 | // Windows/Console.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "Console.h" 6 | 7 | namespace NWindows{ 8 | namespace NConsole{ 9 | 10 | }} 11 | -------------------------------------------------------------------------------- /CPP/Windows/Control/Edit.h: -------------------------------------------------------------------------------- 1 | // Windows/Control/Edit.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_CONTROL_EDIT_H 4 | #define ZIP7_INC_WINDOWS_CONTROL_EDIT_H 5 | 6 | #include "../Window.h" 7 | 8 | namespace NWindows { 9 | namespace NControl { 10 | 11 | class CEdit: public CWindow 12 | { 13 | public: 14 | void SetPasswordChar(WPARAM c) { SendMsg(EM_SETPASSWORDCHAR, c); } 15 | }; 16 | 17 | }} 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /CPP/Windows/Control/ImageList.cpp: -------------------------------------------------------------------------------- 1 | // Windows/Control/ImageList.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "ImageList.h" 6 | 7 | namespace NWindows { 8 | namespace NControl { 9 | 10 | }} 11 | -------------------------------------------------------------------------------- /CPP/Windows/Control/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/Windows/Control/Trackbar.h: -------------------------------------------------------------------------------- 1 | // Windows/Control/Trackbar.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_CONTROL_TRACKBAR_H 4 | #define ZIP7_INC_WINDOWS_CONTROL_TRACKBAR_H 5 | 6 | #include "../Window.h" 7 | 8 | namespace NWindows { 9 | namespace NControl { 10 | 11 | class CTrackbar: public CWindow 12 | { 13 | public: 14 | void SetRange(int minimum, int maximum, bool redraw = true) 15 | { SendMsg(TBM_SETRANGE, BoolToBOOL(redraw), MAKELONG(minimum, maximum)); } 16 | void SetPos(int pos, bool redraw = true) 17 | { SendMsg(TBM_SETPOS, BoolToBOOL(redraw), pos); } 18 | void SetTicFreq(int freq) 19 | { SendMsg(TBM_SETTICFREQ, freq); } 20 | 21 | int GetPos() 22 | { return (int)SendMsg(TBM_GETPOS); } 23 | }; 24 | 25 | }} 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /CPP/Windows/Defs.h: -------------------------------------------------------------------------------- 1 | // Windows/Defs.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_DEFS_H 4 | #define ZIP7_INC_WINDOWS_DEFS_H 5 | 6 | #include "../Common/MyWindows.h" 7 | 8 | #ifdef _WIN32 9 | inline BOOL BoolToBOOL(bool v) { return (v ? TRUE: FALSE); } 10 | #endif 11 | 12 | inline bool BOOLToBool(BOOL v) { return (v != FALSE); } 13 | 14 | inline VARIANT_BOOL BoolToVARIANT_BOOL(bool v) { return (v ? VARIANT_TRUE: VARIANT_FALSE); } 15 | inline bool VARIANT_BOOLToBool(VARIANT_BOOL v) { return (v != VARIANT_FALSE); } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /CPP/Windows/ErrorMsg.h: -------------------------------------------------------------------------------- 1 | // Windows/ErrorMsg.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_ERROR_MSG_H 4 | #define ZIP7_INC_WINDOWS_ERROR_MSG_H 5 | 6 | #include "../Common/MyString.h" 7 | 8 | namespace NWindows { 9 | namespace NError { 10 | 11 | UString MyFormatMessage(DWORD errorCode); 12 | inline UString MyFormatMessage(HRESULT errorCode) { return MyFormatMessage((DWORD)errorCode); } 13 | 14 | }} 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /CPP/Windows/FileMapping.cpp: -------------------------------------------------------------------------------- 1 | // Windows/FileMapping.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "FileMapping.h" 6 | 7 | namespace NWindows { 8 | namespace NFile { 9 | namespace NMapping { 10 | 11 | 12 | }}} 13 | -------------------------------------------------------------------------------- /CPP/Windows/FileSystem.h: -------------------------------------------------------------------------------- 1 | // Windows/FileSystem.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_FILE_SYSTEM_H 4 | #define ZIP7_INC_WINDOWS_FILE_SYSTEM_H 5 | 6 | #include "../Common/MyString.h" 7 | #include "../Common/MyTypes.h" 8 | 9 | namespace NWindows { 10 | namespace NFile { 11 | namespace NSystem { 12 | 13 | #ifdef _WIN32 14 | 15 | bool MyGetVolumeInformation( 16 | CFSTR rootPath , 17 | UString &volumeName, 18 | LPDWORD volumeSerialNumber, 19 | LPDWORD maximumComponentLength, 20 | LPDWORD fileSystemFlags, 21 | UString &fileSystemName); 22 | 23 | UINT MyGetDriveType(CFSTR pathName); 24 | 25 | bool MyGetDiskFreeSpace(CFSTR rootPath, UInt64 &clusterSize, UInt64 &totalSize, UInt64 &freeSize); 26 | 27 | #endif 28 | 29 | }}} 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /CPP/Windows/Handle.h: -------------------------------------------------------------------------------- 1 | // Windows/Handle.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_HANDLE_H 4 | #define ZIP7_INC_WINDOWS_HANDLE_H 5 | 6 | #include "../Common/MyWindows.h" 7 | 8 | namespace NWindows { 9 | 10 | class CHandle MY_UNCOPYABLE 11 | { 12 | protected: 13 | HANDLE _handle; 14 | public: 15 | operator HANDLE() { return _handle; } 16 | CHandle(): _handle(NULL) {} 17 | ~CHandle() { Close(); } 18 | bool IsCreated() const { return (_handle != NULL); } 19 | bool Close() 20 | { 21 | if (_handle == NULL) 22 | return true; 23 | if (!::CloseHandle(_handle)) 24 | return false; 25 | _handle = NULL; 26 | return true; 27 | } 28 | void Attach(HANDLE handle) { _handle = handle; } 29 | HANDLE Detach() 30 | { 31 | const HANDLE handle = _handle; 32 | _handle = NULL; 33 | return handle; 34 | } 35 | }; 36 | 37 | } 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /CPP/Windows/MemoryGlobal.cpp: -------------------------------------------------------------------------------- 1 | // Windows/MemoryGlobal.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "MemoryGlobal.h" 6 | 7 | namespace NWindows { 8 | namespace NMemory { 9 | 10 | bool CGlobal::Alloc(UINT flags, SIZE_T size) throw() 11 | { 12 | HGLOBAL newBlock = ::GlobalAlloc(flags, size); 13 | if (newBlock == NULL) 14 | return false; 15 | _global = newBlock; 16 | return true; 17 | } 18 | 19 | bool CGlobal::Free() throw() 20 | { 21 | if (_global == NULL) 22 | return true; 23 | _global = ::GlobalFree(_global); 24 | return (_global == NULL); 25 | } 26 | 27 | bool CGlobal::ReAlloc(SIZE_T size) throw() 28 | { 29 | HGLOBAL newBlock = ::GlobalReAlloc(_global, size, GMEM_MOVEABLE); 30 | if (newBlock == NULL) 31 | return false; 32 | _global = newBlock; 33 | return true; 34 | } 35 | 36 | }} 37 | -------------------------------------------------------------------------------- /CPP/Windows/NationalTime.h: -------------------------------------------------------------------------------- 1 | // Windows/NationalTime.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_NATIONAL_TIME_H 4 | #define ZIP7_INC_WINDOWS_NATIONAL_TIME_H 5 | 6 | #include "../Common/MyString.h" 7 | 8 | namespace NWindows { 9 | namespace NNational { 10 | namespace NTime { 11 | 12 | bool MyGetTimeFormat(LCID locale, DWORD flags, CONST SYSTEMTIME *time, 13 | LPCTSTR format, CSysString &resultString); 14 | 15 | bool MyGetDateFormat(LCID locale, DWORD flags, CONST SYSTEMTIME *time, 16 | LPCTSTR format, CSysString &resultString); 17 | 18 | }}} 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /CPP/Windows/ProcessMessages.cpp: -------------------------------------------------------------------------------- 1 | // Windows/ProcessMessages.cpp 2 | 3 | #include "StdAfx.h" 4 | 5 | #include "ProcessMessages.h" 6 | 7 | namespace NWindows { 8 | 9 | void ProcessMessages(HWND window) 10 | { 11 | MSG msg; 12 | while (::PeekMessage(&msg, NULL, 0, 0, PM_REMOVE) ) 13 | { 14 | if (window == (HWND) NULL || !IsDialogMessage(window, &msg)) 15 | { 16 | TranslateMessage(&msg); 17 | DispatchMessage(&msg); 18 | } 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /CPP/Windows/ProcessMessages.h: -------------------------------------------------------------------------------- 1 | // Windows/ProcessMessages.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_PROCESS_MESSAGES_H 4 | #define ZIP7_INC_WINDOWS_PROCESS_MESSAGES_H 5 | 6 | namespace NWindows { 7 | 8 | void ProcessMessages(HWND window); 9 | 10 | } 11 | 12 | #endif 13 | -------------------------------------------------------------------------------- /CPP/Windows/ResourceString.h: -------------------------------------------------------------------------------- 1 | // Windows/ResourceString.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_RESOURCE_STRING_H 4 | #define ZIP7_INC_WINDOWS_RESOURCE_STRING_H 5 | 6 | #include "../Common/MyString.h" 7 | #include "../Common/MyWindows.h" 8 | 9 | namespace NWindows { 10 | 11 | UString MyLoadString(UINT resourceID); 12 | void MyLoadString(HINSTANCE hInstance, UINT resourceID, UString &dest); 13 | void MyLoadString(UINT resourceID, UString &dest); 14 | 15 | } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /CPP/Windows/StdAfx.h: -------------------------------------------------------------------------------- 1 | // StdAfx.h 2 | 3 | #ifndef ZIP7_INC_STDAFX_H 4 | #define ZIP7_INC_STDAFX_H 5 | 6 | #if defined(_MSC_VER) && _MSC_VER >= 1800 7 | #pragma warning(disable : 4464) // relative include path contains '..' 8 | #endif 9 | #include "../Common/Common.h" 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /CPP/Windows/SystemInfo.h: -------------------------------------------------------------------------------- 1 | // Windows/SystemInfo.h 2 | 3 | #ifndef ZIP7_INC_WINDOWS_SYSTEM_INFO_H 4 | #define ZIP7_INC_WINDOWS_SYSTEM_INFO_H 5 | 6 | #include "../Common/MyString.h" 7 | 8 | 9 | void GetCpuName_MultiLine(AString &s, AString ®isters); 10 | 11 | void GetOsInfoText(AString &sRes); 12 | void GetSystemInfoText(AString &s); 13 | void PrintSize_KMGT_Or_Hex(AString &s, UInt64 v); 14 | void Add_LargePages_String(AString &s); 15 | 16 | void GetCompiler(AString &s); 17 | void GetVirtCpuid(AString &s); 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /Codecs/hashes/README.md: -------------------------------------------------------------------------------- 1 | 2 | Taken from lib/crypto/* of samba-4.5.8.tar.gz. 3 | 4 | /TR 2018-11-15 5 | --------------------------------------------------------------------------------