Full Code of mirror/firmware-mod-kit for AI

master 1ab09422186f cached
5052 files
26.2 MB
7.2M tokens
29999 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (28,636K chars total). Download the full file to get everything.
Repository: mirror/firmware-mod-kit
Branch: master
Commit: 1ab09422186f
Files: 5052
Total size: 26.2 MB

Directory structure:
gitextract_dkpulien/

├── build-firmware.sh
├── check_for_upgrade.sh
├── cleanup.sh
├── creating_ipkg_packages.htm
├── ddwrt-gui-extract.sh
├── ddwrt-gui-rebuild.sh
├── extract-firmware.sh
├── firmware_mod_kit.htm
├── firmware_mod_kit_version.txt
├── ipk_template/
│   ├── conffiles
│   ├── control
│   ├── debian_binary
│   └── make_ipk.sh
├── ipkg_install.sh
├── ipkg_install_all.sh
├── ipkg_remove.sh
├── ipkg_remove_all.sh
├── old-build.sh
├── old-extract.sh
├── shared-ng.inc
├── shared.inc
├── src/
│   ├── Makefile.in
│   ├── addpattern.c
│   ├── asustrx.c
│   ├── bff/
│   │   ├── Makefile
│   │   ├── bff_huffman_decompress.c
│   │   └── bffxtractor.py
│   ├── binwalk-0.4.1/
│   │   ├── docs/
│   │   │   └── README
│   │   └── src/
│   │       ├── Makefile.in
│   │       ├── binwalk.c
│   │       ├── binwalk.h
│   │       ├── common.c
│   │       ├── common.h
│   │       ├── configure
│   │       ├── configure.ac
│   │       ├── filter.c
│   │       ├── filter.h
│   │       ├── magic/
│   │       │   ├── magic.archives
│   │       │   ├── magic.bootloaders
│   │       │   ├── magic.compressed
│   │       │   ├── magic.executables
│   │       │   ├── magic.filesystems
│   │       │   ├── magic.firmware
│   │       │   └── magic.kernels
│   │       ├── magic.binarch
│   │       ├── magic.bincast
│   │       ├── magic.binwalk
│   │       ├── md5.c
│   │       ├── md5.h
│   │       ├── mparse.c
│   │       ├── mparse.h
│   │       ├── update.c
│   │       └── update.h
│   ├── binwalk-1.0/
│   │   ├── docs/
│   │   │   ├── API
│   │   │   ├── COPYING
│   │   │   └── README
│   │   └── src/
│   │       ├── bin/
│   │       │   └── binwalk-script
│   │       ├── binwalk/
│   │       │   ├── __init__.py
│   │       │   ├── common.py
│   │       │   ├── config/
│   │       │   │   └── extract.conf
│   │       │   ├── config.py
│   │       │   ├── extractor.py
│   │       │   ├── filter.py
│   │       │   ├── magic/
│   │       │   │   ├── binarch
│   │       │   │   ├── bincast
│   │       │   │   └── binwalk
│   │       │   ├── parser.py
│   │       │   ├── prettyprint.py
│   │       │   ├── smartsig.py
│   │       │   └── update.py
│   │       ├── build/
│   │       │   ├── lib.linux-x86_64-2.7/
│   │       │   │   └── binwalk/
│   │       │   │       ├── __init__.py
│   │       │   │       ├── common.py
│   │       │   │       ├── config/
│   │       │   │       │   └── extract.conf
│   │       │   │       ├── config.py
│   │       │   │       ├── extractor.py
│   │       │   │       ├── filter.py
│   │       │   │       ├── magic/
│   │       │   │       │   ├── binarch
│   │       │   │       │   ├── bincast
│   │       │   │       │   └── binwalk
│   │       │   │       ├── parser.py
│   │       │   │       ├── prettyprint.py
│   │       │   │       ├── smartsig.py
│   │       │   │       └── update.py
│   │       │   └── scripts-2.7/
│   │       │       └── binwalk
│   │       ├── magic/
│   │       │   ├── archives
│   │       │   ├── bootloaders
│   │       │   ├── compressed
│   │       │   ├── crypto
│   │       │   ├── executables
│   │       │   ├── filesystems
│   │       │   ├── firmware
│   │       │   ├── images
│   │       │   ├── kernels
│   │       │   ├── lzma
│   │       │   └── sql
│   │       ├── setup.py
│   │       └── support/
│   │           └── lzma_gen.py
│   ├── configure
│   ├── configure.ac
│   ├── cramfs-2.x/
│   │   ├── COPYING
│   │   ├── GNUmakefile
│   │   ├── NOTES
│   │   ├── README
│   │   ├── cramfsck.c
│   │   ├── linux/
│   │   │   ├── cramfs_fs.h
│   │   │   └── cramfs_fs_sb.h
│   │   └── mkcramfs.c
│   ├── cramfsswap/
│   │   ├── COPYING
│   │   ├── Makefile
│   │   ├── README
│   │   ├── cramfsswap.1
│   │   ├── cramfsswap.c
│   │   └── debian/
│   │       ├── changelog
│   │       ├── compat
│   │       ├── control
│   │       ├── copyright
│   │       ├── dirs
│   │       ├── docs
│   │       └── rules
│   ├── crcalc/
│   │   ├── Makefile
│   │   ├── README
│   │   ├── crc.c
│   │   ├── crc.h
│   │   ├── crcalc.c
│   │   ├── crcalc.h
│   │   ├── md5.c
│   │   ├── md5.h
│   │   ├── patch.c
│   │   └── patch.h
│   ├── firmware-tools/
│   │   ├── Makefile
│   │   ├── add_header.c
│   │   ├── addpattern.c
│   │   ├── airlink.c
│   │   ├── bcm_tag.h
│   │   ├── buffalo-enc.c
│   │   ├── buffalo-lib.c
│   │   ├── buffalo-lib.h
│   │   ├── buffalo-tag.c
│   │   ├── buffalo-tftp.c
│   │   ├── csysimg.h
│   │   ├── cyg_crc.h
│   │   ├── cyg_crc16.c
│   │   ├── cyg_crc32.c
│   │   ├── dgfirmware.c
│   │   ├── encode_crc.c
│   │   ├── fix-u-media-header.c
│   │   ├── fw.h
│   │   ├── imagetag.c
│   │   ├── imagetag.ggo
│   │   ├── imagetag_cmdline.c
│   │   ├── imagetag_cmdline.h
│   │   ├── lzma2eva.c
│   │   ├── makeamitbin.c
│   │   ├── md5.c
│   │   ├── md5.h
│   │   ├── mkbrncmdline.c
│   │   ├── mkbrnimg.c
│   │   ├── mkcameofw.c
│   │   ├── mkcasfw.c
│   │   ├── mkchkimg.c
│   │   ├── mkcsysimg.c
│   │   ├── mkdapimg.c
│   │   ├── mkdir615h1.c
│   │   ├── mkdniimg.c
│   │   ├── mkedimaximg.c
│   │   ├── mkfwimage.c
│   │   ├── mkfwimage2.c
│   │   ├── mkmylofw.c
│   │   ├── mkplanexfw.c
│   │   ├── mktitanimg.c
│   │   ├── mktitanimg.h
│   │   ├── mktplinkfw.c
│   │   ├── mkwrgimg.c
│   │   ├── mkzcfw.c
│   │   ├── mkzynfw.c
│   │   ├── motorola-bin.c
│   │   ├── myloader.h
│   │   ├── nand_ecc.c
│   │   ├── osbridge-crc.c
│   │   ├── pc1crypt.c
│   │   ├── ptgen.c
│   │   ├── readme.txt
│   │   ├── seama.c
│   │   ├── seama.h
│   │   ├── sha1.c
│   │   ├── sha1.h
│   │   ├── spw303v.c
│   │   ├── srec2bin.c
│   │   ├── trx.c
│   │   ├── trx2edips.c
│   │   ├── trx2usr.c
│   │   ├── wndr3700.c
│   │   ├── wrt400n.c
│   │   ├── xorimage.c
│   │   └── zynos.h
│   ├── jffs2/
│   │   ├── mkfs.jffs2
│   │   └── unjffs2
│   ├── lzma/
│   │   ├── .built
│   │   ├── .unpacked
│   │   ├── 7zC.txt
│   │   ├── 7zFormat.txt
│   │   ├── C/
│   │   │   ├── 7zip/
│   │   │   │   ├── Archive/
│   │   │   │   │   └── 7z_C/
│   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │       ├── 7zCrc.c
│   │   │   │   │       ├── 7zCrc.h
│   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │       ├── 7zIn.c
│   │   │   │   │       ├── 7zIn.h
│   │   │   │   │       ├── 7zItem.c
│   │   │   │   │       ├── 7zItem.h
│   │   │   │   │       ├── 7zMain.c
│   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │       ├── 7zTypes.h
│   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │       ├── makefile
│   │   │   │   │       └── makefile.gcc
│   │   │   │   ├── Common/
│   │   │   │   │   ├── FileStreams.cpp
│   │   │   │   │   ├── FileStreams.h
│   │   │   │   │   ├── InBuffer.cpp
│   │   │   │   │   ├── InBuffer.h
│   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   └── StreamUtils.h
│   │   │   │   ├── Compress/
│   │   │   │   │   ├── Branch/
│   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   ├── LZ/
│   │   │   │   │   │   ├── BinTree/
│   │   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   │   ├── BinTree4b.h
│   │   │   │   │   │   │   └── BinTreeMain.h
│   │   │   │   │   │   ├── HashChain/
│   │   │   │   │   │   │   ├── HC.h
│   │   │   │   │   │   │   ├── HC2.h
│   │   │   │   │   │   │   ├── HC3.h
│   │   │   │   │   │   │   ├── HC4.h
│   │   │   │   │   │   │   ├── HC4b.h
│   │   │   │   │   │   │   └── HCMain.h
│   │   │   │   │   │   ├── IMatchFinder.h
│   │   │   │   │   │   ├── LZInWindow.cpp
│   │   │   │   │   │   ├── LZInWindow.h
│   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   ├── Patricia/
│   │   │   │   │   │   │   ├── Pat.h
│   │   │   │   │   │   │   ├── Pat2.h
│   │   │   │   │   │   │   ├── Pat2H.h
│   │   │   │   │   │   │   ├── Pat2R.h
│   │   │   │   │   │   │   ├── Pat3H.h
│   │   │   │   │   │   │   ├── Pat4H.h
│   │   │   │   │   │   │   └── PatMain.h
│   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── LZMA_C/
│   │   │   │   │   │   ├── LzmaDecode.c
│   │   │   │   │   │   ├── LzmaDecode.h
│   │   │   │   │   │   ├── LzmaDecodeSize.c
│   │   │   │   │   │   ├── LzmaStateDecode.c
│   │   │   │   │   │   ├── LzmaStateDecode.h
│   │   │   │   │   │   ├── LzmaStateTest.c
│   │   │   │   │   │   ├── LzmaTest.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── LZMA_Lib/
│   │   │   │   │   │   ├── ZLib.cpp
│   │   │   │   │   │   └── makefile
│   │   │   │   │   └── RangeCoder/
│   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │       └── StdAfx.h
│   │   │   │   ├── ICoder.h
│   │   │   │   └── IStream.h
│   │   │   ├── Common/
│   │   │   │   ├── Alloc.cpp
│   │   │   │   ├── Alloc.h
│   │   │   │   ├── CRC.cpp
│   │   │   │   ├── CRC.h
│   │   │   │   ├── C_FileIO.cpp
│   │   │   │   ├── C_FileIO.h
│   │   │   │   ├── ComTry.h
│   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   ├── CommandLineParser.h
│   │   │   │   ├── Defs.h
│   │   │   │   ├── MyCom.h
│   │   │   │   ├── MyGuidDef.h
│   │   │   │   ├── MyInitGuid.h
│   │   │   │   ├── MyUnknown.h
│   │   │   │   ├── MyWindows.h
│   │   │   │   ├── NewHandler.cpp
│   │   │   │   ├── NewHandler.h
│   │   │   │   ├── StdAfx.h
│   │   │   │   ├── String.cpp
│   │   │   │   ├── String.h
│   │   │   │   ├── StringConvert.cpp
│   │   │   │   ├── StringConvert.h
│   │   │   │   ├── StringToInt.cpp
│   │   │   │   ├── StringToInt.h
│   │   │   │   ├── Types.h
│   │   │   │   ├── Vector.cpp
│   │   │   │   └── Vector.h
│   │   │   └── Windows/
│   │   │       ├── Defs.h
│   │   │       ├── FileIO.cpp
│   │   │       ├── FileIO.h
│   │   │       └── StdAfx.h
│   │   ├── CPL.html
│   │   ├── CS/
│   │   │   └── 7zip/
│   │   │       ├── Common/
│   │   │       │   ├── CRC.cs
│   │   │       │   ├── CommandLineParser.cs
│   │   │       │   ├── InBuffer.cs
│   │   │       │   └── OutBuffer.cs
│   │   │       ├── Compress/
│   │   │       │   ├── LZ/
│   │   │       │   │   ├── IMatchFinder.cs
│   │   │       │   │   ├── LzBinTree.cs
│   │   │       │   │   ├── LzInWindow.cs
│   │   │       │   │   └── LzOutWindow.cs
│   │   │       │   ├── LZMA/
│   │   │       │   │   ├── LzmaBase.cs
│   │   │       │   │   ├── LzmaDecoder.cs
│   │   │       │   │   └── LzmaEncoder.cs
│   │   │       │   ├── LzmaAlone/
│   │   │       │   │   ├── LzmaAlone.cs
│   │   │       │   │   ├── LzmaAlone.csproj
│   │   │       │   │   ├── LzmaAlone.sln
│   │   │       │   │   ├── LzmaBench.cs
│   │   │       │   │   └── Properties/
│   │   │       │   │       ├── AssemblyInfo.cs
│   │   │       │   │       ├── Resources.cs
│   │   │       │   │       └── Settings.cs
│   │   │       │   └── RangeCoder/
│   │   │       │       ├── RangeCoder.cs
│   │   │       │       ├── RangeCoderBit.cs
│   │   │       │       └── RangeCoderBitTree.cs
│   │   │       └── ICoder.cs
│   │   ├── Java/
│   │   │   └── SevenZip/
│   │   │       ├── CRC.java
│   │   │       ├── Compression/
│   │   │       │   ├── ICodeProgress.java
│   │   │       │   ├── LZ/
│   │   │       │   │   ├── BinTree.java
│   │   │       │   │   ├── InWindow.java
│   │   │       │   │   └── OutWindow.java
│   │   │       │   ├── LZMA/
│   │   │       │   │   ├── Base.java
│   │   │       │   │   ├── Decoder.java
│   │   │       │   │   └── Encoder.java
│   │   │       │   └── RangeCoder/
│   │   │       │       ├── BitTreeDecoder.java
│   │   │       │       ├── BitTreeEncoder.java
│   │   │       │       ├── Decoder.java
│   │   │       │       └── Encoder.java
│   │   │       ├── LzmaAlone.java
│   │   │       └── LzmaBench.java
│   │   ├── LGPL.txt
│   │   ├── Methods.txt
│   │   ├── history.txt
│   │   └── lzma.txt
│   ├── motorola-bin.c
│   ├── others/
│   │   ├── Makefile
│   │   ├── squashfs-2.0-nb4/
│   │   │   ├── Makefile
│   │   │   ├── nb4-mksquashfs/
│   │   │   │   ├── Makefile
│   │   │   │   ├── getdelim.c
│   │   │   │   ├── getdelim.h
│   │   │   │   ├── getline.c
│   │   │   │   ├── getline.h
│   │   │   │   ├── lzma/
│   │   │   │   │   ├── compress/
│   │   │   │   │   │   ├── 7z.h
│   │   │   │   │   │   ├── 7zapi.cpp
│   │   │   │   │   │   ├── 7zapi.h
│   │   │   │   │   │   ├── 7zlzma.cpp
│   │   │   │   │   │   ├── AriBitCoder.cpp
│   │   │   │   │   │   ├── AriBitCoder.h
│   │   │   │   │   │   ├── AriConst.h
│   │   │   │   │   │   ├── AriPrice.h
│   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   ├── BinTree2Main.h
│   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   ├── BinTree3Main.h
│   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   ├── BinTree3ZMain.h
│   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   ├── BinTree4Main.h
│   │   │   │   │   │   ├── BinTree4b.h
│   │   │   │   │   │   ├── BinTree4bMain.h
│   │   │   │   │   │   ├── BinTreeMF.h
│   │   │   │   │   │   ├── BinTreeMFMain.h
│   │   │   │   │   │   ├── BinTreeMain.h
│   │   │   │   │   │   ├── BitTreeCoder.h
│   │   │   │   │   │   ├── CRC.h
│   │   │   │   │   │   ├── Const.h
│   │   │   │   │   │   ├── IInOutStreams.cpp
│   │   │   │   │   │   ├── IInOutStreams.h
│   │   │   │   │   │   ├── InByte.cpp
│   │   │   │   │   │   ├── InByte.h
│   │   │   │   │   │   ├── LZMA.cpp
│   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   ├── LenCoder.cpp
│   │   │   │   │   │   ├── LenCoder.h
│   │   │   │   │   │   ├── LiteralCoder.cpp
│   │   │   │   │   │   ├── LiteralCoder.h
│   │   │   │   │   │   ├── OutByte.cpp
│   │   │   │   │   │   ├── OutByte.h
│   │   │   │   │   │   ├── Portable.h
│   │   │   │   │   │   ├── RCDefs.h
│   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── WindowIn.cpp
│   │   │   │   │   │   ├── WindowIn.h
│   │   │   │   │   │   ├── WindowOut.cpp
│   │   │   │   │   │   ├── WindowOut.h
│   │   │   │   │   │   └── lzDecomp.cpp
│   │   │   │   │   └── decompress/
│   │   │   │   │       ├── 7z.h
│   │   │   │   │       ├── 7zlzma.c
│   │   │   │   │       ├── AriBitCoder.h
│   │   │   │   │       ├── BitTreeCoder.h
│   │   │   │   │       ├── IInOutStreams.c
│   │   │   │   │       ├── IInOutStreams.h
│   │   │   │   │       ├── LZMA.h
│   │   │   │   │       ├── LZMADecoder.c
│   │   │   │   │       ├── LZMADecoder.h
│   │   │   │   │       ├── LenCoder.h
│   │   │   │   │       ├── LiteralCoder.h
│   │   │   │   │       ├── Makefile
│   │   │   │   │       ├── Portable.h
│   │   │   │   │       ├── RCDefs.h
│   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │       ├── WindowOut.h
│   │   │   │   │       └── vxTypesOld.h
│   │   │   │   └── squashfs/
│   │   │   │       ├── Makefile
│   │   │   │       ├── mksquashfs.c
│   │   │   │       ├── mksquashfs.h
│   │   │   │       ├── read_fs.c
│   │   │   │       ├── read_fs.h
│   │   │   │       ├── sort.c
│   │   │   │       ├── squashfs_fs.h
│   │   │   │       ├── squashfs_fs_i.h
│   │   │   │       └── squashfs_fs_sb.h
│   │   │   └── nb4-unsquashfs/
│   │   │       ├── Makefile
│   │   │       ├── README
│   │   │       ├── brcm-lzma/
│   │   │       │   ├── 7z.h
│   │   │       │   ├── 7zlzma.c
│   │   │       │   ├── AriBitCoder.h
│   │   │       │   ├── BitTreeCoder.h
│   │   │       │   ├── IInOutStreams.c
│   │   │       │   ├── IInOutStreams.h
│   │   │       │   ├── LZMA.h
│   │   │       │   ├── LZMADecoder.c
│   │   │       │   ├── LZMADecoder.h
│   │   │       │   ├── LenCoder.h
│   │   │       │   ├── LiteralCoder.h
│   │   │       │   ├── Makefile
│   │   │       │   ├── Portable.h
│   │   │       │   ├── RCDefs.h
│   │   │       │   ├── RangeCoder.h
│   │   │       │   ├── WindowOut.h
│   │   │       │   └── vxTypesOld.h
│   │   │       ├── global.h
│   │   │       ├── nb4-unsquash.c
│   │   │       ├── read_fs.h
│   │   │       └── squashfs_fs.h
│   │   ├── squashfs-3.0-e2100/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── lzma/
│   │   │   │   ├── .built
│   │   │   │   ├── .unpacked
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   └── 7z_C/
│   │   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │   │   │       ├── 7zCrc.c
│   │   │   │   │   │   │       ├── 7zCrc.h
│   │   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │   │   │       ├── 7zTypes.h
│   │   │   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── FileStreams.cpp
│   │   │   │   │   │   │   ├── FileStreams.h
│   │   │   │   │   │   │   ├── InBuffer.cpp
│   │   │   │   │   │   │   ├── InBuffer.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   └── StreamUtils.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   │   ├── BinTree/
│   │   │   │   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   │   │   │   ├── BinTree4b.h
│   │   │   │   │   │   │   │   │   └── BinTreeMain.h
│   │   │   │   │   │   │   │   ├── HashChain/
│   │   │   │   │   │   │   │   │   ├── HC.h
│   │   │   │   │   │   │   │   │   ├── HC2.h
│   │   │   │   │   │   │   │   │   ├── HC3.h
│   │   │   │   │   │   │   │   │   ├── HC4.h
│   │   │   │   │   │   │   │   │   ├── HC4b.h
│   │   │   │   │   │   │   │   │   └── HCMain.h
│   │   │   │   │   │   │   │   ├── IMatchFinder.h
│   │   │   │   │   │   │   │   ├── LZInWindow.cpp
│   │   │   │   │   │   │   │   ├── LZInWindow.h
│   │   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   │   ├── Patricia/
│   │   │   │   │   │   │   │   │   ├── Pat.h
│   │   │   │   │   │   │   │   │   ├── Pat2.h
│   │   │   │   │   │   │   │   │   ├── Pat2H.h
│   │   │   │   │   │   │   │   │   ├── Pat2R.h
│   │   │   │   │   │   │   │   │   ├── Pat3H.h
│   │   │   │   │   │   │   │   │   ├── Pat4H.h
│   │   │   │   │   │   │   │   │   └── PatMain.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LZMA_C/
│   │   │   │   │   │   │   │   ├── LzmaDecode.c
│   │   │   │   │   │   │   │   ├── LzmaDecode.h
│   │   │   │   │   │   │   │   ├── LzmaDecodeSize.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.h
│   │   │   │   │   │   │   │   ├── LzmaStateTest.c
│   │   │   │   │   │   │   │   ├── LzmaTest.c
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LZMA_Lib/
│   │   │   │   │   │   │   │   ├── ZLib.cpp
│   │   │   │   │   │   │   │   └── makefile
│   │   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   └── IStream.h
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── Alloc.cpp
│   │   │   │   │   │   ├── Alloc.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── CRC.h
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── String.cpp
│   │   │   │   │   │   ├── String.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── Vector.cpp
│   │   │   │   │   │   └── Vector.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       └── StdAfx.h
│   │   │   │   ├── CPL.html
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── ICodeProgress.java
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── LGPL.txt
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.2-r2/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-hg612-lzma/
│   │   │   ├── Makefile
│   │   │   ├── lzma443/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   └── 7z_C/
│   │   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │   │   │       ├── 7zCrc.c
│   │   │   │   │   │   │       ├── 7zCrc.h
│   │   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │   │   │       ├── 7zTypes.h
│   │   │   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── FileStreams.cpp
│   │   │   │   │   │   │   ├── FileStreams.h
│   │   │   │   │   │   │   ├── InBuffer.cpp
│   │   │   │   │   │   │   ├── InBuffer.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   └── StreamUtils.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   │   ├── BinTree/
│   │   │   │   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   │   │   │   └── BinTreeMain.h
│   │   │   │   │   │   │   │   ├── HashChain/
│   │   │   │   │   │   │   │   │   ├── HC2.h
│   │   │   │   │   │   │   │   │   ├── HC3.h
│   │   │   │   │   │   │   │   │   ├── HC4.h
│   │   │   │   │   │   │   │   │   └── HCMain.h
│   │   │   │   │   │   │   │   ├── IMatchFinder.h
│   │   │   │   │   │   │   │   ├── LZInWindow.cpp
│   │   │   │   │   │   │   │   ├── LZInWindow.h
│   │   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   │   ├── LZMA_C/
│   │   │   │   │   │   │   │   ├── LzmaDecode.c
│   │   │   │   │   │   │   │   ├── LzmaDecode.h
│   │   │   │   │   │   │   │   ├── LzmaDecodeSize.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.h
│   │   │   │   │   │   │   │   ├── LzmaStateTest.c
│   │   │   │   │   │   │   │   ├── LzmaTest.c
│   │   │   │   │   │   │   │   ├── LzmaTypes.h
│   │   │   │   │   │   │   │   ├── kmod/
│   │   │   │   │   │   │   │   │   ├── Makefile
│   │   │   │   │   │   │   │   │   └── module.c
│   │   │   │   │   │   │   │   ├── kmod.mk
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   ├── sqlzma.mk
│   │   │   │   │   │   │   │   ├── testflags.c
│   │   │   │   │   │   │   │   └── uncomp.c
│   │   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   └── IStream.h
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── Alloc.cpp
│   │   │   │   │   │   ├── Alloc.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── CRC.h
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── String.cpp
│   │   │   │   │   │   ├── String.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── Vector.cpp
│   │   │   │   │   │   └── Vector.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       └── StdAfx.h
│   │   │   │   ├── CPL.html
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── ICodeProgress.java
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── LGPL.txt
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   ├── lzma.txt
│   │   │   │   └── sqlzma1-443.patch
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   └── squashfs3.2-r2/
│   │   │       ├── ACKNOWLEDGEMENTS
│   │   │       ├── CHANGES
│   │   │       ├── COPYING
│   │   │       ├── INSTALL
│   │   │       ├── PERFORMANCE.README
│   │   │       ├── README
│   │   │       ├── README-3.2
│   │   │       ├── sqlzma2u-3.2-r2.patch
│   │   │       └── squashfs-tools/
│   │   │           ├── Makefile
│   │   │           ├── global.h
│   │   │           ├── mksquashfs.c
│   │   │           ├── mksquashfs.h
│   │   │           ├── read_fs.c
│   │   │           ├── read_fs.h
│   │   │           ├── sort.c
│   │   │           ├── sort.h
│   │   │           ├── squashfs_fs.h
│   │   │           └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-lzma/
│   │   │   ├── C/
│   │   │   │   ├── 7zCrc.c
│   │   │   │   ├── 7zCrc.h
│   │   │   │   ├── 7zCrcT8.c
│   │   │   │   ├── Alloc.c
│   │   │   │   ├── Alloc.h
│   │   │   │   ├── Archive/
│   │   │   │   │   └── 7z/
│   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │       ├── 7zIn.c
│   │   │   │   │       ├── 7zIn.h
│   │   │   │   │       ├── 7zItem.c
│   │   │   │   │       ├── 7zItem.h
│   │   │   │   │       ├── 7zMain.c
│   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │       ├── makefile
│   │   │   │   │       └── makefile.gcc
│   │   │   │   ├── Compress/
│   │   │   │   │   ├── Branch/
│   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   ├── BranchX86_2.c
│   │   │   │   │   │   └── BranchX86_2.h
│   │   │   │   │   ├── Huffman/
│   │   │   │   │   │   ├── HuffmanEncode.c
│   │   │   │   │   │   └── HuffmanEncode.h
│   │   │   │   │   ├── Lz/
│   │   │   │   │   │   ├── LzHash.h
│   │   │   │   │   │   ├── MatchFinder.c
│   │   │   │   │   │   ├── MatchFinder.h
│   │   │   │   │   │   ├── MatchFinderMt.c
│   │   │   │   │   │   └── MatchFinderMt.h
│   │   │   │   │   └── Lzma/
│   │   │   │   │       ├── LzmaDecode.c
│   │   │   │   │       ├── LzmaDecode.h
│   │   │   │   │       ├── LzmaDecodeSize.c
│   │   │   │   │       ├── LzmaStateDecode.c
│   │   │   │   │       ├── LzmaStateDecode.h
│   │   │   │   │       ├── LzmaStateTest.c
│   │   │   │   │       ├── LzmaTest.c
│   │   │   │   │       ├── LzmaTypes.h
│   │   │   │   │       ├── kmod/
│   │   │   │   │       │   └── uncomp.c
│   │   │   │   │       ├── kmod.mk
│   │   │   │   │       ├── sqlzma.mk
│   │   │   │   │       ├── testflags.c
│   │   │   │   │       └── uncomp.c
│   │   │   │   ├── CpuArch.h
│   │   │   │   ├── IStream.h
│   │   │   │   ├── Sort.c
│   │   │   │   ├── Sort.h
│   │   │   │   ├── Threads.c
│   │   │   │   ├── Threads.h
│   │   │   │   └── Types.h
│   │   │   ├── CPP/
│   │   │   │   ├── 7zip/
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   └── ParseProperties.h
│   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   └── IArchive.h
│   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── resource.rc
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── 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
│   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   ├── Compress/
│   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   ├── BCJ2Register.cpp
│   │   │   │   │   │   │   ├── BCJRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   ├── ByteSwap/
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   ├── Copy/
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   ├── LZMARegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   ├── ICoder.h
│   │   │   │   │   ├── IDecl.h
│   │   │   │   │   ├── IPassword.h
│   │   │   │   │   ├── IProgress.h
│   │   │   │   │   ├── IStream.h
│   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   ├── PropID.h
│   │   │   │   │   └── UI/
│   │   │   │   │       ├── Client7z/
│   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │       │   └── makefile
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │       │   ├── Extract.h
│   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │       │   ├── ExtractingFilePath.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
│   │   │   │   │       │   ├── 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.h
│   │   │   │   │       └── Console/
│   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │           └── afxres.h
│   │   │   │   ├── Build.mak
│   │   │   │   ├── Common/
│   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   ├── Buffer.h
│   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   ├── ComTry.h
│   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   ├── Defs.h
│   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   ├── IntToString.h
│   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   ├── MyCom.h
│   │   │   │   │   ├── MyException.h
│   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   ├── MyString.h
│   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   ├── MyVector.h
│   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   ├── Types.h
│   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   └── Wildcard.h
│   │   │   │   └── Windows/
│   │   │   │       ├── DLL.cpp
│   │   │   │       ├── DLL.h
│   │   │   │       ├── Defs.h
│   │   │   │       ├── Error.cpp
│   │   │   │       ├── Error.h
│   │   │   │       ├── FileDir.cpp
│   │   │   │       ├── FileDir.h
│   │   │   │       ├── FileFind.cpp
│   │   │   │       ├── FileFind.h
│   │   │   │       ├── FileIO.cpp
│   │   │   │       ├── FileIO.h
│   │   │   │       ├── FileMapping.cpp
│   │   │   │       ├── FileMapping.h
│   │   │   │       ├── FileName.cpp
│   │   │   │       ├── FileName.h
│   │   │   │       ├── Handle.h
│   │   │   │       ├── MemoryLock.cpp
│   │   │   │       ├── MemoryLock.h
│   │   │   │       ├── PropVariant.cpp
│   │   │   │       ├── PropVariant.h
│   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │       ├── PropVariantConversions.h
│   │   │   │       ├── StdAfx.h
│   │   │   │       ├── Synchronization.cpp
│   │   │   │       ├── Synchronization.h
│   │   │   │       ├── System.cpp
│   │   │   │       ├── System.h
│   │   │   │       ├── Thread.h
│   │   │   │       └── Time.h
│   │   │   ├── Makefile
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   └── squashfs3.2-r2/
│   │   │       ├── ACKNOWLEDGEMENTS
│   │   │       ├── CHANGES
│   │   │       ├── COPYING
│   │   │       ├── INSTALL
│   │   │       ├── OLD-READMEs/
│   │   │       │   ├── README-2.0
│   │   │       │   ├── README-2.1
│   │   │       │   ├── README-3.0
│   │   │       │   ├── README-3.1
│   │   │       │   └── README-AMD64
│   │   │       ├── PERFORMANCE.README
│   │   │       ├── README
│   │   │       ├── README-3.2
│   │   │       ├── sqlzma2u-3.2-r2.patch
│   │   │       └── squashfs-tools/
│   │   │           ├── Makefile
│   │   │           ├── global.h
│   │   │           ├── mksquashfs.c
│   │   │           ├── mksquashfs.h
│   │   │           ├── read_fs.c
│   │   │           ├── read_fs.h
│   │   │           ├── sort.c
│   │   │           ├── sort.h
│   │   │           ├── squashfs_fs.h
│   │   │           └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-rtn12/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── lzma_src/
│   │   │   │   └── C/
│   │   │   │       ├── Alloc.h
│   │   │   │       ├── LzFind.c
│   │   │   │       ├── LzFind.h
│   │   │   │       ├── LzHash.h
│   │   │   │       ├── LzmaDec.c
│   │   │   │       ├── LzmaDec.h
│   │   │   │       ├── LzmaEnc.c
│   │   │   │       ├── LzmaEnc.h
│   │   │   │       └── Types.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── sqlzma.c
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-wnr1000/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── lzma_src/
│   │   │   │   └── C/
│   │   │   │       ├── Alloc.h
│   │   │   │       ├── LzFind.c
│   │   │   │       ├── LzFind.h
│   │   │   │       ├── LzHash.h
│   │   │   │       ├── LzmaDec.c
│   │   │   │       ├── LzmaDec.h
│   │   │   │       ├── LzmaEnc.c
│   │   │   │       ├── LzmaEnc.h
│   │   │   │       └── Types.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── sqlzma.c
│   │   │   ├── sqlzma.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.3/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.3-grml-lzma/
│   │   │   ├── .tmpdeps
│   │   │   ├── .topdeps
│   │   │   ├── .topmsg
│   │   │   ├── Makefile
│   │   │   ├── debian/
│   │   │   │   ├── changelog
│   │   │   │   ├── compat
│   │   │   │   ├── control
│   │   │   │   ├── control.modules.in
│   │   │   │   ├── copyright
│   │   │   │   ├── doc/
│   │   │   │   │   ├── en/
│   │   │   │   │   │   ├── mksquashfs.dbk
│   │   │   │   │   │   └── unsquashfs.dbk
│   │   │   │   │   └── po/
│   │   │   │   │       ├── mksquashfs.fr.add
│   │   │   │   │       ├── mksquashfs.fr.po
│   │   │   │   │       ├── mksquashfs.pot
│   │   │   │   │       └── po4a.cfg
│   │   │   │   ├── rules
│   │   │   │   ├── rules.modules
│   │   │   │   ├── squashfs-lzma-source.NEWS
│   │   │   │   ├── squashfs-lzma-source.README.Debian
│   │   │   │   ├── squashfs-lzma-source.docs
│   │   │   │   ├── squashfs-lzma-source.links
│   │   │   │   ├── squashfs-lzma-tools.README.Debian
│   │   │   │   ├── squashfs-lzma-tools.dirs
│   │   │   │   ├── squashfs-lzma-tools.install
│   │   │   │   ├── squashfs-lzma-tools.manpages
│   │   │   │   └── watch
│   │   │   ├── ksquashfs/
│   │   │   │   ├── fs/
│   │   │   │   │   └── squashfs/
│   │   │   │   │       ├── Makefile
│   │   │   │   │       ├── inode.c
│   │   │   │   │       ├── squashfs.h
│   │   │   │   │       └── squashfs2_0.c
│   │   │   │   └── include/
│   │   │   │       └── linux/
│   │   │   │           ├── squashfs_fs.h
│   │   │   │           ├── squashfs_fs_i.h
│   │   │   │           └── squashfs_fs_sb.h
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zCrcT8.c
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Compress/
│   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   │   ├── BranchX86_2.c
│   │   │   │   │   │   │   └── BranchX86_2.h
│   │   │   │   │   │   ├── Huffman/
│   │   │   │   │   │   │   ├── HuffmanEncode.c
│   │   │   │   │   │   │   └── HuffmanEncode.h
│   │   │   │   │   │   ├── Lz/
│   │   │   │   │   │   │   ├── LzHash.h
│   │   │   │   │   │   │   ├── MatchFinder.c
│   │   │   │   │   │   │   ├── MatchFinder.h
│   │   │   │   │   │   │   ├── MatchFinderMt.c
│   │   │   │   │   │   │   └── MatchFinderMt.h
│   │   │   │   │   │   └── Lzma/
│   │   │   │   │   │       ├── LzmaDecode.c
│   │   │   │   │   │       ├── LzmaDecode.h
│   │   │   │   │   │       ├── LzmaDecodeSize.c
│   │   │   │   │   │       ├── LzmaStateDecode.c
│   │   │   │   │   │       ├── LzmaStateDecode.h
│   │   │   │   │   │       ├── LzmaStateTest.c
│   │   │   │   │   │       ├── LzmaTest.c
│   │   │   │   │   │       ├── LzmaTypes.h
│   │   │   │   │   │       ├── kmod/
│   │   │   │   │   │       │   ├── Makefile
│   │   │   │   │   │       │   └── module.c
│   │   │   │   │   │       ├── kmod.mk
│   │   │   │   │   │       ├── sqlzma.mk
│   │   │   │   │   │       ├── testflags.c
│   │   │   │   │   │       └── uncomp.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── IStream.h
│   │   │   │   │   ├── Sort.c
│   │   │   │   │   ├── Sort.h
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   └── ParseProperties.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   └── IArchive.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   │   ├── BCJ2Register.cpp
│   │   │   │   │   │   │   │   ├── BCJRegister.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   │   ├── ByteSwap/
│   │   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── Copy/
│   │   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   │   ├── LZMARegister.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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
│   │   │   │   │   │       │   ├── 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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   │           └── afxres.h
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── LGPL.txt
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── sqlzma.h
│   │   │   ├── sqlzma.txt
│   │   │   ├── sqlzma1-449.patch
│   │   │   ├── sqlzma2k-3.3.patch
│   │   │   ├── sqlzma2u-3.3.patch
│   │   │   ├── sqmagic.h
│   │   │   └── squashfs3.3/
│   │   │       ├── ACKNOWLEDGEMENTS
│   │   │       ├── CHANGES
│   │   │       ├── COPYING
│   │   │       ├── INSTALL
│   │   │       ├── OLD-READMEs/
│   │   │       │   ├── README-2.0
│   │   │       │   ├── README-2.1
│   │   │       │   ├── README-3.0
│   │   │       │   ├── README-3.1
│   │   │       │   ├── README-3.2
│   │   │       │   └── README-AMD64
│   │   │       ├── PERFORMANCE.README
│   │   │       ├── README
│   │   │       ├── README-3.3
│   │   │       ├── kernel-patches/
│   │   │       │   ├── linux-2.6.10/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.12/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.14/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.16/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.18/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.20/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.22/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.23/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.24/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.6/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   └── linux-2.6.8.1/
│   │   │       │       └── squashfs3.3-patch
│   │   │       └── squashfs-tools/
│   │   │           ├── Makefile
│   │   │           ├── global.h
│   │   │           ├── mksquashfs.c
│   │   │           ├── mksquashfs.h
│   │   │           ├── read_fs.c
│   │   │           ├── read_fs.h
│   │   │           ├── sort.c
│   │   │           ├── sort.h
│   │   │           ├── squashfs_fs.h
│   │   │           └── unsquashfs.c
│   │   ├── squashfs-3.3-lzma/
│   │   │   ├── C/
│   │   │   │   ├── 7zCrc.c
│   │   │   │   ├── 7zCrc.h
│   │   │   │   ├── 7zCrcT8.c
│   │   │   │   ├── Alloc.c
│   │   │   │   ├── Alloc.h
│   │   │   │   ├── Archive/
│   │   │   │   │   └── 7z/
│   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │       ├── 7zIn.c
│   │   │   │   │       ├── 7zIn.h
│   │   │   │   │       ├── 7zItem.c
│   │   │   │   │       ├── 7zItem.h
│   │   │   │   │       ├── 7zMain.c
│   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │       ├── makefile
│   │   │   │   │       └── makefile.gcc
│   │   │   │   ├── Compress/
│   │   │   │   │   ├── Branch/
│   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   ├── BranchX86_2.c
│   │   │   │   │   │   └── BranchX86_2.h
│   │   │   │   │   ├── Huffman/
│   │   │   │   │   │   ├── HuffmanEncode.c
│   │   │   │   │   │   └── HuffmanEncode.h
│   │   │   │   │   ├── Lz/
│   │   │   │   │   │   ├── LzHash.h
│   │   │   │   │   │   ├── MatchFinder.c
│   │   │   │   │   │   ├── MatchFinder.h
│   │   │   │   │   │   ├── MatchFinderMt.c
│   │   │   │   │   │   └── MatchFinderMt.h
│   │   │   │   │   └── Lzma/
│   │   │   │   │       ├── LzmaDecode.c
│   │   │   │   │       ├── LzmaDecode.h
│   │   │   │   │       ├── LzmaDecodeSize.c
│   │   │   │   │       ├── LzmaStateDecode.c
│   │   │   │   │       ├── LzmaStateDecode.h
│   │   │   │   │       ├── LzmaStateTest.c
│   │   │   │   │       ├── LzmaTest.c
│   │   │   │   │       ├── LzmaTypes.h
│   │   │   │   │       ├── kmod/
│   │   │   │   │       │   └── uncomp.c
│   │   │   │   │       ├── kmod.mk
│   │   │   │   │       ├── sqlzma.mk
│   │   │   │   │       ├── testflags.c
│   │   │   │   │       └── uncomp.c
│   │   │   │   ├── CpuArch.h
│   │   │   │   ├── IStream.h
│   │   │   │   ├── Sort.c
│   │   │   │   ├── Sort.h
│   │   │   │   ├── Threads.c
│   │   │   │   ├── Threads.h
│   │   │   │   └── Types.h
│   │   │   ├── CPP/
│   │   │   │   ├── 7zip/
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   └── ParseProperties.h
│   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   └── IArchive.h
│   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── resource.rc
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── 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
│   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   ├── Compress/
│   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   ├── BCJ2Register.cpp
│   │   │   │   │   │   │   ├── BCJRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   ├── ByteSwap/
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   ├── Copy/
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   ├── LZMARegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   ├── ICoder.h
│   │   │   │   │   ├── IDecl.h
│   │   │   │   │   ├── IPassword.h
│   │   │   │   │   ├── IProgress.h
│   │   │   │   │   ├── IStream.h
│   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   ├── PropID.h
│   │   │   │   │   └── UI/
│   │   │   │   │       ├── Client7z/
│   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │       │   └── makefile
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │       │   ├── Extract.h
│   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │       │   ├── ExtractingFilePath.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
│   │   │   │   │       │   ├── 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.h
│   │   │   │   │       └── Console/
│   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │           └── afxres.h
│   │   │   │   ├── Build.mak
│   │   │   │   ├── Common/
│   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   ├── Buffer.h
│   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   ├── ComTry.h
│   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   ├── Defs.h
│   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   ├── IntToString.h
│   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   ├── MyCom.h
│   │   │   │   │   ├── MyException.h
│   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   ├── MyString.h
│   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   ├── MyVector.h
│   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   ├── Types.h
│   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   └── Wildcard.h
│   │   │   │   └── Windows/
│   │   │   │       ├── DLL.cpp
│   │   │   │       ├── DLL.h
│   │   │   │       ├── Defs.h
│   │   │   │       ├── Error.cpp
│   │   │   │       ├── Error.h
│   │   │   │       ├── FileDir.cpp
│   │   │   │       ├── FileDir.h
│   │   │   │       ├── FileFind.cpp
│   │   │   │       ├── FileFind.h
│   │   │   │       ├── FileIO.cpp
│   │   │   │       ├── FileIO.h
│   │   │   │       ├── FileMapping.cpp
│   │   │   │       ├── FileMapping.h
│   │   │   │       ├── FileName.cpp
│   │   │   │       ├── FileName.h
│   │   │   │       ├── Handle.h
│   │   │   │       ├── MemoryLock.cpp
│   │   │   │       ├── MemoryLock.h
│   │   │   │       ├── PropVariant.cpp
│   │   │   │       ├── PropVariant.h
│   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │       ├── PropVariantConversions.h
│   │   │   │       ├── StdAfx.h
│   │   │   │       ├── Synchronization.cpp
│   │   │   │       ├── Synchronization.h
│   │   │   │       ├── System.cpp
│   │   │   │       ├── System.h
│   │   │   │       ├── Thread.h
│   │   │   │       └── Time.h
│   │   │   ├── Makefile
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs3.3/
│   │   │   │   └── squashfs-tools/
│   │   │   │       ├── Makefile
│   │   │   │       ├── global.h
│   │   │   │       ├── mksquashfs.c
│   │   │   │       ├── mksquashfs.h
│   │   │   │       ├── read_fs.c
│   │   │   │       ├── read_fs.h
│   │   │   │       ├── sort.c
│   │   │   │       ├── sort.h
│   │   │   │       ├── squashfs_fs.h
│   │   │   │       └── unsquashfs.c
│   │   │   └── unuse/
│   │   │       ├── CS/
│   │   │       │   └── 7zip/
│   │   │       │       ├── Common/
│   │   │       │       │   ├── CRC.cs
│   │   │       │       │   ├── CommandLineParser.cs
│   │   │       │       │   ├── InBuffer.cs
│   │   │       │       │   └── OutBuffer.cs
│   │   │       │       ├── Compress/
│   │   │       │       │   ├── LZ/
│   │   │       │       │   │   ├── IMatchFinder.cs
│   │   │       │       │   │   ├── LzBinTree.cs
│   │   │       │       │   │   ├── LzInWindow.cs
│   │   │       │       │   │   └── LzOutWindow.cs
│   │   │       │       │   ├── LZMA/
│   │   │       │       │   │   ├── LzmaBase.cs
│   │   │       │       │   │   ├── LzmaDecoder.cs
│   │   │       │       │   │   └── LzmaEncoder.cs
│   │   │       │       │   ├── LzmaAlone/
│   │   │       │       │   │   ├── LzmaAlone.cs
│   │   │       │       │   │   ├── LzmaAlone.csproj
│   │   │       │       │   │   ├── LzmaAlone.sln
│   │   │       │       │   │   ├── LzmaBench.cs
│   │   │       │       │   │   └── Properties/
│   │   │       │       │   │       ├── AssemblyInfo.cs
│   │   │       │       │   │       ├── Resources.cs
│   │   │       │       │   │       └── Settings.cs
│   │   │       │       │   └── RangeCoder/
│   │   │       │       │       ├── RangeCoder.cs
│   │   │       │       │       ├── RangeCoderBit.cs
│   │   │       │       │       └── RangeCoderBitTree.cs
│   │   │       │       └── ICoder.cs
│   │   │       └── Java/
│   │   │           └── SevenZip/
│   │   │               ├── CRC.java
│   │   │               ├── Compression/
│   │   │               │   ├── LZ/
│   │   │               │   │   ├── BinTree.java
│   │   │               │   │   ├── InWindow.java
│   │   │               │   │   └── OutWindow.java
│   │   │               │   ├── LZMA/
│   │   │               │   │   ├── Base.java
│   │   │               │   │   ├── Decoder.java
│   │   │               │   │   └── Encoder.java
│   │   │               │   └── RangeCoder/
│   │   │               │       ├── BitTreeDecoder.java
│   │   │               │       ├── BitTreeEncoder.java
│   │   │               │       ├── Decoder.java
│   │   │               │       └── Encoder.java
│   │   │               ├── ICodeProgress.java
│   │   │               ├── LzmaAlone.java
│   │   │               └── LzmaBench.java
│   │   ├── squashfs-3.4-cisco/
│   │   │   ├── Makefile
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   ├── lzma.txt
│   │   │   │   ├── lzma465.tar.bz2
│   │   │   │   └── patches/
│   │   │   │       └── lzma465-squashfs.patch
│   │   │   └── squashfs-tools/
│   │   │       ├── Makefile
│   │   │       ├── global.h
│   │   │       ├── lzmainterface.c
│   │   │       ├── lzmainterface.h
│   │   │       ├── mksquashfs.c
│   │   │       ├── mksquashfs.h
│   │   │       ├── read_fs.c
│   │   │       ├── read_fs.h
│   │   │       ├── sort.c
│   │   │       ├── sort.h
│   │   │       ├── squashfs_fs.h
│   │   │       └── unsquashfs.c
│   │   ├── squashfs-3.4-nb4/
│   │   │   ├── Makefile
│   │   │   ├── README.txt
│   │   │   ├── lzma465/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   ├── Types.h
│   │   │   │   │   ├── sqlzma.mk
│   │   │   │   │   └── uncomp.c
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── mksquashfs
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs3.4/
│   │   │   │   ├── ACKNOWLEDGEMENTS
│   │   │   │   ├── CHANGES
│   │   │   │   ├── COPYING
│   │   │   │   ├── INSTALL
│   │   │   │   ├── OLD-READMEs/
│   │   │   │   │   ├── README-2.0
│   │   │   │   │   ├── README-2.1
│   │   │   │   │   ├── README-3.0
│   │   │   │   │   ├── README-3.1
│   │   │   │   │   ├── README-3.2
│   │   │   │   │   ├── README-3.3
│   │   │   │   │   └── README-AMD64
│   │   │   │   ├── PERFORMANCE.README
│   │   │   │   ├── README
│   │   │   │   ├── kernel-patches/
│   │   │   │   │   ├── README
│   │   │   │   │   ├── linux-2.6.12/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.14/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.16/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.18/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.20/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.22/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.23/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.24/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.25/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.26/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.27-rc4/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   └── linux-2.6.27-rc4-next/
│   │   │   │   │       └── squashfs3.4-patch
│   │   │   │   └── squashfs-tools/
│   │   │   │       ├── Makefile
│   │   │   │       ├── global.h
│   │   │   │       ├── mksquashfs.c
│   │   │   │       ├── mksquashfs.h
│   │   │   │       ├── read_fs.c
│   │   │   │       ├── read_fs.h
│   │   │   │       ├── sort.c
│   │   │   │       ├── sort.h
│   │   │   │       ├── squashfs_fs.h
│   │   │   │       └── unsquashfs.c
│   │   │   └── unsquashfs-lzma
│   │   ├── squashfs-4.0-lzma/
│   │   │   ├── Makefile
│   │   │   ├── README-4.0
│   │   │   ├── global.h
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── Makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.c.orig
│   │   │   ├── mksquashfs.h
│   │   │   ├── pseudo.c
│   │   │   ├── pseudo.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_compat.h
│   │   │   ├── squashfs_fs.h
│   │   │   ├── squashfs_swap.h
│   │   │   ├── swap.c
│   │   │   ├── uncompress.c
│   │   │   ├── uncompress.h
│   │   │   ├── unsquash-1.c
│   │   │   ├── unsquash-2.c
│   │   │   ├── unsquash-3.c
│   │   │   ├── unsquash-4.c
│   │   │   ├── unsquashfs.c
│   │   │   └── unsquashfs.h
│   │   ├── squashfs-4.0-realtek/
│   │   │   ├── Makefile
│   │   │   ├── compressor.c
│   │   │   ├── compressor.h
│   │   │   ├── global.h
│   │   │   ├── gzip_wrapper.c
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── Makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── lzma_wrapper.c
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── pseudo.c
│   │   │   ├── pseudo.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_compat.h
│   │   │   ├── squashfs_fs.h
│   │   │   ├── squashfs_swap.h
│   │   │   ├── swap.c
│   │   │   ├── unsquash-1.c
│   │   │   ├── unsquash-2.c
│   │   │   ├── unsquash-3.c
│   │   │   ├── unsquash-4.c
│   │   │   ├── unsquashfs.c
│   │   │   └── unsquashfs.h
│   │   ├── squashfs-4.2/
│   │   │   ├── ACKNOWLEDGEMENTS
│   │   │   ├── CHANGES
│   │   │   ├── COPYING
│   │   │   ├── DONATIONS
│   │   │   ├── INSTALL
│   │   │   ├── Makefile
│   │   │   ├── OLD-READMEs/
│   │   │   │   ├── README-2.0
│   │   │   │   ├── README-2.1
│   │   │   │   ├── README-3.0
│   │   │   │   ├── README-3.1
│   │   │   │   ├── README-3.2
│   │   │   │   ├── README-3.3
│   │   │   │   ├── README-4.0
│   │   │   │   ├── README-4.1
│   │   │   │   └── README-AMD64
│   │   │   ├── PERFORMANCE.README
│   │   │   ├── README
│   │   │   ├── README-4.2
│   │   │   ├── lzma-4.65/
│   │   │   │   ├── .built
│   │   │   │   ├── .built_check
│   │   │   │   ├── .configured
│   │   │   │   ├── .prepared1a23cc84ca172080ca2c2f332cb31052
│   │   │   │   ├── .prepared1a23cc84ca172080ca2c2f332cb31052_check
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── lzma
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   

================================================
FILE CONTENTS
================================================

================================================
FILE: build-firmware.sh
================================================
#!/bin/bash

DIR="$1"
NEXT_PARAM=""

if [ "$1" == "-h" ]
then
	echo "Usage: $0 [FMK directory] [-nopad | -min]"
	exit 1
fi

if [ "$DIR" == "" ] || [ "$DIR" == "-nopad" ] || [ "$DIR" == "-min" ]
then
	DIR="fmk"
	NEXT_PARAM="$1"
else
	NEXT_PARAM="$2"
fi

# Need to extract file systems as ROOT
if [ "$UID" != "0" ]
then
        SUDO="sudo"
else
        SUDO=""
fi

DIR=$(readlink -f $DIR)

# Make sure we're operating out of the FMK directory
cd $(dirname $(readlink -f $0))

# Order matters here!
eval $(cat shared-ng.inc)
eval $(cat $CONFLOG)
FSOUT="$DIR/new-filesystem.$FS_TYPE"

printf "Firmware Mod Kit (build-ng) ${VERSION}, (c)2011-2013 Craig Heffner, Jeremy Collake\n\n"

if [ ! -d "$DIR" ]
then
	echo -e "Usage: $0 [build directory] [-nopad]\n"
	exit 1
fi

# Check if FMK has been built, and if not, build it
if [ ! -e "./src/crcalc/crcalc" ]
then
	echo "Firmware-Mod-Kit has not been built yet. Building..."
	cd src && ./configure && make

	if [ $? -eq 0 ]
	then
		cd -
	else
		echo "Build failed! Quitting..."
		exit 1
	fi
fi

echo "Building new $FS_TYPE file system..."

# Clean up any previously created files
rm -rf "$FWOUT" "$FSOUT"

# Build the appropriate file system
case $FS_TYPE in
	"squashfs")
		# Check for squashfs 4.0 realtek, which requires the -comp option to build lzma images.
		if [ "$(echo $MKFS | grep 'squashfs-4.0-realtek')" != "" ] && [ "$FS_COMPRESSION" == "lzma" ]
		then
			COMP="-comp lzma"
		else
			COMP=""
		fi

		# Mksquashfs 4.0 tools don't support the -le option; little endian is built by default
		if [ "$(echo $MKFS | grep 'squashfs-4.')" != "" ] && [ "$ENDIANESS" == "-le" ]
		then
			ENDIANESS=""
		fi
		
		# Increasing the block size minimizes the resulting image size (larger dictionary). Max block size of 1MB.
		if [ "$NEXT_PARAM" == "-min" ]
		then
			echo "Blocksize override (-min). Original used $((FS_BLOCKSIZE/1024))KB blocks. New firmware uses 1MB blocks."
			FS_BLOCKSIZE="$((1024*1024))"
		fi

		# if blocksize var exists, then add '-b' parameter
                if [ "$FS_BLOCKSIZE" != "" ]
		then
			BS="-b $FS_BLOCKSIZE"
		fi

		$SUDO $MKFS "$ROOTFS" "$FSOUT" $ENDIANESS $BS $COMP -all-root
		;;
	"cramfs")
		$SUDO $MKFS "$ROOTFS" "$FSOUT"
		if [ "$ENDIANESS" == "-be" ]
		then
			mv "$FSOUT" "$FSOUT.le"
			./src/cramfsswap/cramfsswap "$FSOUT.le" "$FSOUT"
			rm -f "$FSOUT.le"
		fi
		;;
	*)
		echo "Unsupported file system '$FS_TYPE'!"
		;;
esac

if [ ! -e $FSOUT ]
then
	echo "Failed to create new file system! Quitting..."
	exit 1
fi

# Append the new file system to the first part of the original firmware file
cp $HEADER_IMAGE $FWOUT
$SUDO cat $FSOUT >> $FWOUT

# Calculate and create any filler bytes required between the end of the file system and the footer / EOF.
CUR_SIZE=$(ls -l $FWOUT | awk '{print $5}')
((FILLER_SIZE=$FW_SIZE-$CUR_SIZE-$FOOTER_SIZE))

if [ "$FILLER_SIZE" -lt 0 ]
then
	echo "ERROR: New firmware image will be larger than original image!"
	echo "       Building firmware images larger than the original can brick your device!"
	echo "       Try re-running with the -min option, or remove any unnecessary files from the file system."
	echo "       Refusing to create new firmware image."
	echo ""
	echo "       Original file size: $FW_SIZE"
	echo "       Current file size:  $CUR_SIZE"
	echo ""
	echo "       Quitting..."
	rm -f "$FWOUT" "$FSOUT"
	exit 1
else
	if [ "$NEXT_PARAM" != "-nopad" ]; then
		echo "Remaining free bytes in firmware image: $FILLER_SIZE"
		perl -e "print \"\xFF\"x$FILLER_SIZE" >> "$FWOUT"
	else
		echo "Padding of firmware image disabled via -nopad"
	fi	
fi

# Append the footer to the new firmware image, if there is any footer
if [ "$FOOTER_SIZE" -gt "0" ]
then
	cat $FOOTER_IMAGE >> "$FWOUT"
fi

# Calculate new checksum values for the firmware header
# trx, dlob, uimage
./src/crcalc/crcalc "$FWOUT" "$BINLOG"

if [ $? -eq 0 ]
then
	echo -n "Finished! "
else
	echo -n "Firmware header not supported; firmware checksums may be incorrect. "
fi

# if a Buffalo image, then run encrypter - base on image name
if [ "$(echo $FWOUT | grep -i 'buffalo')" != "" ]
then	
	# product name, version, key, encryption type can be specified here
	$KEY="" # specify full param, e.g. -k mykey
	$MAGIC=""
	$PRODUCT=""
	$LONGSTATE=""
	./src/firmware-tools/buffalo-enc -i $FWOUT -o $FWOUT.buffalo.enc $KEY $MAGIC $PRODUCT $LONGSTATE
	#if [ $? -eq 0 ]
	#then
	#	echo "Encrypted Buffalo image created."
	#else
	#	echo "ERROR creating an encrypted Buffalo image"
	#fi
fi

echo "New firmware image has been saved to: $FWOUT"


================================================
FILE: check_for_upgrade.sh
================================================
#!/bin/sh
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# 20110224-1507-MCT - Needed quotes around a string compare.
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
echo " Checking for updates ..."
mkdir update_check
cd update_check
SYSNAME=`uname`
if [ `expr "$SYSNAME" : "Darwin"` = 6 ]; then
	curl -O -s --connect-timeout 4 --retry 1 http://firmware-mod-kit.googlecode.com/svn/trunk/firmware_mod_kit_version.txt
else
	wget --quiet --timeout=4 --tries=1 http://firmware-mod-kit.googlecode.com/svn/trunk/firmware_mod_kit_version.txt
fi
cd ..
if [ ! -f "update_check/firmware_mod_kit_version.txt" ]; then
	echo "  ! WARNING: Could not check for update. No connectivity or server down?"
	rm -rf update_check
	exit 1
fi
NEW_VERSION=`cat update_check/firmware_mod_kit_version.txt`
CUR_VERSION=`cat firmware_mod_kit_version.txt`
if [ "$NEW_VERSION" != "$CUR_VERSION" ]; then
	echo "  !!! There is a newer version available: $NEW_VERSION"
	echo "     You are currently using $CUR_VERSION"
else
	echo "  You have the latest version of this kit."
fi
rm -rf update_check
exit 0


================================================
FILE: cleanup.sh
================================================
#!/bin/sh
. ./shared.inc
Cleanup


================================================
FILE: creating_ipkg_packages.htm
================================================
<html>

<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Creating IPKs</title>
</head>

<body>

<p><b><font size="5">IPK Creation Kit</font><br>
</b>(c)2006 Jeremy Collake &lt;<a href="mailto:jeremy.collake@gmail.com">jeremy.collake@gmail.com</a>&gt;<br>
<br>
<font color="#FF0000">!!! <b>ALPHA STAGE OF DEVELOPMENT. MAY NOT WORK AND HAVE 
MANY PROBLEMS</b> !!!</font></p>
<p>This document attempts to outline the process of creation of IPKG format 
packages with the IPK Creation Kit, giving specific emphasis on usage for 
embedded linux platforms such as <a href="http://www.openwrt.org">OpenWrt</a> 
and <a href="http://www.dd-wrt.com">DD-WRT</a>. It is a quick draft intended to 
encourage people to develop IPKs specific to certain firmwares for use with the
<a href="http://www.bitsum.com/firmware_mod_kit.htm">Firmware Modification Kit</a>, 
a kit that allows easy modification of firmware images without recompiling the 
sources.</p>
<p><b><font size="4">The structure of an IPK</font></b></p>
<p>IPK files are <b><i>archives</i></b> containing the following:</p>
<ul>
	<li><u><b>data.tar.gz</b></u> :&nbsp; contains data.tar:<ul>
		<li><u><b>data.tar</b></u> : These are the files that will be installed 
		to, or removed from, the file system. They are in their correct 
		locations in the directory tree starting at the root of the firmware 
		file system. For example:<ul>
			<li><font face="Courier"><b>./</b>usr/sbin/package<br>
			./tmp/package_config<br>
			./etc/package_config <i>-&gt; symbolic link</i> -&gt; ../tmp/config_folder<br>
			./tmp/package_config/package.conf<br>
			NOTE: </font><i>the &quot;.&quot; directory must be included in the path names</i></li>
		</ul>
		</li>
	</ul>
	</li>
	<li><b><u>control.tar.gz</u> </b>: contains control.tar:<ul>
		<li><u><b>control.tar</b></u> : These are files which give information 
		about the package. For examples, it's name, version, and dependencies.<ul>
			<li>./control : describes the package</li>
			<li>./conffiles : indicates which files in the package are used for 
			config files once installed</li>
		</ul>
		</li>
	</ul>
	</li>
	<li><b><u>debian_binary</u> </b>: the reason this exists is unknown. It's 
	perhaps some platform or format indicator. It is a text file that consists 
	of &quot;2.0&quot;. </li>
</ul>
<p>&nbsp;</p>
<p><b><font size="4">Using the IPK template</font></b></p>
<p>The IPK template directory contained in the Firmware Modification Kit makes 
it particularly easy to create IPK files without having to manually create them 
each time.</p>
<p><b><font size="4">Creating your own IPK</font></b></p>
<blockquote>
	<p><b><font size="4">Step 1</font></b></p>
	<p>Copy or extract the IPK template directory to a new directory named after 
	the package you are creating an IPK for. If you are copying, use &quot;cp -r&quot; to 
	copy the entire directory and all its contents.</p>
	<p><b><font size="4">Step 2</font></b></p>
	<p>In the new directory edit the &quot;<i>control</i>&quot; and &quot;<i>conffiles</i>&quot; 
	text files appropriately. The fields in &quot;control&quot; are probably 
	self-explanatory:</p>
	<p><i><b>control:</b></i></p>
	<table border="0" width="100%" bgcolor="#FFFFCC" id="table5">
		<tr>
			<td><br>
			<font face="Courier">Package: somepackage<br>
			Priority: optional<br>
			Depends: libpcap libncurses<br>
			Section: net<br>
			Description: A minimal and secure package of great sorts.<br>
			Maintainer: Junior Jim-Bob &lt;juniorjim.bob.com&gt;<br>
			Source: N/A<br>
			Version: 2.61-1<br>
			Architecture: mipsel<br>
&nbsp;</font></td>
		</tr>
	</table>
	<p>If you want to get fancy, the<i> Source</i> field can indicate a URL to 
	download the data.tar.gz portion of the package. If instead the package 
	files are included inside the PKG, leave &quot;N/A&quot; in this field.</p>
	<p>&quot;conffiles&quot; contains a listing of files in the package that are used for 
	configuration storage. This is helpful to preserve the configuration of the 
	package if it is updated, or if the configuration otherwise needs 
	preserving. It might look something like this after editing:</p>
	<p><i><b>conffiles:</b></i></p>
	<table border="0" width="100%" bgcolor="#FFFFCC" id="table6">
		<tr>
			<td><br>
			<font face="Courier">/etc/package_config/package.conf<br>
			/etc/package_config/moreconfig.conf<br>
&nbsp;</font></td>
		</tr>
	</table>
	<p><b><font size="4">Step 3</font></b></p>
	<p>Copy the package files into the folder in the same relative directories 
	to which they will be installed to the file system. Symbolic links are 
	allowed. For example:</p>
	<table border="0" width="100%" bgcolor="#FFFFCC" id="table7">
		<tr>
			<td><br>
			<font face="Courier">./usr/sbin/mypackage<br>
			./tmp/etc/package_config/<br>
			./etc/package_config/ ---(symbolic link)---&gt; 
			../tmp/etc/package_config/<br>
			./tmp/etc/package_config/moreconfig.conf<br>
&nbsp;</font></td>
		</tr>
	</table>
	<p>The above makes the /etc/package_config/ directory a symbolic link to 
	/tmp/package_config/. This would be useful for firmwares that have a 
	read-only /etc file system. On these systems, the configuration files could 
	reside on a ram disk and be emitted at boot-time based on input from some 
	other store of configuration variables, like NVRAM.</p>
	<p><b><font size="4">Step 4:</font></b></p>
	<p>Build the IPK. You're done, now simply build the IPK file with the script 
	provided. It's parameters are:</p>
	<p>MAKE_IPK.SH OUTPUT_PACKAGE_IPK IPK_BASE_DIRECTORY</p>
	<p><i><b>OUTPUT_PACKAGE_IPK</b> </i>: The IPK file to output. If it already 
	exists it will be over-written.<br>
	<i><b>IPK_BASE_DIRECTORY</b> </i>: The directory you created in step 1 and 
	have been working with up until now.</p>
	<p>Example:</p>
	<table border="0" width="100%" bgcolor="#FFFFCC" id="table8">
		<tr>
			<td><br>
			<font face="Courier">make_ipk.sh package.ipk ../package_ipk_dir<br>
&nbsp;</font></td>
		</tr>
	</table>
	<p>&nbsp;</p>
</blockquote>
<p>To support this project:</p>
<p>
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1"></p>
<p>&nbsp;</p>
<p><font size="2">This document (c)2006 Jeremy Collake. <br>
All Rights reserved. This document may be freely republished in its unaltered 
and whole form only. Alterations or partial publishing requires approval of 
Jeremy Collake &lt;<a href="mailto:jeremy@bitsum.com">jeremy@bitsum.com</a>&gt;.</font></p>

</body>

</html>


================================================
FILE: ddwrt-gui-extract.sh
================================================
#!/bin/bash

OUT="$1"
DIR="$2"

if [ "$DIR" == "" ]
then
	DIR="fmk/rootfs"
fi

if [ "$OUT" == "" ]
then
	OUT="www"
fi

if [ $UID -ne 0 ]
then
	SUDO="sudo"
fi

eval $(cat shared-ng.inc)
HTTPD="$DIR/usr/sbin/httpd"
WWW="$DIR/etc/www"
KEYFILE="$DIR/webcomp.key"

echo -e "Firmware Mod Kit (ddwrt-gui-extract) $VERSION, (c)2013 Craig Heffner, Jeremy Collake\nhttp://www.bitsum.com\n"

if [ ! -d "$DIR" ] || [ "$1" == "-h" ] || [ "$1" == "--help" ]
then
	echo -e "Usage: $0 [output directory] [rootfs directory]\n"
	exit 1
fi

if [ ! -e "$HTTPD" ] || [ ! -e "$WWW" ]
then
	echo "Unable to locate httpd / www files in directory $DIR. Quitting..."
	exit 1
fi

# Extract!
# key file is written to rootfs, and since may have root ownership, sudo
TMPFILE=`mktemp /tmp/$0.XXXXXX`
./src/webcomp-tools/webdecomp --httpd="$HTTPD" --www="$WWW" --dir="$OUT" --key="$TMPFILE" --extract
$SUDO cp "$TMPFILE" "$KEYFILE"



================================================
FILE: ddwrt-gui-rebuild.sh
================================================
#!/bin/bash

WEBDIR="$1"
DIR="$2"

if [ "$DIR" == "" ]
then
	DIR="fmk/rootfs"
fi

if [ "$WEBDIR" == "" ]
then
	WEBDIR="www"
fi

# Web files were likely extracted as root, so we'll need root permissions to modify them
if [ $UID -ne 0 ]
then
	SUDO="sudo"
fi

eval $(cat shared-ng.inc)
HTTPD="$DIR/usr/sbin/httpd"
WWW="$DIR/etc/www"
KEYFILE="$DIR/webcomp.key"

echo -e "Firmware Mod Kit (ddwrt-gui-rebuild) $VERSION, (c)2011 Craig Heffner, Jeremy Collake\nhttp://www.bitsum.com\n"

if [ ! -d "$DIR" ] || [ "$1" == "-h" ] || [ "$1" == "--help" ]
then
	echo -e "Usage: $0 [input directory] [rootfs directory]\n"
	exit 1
fi

if [ ! -e "$HTTPD" ] || [ ! -e "$WWW" ]
then
	echo "Unable to locate httpd / www files in directory $DIR. Quitting..."
	exit 1
fi

# Restore!
TMPFILE=`mktemp /tmp/$0.XXXXXX`
# we actually pass a temporary copy of the keyfile to the webdecomp tool so that 
# the actual keyfile won't be included in the compiled web file system
$SUDO mv "$KEYFILE" "$TMPFILE"
$SUDO ./src/webcomp-tools/webdecomp --httpd="$HTTPD" --www="$WWW" --dir="$WEBDIR" --key="$TMPFILE" --restore
$SUDO mv "$TMPFILE" "$KEYFILE"



================================================
FILE: extract-firmware.sh
================================================
#!/bin/bash

IMG="${1}"
DIR="${2}"

if [ "${DIR}" = "" ]
 then
	DIR="fmk"
fi

# Need to extract file systems as ROOT
if [ "$(id -ru)" != "0" ]
 then
	SUDO="sudo"
else
	SUDO=""
fi

IMG=$(readlink -f $IMG)
DIR=$(readlink -f $DIR)

# Make sure we're operating out of the FMK directory
cd $(dirname $(readlink -f $0))

# Source in/Import shared settings. ${DIR} MUST be defined prior to this!
. ./shared-ng.inc

printf "Firmware Mod Kit (build-ng) ${VERSION}, (c)2011-2013 Craig Heffner, Jeremy Collake\n\n"

# Check usage
if [ "${IMG}" = "" ] || [ "${IMG}" = "-h" ]
 then
	printf "Usage: ${0} <firmware image>\n\n"
	exit 1
fi

if [ ! -f "${IMG}" ];
then
	echo "File does not exist!"
	exit 1
fi

if [ -e "${DIR}" ]
 then
	echo "Directory ${DIR} already exists! Quitting..."
	exit 1
fi

# Check if FMK has been built, and if not, build it
if [ ! -e "./src/crcalc/crcalc" ]
 then
	echo "Firmware-Mod-Kit has not been built yet. Building..."
	cd src && ./configure && make

	if [ ${?} -eq 0 ]
	 then
		cd -
	else
		echo "Build failed! Quitting..."
		exit 1
	fi
fi

# Get the size, in bytes, of the target firmware image
FW_SIZE=$(ls -l "${IMG}" | cut -d' ' -f5)

# Create output directories
mkdir -p "${DIR}/logs"
mkdir -p "${DIR}/image_parts"

echo "Scanning firmware..."

# Log binwalk results to the ${BINLOG} file, disable default filters, exclude invalid results,
# and search only for trx, uimage, dlob, squashfs, and cramfs results.
#${BINWALK} -f "${BINLOG}" -d -x invalid -y trx -y uimage -y dlob -y squashfs -y cramfs "${IMG}"
${BINWALK} -f "${BINLOG}" "${IMG}"

# Set Internal Field Separator (IFS) via two lines to newline only (bashism would be $'\n')
IFS='
'

# Header image offset is ALWAYS 0. Header checksums are simply updated by build-ng.sh.
HEADER_IMAGE_OFFSET=0

# Loop through binwalk log file
for LINE in IFS='
'$(sort -n ${BINLOG} | grep -v -e '^DECIMAL' -e '^---')
 do
	# Get decimal file offset and the first word of the description
	OFFSET=$(echo ${LINE} | awk '{print $1}')
	DESCRIPTION=$(echo ${LINE} | awk '{print tolower($3)}')

	# Offset 0 is firmware header
	if [ "${OFFSET}" = "0" ]
	 then
		HEADER_OFFSET=${OFFSET}
		HEADER_TYPE=${DESCRIPTION}
		HEADER_SIZE=$(echo ${LINE} | sed -e 's/.*header size: //' | cut -d' ' -f1)
		HEADER_IMAGE_SIZE=$(echo ${LINE} | sed -e 's/.*image size: //' | cut -d' ' -f1)

	# Check to see if this line is a file system entry
	elif [ "$(echo ${LINE} | grep -i filesystem)" != "" ]
	 then
		FS_OFFSET=${OFFSET}
		FS_TYPE=${DESCRIPTION}

		# Need to know endianess for re-assembly
		if [ "$(echo ${LINE} | grep -i 'big endian')" != "" ]
		 then
			ENDIANESS="-be"
		else
			ENDIANESS="-le"
		fi

		# Check for LZMA compression in the file system. If not present, assume gzip.
		# This is only used for squashfs 4.0 images.
		if [ "$(echo ${LINE} | grep -i 'lzma')" != "" ]
		 then
			FS_COMPRESSION="lzma"
		else
			FS_COMPRESSION="gzip"
		fi

		# Check for a block size (used only by mksquashfs)
		if [ "$(echo ${LINE} | grep -i 'blocksize')" != "" ]
		then
			set -f
			IFS=,
			for fsparam in ${LINE}
			do
				if [[ $fsparam = *blocksize* ]]; then
				  fsparam="${fsparam##*blocksize: }"
				  FS_BLOCKSIZE="${fsparam%* bytes}"
				  break
				fi
			done
		fi
		set +f; unset IFS
	fi
done

# Header image size is everything from the header image offset (0) up to the file system
HEADER_IMAGE_SIZE=$((${FS_OFFSET}-${HEADER_IMAGE_OFFSET}))

# Extract the header + image up to the file system
echo "Extracting ${HEADER_IMAGE_SIZE} bytes of ${HEADER_TYPE} header image at offset ${HEADER_IMAGE_OFFSET}"
dd if="${IMG}" bs=${HEADER_IMAGE_SIZE} skip=${HEADER_IMAGE_OFFSET} count=1 of="${HEADER_IMAGE}" 2>/dev/null

if [ "${FS_OFFSET}" != "" ]
 then
	echo "Extracting ${FS_TYPE} file system at offset ${FS_OFFSET}"
	dd if="${IMG}" bs=${FS_OFFSET} skip=1 of="${FSIMG}" 2>/dev/null
else
	echo "ERROR: No supported file system found! Aborting..."
	rm -rf "${DIR}"
	exit 1
fi

FOOTER_SIZE=0
FOOTER_OFFSET=0

# Try to determine if there is a footer at the end of the firmware image.
# Grab the last 10 lines of a hexdump of the firmware image, excluding the
# last line in the hexdump. Reverse the line order and replace any lines
# that start with '*' with the word 'FILLER'.
for LINE in $(hexdump -C ${IMG} | tail -11 | head -10 | sed -n '1!G;h;$p' | sed -e 's/^*/FILLER/')
 do
	if [ "${LINE}" = "FILLER" ]
	 then
		break
	else
		FOOTER_SIZE=$((${FOOTER_SIZE}+16))
	fi
done

# If a footer was found, dump it out
if [ "${FOOTER_SIZE}" != "0" ]
 then
	FOOTER_OFFSET=$((${FW_SIZE}-${FOOTER_SIZE}))
	echo "Extracting ${FOOTER_SIZE} byte footer from offset ${FOOTER_OFFSET}"
	dd if="${IMG}" bs=1 skip=${FOOTER_OFFSET} count=${FOOTER_SIZE} of="${FOOTER_IMAGE}" 2>/dev/null
else
	FOOTER_OFFSET=${FW_SIZE}
fi

# Log the parsed values to the CONFLOG for use when re-building the firmware
echo "FW_SIZE='${FW_SIZE}'" > ${CONFLOG}
echo "HEADER_TYPE='${HEADER_TYPE}'" >> ${CONFLOG}
echo "HEADER_SIZE='${HEADER_SIZE}'" >> ${CONFLOG}
echo "HEADER_IMAGE_SIZE='${HEADER_IMAGE_SIZE}'" >> ${CONFLOG}
echo "HEADER_IMAGE_OFFSET='${HEADER_IMAGE_OFFSET}'" >> ${CONFLOG}
echo "FOOTER_SIZE='${FOOTER_SIZE}'" >> ${CONFLOG}
echo "FOOTER_OFFSET='${FOOTER_OFFSET}'" >> ${CONFLOG}
echo "FS_TYPE='${FS_TYPE}'" >> ${CONFLOG}
echo "FS_OFFSET='${FS_OFFSET}'" >> ${CONFLOG}
echo "FS_COMPRESSION='${FS_COMPRESSION}'" >> ${CONFLOG}
echo "FS_BLOCKSIZE='${FS_BLOCKSIZE}'" >> ${CONFLOG}
echo "ENDIANESS='${ENDIANESS}'" >> ${CONFLOG}

# Extract the file system and save the MKFS variable to the CONFLOG
case ${FS_TYPE} in
	"squashfs")
		echo "Extracting squashfs files..."
		${SUDO} ./unsquashfs_all.sh "${FSIMG}" "${ROOTFS}" 2>/dev/null | grep MKFS >> "${CONFLOG}"
		;;
	"cramfs")
		echo "Extracting CramFS file system..."
		${SUDO} ./uncramfs_all.sh "${FSIMG}" "${ROOTFS}" ${ENDIANESS} 2>/dev/null | grep MKFS >> "${CONFLOG}"
		;;
	*)
		echo "Unsupported file system '${FS_TYPE}'! Quitting..."
		rm -rf "${DIR}"
		exit 1
		;;
esac

# Check if file system extraction was successful
if [ ${?} -eq 0 ]
 then
	echo "Firmware extraction successful!"
	echo "Firmware parts can be found in '${DIR}/*'"
else
	echo "Firmware extraction failed!"
	rm -rf "${DIR}"
	exit 1
fi

exit 0


================================================
FILE: firmware_mod_kit.htm
================================================
<html>

<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />
<title>Firmware Modification Kit</title>
<meta name="description" content="Extract, Modify, Rebuild Firmware Images of various types" />
<meta name="keywords" content="dd-wrt, ddwrt, openwrt, freewrt, squashfs, squashfs-lzma, hyperwrt, sveasoft, tomato, xwrt, x-wrt, firmware, binwalk, unsquashfs, wrt54g, wl530g, tew632brp, dir615, untrx, trx" />
</head>

<body>

<p><b><font size="6">Firmware Modification Kit<br />
</font></b><i><b>Giving YOU the power to customize your firmware<br />
</b><font size="2">documentation version 0.78 beta<br />
all scripts, untrx, wrt_vx_imgtool, crcalc, binwalk and docs (c) 2006-2011<br />
Craig Heffner &lt;heffnercj@gmail.com&gt;, Jeremy Collake &lt;jeremy.collake@gmail.com&gt;, and other contributors (see project page) <br />
other portions (c) their respective holders</font></i></p>
<p><b><span class="highlight"><b>THERE ARE NEW DOCS:</b></span> This documentation may be superseded or extended by documentation at the <a href="http://code.google.com/p/firmware-mod-kit/wiki/Documentation">Google Code project site</a>. An essentially new, and much improved, rendition is now available. Firmware-Mod-Kit-Ng ;)</b></p>
<p><b><font size="4">Contents</font></b></p>
<p>I. <a href="#Description">Description</a><br />
II. <a href="#Why_is_this_useful">Why is this useful?</a><br />
III. <a href="#Where_to_get_the_kit">Where to get the kit</a><br />
IV. <a href="#Requirements">Requirements</a><br />
V. <a href="#Compatibility">Compatibility</a><br />
VI. <a href="#Instructions">Instructions</a><br />
&nbsp;&nbsp;&nbsp; A. <a href="#Extracting_the_firmware_(extract_firmware.sh)">
extracting firmware</a><br />
&nbsp;&nbsp;&nbsp; B.
<a href="#Modifying_the_firmware_(manual_and/or_ipkg_install.sh)">modifying 
firmware</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.<a href="#Installing_packages"> 
installing packages</a><br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2. <a href="#Removing_packages">
removing packages</a><br />
&nbsp;&nbsp;&nbsp; C. <a href="#Re-building_the_firmware_(build_firmware.sh)">
re-building firmware</a><br />
VII. <a href="#Caveats">Caveats</a><br />
&nbsp;&nbsp;&nbsp; A. <a href="#Binary_compatibility_issues">binary 
compatibility issues</a><br />
&nbsp;&nbsp;&nbsp; B. <a href="#Maximum_firmware_size">maximum firmware size</a><br />
&nbsp;&nbsp;&nbsp; C. <a href="#Solutions_to_case_sensitivity">solutions to file 
system incompatibilities</a><br />
VIII. <a href="#Acknowledgments">Acknowledgements and more</a><br />
IX. <a href="#Links">Links</a><br />
X. <a href="#Revision_history">Revision history</a><br />
<p>&nbsp;</p>
<p><font size="5"><b>I. <a name="Description">Description</a></b><br />
</font><br />
This kit gives the user the ability to make changes to a firmware image without 
recompiling the firmware sources. It works by extracting the firmware into 
its component parts, then extracting the file system image (assuming its in one 
the supported formats). The user can then make modifications 
to the extracted file system, and rebuild the firmware image.</p>
<p>Although this kit completely automates the process, it is also useful for 
those who need a handy collection of utilities to manipulate firmware images. The following utilities are included in this kit, along with scripts to 
automate their use:</p>
<table border="1" width="100%" id="table8">
	<tr>
		<td><b>ASUSTRX</b></td>
		<td width="1457">An extended version of ASUSTRX that can build both 
		'normal' TRX files and, optionally, those with an ASUS <b><i>addver </i>
		</b>style header appended. It can also, uniquely, force segment offsets 
		in the TRX (with -b switch) for compatibility with Marvell ASUS devices 
		like the WL-530g. 
		This tool replaces both 'normal' trx tool and addver. Current versions 
		included are: 0.90 beta.</td>
	</tr>
	<tr>
		<td height="23"><b>ADDPATTERN</b></td>
		<td height="23" width="1457">Utility to pre-pend Linksys style HDR0 
		header to a TRX.</td>
	</tr>
	<tr>
		<td><b>ADDVER</b></td>
		<td width="1457">ASUS utility to append a header to a TRX image that 
		contains version information. ASUSTRX includes this capability. Current 
		version: unversioned.</td>
	</tr>
	<tr>
		<td><b>BINWALK</b></td>
		<td width="1457">Firmware analysis tool, used for searching firmware images
		for known file types. Used by the extract-ng.sh script to identify valid
		file systems inside firmware images. Current version included is 0.3.9. 
		Tool home page: http://binwalk.googlecode.com.</td>
	</tr>
	<tr>
		<td><b>CRAMFSCK</b></td>
		<td width="1457">CRAMFS file system image checker and extractor. Current 
		versions included are:&nbsp; 2.4x.</td>
	</tr>
	<tr>
		<td><b>CRCALC</b></td>
		<td width="1457">Re-calculates and patches header checksums for TRX and 
		uImage firmware headers.</td>
	</tr>
	<tr>
		<td height="23"><b>MKSQUASHFS</b></td>
		<td height="23" width="1457">Builds a squashfs file system image. 
		Current versions included are: 2.1-r2, 3.0.</td>
	</tr>
	<tr>
		<td height="25"><b>MKCRAMFS</b></td>
		<td width="1457" height="25">Builds a cramfs file system image. Coming 
		in next version. Current versions included are: 2.4x.</td>
	</tr>
	<tr>
		<td><b>MOTOROLA_BIN</b></td>
		<td width="1457">A utility that prepends 8 byte headers to TRX images 
		for Motorola devices WR850G, WA840G, WE800G. Current version: 
		unversioned.</td>
	</tr>
	<tr>
		<td><b>UNCRAMFS</b></td>
		<td width="1457">Alternate tool to extracts a cramfs file system image. 
		Use cramfsck instead whenever possible as it seems to be more reliable. Current versions 
		included are: 0.7 (for cramfs v2.x).</td>
	</tr>
	<tr>
		<td><b>UNCRAMFS-LZMA</b></td>
		<td width="1457">Extracts an lzma cramfs file system image, specifically
		those included in OpenRG based firmware. Current version included is 0.7rg.</td>
	</tr>
	<tr>
		<td><b>UNSQUASHFS</b></td>
		<td width="1457">Extracts a zlib squashfs file system image. Current 
		versions included are 1.0 for 3.0 images and 1.0 for 2.x images (my own 
		blend).</td>
	</tr>
	<tr>
		<td><b>UNSQUASHFS-LZMA</b></td>
		<td width="1457">Extracts an lzma squashfs file system image. Current 
		versions included are 1.0 for 3.0 images and 1.0 for 2.x images (my own 
		blend). <i>Note: Not all squashfs-lzma patches are compatible with one 
		another. I'm working on adding support for all common squashfs-lzma 
		variations.</i></td>
	</tr>
	<tr>
		<td><b>UNTRX</b></td>
		<td width="1457">Splits TRX style firmwares into their component 
		parts. Also supports pre-pended addpattern HDR0 style headers. This was 
		developed exclusively for this kit. Current versions included are: 0.45.</td>
	</tr>
	<tr>
		<td height="23"><b>WRT_VX_IMGTOOL</b></td>
		<td width="1457" height="23">Utility to generate VxWorks compatible 
		firmware images for the WRT54G(S) v5 series.</td>
	</tr>
	</table>
<p>&nbsp;</p>
<p><b><font size="4">Tools/changes unique to this kit</font></b></p>
<p>This kit doesn't just collect existing tools, it also offers new ones and 
modifications to existing ones. Custom code currently is:</p>
<p><b>ASUSTRX</b> - Modified to allow '-b' switch to force segment offsets 
(needed for some devices, like the WL-530g).<br />
<b>CRCALC</b> - A new tool to re-calculate and patch the checksum fields for common
firmware headers. Currently TRX and uImage headers are supported.<br />
<b>UNTRX</b> - A new tool to extract the contents of a TRX image into its component 
parts.<br />
<b>UNSQUASHFS</b> - Custom blend that supports extraction of 2.x squashfs 
images. This tool wasn't officially made available until squashfs 3.0, so up 
until now it wasn't available for 2.x images.<br />
<b>WRT-VX-IMGTOOL</b> - A new tool to view, extract, build, and fix VxWorks 
compatible firmware images for the WRT54G(S) v5 series.<br />
<b>SPLITTER3</b> - Custom file splitter for certain types of linux firmware images.
</p>
<p><b><font size="5">II. <a name="Why_is_this_useful">Why is this useful?</a></font></b><br />
<br />
A list of some of the many reasons this might be desired are:</p>
<ul>

	<li>add initialization scripts</li>
	<li>install new packages</li>
	<li>extend/change HTTP managed console</li>
	<li>remove un-needed packages</li>
	<li>mix-and-match packages from various flavors of the firmware image.</li>
</ul>
<p>
<br />
&nbsp;</p>
<p><b><font size="5">III. <a name="Where_to_get_the_kit">Where to get the ki</a>t</font></b></p>
<p>The best way to download and use this kit is to check out the sources from 
the repository. The automated scripts all automatically build the executables, 
and the sources. It is easy as downloading something and using it that way. Also, if you are unable to use a simple SVN checkout, then
it is likely that this kit is a danger to you because it is for advanced users. </p>

<p>To anonymously check out the firmware-mod-kit:</p>
<table border="0" width="100%" id="table9" bgcolor="#F6F4EC">
	<tr>
		<td><font face="Courier New">&nbsp;mkdir firmware_mod_kit<br />
&nbsp;cd firmware_mod_kit<br />
&nbsp;svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only</font></td>
	</tr>
</table>
<p><br />
<b><font size="4">Kit downloads and links:</font></b></p>
<p>Project hosting and repository (new):
<a href="http://code.google.com/p/firmware-mod-kit/">
http://code.google.com/p/firmware-mod-kit/</a><br />
Guest SVN Checkout: <i>svn checkout http://firmware-mod-kit.googlecode.com/svn/trunk/ firmware-mod-kit-read-only</i><br />
User forums can be found <a href="http://www.bitsum.com/forum/index.php?board=12.0">
here</a>.</p>
<p><b><font size="4">Packages:</font></b></p>
<p>All of the many OpenWrt packages should work with OpenWrt images and many 
other firmware images.</p>
<p>An old (2009) specific collection of DD-WRT packages for use with the kit:
<a href="http://www.bitsum.com/files/ddwrt_packages.tar.gz">
http://www.bitsum.com/files/ddwrt_packages.tar.gz</a> .<br />
&nbsp;</p>
<p>&nbsp;</p>
<p><b><font size="5">IV. <a name="Requirements">Requirements</a></font></b></p>
<p>I've worked to make sure the requirements are low enough for anyone to 
use this kit. However, to reduce distribution costs and better represent the 
multi-platform capabilities of this kit, the binary tools in the kit do 
automatically build themselves the first time you run one of the scripts. Any 
machine set up to build anything C or C++ on the machine will probably be ready. 
The few requirements are all basic items that everyone has easy access to:</p>
<ul>
	<li>A compatible platform. The following are specifically supported (or 
	specifically unsupported):<ul>
	<li><b>LINUX&nbsp;&nbsp;&nbsp;&nbsp; </b>(recommended)</li>
	<li><b>OS X&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b> <i>&nbsp;**warning: 
	I don't test every build under OS X. It's up to you to email me if you have 
	problems under it. Current builds may have issues.**</i></li>
	<li>CYGWIN&nbsp; <i>**alpha stage testing (!! built firmwares may not boot 
	!!)**</i></li>
</ul>
	</li>
	<li>GNU C (gcc)</li>
	<li>GNU C++ (g++)</li>
	<li>GNU make</li>
	<li>Standard C runtime library development</li>
	<li>Standard C++ runtime library development</li>
	<li>Zlib library development (for Ubuntu it is zlib1g-dev)</li>
	<li>TAR and GZIP (optional, used by ipkg_install.sh)</li>
</ul>
<p>OS/X is not supported at this time. The kit is probably not far from compatibility, but easier to just install a linux VM.</p>
<p></p>
<p><b><font size="5">V. <a name="Compatibility">Compatibility</a></font></b></p>
<p>Any TRX style firmware image format should that uses squashfs-lzma as a root 
file system work fine. Firmwares that use regular zlib squashfs or unsupported 
file systems will work if the steps that extract the file system and rebuild the 
file system are tweaked. </p>
<p>The kit can build firmware images for the following devices, amongst <u>many 
others</u>:</p>
<ul>
	<li>WRT54G v1 - v6</li>
	<li>WRT54GS v1 - v6</li>
	<li>WRTSL54G v?</li>
	<li>ASUS WL-330g</li>
	<li>ASUS WL-500g/p</li>
	<li>ASUS WL-520g</li>
	<li>ASUS WL-530g</li>
	<li>Belkin 7230-4 (some versions)</li>
	<li>Belkin 7231-4 (?)</li>
	<li>Buffalo WHR-G54S</li>
	<li>Buffalo WHR-HP-G54</li>
	<li>Siemens SE505</li>
	<li>Trendnet TEW-632BRP</li>
	<li>D-Link DIR-615 (maybe)</li>
	<li>... lots of others<font size="2">*</font> ...</li>
</ul>
<p>The kit is known (or thought) to be compatible with the following firmwares:</p>
<table border="0" width="100%" id="table3">
	<tr>
		<td width="187">DD-WRT v23</td>
		<td>tested&nbsp;- versions v23 SP1 and later are compatible (soon older 
		versions too). <b>WARNING:</b> <i>Builds of 
		DD-WRT later than 08/04/2006 (v23 SP2) have some protections against 
		changing the web UI.</i></td>
	</tr>
	<tr>
		<td width="187">DD-WRT v24</td>
		<td>tested</td>
	</tr>
	<tr>
		<td width="187">OpenWrt White Russian</td>
		<td>tested</td>
	</tr>
	<tr>
		<td width="187">OpenWrt Kamikaze</td>
		<td><i>untested (should work) </i>- not really necessary, based on 
		OpenWrt has its Image Builder.</td>
	</tr>
	<tr>
		<td width="187">FreeWrt</td>
		<td><i>untested - should work ok</i></td>
	</tr>
	<tr>
		<td width="187">HyperWrt</td>
		<td><i>untested </i></td>
	</tr>
	<tr>
		<td width="187">Ewrt</td>
		<td><i>untested</i></td>
	</tr>
	<tr>
		<td width="187">Sveasoft Alchemy</td>
		<td><i>untested </i></td>
	</tr>
	<tr>
		<td width="187">Sveasoft Talisman</td>
		<td><i>untested </i></td>
	</tr>
	<tr>
		<td width="187">Linksys / other vendor</td>
		<td>not supported by scripts yet - haven't added cramfs handling</td>
	</tr>
	<tr>
		<td width="187">ASUS WL-330G</td>
		<td><i>untested - should work ok</i></td>
	</tr>
	<tr>
		<td width="187">ASUS WL-520G</td>
		<td><i>untested - should work ok</i></td>
	</tr>
	<tr>
		<td width="187">ASUS WL-530G</td>
		<td>supported</td>
	</tr>
	<tr>
		<td width="187">ASUS WL-550G</td>
		<td><i>untested&nbsp; - should work ok</i></td>
	</tr>
	<tr>
		<td width="187">Trendnet TEW-632BRP</td>
		<td>tested</td>
	</tr>	
	<tr>
		<td width="187">DLink DIR-615</td>
		<td><i>untested</i></td>
	</tr>	

	<tr>
		<td width="187">many others<font size="2">*</font></td>
		<td><i>untested </i></td>
	</tr>
</table>
<p><b><i>* Even if the kit doesn't automatically support the firmware or device you want, 
you can manually use the tools inside to manipulate many firmware images, or 
request support be added.</i></b></p>
<p>&nbsp;</p>
<p><b><font size="5">VI. <a name="Instructions">Instructions</a><br />
</font></b><br />
I've scripts that simply and abstract the firmware modification process. Basically, it's a 
one-step process to extract the firmware, and a one-step process to rebuild the 
firmware. There are also scripts to install or remove individual packages or 
entire directories of packages.</p>
<p>The procedure of calls is:</p>
<ol>
	<li>extract_firmware.sh ....</li>
	<li>(optional) ipkg_install[_all]).sh ...</li>
	<li>(optional) ipkg_remove[_all].sh&nbsp;&nbsp; ...</li>
	<li>build_firmware.sh</li>
</ol>
<p>&nbsp;</p>
<p><u><b><font size="4">A.
<a name="Extracting_the_firmware_(extract_firmware.sh)">Extracting the firmware 
(extract_firmware.sh, extract-ng.sh)</a></font></b></u></p>
<blockquote>
	<p>Simply run extract_firmware.sh with the following parameters. <i><b>You must 
run this tool from inside the directory it exists in.</b></i></p>
	<table border="0" width="100%" bgcolor="#F6F4EC" id="table1">
		<tr>
			<td><br />$ ./extract_firmware.sh firmware.bin working_directory/<br />&nbsp;</td>
		</tr>
	</table>
	<p><br /><b>- firmware.bin</b> is the firmware image you want to extract, i.e. 
DD-WRT.v23_MICRO_GENERIC.BIN. <br /><b>- working_directory</b> is the working directory you want to use. This is 
where the intermediate files and the extracted file system will be stored. Note 
that files in the working directory may be deleted!<br /><br />It doesn't matter which firmware image you supply, i.e. for a WRT54G or an ASUS 
WL-500G. These images are usually all the same and differ only in the header 
format. The rebuilding process will create images for the various models.<br />
	<br />An extraction log is created as <i>extract.log</i>.</p>

	<p>If extract_firmware.sh fails, the newer extract-ng.sh can be used. Although newer and 
	   less thoroughly tested than extract_firmware.sh, it is more flexible and can often
	   extract file systems that extract_firmware.sh cannot:
	</p>

	<table border="0" width="100%" bgcolor="#F6F4EC" id="table3">
		<tr>
			<td><br />$ ./extract-ng.sh firmware.bin working_directory/<br />&nbsp;</td>
		</tr>
	</table>
	
</blockquote>
<p>&nbsp;</p>
<p><b><font size="4"><u>B.
<a name="Modifying_the_firmware_(manual_and/or_ipkg_install.sh)">Making changes 
to the firmware's file system</a></u></font></b></p>
<blockquote>
	<p>Modifying the firmware is simple. The file system is stored in the working 
directory you supplied to extract_firmware.sh. Here are the subfolders of this 
directory:<br /><br />&nbsp;&nbsp;&nbsp; <b>rootfs/ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
	</b>This is where the file system is. 
Make modifications here.<br />&nbsp;&nbsp;&nbsp; <b>image_parts/ <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
	</b>This is where intermediate files are stored. If you need to replace the 
	kernel (not at all recommended), you can do so by replacing the appropriate 
	file here (usually segment2).<br />
	<b>&nbsp;&nbsp;&nbsp; installed_packages/<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>If you use the ipkg_install.sh 
	tool, this is where packages you've installed after firmware extraction will 
	reside.<br /><br />One can manually change the files in rootfs and/or use the 
	automated package scripts.</p>
	<p>&nbsp;</p>
	<p><b><a name="Installing_packages">Installing packages</a> (.IPK)</b></p>
	<blockquote>
		<p>In compliment to manually making changes, one can use pre-built IPKG 
		format package files with the ipkg_install/remove scripts. Although not 
		all will work and a repository for packages verified to work has not yet 
		been produced, many packages work just fine.</p>
		<p>Packages are pre-built collections of files pertaining to a set of software. 
OpenWrt and DD-WRT both use packages, and most are cross-compatible. These 
packages are stored in a tar/gzip archive of a pre-defined structure that 
includes some control files. You can extract and copy the files manually, or use 
the ipkg_install.sh script included with this kit. For a list of some of the 
available packages (not all may work), see
		<a href="http://downloads.openwrt.org/whiterussian/packages/">
		http://downloads.openwrt.org/whiterussian/packages/</a> and
		<a href="http://ftp.selfnet.de/pub/openwrt/backports/rc5/">http://ftp.selfnet.de/pub/openwrt/backports/rc5/</a> .
		<i>We are currently in the process of compiling a set of packages known 
		to be good for DD-WRT ... to help in this matter please visit
		<a href="http://www.dd-wrt.com/phpBB2/viewtopic.php?t=2844">here</a>.
		</i></p>
		<p><i>For information on how to create IPKs, see the
		<a href="creating_ipk_packages.htm">IPK Creation Kit</a>.</i></p>
		<p>Example use:</p>
		<table border="0" width="100%" bgcolor="#F6F4EC" id="table6">
			<tr>
				<td><br />$ ./ipkg_install.sh some_package-1.2.5.ipk working_directory/<br />&nbsp;</td>
			</tr>
		</table>
		<p><b>some_package-1.2.5.ipkg </b>would be the filename of the package.<br />
		<b>working_directory</b> is the same working directory you supplied to the 
extract_firmware.sh script.</p>
		<p><b>Notes:</b></p>
		<p>A script, ipkg_install_all.sh is also available to install an entire 
		folder of packages.</p>
		<p>The collection of installed packages will be stored in <b><i>
		working_directory/installed_packages </i></b>.</p>
	</blockquote>
	<p>&nbsp;</p>
	<p><b><a name="Removing_packages">Removing packages</a> (.IPK)</b></p>
	<blockquote>
		<p>To remove packages there is the ipkg_remove.sh script. </p>
		<p>Example use:</p>
		<table border="0" width="100%" bgcolor="#F6F4EC" id="table7">
			<tr>
				<td><br />$ ./ipkg_remove.sh some_package-1.2.5.ipk working_directory/<br />&nbsp;</td>
			</tr>
		</table>
		<p><b>some_package-1.2.5.ipkg </b>would be the filename of the package.<br />
		<b>working_directory</b> is the same working directory you supplied to the 
extract_firmware.sh script.</p>
		<p><b>Notes:</b></p>
		<p>A script, ipkg_remove_all.sh is also available to install an entire 
		folder of packages.</p>
		<p>The collection of installed packages stored <b><i>
		working_directory/installed_packages </i></b>will be updated to reflect 
		the change if successful.</p>
	</blockquote>
	<p>&nbsp;</p>
</blockquote>
<p><b><font size="4"><u>C.
<a name="Re-building_the_firmware_(build_firmware.sh)">Re-building the firmware 
(build_firmware.sh, build-ng.sh)</a></u></font></b></p>
<blockquote>
	<p>Rebuilding the firmware is as easy as extracting it. Use the 
build_firmware.sh script to automate the process.&nbsp; <i><b>You must run this 
tool from inside the directory it exists in.</b></i></p>
	<p>Example use:</p>
	<table border="0" width="100%" bgcolor="#F6F4EC" id="table2">
		<tr>
			<td><br />$ ./build_firmware.sh output_directory/ working_directory/<br />&nbsp;</td>
		</tr>
	</table>
	<p><b>- output_directory</b> is the path to which the created firmware images 
should be stored. If images already exist here, they will be over-written. 
Firmware images for various models will be emitted (these images are all the 
same but have different header patterns so they are accepted by the target 
models).<br /><b>- working_directory</b> is the working directory supplied to 
extract_firmware.sh.</p>
	<p>A building log is created as <i>build.log</i>.</p>

	<p>
		If extract-ng.sh was used to extract the firmware image, build-ng.sh must be used
		to rebuild it:
	</p>
	<table border="0" width="100%" bgcolor="#F6F4EC" id="table4">
		<tr>
			<td><br />$ ./build-ng.sh working_directory/<br />&nbsp;</td>
		</tr>
	</table>
</blockquote>
<p>&nbsp;</p>
<p><font size="5"><b>VIII. <a name="Caveats">Caveats</a></b></font></p>
<p>There are a few things to watch out for when modifying firmware images. If 
you make reasonable changes these problems will probably never affect you. Be 
warned, this section may be technical in parts.</p>
<p><b>A. <a name="Binary_compatibility_issues">Binary compatibility issues</a></b></p>
<ul>
	<li>If installing a <b>binary</b> package:&nbsp;
	<ul>
		<li>It is possible the uclibc or glibc library was pruned (unused 
		objects removed). In the unlikely event the binary package requires some of these 
		previously unused (and now missing) functions, you may need to install 
		to the firmware file system a new uclibc or glibc library. If you are 
		installing another pruned uclibc or glibc library, then it is remotely 
		possible some pre-existing package requires objects not found in this 
		new library. In such a very rare case you can re-link the library or 
		find a full copy of the library to install.</li>
		<li>Different firmwares may use different kernel versions, or have 
		different kernel modules installed. If you get too wild with your 
		mix-and-matching (i.e. use older versions with newer, or mixtures of 
		different firmwares all-together), problems can result. To install a new 
		kernel (not at all recommended), replace the segment2 (or other) file found found in 
		the intermediate directory with an appropriate one (can be from another 
		firmware as long as lzma compression is used).</li>
		<li>Make sure any dependencies are also installed to the file system, 
		along with initialization scripts.</li>
	</ul></li>
	<li>If making web UI changes:<ul>
		<li><b>WARNING:</b> DD-WRT builds dated later than 08/04/2006 
	have some protections against modifying the web UI.</li>
	</ul>
	<p>&nbsp;</p></li>
</ul>
<p><b>B. <a name="Maximum_firmware_size">Maximum firmware size</a></b></p>
<p>Currently, the maximum firmware image size supported by this kit is 5,898,240 
(0x5A0000) bytes, but can be adjusted through the &quot;-m [size]&quot; parameter of the 
asustrx tool.</p>
<p><br />
<b>C. <a name="Solutions_to_case_sensitivity">Solutions to file system 
incompatibilities</a></b></p>
<p><b>! This section is very much a work in progress !</b></p>
<p>The squashfs file system is case sensitive (i.e. teSt.bin ! = test.bin) and 
adheres to EXT2 naming rules. To support proper extraction of the file system, 
the working directory should be on a case sensitive file system and support 
symbolic links. The scripts 
will warn you if you attempt to use as working directory on a case INsensitive 
file system. You'll see a number of errors if you extract to a file system that 
doesn't support symbolic links.</p>
<p><b>Note:</b> <i>Case insensitivity doesn't always cause problems,</i> especially if the file 
system preserves case ok. It depends on the firmware and version. Most of the 
time for DD-WRT as long as a case preserving file system is used as a working 
directory, all should work fine.</p>
<p>These solutions apply to those using CYGWIN, or some other environment 
that may not have a case sensitive file system by default. Linux users typically 
do not have this problem since EXT2 and EXT3 file systems are case sensitive.
</p>
<p><br />
<b>WARNING: THESE ARE IN EARLY STAGES OF TESTING AND MAY NOT WORK.</b></p>
<table border="1" width="100%" id="table4" cellpadding="5">
	<tr>
		<td width="127" height="33">&nbsp;</td>
		<td width="162" height="33"><b>Applies to</b></td>
		<td height="33"><b>Description</b></td>
	</tr>
	<tr>
		<td width="127" valign="top"><b>SOLUTION 1</b></td>
		<td width="162" height="30" valign="top">CYGWIN, OTHER</td>
		<td height="30" valign="top"><b>It's reported this does not work under 
		CYGWIN</b> due to the CYGWIN utilities all being case INsensitive 
		(thanks pagedude).<br />
		<br />
		Use a network share to a case sensitive file system. This is, by far, 
		the easiest solution. Simply use an appropriate network share for the 
		working directory.<br />
&nbsp;</td>
	</tr>
	<tr>
		<td width="127" height="30" valign="top"><b>SOLUTION 2</b></td>
		<td width="162" valign="top">CYGWIN</td>
		<td valign="top"><br />
		For NT partitions it's reported you can enable case sensitivity through 
		the following registry key, but <b>I do not know if this works or not</b>.<p>&nbsp;\HKLM\SYSTEM\CurrentControlSet\Control\Session 
		Manager\kernel\obcaseinsensitive [REG_DWORD] = 0<br />
&nbsp;</td>
	</tr>
	<tr>
		<td width="127" height="31" valign="top"><b>SOLUTION 3</b></td>
		<td width="162" height="31" valign="top">OS X (not usually needed, at 
		least for DD-WRT)</td>
		<td height="31" valign="top"><br />
		One can either
		<a href="http://www.macosxhints.com/article.php?story=200502011939237">
		Turn on HSFX</a> for the boot disk, or (more easily) create a temporary 
		HSFX case sensitive file system to use as a working directory.<p>Example 
		of how to create a temporary HSFX case sensitive file system:<br />
		<br />
		<i>to create:<br />
		</i>$ hdiutil create -size 20m -fs HFSX -volname db90h -nouuid 
		test-image <br />
		<i>to mount:<br />
		</i>$ hdiutil attach test-image.dmg <br />
		<i>to un-mount:</i><br />
		$ hdiutil detach /Volumes/db90h </p>
		<p>(thanks solarflare for this information)<br />
&nbsp;</td>
	</tr>
	<tr>
		<td width="127" valign="top"><b>SOLUTION 4</b></td>
		<td width="162" valign="top">CYGWIN<br />
&nbsp;</td>
		<td valign="top"><br />
		Mount an ext2 files system. Eko, of DD-WRT forums, contributes this tip. 
		Make a partition on a hard drive or USB thumb drive, then install &quot;<a href="http://www.fs-driver.org/">Ext2 
		Installable File System For Windows</a>&quot;. 10MB should generally be 
		plenty of working directory space, but 20MB is suggested for more 
		optimal file system performance.<br />
&nbsp;</td>
	</tr>
</table>
<p>&nbsp; <b>&nbsp;&nbsp; </b></p>
<p><font size="5"><b>IV</b></font><b><font size="5">. <a name="Acknowledgments">
Acknowledgments</a> and more </font></b></p>
<p>The authors and maintainers of this kit are Jeremy Collake (db90h) and Craig Heffner.&nbsp; 
Special thanks to Solarflare, TexHex &lt;<a href="mailto:floh@fbesser.de">floh@fbesser.de</a>&gt;, 
and others.</p>
<p>If YOU would like to contribute to this kit, send me an email at
<a href="mailto:jeremy.collake@gmail.com">jeremy.collake@gmail.com</a> or visit 
the current project hosting at
<a href="http://code.google.com/p/firmware-mod-kit/">
http://code.google.com/p/firmware-mod-kit/</a> . Developers are welcome.</p>
<p>&nbsp;</p>
<p><b><font size="5">X. <a name="Links">Links</a></font></b></p>
<ul>
	<li><i>&nbsp;<a href="creating_ipk_packages.htm">IPK Creation Kit</a> (alpha 
	testing)</i></li>
</ul>
<p>&nbsp;</p>
<p><b><font size="5">X. <a name="Revision_history">Revision history</a></font></b></p>

<p>0.73</p>
<ul>
	<li>New pre-req check and more modern build system (by Craig)</li>
</ul>
<p>0.72</p>
<ul>
	<li>Fix for recent updates to linux build tools that mandated different command line ordering (by Craig)</li>
</ul>

<p>0.64-0.71</p>
<ul>
	<li>See Google Code</li>
	<li>NG edition created by Craig Heffner (total new generation of kit)</li>
</ul>
<p>0.63</p>
<ul>
	<li>Added support for a new raw linux type of firmware (completely untested on the rebuild side flash, so beware)</li>
	<li>Added new splitter3.cc to split up this linux raw firmware type into its segments</li>
	<li>Other misc tweaks</li>
</ul>

<p>0.60</p>
<ul>
	<li>Fixed issue with non-standard du switches, i.e. under OS X.</li>
	<li>Fixed untrx inability to recognize squashfs signatures on big endian systems (patch from Jaifu Gao)</li>
</ul>
<p>0.58</p>
<ul>
	<li>Removed multi-threaded brute testing of LZMA compression params from the 'damn small' variant DD-WRT v24 uses. This may fix some 
		reported problems of failed thread creation.</li>
</ul>

<p>0.56</p>
<ul>
	<li>Add support DD-WRT v24 firmware images</li>
	<li>New unsquashfs variant written for DD-WRT v24</li>
	<li>Cleanup script output indentation, it was quite sloppy</li>
	<li>Apply some fixes and other tweaks</li>
</ul>

<p>0.54</p>
<ul>
	<li>Add support for Trendnet TEW-632BRP images</li>
	<li>Add support for OpenWrt White Russian images</li>
	<li>Don't force root user, just warn</li>
	<li>Other maintenance and tweaks</li>
</ul>

<p>0.51</p>
<ul>
	<li>Increased maximum supported size of TRX images (now can handle > 4MB images).</li>
</ul>

<p>0.50</p>
<ul>
	<li>Removed unnecessary -lz parameter (zlib) from gcc.</li>
</ul>
<p>0.49</p>
<ul>
	<li>unsquashfs: created first ever (afaik) blend of unsquashfs for squashfs 
	2.x images.</li>
	<li>mksquashfs: added 2-1.r2. Script support remains todo.</li>
	<li>other misc. changes.</li>
</ul>
<p>0.48</p>
<ul>
	<li>scripts: now use cramfsck -x to extract cramfs images instead of 
	uncramfs. uncramfs proved to fail to extract some images.</li>
	<li>dirs: renamed cramfs-1.1 to cramfs-2.x to reflect the accurate version 
	number.</li>
</ul>
<p>0.471</p>
<ul>
	<li>motorola_bin: added source code.</li>
</ul>
<p>0.47</p>
<ul>
	<li>wrt_vx_imgtool: added this utility, which can build, extract, view, and 
	fix firmware images for WRT54G(s) v5/v6 series running VxWorks.</li>
	<li>motorola_bin: added this binary only (linux) utility. Build script 
	doesn't invoke it yet, but it's easy to use for those who need it.</li>
	<li>untrx: minor memory leak fixed.</li>
	<li>docs: added some device compatibility notes and other edits.</li>
</ul>
<p>0.46:</p>
<ul>
	<li>scripts: added support for cramfs (testing)</li>
	<li>scripts: added support for WL-520/530/550G images (only 530g tested).</li>
	<li>sources: added cramfs 1.1 tools (mkcramfs, cramfsck)</li>
	<li>images: a symlink is now used between the TRX and generic image. 
	Previously, the intermediate TRX image was just renamed to the generic 
	image.</li>
	<li>scripts: no longer show untrx output</li>
	<li>docs: minor additions</li>
</ul>
<p>0.45:</p>
<ul>
	<li>untrx: added support for attempted detection of file system and version 
	and emission of appropriately named segment.</li>
	<li>untrx: can now handle trx's that have less than 3 segments.</li>
	<li>untrx: complete overhauled (needed it). many changes.</li>
	<li>sources: moved squashfs 3.0 stuff to a dedicated directory.</li>
	<li>packages: added dd-wrt package for Samba. thanks TexHex &lt;<a href="mailto:floh@fbesser.de">floh@fbesser.de</a>&gt;.</li>
	<li>asustrx: updated to add -b switch for padding segments (used by 
	ASUS).</li>
	<li>asustrx: other misc. enhancements.</li>
	<li>scripts: added check_for_upgrade.sh which automatically checks for a 
	newer version of the kit. It's launched when you use extract or build 
	firmware.</li>
	<li>scripts: many other fixes and enhancements.</li>
</ul>
<p>0.43:</p>
<ul>
	<li>scripts: ipkg_remove.sh - rewritten core templated file removal. It 
	actually works now.</li>
	<li>scripts: moved build stuff to shared.inc, as appropriate.</li>
	<li>packages: added dd-wrt package KAID, mainly for removal of this 
	gargantuan (nearly 1MB uncompressed) package. Note: you can easily create 
	your own packages for easier removal of things you don't want by using the 
	IPK template.</li>
</ul>
<p>0.42:</p>
<ul>
	<li>ipk_template: added new ipk_template directory and make_ipk.sh script to 
	create IPKG format packages (.IPK).</li>
	<li>packages: added my newly created ssmtp package with nvram-&gt;conf file 
	startup script. Installs completely into the DD-WRT file system.</li>
	<li>packages: added ddwrt_packages subdirectory which will include pre-built 
	packages custom tailored or known to work</li>
	<li>scripts: ipkg_install.sh numerous improvements and fixes.</li>
	<li>scripts: ipkg_remove.sh numerous improvements and fixes.</li>
	<li>scripts: ipkg_install.sh has new untested/alpha stage capabilities to 
	handle IPKs with remote sources.</li>
	<li>docs: several updates</li>
</ul>
<p>0.40 beta&nbsp; (md5: 786472cfa03fb1cd70e1b025d091168b)</p>
<ul>
	<li>scripts: ipkg_remove.sh - new script for basic IPK package removal</li>
	<li>scripts: ipkg_install.sh possible OS X fixes</li>
	<li>scripts: ipkg_install.sh changed technique of recording installed 
	packages</li>
	<li>scripts: ipkg_install.sh outputs control file so user can see 
	dependencies and more</li>
	<li>scripts: several improvements</li>
	<li>docs: hopefully more readable format in places</li>
	<li>docs: many mods and extensions</li>
</ul>
<p>0.33 beta</p>
<ul>
	<li>structure: moved tool source codes to src subfolder</li>
	<li>scripts: added ipkg_install_all.sh to install an entire folder of 
	packages.</li>
	<li>scripts: consolidated shared code into an 'include' script</li>
	<li>scripts: added forgotten parameter count check to ipkg_install.sh</li>
	<li>scripts other minor changes</li>
</ul>
<p>0.31 beta</p>
<ul>
	<li>new tests indicate OS X with native HFS+ file system results in firmware 
	images that work just fine! This build should be fully compatible with OS X 
	without even necessitating HSFX use for most firmwares.</li>
	<li>mksquashfs: fix for big endian machines (specifically ppc / OS X) 
	resulting from change to support dd-wrt 08/10/06+ builds.</li>
</ul>
<p>0.30 beta</p>
<ul>
	<li>scripts: created symlinks that omit the .sh extension</li>
	<li>scripts: expanded build success check</li>
	<li>scripts: fixed failure to exit if tools build failed</li>
	<li>scripts: other minor cosmetic improvements</li>
	<li>untrx: fixed a file handle leak in v0.28 beta</li>
	<li>docs: added example procedure to install SSMTP into DD-WRT image</li>
	<li>docs: added table of contents</li>
	<li>docs: misc. additions and revisions</li>
</ul>
<p>0.29 beta</p>
<ul>
	<li>scripts: added ipkg_install.sh to install .IPK format packages.</li>
</ul>
<p>0.28 beta</p>
<ul>
	<li>the v0.26 fix for changed signature of&nbsp; 08/10/06 builds was 
	incomplete (test was flawed), resulting in builds that wouldn't run. fixed 
	properly now.</li>
	<li>mksquashfs: added -magic [file] parameter to embed whichever is used in 
	the original firmware</li>
	<li>untrx: added extraction of squashfs signature/magic for passing to 
	mksquashfs</li>
	<li>docs: added more stuff</li>
</ul>
<p>0.27 beta</p>
<ul>
	<li>scripts: changed warning about file system.</li>
</ul>
<p>0.26 beta</p>
<ul>
	<li>Fixed compatibility with DD-WRT builds 08/10/06 and higher. Brainslayer 
	played a joke on me. </li>
</ul>
<p>0.25 beta</p>
<ul>
	<li>OS X now works. When using case insensitive file system though built 
	firmwares might have errata.</li>
	<li>trx: removed this tool due to odd command line parsing bug on (big 
	endian?) OS X systems. asustrx now used in its place.</li>
	<li>scripts: file system case insensitive now warning, can be continued in 
	default settings.</li>
	<li>untrx: fixed some endian problems. </li>
	<li>untrx: fixed a problem with U2ND headers (previous version only worked 
	on trx/generic firmwares).</li>
	<li>docs: minor additions.</li>
</ul>
<p>0.23 beta</p>
<ul>
	<li>package: removed linux executables, download now half size. Surely 
	everyone can install basic build tools..</li>
	<li>scripts: added working directory file system test for case insensitivity 
	and write access</li>
	<li>scripts: added option to continue on after warning when OS X or CYGWIN 
	present</li>
	<li>scripts: removed pre-fixed script name, much cleaner looking output now</li>
	<li>scripts: added variable to choose whether or not to abort if file system 
	found incompatible</li>
	<li>scripts: added cleanup.sh script to clean tools and logs.</li>
	<li>untrx: renamed extfirmware to untrx, much more intuitive name</li>
</ul>
<p>0.22 beta</p>
<ul>
	<li>scripts: added support for OS X</li>
	<li>scripts: added support for CYGWIN</li>
	<li>scripts: minor cosmetic work</li>
	<li>extfirmware: added endian neutrality</li>
	<li>trx: fixed OS X support</li>
	<li>asustrx: fixed OS X support</li>
</ul>
<p>0.20 beta</p>
<ul>
	<li>scripts: added check for Linux and OS X and appropriate compatibility 
	messages</li>
	<li>extfirmware: added GNU license header</li>
	<li>extfirmware: removed some unnecessary header includes</li>
	<li>extfirmware: switched to u_int32_t for wider compatibility</li>
	<li>extfirmware: other minor improvements</li>
	<li>trx: increased maximum firmware size to 0x5A0000 (OpenWrt) from 0x3A0000 
	(DD-WRT).</li>
	<li>trx: switched to u_int32_t for wider compatibility</li>
	<li>makefile: uses gcc instead of cc now</li>
	<li>docs: several updates</li>
</ul>
<p>v0.15 beta</p>
<ul>
	<li>Reworked scripts so they have cleaner, clearer output and use a log file 
	(build.log and extract.log)</li>
	<li>Added more sanity checks in the scripts</li>
	<li>Documentation additions</li>
	<li>Misc. polishing</li>
</ul>
<p>v0.13 alpha: Documentation updates, re-included pre-built executables<br />
v0.10 alpha: First decent public release.</p>
<p>&nbsp;</p>

<p>&nbsp;</p>
<p><font size="2">This document (c)2006-2011 Jeremy Collake and Craig Heffner. <br />
All Rights reserved. This document may be freely republished in its unaltered 
and whole form only. Alterations or partial publishing requires approval of 
creator(s).</font></p>
  
<p><i><font size="2">&nbsp;This kit is free software; you can redistribute it 
and/or modify<br />
&nbsp;it under the terms of the GNU General Public License as published by<br />
&nbsp;the Free Software Foundation; either version 2 of the License, or<br />
&nbsp;(at your option) any later version.<br />
<br />
&nbsp;This program is distributed in the hope that it will be useful,<br />
&nbsp;but WITHOUT ANY WARRANTY; without even the implied warranty of<br />
&nbsp;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU<br />
&nbsp;General Public License for more details.<br />
<br />
&nbsp;You should have received a copy of the GNU General Public License<br />
&nbsp;along with this program; if not, write to the Free Software<br />
&nbsp;Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</font></i></p>
  
</body>

</html>


================================================
FILE: firmware_mod_kit_version.txt
================================================
0.82


================================================
FILE: ipk_template/conffiles
================================================
test


================================================
FILE: ipk_template/control
================================================
Package: package_name
Priority: optional
Section: net
Depends: libncurses
Description: Some package description.
Maintainer: Some guy <someguy@somewhere.net>
Source: N/A
Version: 1.01-1
Architecture: mipsel


================================================
FILE: ipk_template/debian_binary
================================================
2.0


================================================
FILE: ipk_template/make_ipk.sh
================================================
#!/bin/sh
VERSION="0.01 alpha"
#
# Title: make_ipk.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
#
# Creates a IPK from the given directory
#
#
echo "$0 (c)2006 Jeremy Collake <jeremy.collake@gmail.com"

MIN_PARAMS=2
if [ $# -lt $MIN_PARAMS ] || [ ! -d "$2" ]; then
	echo " Invalid usage!"
	echo " USAGE: $0 IPK_OUTPUT_FILE IPK_BASE_FOLDER"
 	exit 1
fi
echo "-----------begin-----------" > make_ipkg.log
OLD_DIR=`pwd`
if [ -f "$2" ]; then
	echo " Erasing existing $2 ..."
	rm $2 
#>> make_ipkg.log 2>&1
fi
##############################################
# change to package ipk folder
#
cd "$2"
##############################################
# do some cleanup from any previous runs
#
rm "packagetemp.tar"
##############################################
# create control.tar
#
echo " Creating control.tar ..."
tar -cf "control.tar" "./control" "./conffiles"
if [ $? != 0 ] || [ ! -f "control.tar" ]; then 
	echo " ERROR: creation of $2/control.tar failed!"
	exit 2	
fi
##############################################
# create control.tar.gz
#
echo " Creating control.tar.gz ..."
gzip < "control.tar" > "control.tar.gz"
if [ $? != 0 ] || [ ! -f "control.tar.gz" ]; then 
	echo " ERROR: creation of $2/control.tar.gz failed!"
	exit 2	
fi
##############################################
# create data.tar
#
# exclude control, conffiles, this script (if it exists), 
# and anything else prudent to ignore
#
echo " Creating data.tar ..."
OUR_BASENAME=`basename $0`
IPK_BASENAME=`basename $1`
# just get top-level directories actually
ALL_FILES=`find "./" -maxdepth 1 | sed 1d` 
rm data.tar
INPUT_FILES=" "
for i in $ALL_FILES; do
	echo "  Processing $i "
	if [ -d $i ]; then
		INPUT_FILES=`echo $INPUT_FILES "$i"`
	fi
done
echo " dbg.infiles: $INPUT_FILES"
tar "--exclude=./control.tar" "--exclude=./control" "--exclude=./conffile*" "--exclude=./$OUR_BASENAME" "--exclude=./$IPK_BASENAME" "--exclude=./make_ipk*.log" -cvf data.tar $INPUT_FILES
echo " -------- current data.tar ----------"
tar -tvf data.tar
if [ $? != 0 ] || [ ! -f "data.tar" ]; then 
	echo " ERROR: creation of $2/data.tar failed!"
	exit 2	
fi
##############################################
# create data.tar.gz
#
# exclude control, conffiles, and this script if it's there..
#
echo " Creating data.tar.gz ..."
OUR_BASENAME=`basename $0`
gzip < "data.tar" > "data.tar.gz"
if [ $? != 0 ] || [ ! -f "data.tar.gz" ]; then 
	echo " ERROR: creation of $2/data.tar.gz failed!"
	exit 2	
fi


##############################################
# create PACKAGE.tar
#
tar -cf "packagetemp.tar" "./control.tar.gz" "./data.tar.gz" "./debian_binary"
if [ $? != 0 ] || [ ! -f "packagetemp.tar" ]; then 
	echo " ERROR: creation of packagetemp.tar failed!"
	exit 2	
fi
##############################################
# finally gzip the result to PACKAGE.ipk
#
gzip < "packagetemp.tar" > "$1"
if [ $? != 0 ] || [ ! -f $1 ]; then 
	echo " ERROR: creation of $1 failed!"
	exit 2	
fi
echo " Done. Created: $1"
cd $OLD_DIR


================================================
FILE: ipkg_install.sh
================================================
#!/bin/sh
#
# $Id: ipkg_install.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $
#
. "./shared.inc"
### 20110225-MCT The VERSION is set in the shared.inc file from a single external source now.
VERSION="${SHARED_VERSION}"
#
# Title: ipkg_install.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
# Site: http://code.google.com/p/firmware-mod-kit/
#
# Do a really dumb package install. No dependencies,
# removal, or anything. Just extract the data files
# to the file system.
#
# See documentation at:
#  http://www.bitsum.com/firmware_mod_kit.htm
#
# USAGE: ipkg_install.sh PACKAGE_SOURCE WORKING_DIRECTORY/
#
# PACKAGE_SOURCE is the path to the .PKG file. 
#
# WORKING_DIRECTORY is the working directory supplied to
#  extract_firmware.sh.
#
# Example:
#
# ./ipkg_install.sh nano_1.3.8-1_mipsel.ipk ../working_dir/
#
# todo: need to get full path of log file because directory
#  change causes log files in both.
#
# todo: this does NOT work with sources that aren't local
#  yet..
#
#
#
echo "$0 v$VERSION, (c)2006-2012 Jeremy Collake"
echo " !!WARNING!!! This script is in early alpha stage of development"

############################################333
# CleanupTmp [base_dir] [package basename]
#
# basename=name w/o IPK (contrasts below labels)
CleanupTmp()
{	
	echo " Cleanup" >> /dev/null 2>&1
	rm -rf "$1/tmp" >> /dev/null 2>&1
	rm -f "$1/$2" >> /dev/null 2>&1
}


##################################################
if [ ! $# = "2" ]; then
	echo " Invalid usage"
	echo " USAGE: $0 PACKAGE_PATH WORKING_DIRECTORY"
	exit 1
fi
BASE_NAME=`basename $1`
echo " Installing $BASE_NAME"
####################################################
if [ ! -e "$1" ]; then
	echo " ERROR: $1 does not exist."
	exit 1
fi

OLD_DIR=`pwd`
##################################################
# notes:
# OS X's tar utility doesn't like GZIP'd TARs .. (re: not TAR'd GZIPs ..),
#  else we could just use tar (which under linux accepts GZIPs as well).
#
mkdir -p "$2/installed_packages/" >> ipkg_install.log 2>&1
cp $1 "$2/installed_packages/"
cd "$2/installed_packages"
INSIDE_NAME=`echo "$BASE_NAME" | sed "s/.ipk/ /"`
gunzip < "$BASE_NAME" > "$INSIDE_NAME"
echo " Assuming contents bore $INSIDE_NAME"
rm -rf tmp
mkdir tmp
tar -xf "$INSIDE_NAME" -C "tmp/"
if [ $? != 0 ]; then
	echo " ERROR: Extraction failed or incompatible format."
	CleanupTmp "." "$INSIDE_NAME"
	exit 1
fi
##################################################
echo " --------------------------------------------"
echo " Examining control files $2/rootfs ..."
echo " Pay attention to the dependencies as you"
echo "  may need to install some of them ..."
echo 
tar -xzvf "tmp/control.tar.gz" -C "tmp/"
if [ $? != "0" ] || [ ! -e "tmp/control" ]; then
	echo " ERROR: Extraction failed of control files (missing from IPK?)"
	CleanupTmp "." "$INSIDE_NAME"
	cd "$OLD_DIR"
	exit 1
else
	# todo: add proper dependency checking and more
	#
OLD_IFS="$IFS"
IFS="NEWLINE"
	cat "tmp/control"
	for i in $( cat "tmp/control" | sed "s/N\/A/ /" ); do		
		#echo " | $i"
		if [ `expr "$i" : "Source"` = 7 ]; then			
SOURCE_PATH=`echo $i | sed s/Source:/ /`
			#echo " dbg: handling SOURCE of $SOURCE_PATH"
			if [ `expr "$SOURCE_PATH" : "http://"` = 7 ] || [ `expr "$SOURCE_PATH" : "ftp://"` = 7 ]; then
				echo " Found remote source .. downloading"
				echo " !! THIS PART IS UNTESTED. WHO KNOWS IF IT WORKS ATM ;p"
				wget "$SOURCE_PATH"
			fi
		fi
	done
fi
IFS="$OLD_IFS"
echo " --------------------------------------------"
##################################################
echo " Extracting data files to $2/rootfs ..."
tar --overwrite -xzvf "tmp/data.tar.gz" -C "../rootfs" 
# no longer do this, we'll let the user evaluate the tar output..
#if [ "$?" != "0" ]; then
#	echo " ERROR: Extraction failed of data.tar.gz - missing from IPK?"
#	CleanupTmp "." "$INSIDE_NAME"
#	cd "$OLD_DIR"
#	exit 1
#else
	echo " Package installed !"	
#fi
##################################################
CleanupTmp "." "$INSIDE_NAME"
cd "$OLD_DIR"
exit 0


================================================
FILE: ipkg_install_all.sh
================================================
#!/bin/sh
#
# $Id: ipkg_install_all.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $
#
. "./shared.inc"
### 20110225-MCT The VERSION is set in the shared.inc file from a single external source now.
VERSION="${SHARED_VERSION}"
#
# Title: ipkg_install_all.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
# Site: hhttp://code.google.com/p/firmware-mod-kit/
#
# Invoke ipkg_install for every package in the given
# folder.
#
# See documentation at:
#  http://www.bitsum.com/firmware_mod_kit.htm
#
# USAGE: ipkg_install_all.sh PACKAGES_FOLDER WORKING_DIRECTORY/
#
# PACKAGE_SOURCE is the path to the .PKG file(s). 
#
# WORKING_DIRECTORY is the working directory supplied to
#  extract_firmware.sh.
#
# Example:
#
# ./ipkg_install_all.sh ../packages ../working_dir/
#
echo "$0 v$VERSION, (c)2006-2012 Jeremy Collake"
##################################################
if [ ! $# = "2" ]; then
	echo " Invalid usage"
	echo " USAGE: $0 PACKAGE_PATH WORKING_DIRECTORY"
	exit 1
fi
BASE_NAME=`basename $1`
echo " Installing $BASE_NAME"
##################################################
if [ ! -e "$1" ]; then
	echo " ERROR: $1 does not exist."
	exit 1
fi
##################################################
for i in $( ls "$1" ); do
	./ipkg_install.sh $1/$i $2
done


================================================
FILE: ipkg_remove.sh
================================================
#!/bin/sh
#
# $Id: ipkg_remove.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $
#
. "./shared.inc"
### 20110225-MCT The VERSION is set in the shared.inc file from a single external source now.
VERSION="${SHARED_VERSION}"
##################################################
#
# Title: ipkg_remove.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
# Site: hhttp://code.google.com/p/firmware-mod-kit/
#
#
# USAGE: ipkg_remove.sh nano_1.3.8-1_mipsel.ipk WORKING_DIRECTORY/
#
#
# Example:
#
# ./ipkg_remove.sh dd-wrt.v23_generic.bin std_generic
#
#
echo "$0 v$VERSION, (c)2006-2012 Jeremy Collake"
echo " !!WARNING!!! This script is in early alpha stage of development"
##################################################
# CleanupTmp [base_dir] [package basename]
#
CleanupTmp()
{
	rm -rf "$1/tmp"  >> /dev/null 2>&1
	rm "$/control.tar.gz"  >> /dev/null 2>&1
	rm "$/data.tar.gz" >> /dev/null 2>&1
	rm "$1/$2" >> /dev/null 2>&1
}

###########################################################
# DeleteWithFolderTemplate ( target_dir , template_dir )
#
# deletes files and folders from a target folder
# based on their presence in a template folder 
# (all files/dirs in template folder deleted from 
#  target folder).
#
# This function calls itself recursively.
#
# One would think there'd be an easier way to accomplish
# this, and maybe there is... I am not a bash guru.
#
DeleteWithFolderTemplate()
{

local TARGET_DIR=$1
local TEMPLATE_DIR=$2

#echo " Processing folder $TEMPLATE_DIR .."
##################################################
for i in `ls $TEMPLATE_DIR`; do
	#echo " dbg: $TEMPLATE_DIR/$i"
	if [ -d $TEMPLATE_DIR/$i ]; then
		if [ -L $TEMPLATE_DIR/$i ]; then
			echo " Removing symbolic link $TARGET_DIR/$i"
			rm $TARGET_DIR/$i >> /dev/null 2>&1
		else
			DeleteWithFolderTemplate $TARGET_DIR/$i $TEMPLATE_DIR/$i
			# now remove folder if empty
			rmdir $TARGET_DIR/$i >> /dev/null 2>&1
		fi
	elif [ -f $TEMPLATE_DIR/$i ]; then
		echo " Removing file at $TARGET_DIR/$i"		
		rm $TARGET_DIR/$i >> /dev/null	2>&1
	else
		echo " WARNING: Unknown file type at $TEMPLATE_DIR/$i"
	fi	
done
}

##################################################
if [ ! $# = "2" ]; then
	echo " Invalid usage"
	echo " USAGE: $0 PACKAGE_PATH WORKING_DIRECTORY"
	exit 1
fi

BASE_NAME=`basename $1`
echo " Removing $BASE_NAME"
####################################################
if [ ! -e "$1" ]; then
	echo " ERROR: $1 does not exist."
	exit 1
fi

OLD_DIR=`pwd`
##################################################
# notes:
# OS X's tar utility doesn't like GZIP'd TARs .. (re: not TAR'd GZIPs ..),
#  else we could just use tar (wh##################################################ich under linux accepts GZIPs as well).
#
mkdir -p "$2/installed_packages/" >> ipkg_remove.log	2>&1
cp $1 "$2/installed_packages/"
cd "$2/installed_packages"
INSIDE_NAME=`echo "$BASE_NAME" | sed "s/.ipk/ /"`
gunzip < "$BASE_NAME" > "$INSIDE_NAME"
echo " Assuming contents bore $INSIDE_NAME"
rm -rf tmp
mkdir tmp
tar -xf "$INSIDE_NAME" -C "tmp/"  >> /dev/null 2>&1
if [ $? != 0 ]; then
	echo " ERROR: Extraction failed or incompatible format."
	#CleanupTmp "." "$INSIDE_NAME"
	exit 1
fi

##################################################
echo " Removing files from $2/rootfs ..."
rm -rf "tmp/data"  >> /dev/null 2>&1
mkdir -p "tmp/data"  >> /dev/null 2>&1
tar -xzvf "tmp/data.tar.gz" -C "tmp/data"  >> /dev/null 2>&1
if [ $? != 0 ]; then
	echo " ERROR: Extraction failed of data.tar.gz (missing from IPK?)"
	CleanupTmp "." "$INSIDE_NAME"
	cd "$OLD_DIR"
	exit 1
else
	echo " Package removed successfully!"	
fi

# 
# using . as a template, delete from working rootfs
#
cd "$OLD_DIR"
DeleteWithFolderTemplate $2/rootfs "$2/installed_packages/tmp/data"
cd "$2/installed_packages"

##################################################
echo " --------------------------------------------"
echo " Examining control files $2/rootfs ..."
echo " Pay attention to the dependencies as you"
echo "  may want to remove some of them if not"
echo "  used by any other installed package."
echo 
tar -xzf "tmp/control.tar.gz" -C "tmp/"
if [ $? != 0 ] || [ ! -e "tmp/control" ]; then
	echo " ERROR: Extraction failed of control files (missing from IPK?)"
	CleanupTmp "." "$INSIDE_NAME"
	cd "$OLD_DIR"
	exit 1
else	
	# todo: add proper dependency checking and more
	cat "tmp/control"		
	# if successeful, remove the package from the installed_packages
	# folder
	CleanupTmp "." "$INSIDE_NAME"
	echo " Removing package IPK from installed_packages ..."
	cd "$OLD_DIR"			
fi
echo " --------------------------------------------"
##################################################
exit 0


================================================
FILE: ipkg_remove_all.sh
================================================
#!/bin/sh
#
# $Id: ipkg_remove_all.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $
#
. "./shared.inc"
### 20110225-MCT The VERSION is set in the shared.inc file from a single external source now.
VERSION="${SHARED_VERSION}"
#
# Title: ipkg_install_all.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
# Site: http://code.google.com/p/firmware-mod-kit/
#
# Invoke ipkg_install for every package in the given
# folder.
#
# See documentation at:
#  http://www.bitsum.com/firmware_mod_kit.htm
#
# USAGE: ipkg_remove_all.sh PACKAGES_FOLDER WORKING_DIRECTORY/
#
# PACKAGE_SOURCE is the path to the .PKG file(s). 
#
# WORKING_DIRECTORY is the working directory supplied to
#  extract_firmware.sh.
#
# Example:
#
# ./ipkg_remove_all.sh ../packages ../working_dir/
#
echo "$0 v$VERSION, (c)2006-2012 Jeremy Collake"
##################################################
if [ ! $# = "2" ]; then
	echo " Invalid usage"
	echo " USAGE: $0 PACKAGE_PATH WORKING_DIRECTORY"
	exit 1
fi
BASE_NAME=`basename $1`
echo " Installing $BASE_NAME"
##################################################
if [ ! -e "$1" ]; then
	echo " ERROR: $1 does not exist."
	exit 1
fi
##################################################
for i in $( ls "$1" ); do
	"./ipkg_remove.sh" "$1/$i" "$2"
done


================================================
FILE: old-build.sh
================================================
#!/bin/sh
#
# $Id: build_firmware.sh 333 2012-08-03 22:59:39Z jeremy.collake@gmail.com $
#
. "./shared.inc"
### 20110225-MCT The VERSION is set in the shared.inc file from a single external source now.
VERSION="${SHARED_VERSION}"
#
# Title: build_firmware.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
# Site: http://code.google.com/p/firmware-mod-kit/
#
# USAGE: old-build.sh OUTPUT_DIRECTORY/ WORKING_DIRECOTRY/
#
# This scripts builds the firmware image from [WORKING_DIRECTORY],
# with the following subdirectories:
#
#    image_parts/   <- firmware seperated
#    rootfs/ 	    <- filesystem
#
# Example:
#
# ./old-build.sh new_firmwares/ std_generic/
#
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# 20110225-0746-MCT - Added rebuild number.
# + Enhanced previous patch to include a rebuild
#   number that increments.
# + Moved this log to below the authors space.
# 20110224-1507-MCT - Two simple mods.
# + Put the name of the build into an external file so that
#   it's easier to customize.
# + Modified a var to correct the spelling. :)
#   Changed FIRMARE_BASE_NAME to FIRMWARE_BASE_NAME
## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#

EXIT_ON_FS_PROBLEM="0"

echo
echo " Firmware Mod Kit (extract) v$VERSION, (c)2010-2012 Jeremy Collake, - Newer NG edition by Craig Heffner"

#################################################################
# function: BuildLinuxRawFirmwareType
# puts together firmwares types like the TEW-632BRP
#################################################################
BuildLinuxRawFirmwareType() {	
	OUTPUT_PATH=$1
	PARTS_PATH=$2
	OUTPUT_FIRMWARE_FILENAME="output-firmware.bin"
	echo " Building firmware from directory $2 ..."		
	if [ ! -e "$PARTS_PATH/rootfs/" ]; then
		echo " ERROR: rootfs must exist"
		exit 1
	fi
	mkdir -p "$OUTPUT_PATH"
	rm -f "$PARTS_PATH/image_parts/squashfs-3-lzma.img" "$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME" "$PARTS_PATH/image_parts/rootfs.img" "$PARTS_PATH/image_parts/*.new"
	if [ -f "$PARTS_PATH/.squashfs3_lzma_fs" ]; then			
		# make squashfs image if marker present
		echo " Building squashfs-lzma file system (big endian) ..."
		if [ -f "$2/.linux_raw_type3" ]; then
			echo " !!! WARNING: This raw embedded linux image type is UNTESTED - added Nov 6 2010"
			echo " !!! DO NOT FLASH UNLESS YOU ARE PREPARED TO RECOVER FROM A BRICKED ROUTER"
			echo " !!! YOU HAVE BEEN WARNED AND ASSUME LIABILITY FOR DAMAGES IF YOU DO FLASH IT"
			./src/squashfs-3.0/mksquashfs-lzma "$PARTS_PATH/rootfs/" "$PARTS_PATH/image_parts/squashfs-3-lzma.img" -all-root -be -noappend -b 65536 2>/dev/null >> build.log
		else
			./src/squashfs-3.0/mksquashfs-lzma "$PARTS_PATH/rootfs/" "$PARTS_PATH/image_parts/squashfs-3-lzma.img" -all-root -be -noappend 2>/dev/null >> build.log
		fi
		ln -s "squashfs-3-lzma.img" "$PARTS_PATH/image_parts/rootfs.img"			
		filesize=$(du -b "$PARTS_PATH/image_parts/squashfs-3-lzma.img" | cut -f 1)
	else
		# make jffs2 image if marker not present
		echo " Building JFFS2 file system (big endian) ..."
		./src/jffs2/mkfs.jffs2 -r "$PARTS_PATH/rootfs/" -o "$PARTS_PATH/image_parts/jffs2.img" --big-endian --squash # 2>/dev/null >> build.log
		ln -s "jffs2.img" "$PARTS_PATH/image_parts/rootfs.img"
		filesize=$(du -b "$PARTS_PATH/image_parts/jffs2.img" | cut -f 1)
	fi
	# build firmware image
	cp "$PARTS_PATH/image_parts/vmlinuz" "$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME"
	if [ -f "$2/.linux_raw_type3" ]; then
		echo " Building RAW IMAGE TYPE 3"	
		cat "$PARTS_PATH/image_parts/rootfs.img" >> "$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME"
	else
		dd "if=$PARTS_PATH/image_parts/rootfs.img" "of=$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME" bs=1K seek=1024 2>/dev/null >> build.log
	fi
	if [ -f "$PARTS_PATH/image_parts/hwid.txt" ]; then
		# user report: prepend four NULL bytes to the platform ID, causes image to be accepted on 
		#  either TEW-632BRP A1.0 or A1.1 by effectively nullifying the platform ID
		# "\000\000\000\000" >> "$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME"
		# now write platform ID
		cat "$PARTS_PATH/image_parts/hwid.txt" >> "$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME"
	else
		echo " ERROR: hwid.txt not found. This image needs a TARGET."
		exit 1
	fi	
	filesize=$(du -b "$OUTPUT_PATH/$OUTPUT_FIRMWARE_FILENAME" | cut -f 1)
	if [ $filesize -ge 3866649 ]; then
		echo " WARNING: firmware image may be too large for routers with 4MB ROM ..."
	fi

}

#################################################################
# InvokeTRX ( OutputDir, WorkingDir, filesystem image filename )
#################################################################
InvokeTRX ()
{
	echo " Building base firmware image (generic) ..."	
	SEGMENT_1="$2/image_parts/segment1"
	if [ -f "$2/image_parts/segment2" ]; then
		SEGMENT_2="$2/image_parts/segment2"
	else
		SEGMENT_2=""
	fi
	# I switched to asustrx due to bug in trx with big endian OS X.
	#  it works just like trx if you don't supply a version number (skips addver appendage)
	"src/asustrx" -o "$1/$FIRMWARE_BASE_NAME.trx" \
		$SEGMENT_1 $SEGMENT_2 \
		"$2/image_parts/$3" \
			>> build.log 2>&1
	echo " Building base firmware image (asus) ..."	
	"src/asustrx" -p WL500gx -v 1.9.2.7 -o "$1/$FIRMWARE_BASE_NAME-asus.trx" \
		$SEGMENT_1 $SEGMENT_2 \
		"$2/image_parts/$3" \
		 >> build.log 2>&1

}

#################################################################
# CreateTargetImages ( OutputDir, WorkingDir )
#
# addpattern (HDR0) images. Maybe other model specific stuff
# later.
#################################################################
CreateTargetImages ()
{
	echo " Making $1/$FIRMWARE_BASE_NAME-wrtsl54gs.bin"
	if [ ! -f "$1/$FIRMWARE_BASE_NAME.trx" ]; then
		echo " ERROR: Sanity check failed."
		exit 1
	fi
	"src/addpattern" -4 -p W54U -v v4.20.6 -i "$1/$FIRMWARE_BASE_NAME.trx" \
		 -o "$1/$FIRMWARE_BASE_NAME-wrtsl54gs.bin" -g >> build.log 2>&1
	echo " Making $1/$FIRMWARE_BASE_NAME-wrt54g.bin"
	"src/addpattern" -4 -p W54G -v v4.20.6 -i "$1/$FIRMWARE_BASE_NAME.trx" \
		-o "$1/$FIRMWARE_BASE_NAME-wrt54g.bin" -g >> build.log 2>&1
	echo " Making $1/$FIRMWARE_BASE_NAME-wrt54gs.bin"
	"src/addpattern" -4 -p W54S -v v4.70.6 -i "$1/$FIRMWARE_BASE_NAME.trx" \
		-o "$1/$FIRMWARE_BASE_NAME-wrt54gs.bin" -g >> build.log 2>&1
	echo " Making $1/$FIRMWARE_BASE_NAME-wrt54gsv4.bin"
	"src/addpattern" -4 -p W54s -v v1.05.0 -i "$1/$FIRMWARE_BASE_NAME.trx" \
		-o "$1/$FIRMWARE_BASE_NAME-wrt54gsv4.bin" -g >> build.log 2>&1
	echo " Making $1/$FIRMWARE_BASE_NAME-generic.bin"
	ln -s "$FIRMWARE_BASE_NAME.trx" "$1/$FIRMWARE_BASE_NAME-generic.bin" >> build.log 2>&1
}

#################################################################
# Build_WRT_Images( OutputDir, WorkingDir )
#################################################################
Build_WRT_Images ()
{
	echo " Building squashfs-lzma filesystem ..."
	if [ -e "$2/image_parts/squashfs-lzma-image-3_0" ]; then			
		if [ -f "$2/image_parts/.sq_lzma_damn_small_variant_marker" ]; then
		   echo " Utilizing lzma damn small variant ..."		   
		   echo " WARNING: Support for these recently added, not fully tested... be careful."
		   echo "          Please report to jeremy.collake@gmail.com success or failure."
		   echo " This may take a while ..."
		   "src/squashfs-3.0-lzma-damn-small-variant/mksquashfs-lzma" "$2/rootfs/" "$2/image_parts/squashfs-lzma-image-new" \
			-noappend -root-owned -le >> build.log		
		else
		   echo " Utilizing lzma standard variant ..."
		   "src/squashfs-3.0/mksquashfs-lzma" "$2/rootfs/" "$2/image_parts/squashfs-lzma-image-new" \
			-noappend -root-owned -le -magic "$2/image_parts/squashfs_magic" >> build.log		
		fi
		# -magic to fix brainslayer changing squashfs signature in 08/10/06+ firmware images
	 	if [ $? != 0 ]; then
			echo " ERROR - mksquashfs failed."
			exit 1	
		fi
	elif [ -f "$2/image_parts/squashfs-lzma-image-2_x" ]; then
		 echo " Utilizing squashfs lzma 2.1-r2 ..."
		   "src/squashfs-2.1-r2/mksquashfs-lzma" "$2/rootfs/" "$2/image_parts/squashfs-lzma-image-new" \
			-noappend -le >> build.log	
	else
		echo " ERROR - Working directory contains no sqfs filesystem?"
		exit 1
	fi	
	#################################################################
	InvokeTRX "$1" "$2" "squashfs-lzma-image-new"
	CreateTargetImages "$1" "$2" 	
}

#################################################################
# MakeCramfs (output file, root dir)
#
# invokes mkcramfs
#
#################################################################
MakeCramfs ()
{
	echo " Building cramfs file system ..."
	./src/cramfs-2.x/mkcramfs "$2" "$1" >> build.log 2>&1
	if [ $? != 0 ]; then
		echo " ERROR: creating cramfs file system failed.".
		exit "$?"
	else
		echo " Successfully created cramfs image."
	fi
}

#################################################################
# Build_WL530G_Image (OutputDir, WorkingDir, fs image filename [only] )
#
# Builds an ASUS WL530/520/550G image.
#
#################################################################
Build_WL530G_Image ()
{
	echo " Building wl-530/520/550g style image (static TRX offsets)."
	./src/asustrx -p WL530g -v 1.9.4.6 -o "$1/$FIRMWARE_BASE_NAME-wl530g.trx" -b 32 "$2/image_parts/segment1" -b 655360 "$2/image_parts/$3"  >> build.log 2>&1	
}


#################################################################
#################################################################
#################################################################

if [ $# = 2 ]; then
	PlatformIdentify 
	#################################################################
	TestFileSystemExit "$1" "$2"
	#################################################################
	TestIsRoot
	#################################################################
	if [ ! -f "./old-build.sh" ]; then
		echo " ERROR - You must run this script from the same directory as it is in!"
		exit 1
	fi
	#################################################################

	if [ ! -f .firmware_rebuild_number ] ; then
		FIRMWARE_REBUILD_NUMBER=1
		echo ${FIRMWARE_REBUILD_NUMBER} > .firmware_rebuild_number
	else
		FIRMWARE_REBUILD_NUMBER=$( cat .firmware_rebuild_number )
		(( FIRMWARE_REBUILD_NUMBER+=1 ))
		echo ${FIRMWARE_REBUILD_NUMBER} > .firmware_rebuild_number
	fi
	if [ ! -f .firmware_base_name ] ; then
		FIRMWARE_BASE_NAME=custom_image
		echo $FIRMWARE_BASE_NAME > .firmware_base_name
	else
		FIRMWARE_BASE_NAME="$( cat .firmware_base_name )"
	fi
	FIRMWARE_BASE_NAME=$( printf "%s_%05d" ${FIRMWARE_BASE_NAME} ${FIRMWARE_REBUILD_NUMBER} )
	echo "Rebuilt: ${FIRMWARE_BASE_NAME} With: Firmware Mod Kit (build) v$VERSION, (c)2010 Jeremy Collake" > "$2/rootfs/etc/rebuild_info"

	#################################################################
	# remove deprecated stuff
	if [ -f "./src/mksquashfs.c" ] || [ -f "mksquashfs.c" ]; then
		DeprecateOldVersion
	fi
	#################################################################
	# Invoke BuildTools, which tries to build everything and then
	# sets up appropriate symlinks.
	#
	BuildTools "build.log"
	#################################################################
	echo " Preparing output directory $1 ..."
	mkdir -p $1 >> build.log 2>&1
	rm "$1/$FIRMWARE_BASE_NAME*.*" "$1" >> build.log 2>&1
	
	if [ -f "$2/.linux_raw_type" ]; then
		echo " Detected linux raw type firmware."
		BuildLinuxRawFirmwareType "$1" "$2"		
	elif [ -f "$2/.linux_raw_type3" ]; then
		echo " Detected linux raw type firmware."
		BuildLinuxRawFirmwareType "$1" "$2"	
	elif [ -f "$2/image_parts/.trx-sqfs" ]; then
		echo " Detected WRT squashfs-lzma style."
		Build_WRT_Images "$1" "$2"
	elif [ -f "$2/image_parts/cramfs-image-x_x" ]; then
		echo " Detected cramfs file system."
		TestIsRoot
		# remove old filename of new image..
		rm -f "$2/image_parts/cramfs-image-1.1"
		MakeCramfs "$2/image_parts/cramfs-image-new" "$2/rootfs"
		# todo: rewrite this terrible test
		grep "530g" "$2/image_parts/cramfs-image-x_x" >> build.log 2>&1				
		if [ $? = "0" ]; then
			IS_530G_STYLE=1
		fi
		grep "550g" "$2/image_parts/cramfs-image-x_x" >> build.log 2>&1			
		if [ $? = "0" ]; then
			IS_530G_STYLE=1
		fi
		grep "520g" "$2/image_parts/cramfs-image-x_x" >> build.log 2>&1		
		if [ $? = "0" ]; then
			IS_530G_STYLE=1
		fi
		if [ "$IS_530G_STYLE" = "1" ]; then		
			Build_WL530G_Image "$1" "$2" "cramfs-image-new"
		else
			echo " No specific firmware type known, so am making standard images."
			InvokeTRX "$1" "$2" "cramfs-image-new"
			CreateTargetImages "$1" "$2"			
		fi 
	else		
		echo " ERROR: Unknown or unsupported firmware image."
		exit 1
	fi

	echo " Firmware images built."
	ls -l "$1"
	md5sum -b "$1"/${FIRMWARE_BASE_NAME}* > "$1"/${FIRMWARE_BASE_NAME}.md5sums
	echo " All done!"
else
	#################################################################
	echo " Incorrect usage."
	echo " USAGE: $0 OUTPUT_DIR WORKING_DIR"
	exit 1
fi
exit 0


================================================
FILE: old-extract.sh
================================================
#!/bin/sh
#
# $Id: extract_firmware.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $
#
. "./shared.inc"
### 20110225-MCT The VERSION is set in the shared.inc file from a single external source now.
VERSION="${SHARED_VERSION}"
#
# Title: extract_firmware.sh
# Author: Jeremy Collake <jeremy.collake@gmail.com>
# Site: http://code.google.com/p/firmware-mod-kit/
#
# USAGE: old-extract.sh FIRMWARE_IMAGE.BIN WORKING_DIRECTORY/
#
# This scripts extacts the firmware image to [WORKING_DIRECTORY],
# with the following subdirectories:
#
#    image_parts/   <- firmware seperated
#    rootfs/ 	    <- extracted filesystem
#
# Example:
#
# ./old-extract.sh dd-wrt.v23_generic.bin std_generic
#
#
EXIT_ON_FS_PROBLEM="0"

echo
echo " Firmware Mod Kit (extract) v$VERSION, (c)2010-2012 Jeremy Collake, - Newer NG edition by Craig Heffner"

#################################################################
#
# function: ExtractLinuxRawFirmwareType ()
# 
# Extracts essentially 'raw' firmware images with kernel, filesystem, and hardware id
# Example is the TrendNET TEW-632BRP router.
#
ExtractLinuxRawFirmwareType ()
{
	# $1 = input firmware
	PARTS_PATH=$2	
	echo " Extracting $1 to $2 ..."
	mkdir -p "$PARTS_PATH/image_parts"
	if [ $? = 0 ]; then
 		dd "if=$1" "of=$PARTS_PATH/image_parts/vmlinuz" bs=1K count=1024 2>/dev/null >> extract.log
 		dd "if=$1" "of=$PARTS_PATH/image_parts/squashfs-3-lzma.img" bs=1K skip=1024 2>/dev/null >> extract.log
                SYSNAME=`uname`
                if [ `expr "$SYSNAME" : "Darwin"` = 6 ]; then
			filesize=$(ls -la $1 | awk '{print $5}')
		else
			filesize=$(du --apparent-size --block-size=1 $1 | cut -f 1)
		fi
		filesize=$((filesize - 24))
		dd "if=$1" "of=$PARTS_PATH/image_parts/hwid.txt" bs=1 skip=$filesize 2>/dev/null >> extract.log
		"./src/squashfs-3.0/unsquashfs-lzma" -dest "$PARTS_PATH/rootfs" \
			"$PARTS_PATH/image_parts/squashfs-3-lzma.img" 2>/dev/null >> extract.log
		if [ -e "$PARTS_PATH/rootfs/" ]; then
			# write a marker to indicate the firmware image type and filesystem type
			touch "$PARTS_PATH/.linux_raw_type"
			touch "$PARTS_PATH/.squashfs3_lzma_fs"
		fi
	else
		echo " ERROR: Creating output directory.."
	fi	
}

#################################################################
#
# Main script entry 
#
#################################################################

if [ $# = 2 ]; then
	PlatformIdentify
	#################################################################
	TestFileSystemExit $1 $2
	#################################################################
	TestIsRoot
	#################################################################
	if [ -f "$1" ]; then
		if [ ! -f "./old-extract.sh" ]; then
			echo " ERROR - You must run this script from the same directory as it is in!"
			exit 1
		fi
		#################################################################
		# remove deprecated stuff
		if [ -f "./src/mksquashfs.c" ] || [ -f "mksquashfs.c" ]; then
			DeprecateOldVersion
		fi
		#################################################################
		# Invoke BuildTools, which tries to build everything and then
		# sets up appropriate symlinks.
		#
		BuildTools "extract.log"				     					
		#################################################################		
		echo " Preparing working directory ..."
		echo " Removing any previous files ..."
		rm -rf "$2/rootfs" >> extract.log 2>&1
		rm -rf "$2/image_parts" >> extract.log 2>&1
		rm -rf "$2/installed_packages" >> extract.log 2>&1
		echo " Creating directories ..."
		mkdir -p "$2/image_parts" >> extract.log 2>&1
		mkdir -p "$2/installed_packages" >> extract.log 2>&1
		echo " Extracting firmware"
		"src/untrx" "$1" "$2/image_parts" >> extract.log 2>&1		
	 	if [ $? != 0 ]; then
			echo "! untrx failed, trying splitter3";
			"src/splitter3" "$1" "$2/image_parts" >> extract.log 2>&1
		 	if [ $? != 0 ]; then
				echo " Not recognized by splitter3";
				# exit 1
			else
				touch "$2/.linux_raw_type3"
				touch "$2/.squashfs3_lzma_fs"
			fi
		fi
		# if unknown version, then we'll just try to use the latest UnSquashFS we have
		if [ -f "$2/image_parts/squashfs-lzma-image-x_x" ]; then	
			ln -s "squashfs-lzma-image-x_x" "$2/image_parts/squashfs-lzma-image-3_0"
		fi
		# if squashfs 3.1 or 3.2, symlink it to 3.0 image, since they are compatible
		if [ -f "$2/image_parts/squashfs-lzma-image-3_1" ]; then	
			ln -s "squashfs-lzma-image-3_1" "$2/image_parts/squashfs-lzma-image-3_0"
		fi
		if [ -f "$2/image_parts/squashfs-lzma-image-3_2" ]; then	
			ln -s "squashfs-lzma-image-3_2" "$2/image_parts/squashfs-lzma-image-3_0"
		fi
		if [ -f "$2/image_parts/squashfs-lzma-image-3_x" ]; then	
			ln -s "squashfs-lzma-image-3_x" "$2/image_parts/squashfs-lzma-image-3_0"
		fi
		if [ -f "$2/image_parts/squashfs-lzma-image-2_0" ]; then	
			ln -s "squashfs-lzma-image-2_0" "$2/image_parts/squashfs-lzma-image-2_x"
		fi
		if [ -f "$2/image_parts/squashfs-lzma-image-2_1" ]; then	
			ln -s "squashfs-lzma-image-2_1" "$2/image_parts/squashfs-lzma-image-2_x"
		fi
		# now unsquashfs, if filesystem is squashfs
		if [ -f "$2/image_parts/squashfs-lzma-image-3_0" ]; then
			echo " Attempting squashfs 3.0 lzma ..."
	 		"src/squashfs-3.0/unsquashfs-lzma" \
			-dest "$2/rootfs" "$2/image_parts/squashfs-lzma-image-3_0" 2>/dev/null >> extract.log
			if [ ! -e "$2/rootfs" ]; then				
				echo " Trying 'damn small' variant - used by DD-WRT v24 ..."								
	 			"src/squashfs-3.0-lzma-damn-small-variant/unsquashfs-lzma" \
					-dest "$2/rootfs" "$2/image_parts/squashfs-lzma-image-3_0" 2>/dev/null >> extract.log				
				if [ -e "$2/rootfs" ]; then
					# if it worked, then write a tag so we know which squashfs variant to build the fs with
					touch "$2/image_parts/.sq_lzma_damn_small_variant_marker"
					touch "$2/image_parts/.trx-sqfs"			
				fi
			else				
				touch "$2/image_parts/.trx-sqfs"			
			fi
		elif [ -f "$2/image_parts/squashfs-lzma-image-2_x" ]; then			
			"src/squashfs-2.1-r2/unsquashfs-lzma" \
			-dest "$2/rootfs" "$2/image_parts/squashfs-lzma-image-2_x" 2>/dev/null >>extract.log							
			if [ -e "$2/rootfs" ]; then							
				touch "$2/image_parts/.trx-sqfs"
			else
				echo " ERROR: extracting filesystem."
			fi
		elif [ -f "$2/image_parts/cramfs-image-x_x" ]; then
			TestIsRoot
			"src/cramfs-2.x/cramfsck" \
				-v -x "$2/rootfs" "$2/image_parts/cramfs-image-x_x" >> extract.log 2>&1			
		else
			echo " Attempting raw linux style firmware package (i.e. TEW-632BRP) ..."
			ExtractLinuxRawFirmwareType "$1" "$2"			
		fi
		if [ -e "$2/rootfs" ]; then
			echo " Firmware appears extracted correctly!"
			echo " Now make changes and run build_firmware.sh."
		else
			echo " Error: filesystem not extracted properly."
			echo "  firmware image format not compatible?"
			exit 1
		fi	
	else
		echo " $1 does not exist.. give me something to work with man!"
	fi
else
	echo " Incorrect usage."
	echo " USAGE: $0 FIRMWARE_IMAGE.BIN WORKING_DIR"
	exit 1
fi
exit 0


================================================
FILE: shared-ng.inc
================================================
VERSION=$(cat firmware_mod_kit_version.txt)
IMAGE_PARTS="$DIR/image_parts"
LOGS="$DIR/logs"
CONFLOG="$LOGS/config.log"
BINLOG="$LOGS/binwalk.log"
ROOTFS="$DIR/rootfs"
FSIMG="$IMAGE_PARTS/rootfs.img"
HEADER_IMAGE="$IMAGE_PARTS/header.img"
FOOTER_IMAGE="$IMAGE_PARTS/footer.img"
FWOUT="$DIR/new-firmware.bin"
BINWALK="./src/binwalk-1.0/src/bin/binwalk-script -v -m ./src/binwalk-1.0/src/binwalk/magic/binwalk"


================================================
FILE: shared.inc
================================================
#!/bin/sh
SHARED_VERSION="$( cat firmware_mod_kit_version.txt )"
#
# Title: shared.inc
# Author: Jeremy Collake <jeremy.collake@gmail.com>
#
# Shared functions
#
#
#

#################################################################
WarningPrompt ()
{
	read -p " [ Press any key to contrinue, or abort now with break signal (CTRL-C) ]"
}
#################################################################
PlatformIdentify ()
{
SYSNAME=`uname`
	if [ "$SYSNAME" = "Linux" ]; then
		echo " LINUX system detected. Compatibility ok."	
	elif [ `expr "$SYSNAME" : "Darwin"` = 6 ]; then
		echo " OS X system detected. **BETA TESTING**"
		echo " This platform is not well tested."
		WarningPrompt				
	elif [ `expr "$SYSNAME" : "CYGWIN"` = 6 ]; then
		echo " CYGWIN system detected. **BETA TESTING** Built images may have problems."
		echo " This platform is not well tested."
		WarningPrompt			
	else
		echo " Unknown system detected. Compatibility state is unknown."
		WarningPrompt
	fi
}
#################################################################
TestFileSystemExit ()
{
INPUT_FILE=$1
WORKING_DIR=$2
	echo " Testing file system of $WORKING_DIR ..."
	mkdir -p "$WORKING_DIR" >> /dev/null 2>&1
	rm "$WORKING_DIR/test12345612.tmp" >> /dev/null 2>&1
	echo test > "$WORKING_DIR/test12345612.tmp"
	if [ -e "$WORKING_DIR/teST12345612.tmp" ]; then
		echo "  WARNING: File system $WORKING_DIR is not case sensitive."		
		echo "      For some firmwares this can cause troubles in the"
		echo "      built images that result in runtime errata or"
		echo "      even refuse to boot."
		if [ $EXIT_ON_FS_PROBLEM = "1" ]; then
			rm "$WORKING_DIR/test12345612.tmp" >> /dev/null 2>&1
			exit 2
		else
			WarningPrompt				
		fi	
	fi	
	if [ ! -e "$WORKING_DIR/test12345612.tmp" ]; then
		echo "  ERROR: File system $WORKING_DIR is not writable."
		rm "$WORKING_DIR/test12345612.tmp" >> /dev/null 2>&1
		exit 3
	fi
	rm "$WORKING_DIR/test12345612.tmp" >> /dev/null 2>&1
}
#################################################################
# LinkToolsBinraries (srcfolder, destfolder)
#LinkToolsBinaries ()
#{
## deprecated v0.44
#	ln -s -f $1/asustrx $2/asustrx
#	ln -s -f $1/untrx $2/untrx
#	ln -s -f $1/mksquashfs $2/mksquashfs
#	ln -s -f $1/mksquashfs-lzma $2/mksquashfs-lzma	
#	ln -s -f $1/unsquashfs $2/unsquashfs
#	ln -s -f $1/unsquashfs-lzma $2/unsquashfs-lzma
#	ln -s -f $1/addpattern $2/addpattern	
#}

#################################################################

CleanCWD ()
{
	make clean >> cleanup.log 2>&1
	rm -f src/*.log  >> cleanup.log 2>&1
	rm -f *.log  >> cleanup.log 2>&1
	rm -f *.o >> cleanup.log 2>&1
	rm -f asustrx >> cleanup.log 2>&1
	rm -f trx >> cleanup.log 2>&1
	rm -f untrx >> cleanup.log 2>&1
	rm -f addpattern >> cleanup.log 2>&1
	rm -f mksquashfs >> cleanup.log 2>&1
	rm -f mksquashfs-lzma >> cleanup.log 2>&1
	rm -f unsquashfs >> cleanup.log 2>&1
	rm -f unsquashfs-lzma >> cleanup.log 2>&1
	# cygwin
	rm -f asustrx.exe >> cleanup.log 2>&1
	rm -f trx.exe >> cleanup.log 2>&1
	rm -f untrx.edxe >> cleanup.log 2>&1
	rm -f addpattern.exe >> cleanup.log 2>&1
	rm -f mksquashfs.exe >> cleanup.log 2>&1
	rm -f mksquashfs-lzma.exe >> cleanup.log 2>&1
	rm -f unsquashfs.exe >> cleanup.log 2>&1
	rm -f unsquashfs-lzma.exe >> cleanup.log 2>&1
	# old name for untrx, deprecated
	rm -f extfirmware* >> cleanup.log 2>&1
	# trx replaced with asustrx
	rm -f trx.c >> cleanup.log 2>&1
}

Cleanup ()
{
	CleanCWD
	cd src
	CleanCWD
	cd ..
}

#################################################################
# BuildTools ( LOG_FILE )
#
#
BuildTools ()
{
	local LOG_FILE="$1"
	#################################################################
	echo " Building tools ..."
	#make -C src > $LOG_FILE 2>&1
	cd src
	./configure && make > $LOG_FILE 2>&1
	cd -

	if [ $? = 0 ]; then
		echo " Build seems successful."
	else
		echo " ERROR - Build did not succeed. Check log file, you are probably"
		echo "         missing one or more necessary pre-requisites. See docs for"
		echo "         a list of pre-requsites."
		if [ -e "src/untrx" ]; then
			echo " CONTINUING anyway, attempting to use pre-built binaries (x32 linux)"	
		else
			exit 1
		fi
	fi
	#################################################################
	local UNAME2=`uname`
	if [ `expr "$UNAME2" : "CYGWIN"` = 6 ]; then
		ln -s -f "src/asustrx.exe" "src/asustrx" >> $LOG_FILE 2>&1
		ln -s -f "src/untrx.exe" "src/untrx" >> $LOG_FILE 2>&1
		ln -s -f "src/addpattern.exe" "src/addpattern" >> $LOG_FILE 2>&1
		ln -s -f "src/squashfs-3.0/mksquashfs-lzma.exe" "src/squashfs-3.0/mksquashfs-lzma"  >> $LOG_FILE 2>&1
		ln -s -f "src/squashfs-3.0/unsquashfs-lzma.exe" "src/squashfs-3.0/unsquashfs-lzma"  >> $LOG_FILE 2>&1
		ln -s -f "src/squashfs-3.0/mksquashfs.exe" "src/squashfs-3.0/mksquashfs"  >> $LOG_FILE 2>&1
		ln -s -f "src/squashfs-3.0/unsquashfs.exe" "src/squashfs-3.0/unsquashfs"  >> $LOG_FILE 2>&1
	fi
	#################################################################
	# cygwin: this can not be called before above block (no *. bins exist)
	#LinkToolsBinaries "src" "."
}
#################################################################
# DeprecateOldVersion ()
#
# This is to automatically cleanup stuff that's been moved or removed
#  since older versions. Aren't I nice?
# 
DeprecateOldVersion ()
{
		echo " Detected leftover stuff from an old version, cleaning"
		mkdir "src_backup"  >> upgrade.log 2>&1
		mv "*.c" "src_old_backup"  >> upgrade.log 2>&1
		mv "*.h" "src_old_backup" >> upgrade.log 2>&1
		mv "lzma" "src_old_backup" >> upgrade.log 2>&1
		mv "Makefile" "src_old_backup" >> upgrade.log 2>&1
		mv src/cramfs-1.1 src_backup/  >> upgrade.log 2>&1
		# remove symbolic links from v0.43 and below
		rm "mksquashfs" >> upgrade.log 2>&1
		rm "unsquashfs" >> upgrade.log 2>&1
		rm "mksquashfs-lzma" >> upgrade.log 2>&1
		rm "unsquashfs-lzma" >> upgrade.log 2>&1
		rm "untrx" >> upgrade.log 2>&1
		rm "asustrx" >> upgrade.log 2>&1
		rm "addpattern" >> upgrade.log 2>&1
		# remove old sources
		mv src/untrx.c src_old_backup >> upgrade.log 2>&1
		mv src/mksquashfs* src_old_backup >> upgrade.log 2>&1
		mv src/unsquashfs* src_old_backup >> upgrade.log 2>&1
		mv src/read_* src_old_backup >> upgrade.log 2>&1
		mv src/sort* src_old_backup >> upgrade.log 2>&1
		mv src/global.h src_old_backup >> upgrade.log 2>&1
		Cleanup			
}


TestIsRootAndExitIfNot()
{	
	if [ $(id -u) != "0" ]; then
		echo " ERROR: You must be 'root' when extracting and building some images."
		echo "        This is because some images need to create devices in your fs."
		echo "        For DD-WRT, do NOT extract or build as root, use standard user."
		exit 1
	fi
}

TestIsRoot()
{	
	if [ $(id -u) != "0" ]; then
		echo " WARNING: You must be 'root' when extracting and building some images."
		echo "          This is because some images need to create devices in your fs."
		echo "          For DD-WRT, do NOT extract or build as root, use standard user."
	fi
}


================================================
FILE: src/Makefile.in
================================================
CC := gcc
CXX := g++
INCLUDEDIR = .
CFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2

all: asustrx addpattern untrx motorola-bin splitter3 bffutils
	make -C ./uncramfs/
	make -C ./uncramfs-lzma/
	make -C ./cramfs-2.x/
	make -C ./cramfsswap/
	make -C ./squashfs-2.1-r2/
	make -C ./squashfs-3.0/
	make -C ./squashfs-3.0-lzma-damn-small-variant/
	make -C ./wrt_vx_imgtool/
	make -C ./others/
	make -C ./crcalc/
	make -C ./webcomp-tools/
	make -C ./firmware-tools/

addpattern: addpattern.o
	$(CC) addpattern.o -o $@

untrx: untrx.o
	$(CXX) untrx.o -o $@

splitter3: splitter3.o
	$(CXX) splitter3.o -o $@

asustrx: asustrx.o
	$(CC) asustrx.o -o $@

motorola-bin: motorola-bin.o
	$(CC) motorola-bin.o -o $@

bffutils:
	make -C ./bff/

clean:
	rm -f *.o
	rm -f motorola-bin
	rm -f untrx
	rm -f asustrx
	rm -f addpattern
	rm -f splitter3
	rm -f binwalk
	make -C ./squashfs-2.1-r2/ clean
	make -C ./squashfs-3.0 clean
	make -C ./squashfs-3.0-lzma-damn-small-variant clean
	make -C ./cramfs-2.x clean
	make -C ./uncramfs clean
	make -C ./uncramfs-lzma clean
	make -C ./cramfsswap clean
	make -C ./wrt_vx_imgtool clean
	make -C ./others clean
	make -C ./crcalc clean
	make -C ./webcomp-tools clean
	make -C ./binwalk*/src/ cleanall
	make -C ./firmware-tools/ clean
	make -C ./bff/ clean

cleanall: clean
	rm -rf Makefile config.* *.cache


================================================
FILE: src/addpattern.c
================================================
/*
 * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

/* July 29, 2004
 *
 * This is a hacked replacement for the 'addpattern' utility used to
 * create wrt54g .bin firmware files.  It isn't pretty, but it does
 * the job for me.
 *
 * Extensions:
 *  -v allows setting the version string on the command line.
 *  -{0|1} sets the (currently ignored) hw_ver flag in the header
 *      to 0 or 1 respectively.
 */

/* January 12, 2005
 * 
 * Modified by rodent at rodent dot za dot net
 * Support added for the new WRT54G v2.2 and WRT54GS v1.1 "flags"
 * Without the flags set to 0x7, the above units will refuse to flash.
 * 
 * Extensions:
 *  -{0|1|2} sets {0|1} sets hw_ver flag to 0/1. {2} sets hw_ver to 1
 *     and adds the new hardware "flags" for the v2.2/v1.1 units
*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include <sys/stat.h>

/**********************************************************************/

#define CODE_ID		"U2ND"		/* from code_pattern.h */
#define CODE_PATTERN   "W54S"	/* from code_pattern.h */

#define CYBERTAN_VERSION	"v3.37.2" /* from cyutils.h */

/* WRT54G v2.2 and WRT54GS v1.1 "flags" (from 3.37.32 firmware cyutils.h) */
#define SUPPORT_4712_CHIP      0x0001
#define SUPPORT_INTEL_FLASH    0x0002
#define SUPPORT_5325E_SWITCH   0x0004

struct code_header {			/* from cyutils.h */
	char magic[4];
	char res1[4];				/* for extra magic */
	char fwdate[3];
	char fwvern[3];
	char id[4];					/* U2ND */
	char hw_ver;    			/* 0: for 4702, 1: for 4712 -- new in 2.04.3 */
	unsigned short flags;       /* SUPPORT_ flags new for 3.37.2 (WRT54G v2.2 and WRT54GS v1.1) */
	unsigned char res2[10];
} ;

/**********************************************************************/

void usage(void) __attribute__ (( __noreturn__ ));

void usage(void)
{
	fprintf(stderr, "Usage: addpattern [-i trxfile] [-o binfile] [-p pattern] [-g] [-v v#.#.#] [-{0|1|2|4}]\n");
	exit(EXIT_FAILURE);
}

int main(int argc, char **argv)
{
	char buf[1024];	/* keep this at 1k or adjust garbage calc below */
	struct code_header *hdr;
	FILE *in = stdin;
	FILE *out = stdout;
	char *ifn = NULL;
	char *ofn = NULL;
	char *pattern = CODE_PATTERN;
	char *version = CYBERTAN_VERSION;
	int gflag = 0;
	int c;
	int v0, v1, v2;
	size_t off, n;
	time_t t;
	struct tm *ptm;

	fprintf(stderr, "mjn3's addpattern replacement - v0.81\n");

	hdr = (struct code_header *) buf;
	memset(hdr, 0, sizeof(struct code_header));

	while ((c = getopt(argc, argv, "i:o:p:gv:0124")) != -1) {
		switch (c) {
			case 'i':
				ifn = optarg;
				break;
			case 'o':
				ofn = optarg;
				break;
			case 'p':
				pattern = optarg;
				break;
			case 'g':
				gflag = 1;
				break;
			case 'v':			/* extension to allow setting version */
				version = optarg;
				break;
			case '0':
				hdr->hw_ver = 0;
				break;
			case '1':
				hdr->hw_ver = 1;
				break;
			case '2': 			/* new 54G v2.2 and 54GS v1.1 flags */
				hdr->hw_ver = 1;
				hdr->flags |= SUPPORT_4712_CHIP;
				hdr->flags |= SUPPORT_INTEL_FLASH;
				hdr->flags |= SUPPORT_5325E_SWITCH;
				break;
			case '4':
				/* V4 firmware sets the flags to 0x1f */
				hdr->hw_ver = 1;
				hdr->flags = 0x1f;
				break;

			default:
				usage();
		}
	}

	if (optind != argc) {
		fprintf(stderr, "illegal arg \"%s\"\n", argv[optind]);
		usage();
	}

	if (strlen(pattern) != 4) {
		fprintf(stderr, "illegal pattern \"%s\": length != 4\n", pattern);
		usage();
	}

	if (ifn && !(in = fopen(ifn, "r"))) {
		fprintf(stderr, "can not open \"%s\" for reading\n", ifn);
		usage();
	}

	if (ofn && !(out = fopen(ofn, "w"))) {
		fprintf(stderr, "can not open \"%s\" for writing\n", ofn);
		usage();
	}

	if (time(&t) == (time_t)(-1)) {
		fprintf(stderr, "time call failed\n");
		return EXIT_FAILURE;
	}

	ptm = localtime(&t);

	if (3 != sscanf(version, "v%d.%d.%d", &v0, &v1, &v2)) {
		fprintf(stderr, "bad version string \"%s\"\n", version);
		return EXIT_FAILURE;
	}

	memcpy(&hdr->magic, pattern, 4);
	hdr->fwdate[0] = ptm->tm_year % 100;
	hdr->fwdate[1] = ptm->tm_mon + 1;
	hdr->fwdate[2] = ptm->tm_mday;
	hdr->fwvern[0] = v0;
	hdr->fwvern[1] = v1;
	hdr->fwvern[2] = v2;
	memcpy(&hdr->id, CODE_ID, strlen(CODE_ID));

	off = sizeof(struct code_header);

	fprintf(stderr, "writing firmware v%d.%d.%d on %d/%d/%d (y/m/d)\n",
			v0, v1, v2,
			hdr->fwdate[0], hdr->fwdate[1], hdr->fwdate[2]);


	while ((n = fread(buf + off, 1, sizeof(buf)-off, in) + off) > 0) {
		off = 0;
		if (n < sizeof(buf)) {
			if (ferror(in)) {
			FREAD_ERROR:
				fprintf(stderr, "fread error\n");
				return EXIT_FAILURE;
			}
			if (gflag) {
				gflag = sizeof(buf) - n;
				memset(buf + n, 0xff, gflag);
				fprintf(stderr, "adding %d bytes of garbage\n", gflag);
				n = sizeof(buf);
			}
		}
		if (!fwrite(buf, n, 1, out)) {
		FWRITE_ERROR:
			fprintf(stderr, "fwrite error\n");
			return EXIT_FAILURE;
		}
	}
	
	if (ferror(in)) {
		goto FREAD_ERROR;
	}

	if (fflush(out)) {
		goto FWRITE_ERROR;
	}

	fclose(in);
	fclose(out);

	return EXIT_SUCCESS;
}


================================================
FILE: src/asustrx.c
================================================
/*
 * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 */

/* July 29, 2004
 *
 * This is a hacked replacement for the 'trx' utility used to create
 * wrt54g .trx firmware files.  It isn't pretty, but it does the job
 * for me.
 *
 * As an extension, you can specify a larger maximum length for the
 * .trx file using '-m'.  It will be rounded up to be a multiple of 4K.
 * NOTE: This space will be malloc()'d.
 *
 * August 16, 2004
 *
 * Sigh... Make it endian-neutral.
 *
 * TODO: Support '-b' option to specify offsets for each file.
 */

/* March 04, 2005
 *
 * Copyright(c) 2005 Konstantin A. Klubnichkin and Oleg I. Vdovikin
 *
 * Added ASUS addver functionality, which is binary only
 *
 * addver is no longer needed, use utility like this
 *
 * asustrx -p WL500g -v 1.9.2.7 -o image.trx file [ file [ file ] ]  
 */
 
 /* September 22, 2006
 *
 * Copyright(c) 2006 Jeremy Collake <jeremy.collake@gmail.com>
 *
 * Added -b switch to force a segment start offset, padding up 
 * to that point. This switch should immediately preceed filenames.
 *
 * Example of ASUS calls to their trx (addver called sperately):
 *
 *   trx -o WL530g_$(KVER).$(FVER)_$(LANGUAGE).bin -b 32 zImage -b 655360 target.cramfs
 * 
 *
 * Also several other misc. changes where I saw appropriate.
 * 
 */

#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
#include <stdint.h>
#include <string.h>
#include <errno.h>
#include <unistd.h>
#include <endian.h>
#include <byteswap.h>
#include <sys/types.h>

// always flip, regardless of endianness of machine
u_int32_t flip_endian(u_int32_t nValue)
{
	// my crappy endian switch
	u_int32_t nR;
	u_int32_t nByte1=(nValue&0xff000000)>>24;
	u_int32_t nByte2=(nValue&0x00ff0000)>>16;
	u_int32_t nByte3=(nValue&0x0000ff00)>>8;
	u_int32_t nByte4=nValue&0x0ff;
	nR=nByte4<<24;
	nR|=(nByte3<<16);
	nR|=(nByte2<<8);
	nR|=nByte1;
	return nR;
}

#if __BYTE_ORDER == __BIG_ENDIAN
#define STORE32_LE(X)		bswap_32(X)
#define READ32_LE(X)		bswap_32(X)
#elif __BYTE_ORDER == __LITTLE_ENDIAN
#define STORE32_LE(X)		(X)
#define READ32_LE(X)		(X)
#else
#error unkown endianness!
#endif
/*jc end */

uint32_t crc32buf(char *buf, size_t len);

/**********************************************************************/
/* from trxhdr.h */

#define TRX_MAGIC	0x30524448	/* "HDR0" */
#define TRX_VERSION	1
#define TRX_MAX_LEN	0x9A0000    /* jc: change from 0x3A0000 */
#define TRX_NO_HEADER	1		/* Do not write TRX header */	

struct trx_header {
	uint32_t magic;			/* "HDR0" */
	uint32_t len;			/* Length of file including header */
	uint32_t crc32;			/* 32-bit CRC from flag_version to end of file */
	uint32_t flag_version;	/* 0:15 flags, 16:31 version */
	uint32_t offsets[3];	/* Offsets of partitions from start of header */
};

/**********************************************************************/

void usage(void) __attribute__ (( __noreturn__ ));

void usage(void)
{
	fprintf(stderr, "Use: trx [-p prodid] [-v ver] [-o ofile] [-m maxlen] [-b offs] file [-b offs] [file [file]]\n");
	exit(EXIT_FAILURE);
}

int main(int argc, char **argv)
{
	FILE *out = stdout;
	FILE *in;
	char *ofn = NULL;
	char *buf;
	char *e;
	int c, i;
	size_t n;
	uint32_t cur_len;	
	int boolSegmentSizesGiven=0; /* jc */
	int nSegementCount=0;
	unsigned long maxlen = TRX_MAX_LEN;
	struct trx_header *p;
	struct trx_header trxtemp;
	memset(&trxtemp,0,sizeof(struct trx_header));
	
	struct {
		uint8_t version[4];	/* Firmware version */
		uint8_t prod_id[12];	/* Product Id */
		uint8_t comp_hw[4][4];	/* Compatible hw list maj-min min/maj-min max */
		uint8_t	pad[32];	/* Padding */
	} asus = {
		.prod_id    = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* jc: initialize .prod_id */
		.version 	= { 1, 9, 2, 7 }, /* version is set to 1.9.2.7 by default */
		.comp_hw[0]	= { 0, 2, 2, 99 } /* hardcoded hw compat list 0.02 - 2.99 */
	};

	fprintf(stderr, "mjn3's trx replacement - v0.90, modified to pack ASUS compatible trx\n");
	
	while ((c = getopt(argc, argv, "b:o:m:p:v:")) != -1) {
		switch (c) {
			/* jc */
			case 'b':			
				boolSegmentSizesGiven=1;			 			
				trxtemp.offsets[nSegementCount++]=STORE32_LE(strtoul(optarg, &e, 0));
				if ((e == optarg) || *e) 
				{
					fprintf(stderr, "illegal numeric string\n");
					usage();
				}			
				break;
			/* jc end */			
			case 'o':
				ofn = optarg;
				break;
			case 'm':
				errno = 0;
				maxlen = strtoul(optarg, &e, 0);
				if (errno || (e == optarg) || *e) {
					fprintf(stderr, "illegal numeric string\n");
					usage();
				}
#undef  ROUND
#define ROUND 0x1000
				if (maxlen & (ROUND-1)) {
					maxlen += (ROUND - (maxlen & (ROUND-1)));
				}
				if (maxlen < ROUND) {
					fprintf(stderr, "maxlen too small (or wrapped)\n");
					usage();
				}
				break;
			case 'p':
				if ((n = strlen(optarg)) > sizeof(asus.prod_id)) {
					fprintf(stderr, "product id too long\n");
					usage();
				}
				memset(asus.prod_id, ' ', sizeof(asus.prod_id));
				memcpy(asus.prod_id, optarg, n);
				break;
			case 'v':
				for (n = 0; n < sizeof(asus.version) / sizeof(asus.version[0]); n++)
				{
					if (n != 0 && optarg[0] == '.' && optarg[1]) optarg++;
					else if (n != 0) break;
					
					asus.version[n] = strtoul(optarg, &optarg, 10);
				}
				if (*optarg) 
				{
					fprintf(stderr, "invalid version string\n");
					usage();
				}
				break;
			default:
				usage();
		}
	}

	if (ofn && !(out = fopen(ofn, "w"))) 
	{
		fprintf(stderr, "can not open \"%s\" for writing\n", ofn);
		usage();
	}

	if (optind == argc) 
	{
		fprintf(stderr, "we require at least one arg\n");
		usage();
	}

	if (argc - optind > 3) 
	{
		fprintf(stderr, "too many args: %d > 3\n", argc - optind);
		usage();
	}

	if (maxlen > TRX_MAX_LEN) 	
	{
		fprintf(stderr, "WARNING: maxlen exceeds default maximum!  Beware of overwriting nvram!\n");
	}

	if (!(buf = malloc(maxlen))) 
	{
		fprintf(stderr, "malloc failed\n");
		return EXIT_FAILURE;
	}
	memset(buf,0,maxlen); /* jc */

	p = (struct trx_header *) buf;
	memcpy(p,&trxtemp,sizeof(struct trx_header)); /* jc */
	p->magic = STORE32_LE(TRX_MAGIC);
	cur_len = sizeof(struct trx_header);
	p->flag_version = STORE32_LE((TRX_VERSION << 16));

	i = 0;

	while (optind < argc) {		
		/* jc */
		if(!READ32_LE(p->offsets[i])) 
		{			
			p->offsets[i] = STORE32_LE(cur_len);
		}
		else
		{			
			if(cur_len>READ32_LE(p->offsets[i]))
			{
				fprintf(stderr, "offset too large\n");
				return EXIT_FAILURE;			
			}
			cur_len=READ32_LE(p->offsets[i]);
		}
		/* jc end */

		if (!(in = fopen(argv[optind], "r"))) {
			fprintf(stderr, "can not open \"%s\" for reading\n", argv[optind]);
			usage();
		}			

		n = fread(buf + cur_len, 1, maxlen - cur_len, in);
		if (!feof(in)) {
			fprintf(stderr, "fread failure or file \"%s\" too large cur:%d max: %d\n",
					argv[optind], cur_len, maxlen);
			fclose(in);
			return EXIT_FAILURE;
		}

		fclose(in);
		
		++optind;

		if (optind < argc) {
#undef  ROUND
#define ROUND 4
			if (n & (ROUND-1)) {
				memset(buf + cur_len + n, 0, ROUND - (n & (ROUND-1)));
				n += ROUND - (n & (ROUND-1));
			}
		}

		cur_len += n;
		i++;
	}
	
	/* reserve space for asus footer */
	if (asus.prod_id[0]) {
		cur_len += sizeof(asus);
	}

#undef  ROUND
#define ROUND 0x1000
	n = cur_len & (ROUND-1);
	if (n) {
		memset(buf + cur_len, 0, ROUND - n);
		cur_len += ROUND - n;
	}

	/* add asus footer */
	if (asus.prod_id[0]) {
		memcpy(buf + cur_len - sizeof(asus), &asus, sizeof(asus));
	}
	
	p->crc32 = crc32buf((char *) &p->flag_version,
						cur_len - offsetof(struct trx_header, flag_version));
	p->crc32 = STORE32_LE(p->crc32);

	p->len = STORE32_LE(cur_len);

	if (!fwrite(buf, cur_len, 1, out) || fflush(out)) {
		fprintf(stderr, "fwrite failed\n");
		return EXIT_FAILURE;
	}

	fclose(out);

	return EXIT_SUCCESS;
}

/**********************************************************************/
/* The following was grabbed and tweaked from the old snippets collection
 * of public domain C code. */

/**********************************************************************\
|* Demonstration program to compute the 32-bit CRC used as the frame  *|
|* check sequence in ADCCP (ANSI X3.66, also known as FIPS PUB 71     *|
|* and FED-STD-1003, the U.S. versions of CCITT's X.25 link-level     *|
|* protocol).  The 32-bit FCS was added via the Federal Register,     *|
|* 1 June 1982, p.23798.  I presume but don't know for certain that   *|
|* this polynomial is or will be included in CCITT V.41, which        *|
|* defines the 16-bit CRC (often called CRC-CCITT) polynomial.  FIPS  *|
|* PUB 78 says that the 32-bit FCS reduces otherwise undetected       *|
|* errors by a factor of 10^-5 over 16-bit FCS.                       *|
\**********************************************************************/

/* Copyright (C) 1986 Gary S. Brown.  You may use this program, or
   code or tables extracted from it, as desired without restriction.*/

/* First, the polynomial itself and its table of feedback terms.  The  */
/* polynomial is                                                       */
/* X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0 */
/* Note that we take it "backwards" and put the highest-order term in  */
/* the lowest-order bit.  The X^32 term is "implied"; the LSB is the   */
/* X^31 term, etc.  The X^0 term (usually shown as "+1") results in    */
/* the MSB being 1.                                                    */

/* Note that the usual hardware shift register implementation, which   */
/* is what we're using (we're merely optimizing it by doing eight-bit  */
/* chunks at a time) shifts bits into the lowest-order term.  In our   */
/* implementation, that means shifting towards the right.  Why do we   */
/* do it this way?  Because the calculated CRC must be transmitted in  */
/* order from highest-order term to lowest-order term.  UARTs transmit */
/* characters in order from LSB to MSB.  By storing the CRC this way,  */
/* we hand it to the UART in the order low-byte to high-byte; the UART */
/* sends each low-bit to hight-bit; and the result is transmission bit */
/* by bit from highest- to lowest-order term without requiring any bit */
/* shuffling on our part.  Reception works similarly.                  */

/* The feedback terms table consists of 256, 32-bit entries.  Notes:   */
/*                                                                     */
/*  1. The table can be generated at runtime if desired; code to do so */
/*     is shown later.  It might not be obvious, but the feedback      */
/*     terms simply represent the results of eight shift/xor opera-    */
/*     tions for all combinations of data and CRC register values.     */
/*                                                                     */
/*  2. The CRC accumulation logic is the same for all CRC polynomials, */
/*     be they sixteen or thirty-two bits wide.  You simply choose the */
/*     appropriate table.  Alternatively, because the table can be     */
/*     generated at runtime, you can start by generating the table for */
/*     the polynomial in question and use exactly the same "updcrc",   */
/*     if your application needn't simultaneously handle two CRC       */
/*     polynomials.  (Note, however, that XMODEM is strange.)          */
/*                                                                     */
/*  3. For 16-bit CRCs, the table entries need be only 16 bits wide;   */
/*     of course, 32-bit entries work OK if the high 16 bits are zero. */
/*                                                                     */
/*  4. The values must be right-shifted by eight bits by the "updcrc"  */
/*     logic; the shift must be unsigned (bring in zeroes).  On some   */
/*     hardware you could probably optimize the shift in assembler by  */
/*     using byte-swap instructions.                                   */

static const uint32_t crc_32_tab[] = { /* CRC polynomial 0xedb88320 */
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d
};

#define UPDC32(octet,crc) (crc_32_tab[((crc) ^ (octet)) & 0xff] ^ ((crc) >> 8))

uint32_t crc32buf(char *buf, size_t len)
{
      uint32_t crc;

      crc = 0xFFFFFFFF;

      for ( ; len; --len, ++buf)
      {
            crc = UPDC32(*buf, crc);
      }

      return crc;
}


================================================
FILE: src/bff/Makefile
================================================
all:
	gcc bff_huffman_decompress.c -o bff_huffman_decompress

clean:
	rm -f bff_huffman_decompress

distclean: clean


================================================
FILE: src/bff/bff_huffman_decompress.c
================================================
/*-
 * Copyright (c) 2009 Xin LI <delphij@FreeBSD.org>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 */

// compile it using: gcc bff_huffman_decompress.c -o bff_huffman_decompress
// use it as: ./bff_huffman_decompress sampleBff_file0 sampleBff_file0_parsed 

/*
 * pack(1) file format:
 *
 * The first byte is the header:
 *	    00 - Level for the huffman tree (<=24)
 *
 * pack(1) will then store symbols (leaf) nodes count in each huffman
 * tree levels, each level would consume 1 byte (See [1]).
 *
 * After the symbol count table, there is the symbol table, storing
 * symbols represented by corresponding leaf node.  EOB is not being
 * explicitly transmitted (not necessary anyway) in the symbol table.
 *
 * Compressed data goes after the symbol table.
 *
 * NOTES
 *
 * [1] If we count EOB into the symbols, that would mean that we will
 * have at most 256 symbols in the huffman tree.  pack(1) rejects empty
 * file and files that just repeats one character, which means that we
 * will have at least 2 symbols.  Therefore, pack(1) would reduce the
 * last level symbol count by 2 which makes it a number in
 * range [0..254], so all levels' symbol count would fit into 1 byte.
 */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define	PACK_HEADER_LENGTH	1
#define	HTREE_MAXLEVEL		24

/*
 * unpack descriptor
 *
 * Represent the huffman tree in a similar way that pack(1) would
 * store in a packed file.  We store all symbols in a linear table,
 * and store pointers to each level's first symbol.  In addition to
 * that, maintain two counts for each level: inner nodes count and
 * leaf nodes count.
 */
typedef struct {
	int		symbol_size;	/* Size of the symbol table */
	int		treelevels;	/* Levels for the huffman tree */

	int		*symbolsin;	/* Table of leaf symbols count in
					   each level */
	int		*inodesin;	/* Table of internal nodes count in
					   each level */

	char		*symbol;	/* The symbol table */
	char		*symbol_eob;	/* Pointer to the EOB symbol */
	char		**tree;		/* Decoding huffman tree (pointers to
					   first symbol of each tree level */

	off_t		uncompressed_size; /* Uncompressed size */
	FILE		*fpIn;		/* Input stream */
	FILE		*fpOut;		/* Output stream */
} unpack_descriptor_t;

int maybe_err(char*fmt,...) {

}
int maybe_errx(char*fmt,...) {

}

/*
 * Release resource allocated to an unpack descriptor.
 *
 * Caller is responsible to make sure that all of these pointers are
 * initialized (in our case, they all point to valid memory block).
 * We don't zero out pointers here because nobody else would ever
 * reference the memory block without scrubbing them.
 */
static void
unpack_descriptor_fini(unpack_descriptor_t *unpackd)
{

	free(unpackd->symbolsin);
	free(unpackd->inodesin);
	free(unpackd->symbol);
	free(unpackd->tree);

	fclose(unpackd->fpIn);
	fclose(unpackd->fpOut);
}

/*
 * Recursively fill the internal node count table
 */
static void
unpackd_fill_inodesin(const unpack_descriptor_t *unpackd, int level)
{

	/*
	 * The internal nodes would be 1/2 of total internal nodes and
	 * leaf nodes in the next level.  For the last level there
	 * would be no internal node by definition.
	 */
	if (level < unpackd->treelevels) {
		unpackd_fill_inodesin(unpackd, level + 1);
		unpackd->inodesin[level] = (unpackd->inodesin[level + 1] +
					  unpackd->symbolsin[level + 1]) / 2;
	} else
		unpackd->inodesin[level] = 0;
}

/*
 * Update counter for accepted bytes
 */
static void
accepted_bytes(off_t *bytes_in, off_t newbytes)
{

	if (bytes_in != NULL)
		(*bytes_in) += newbytes;
}

/*
 * Read file header and construct the tree.  Also, prepare the buffered I/O
 * for decode routine.
 *
 * Return value is uncompressed size.
 */
static void
unpack_parse_header(int in, int out, char *pre, size_t prelen, off_t *bytes_in,
    unpack_descriptor_t *unpackd)
{
	unsigned char hdr[PACK_HEADER_LENGTH];	/* buffer for header */
	ssize_t bytesread;		/* Bytes read from the file */
	int i, j, thisbyte;

	/* Prepend the header buffer if we already read some data */
	if (prelen != 0)
		memcpy(hdr, pre, prelen);

	/* Read in and fill the rest bytes of header */
	bytesread = read(in, hdr + prelen, PACK_HEADER_LENGTH - prelen);
	if (bytesread < 0)
		maybe_err("Error reading pack header");

	accepted_bytes(bytes_in, PACK_HEADER_LENGTH);

	/* Reset uncompressed size */
	unpackd->uncompressed_size = 0;

	/* Get the levels of the tree */
	unpackd->treelevels = hdr[0];
	if (unpackd->treelevels > HTREE_MAXLEVEL || unpackd->treelevels < 1)
		maybe_errx("Huffman tree has insane levels");

	/* Let libc take care for buffering from now on */
	if ((unpackd->fpIn = fdopen(in, "r")) == NULL)
		maybe_err("Can not fdopen() input stream");
	if ((unpackd->fpOut = fdopen(out, "w")) == NULL)
		maybe_err("Can not fdopen() output stream");

	/* Allocate for the tables of bounds and the tree itself */
	unpackd->inodesin =
	    calloc(unpackd->treelevels, sizeof(*(unpackd->inodesin)));
	unpackd->symbolsin =
	    calloc(unpackd->treelevels, sizeof(*(unpackd->symbolsin)));
	unpackd->tree =
	    calloc(unpackd->treelevels, (sizeof (*(unpackd->tree))));
	if (unpackd->inodesin == NULL || unpackd->symbolsin == NULL ||
	    unpackd->tree == NULL)
		maybe_err("calloc");

	/* We count from 0 so adjust to match array upper bound */
	unpackd->treelevels--;

	/* Read the levels symbol count table and calculate total */
	unpackd->symbol_size = 1;		/* EOB */
	for (i = 0; i <= unpackd->treelevels; i++) {
		if ((thisbyte = fgetc(unpackd->fpIn)) == EOF)
			maybe_err("File appears to be truncated");
		unpackd->symbolsin[i] = (unsigned char)thisbyte;
		unpackd->symbol_size += unpackd->symbolsin[i];
	}
	accepted_bytes(bytes_in, unpackd->treelevels);
	if (unpackd->symbol_size > 256)
		maybe_errx("Bad symbol table");

	/* Allocate for the symbol table, point symbol_eob at the beginning */
	unpackd->symbol_eob = unpackd->symbol = calloc(1, unpackd->symbol_size);
	if (unpackd->symbol == NULL)
		maybe_err("calloc");

	/*
	 * Read in the symbol table, which contain [2, 256] symbols.
	 * In order to fit the count in one byte, pack(1) would offset
	 * it by reducing 2 from the actual number from the last level.
	 *
	 * We adjust the last level's symbol count by 1 here, because
	 * the EOB symbol is not being transmitted explicitly.  Another
	 * adjustment would be done later afterward.
	 */
	unpackd->symbolsin[unpackd->treelevels]++;
	for (i = 0; i <= unpackd->treelevels; i++) {
		unpackd->tree[i] = unpackd->symbol_eob;
		for (j = 0; j < unpackd->symbolsin[i]; j++) {
			if ((thisbyte = fgetc(unpackd->fpIn)) == EOF)
				maybe_errx("Symbol table truncated");
			*unpackd->symbol_eob++ = (char)thisbyte;
		}
		accepted_bytes(bytes_in, unpackd->symbolsin[i]);
	}

	/* Now, take account for the EOB symbol as well */
	unpackd->symbolsin[unpackd->treelevels]++;

	/*
	 * The symbolsin table has been constructed now.
	 * Calculate the internal nodes count table based on it.
	 */
	unpackd_fill_inodesin(unpackd, 0);
}

/*
 * Decode huffman stream, based on the huffman tree.
 */
static void
unpack_decode(unpack_descriptor_t *unpackd, off_t *bytes_in)
{
	int thislevel, thiscode, thisbyte, inlevelindex;
	int i;
	off_t bytes_out = 0;
	const char *thissymbol;	/* The symbol pointer decoded from stream */

	/*
	 * Decode huffman.  Fetch every bytes from the file, get it
	 * into 'thiscode' bit-by-bit, then output the symbol we got
	 * when one has been found.
	 *
	 * Assumption: sizeof(int) > ((max tree levels + 1) / 8).
	 * bad things could happen if not.
	 */
	thislevel = 0;
	thiscode = thisbyte = 0;

	while ((thisbyte = fgetc(unpackd->fpIn)) != EOF) {
		accepted_bytes(bytes_in, 1);

		/*
		 * Split one bit from thisbyte, from highest to lowest,
		 * feed the bit into thiscode, until we got a symbol from
		 * the tree.
		 */
		for (i = 7; i >= 0; i--) {
			thiscode = (thiscode << 1) | ((thisbyte >> i) & 1);

			/* Did we got a symbol? (referencing leaf node) */
			if (thiscode >= unpackd->inodesin[thislevel]) {
				inlevelindex =
				    thiscode - unpackd->inodesin[thislevel];
				if (inlevelindex > unpackd->symbolsin[thislevel])
					maybe_errx("File corrupt");

				thissymbol =
				    &(unpackd->tree[thislevel][inlevelindex]);
				if (thissymbol == unpackd->symbol_eob)
					goto finished;

				fputc((*thissymbol), unpackd->fpOut);
				bytes_out++;

				/* Prepare for next input */
				thislevel = 0; thiscode = 0;
			} else {
				thislevel++;
				if (thislevel > unpackd->treelevels)
					maybe_errx("File corrupt");
			}
		}
	}

finished:
	if (bytes_out != unpackd->uncompressed_size)
		maybe_errx("Premature EOF");
    unpackd->uncompressed_size=bytes_out;  // hack
}

/* Handler for pack(1)'ed file */
static off_t
unpack(int in, int out, char *pre, size_t prelen, off_t *bytes_in)
{
	unpack_descriptor_t	unpackd;

	unpack_parse_header(dup(in), dup(out), pre, prelen, bytes_in, &unpackd);
	unpack_decode(&unpackd, bytes_in);
	unpack_descriptor_fini(&unpackd);

	/* If we reached here, the unpack was successful */
	return (unpackd.uncompressed_size);
}
void
usage() {
    printf("Usage:\n    ./bff_huffman_decompress INFILE OUTFILE\n");
}
int
main(int argc,char**argv) {
    if (argc<3) {
        fprintf(stderr,"[!] Please specify the input and output file as command line arguments\n");
        usage();
        return 1;
    }
    FILE*in=fopen(argv[1],"r");
    if (!in) {
        fprintf(stderr,"[-] Could *not* open input file\n");
        return 1;
    }
    int in_fd=fileno(in);
    FILE*out=fopen(argv[2],"w");
    if (!out) {
        fprintf(stderr,"[-] Could *not* open output file\n");
        return 1;
    }
    int out_fd=fileno(out);
    off_t uncompressed_size=unpack(in_fd,out_fd,0,0,0);
    if (uncompressed_size>0) {
        printf("[+] File was successfully decompressed, decompressed size is %lu (%luKB)\n",
            uncompressed_size,uncompressed_size/1024);
        return 0;
    } else {
        fprintf(stderr,"[-] Decompression of the file *not* succeeded. FAILED!\n");
        return 1;
    }
    return 0;
}



================================================
FILE: src/bff/bffxtractor.py
================================================
#!/usr/bin/env python
# A hacky extraction utility for extracting the contents of BFF volume entries.
# It can't parse a BFF file itself, but expects the BFF volume entry to already 
# be extracted to a file; it then extracts the original file from the volume entry 
# file. Thus, it is best used with binwalk.

import os
import sys
import struct 
import subprocess

## {{{ http://code.activestate.com/recipes/82465/ (r4)
def _mkdir(newdir):
    """works the way a good mkdir should :)
        - already exists, silently complete
        - regular file in the way, raise an exception
        - parent directory(ies) does not exist, make them as well
    """
    if os.path.isdir(newdir):
        pass
    elif os.path.isfile(newdir):
        raise OSError("a file with the same name as the desired " \
                      "dir, '%s', already exists." % newdir)
    else:
        head, tail = os.path.split(newdir)
        if head and not os.path.isdir(head):
            _mkdir(head)
        #print "_mkdir %s" % repr(newdir)
        if tail:
            os.mkdir(newdir)
## end of http://code.activestate.com/recipes/82465/ }}}

HUFFMAN_MAGIC = 0xEA6C
MAGICS = [0xEA6B, HUFFMAN_MAGIC, 0xEA6D]
HEADER_SIZE = 64
POST_HEADER_SIZE = 40

script_path = os.path.dirname(os.path.realpath(__file__))

try:
	fd = open(sys.argv[1], 'rb')
except:
	print "Usage: %s <BFF volume entry file>" % sys.argv[0]
	sys.exit(1)

header = fd.read(HEADER_SIZE)

magic = struct.unpack("<H", header[2:4])[0]
file_size = struct.unpack("<L", header[56:60])[0]

if magic not in MAGICS:
	print "Unrecognized magic bytes! Quitting."
	sys.exit(1)

filename = ''
while True:
	byte = fd.read(1)
	if not byte or byte == '\x00':
		break
	else:
		filename += byte

filename_len = len(filename)
offset = HEADER_SIZE + POST_HEADER_SIZE + filename_len + (8 - (filename_len % 8))

if '..' in filename:
	print "Dangerous file path '%s'! Quitting." % filename
	sys.exit(1)

print "Extracting '%s'" % filename
_mkdir('./' + os.path.dirname(filename))
if file_size:
	fd.seek(offset)
	file_data = fd.read(file_size)
	fd.close()

	if len(file_data) != file_size:
		print "Warning: EOF encountered before the expected file size was reached!"

	if magic == HUFFMAN_MAGIC:
		fpout = open(filename + '.packed', 'wb')
	else:
		fpout = open(filename, 'wb')
	fpout.write(file_data)
	fpout.close()

	if magic == HUFFMAN_MAGIC:
		try:
			# Many thanks to Philipp for patching the huffman decoder to work!
			subprocess.call([script_path + "/bff_huffman_decompress", filename + '.packed', filename])
			os.remove(filename + '.packed')
		except:
			pass
else:
	_mkdir('./' + filename)



================================================
FILE: src/binwalk-0.4.1/docs/README
================================================
DESCRIPTION

	Binwalk is a tool for searching a given binary image for embedded file types. Specifically,
	it was designed for identifying files embedded inside of firmware images. Binwalk file signatures
	are compatible with the magic signatures used by the Unix file utility.

	Binwalk includes a custom magic signature file, 'magic.binwalk'. This file contains improved 
	signatures for files that are commonly found in firmware images such as compressed/archived files, 
	Linux kernels, bootloaders, filesystems, etc. 

	Since version 0.3.3 an additional option, -C, is included. Specifying this option displays the 
	value of each file offset in various data types (long, short, date, etc), as defined in magic.bincast.
	This is useful for identifying header fields such as date and length values.

	Since version 0.3.8 an additional option, -A, is included. This option scans the specified file(s) for
	executable code by searching for opcodes associated with the function prologues/epiloges of various
	architectures. These opcode signatures are defined in magic.binarch.

USAGE

	The only required option for Binwalk is the files that you want to search:

		$ binwalk firmware1.bin firmware2.bin firmware3.bin

	By default binwalk will include short signatures for gzip, lzma and jffs2 file fomats, and exclude 
	invalid results. These default filters can be disabled with the -d option, which will speed up the 
	scan time but may cause binwalk to miss gzip, lzma or jffs2 files:

		$ binwalk -d firmware.bin

	If searching for specific files, the scan time can be significantly improved by specifying the -T 
	option. The -T option is implied when specific filters are specified via the -y option:

		$ binwalk -i jffs2 -T firmware.bin
		$ binwalk -y jffs2 firmware.bin

	By default binwalk will use the signatures from the binwalk.magic file, but you may specify any other
	libmagic-compatible signature file with the -m option. Note that for full maigc file compatibility,
	you must specify the -s option to disable 'smart' matching:

		$ binwalk -m /usr/share/misc/magic -s firmware.bin

	By default binwalk will check for valid file signatures anywhere in the target file. This means that
	scanning a 4MB file is the equivalent of running the Unix file utility 4 million times. To
	decrease scan time, you may specify the byte alignment via the -b option. If, for example,
	you specify a byte alignment of 16, then binwalk will assume that everything in the file is
	16-byte aligned and will only look for signatures every 16 bytes:

		$ binwalk -b 16 firmware.bin

	You may also specify at what offset into the firmware image to start searching, and how many
	bytes should be searched. The following command searches 1000 bytes of data starting at an offset
	of 100:
		
		$ binwalk -o 100 -l 1000 firmware.bin

	All integer arguments, such as -o, and -l, can be entered as decimal (ex: 16) or hexadecimal
	(ex: 0x10, \x10, 10H, 10h) values.

	By default, all magic signatures that are only two bytes long are ignored as they have a high
	rate of false positive matches. To include these magic signatures, specify the -a option:

		$ binwalk -a firmware.bin

	You can also include individual signatures from the default exclude list with the -i option:

		$ binwalk -i gzip firmware.bin
	
	Include and exclude filters may also be specified in order to limit the search results. Multiple
	include / exclude filters may be specified, and are case insensitive. If an include filter is specified,
	only descriptions that match that filter will be displayed. If an exclude filter is specified, all
	results will be displayed except those that match the exclude filter. If both exclude and include
	filters are specified, exclude filters trump include filters.

	Only search for gzip results:

		$ binwalk -y gzip firmware.bin

	Search for everything except results that contain the string 'invalid':

		$ binwalk -x invalid firmware.bin

	Search only for results that are file systems, but that are not JFFS2 file systems:

		$ binwalk -y filesystem -x jffs2 firmware.bin
	
	To update to the latest magic file definitions, use the -u option:

		# binwalk -u

INSTALLATION

	To build and install binwalk, run:

		$ ./configure	
		$ make
		# make install

DEPENDENCIES

	To build from source, you must have the zlib and libcurl libraries. 
	Debian users can install zlib and libcurl via apt-get:

		$ sudo apt-get install zlib1g-dev libcurl4-openssl-dev
	
	Binwalk is currently supported on the Linux and Mac OSX platforms. 
	
FILES

	docs/README		Project README file
        src/binwalk.c		Main binwalk source code file
        src/binwalk.h		Main binwalk source header file
	src/common.c		Common functions used by binwalk
	src/common.h		Common function declarations and definitions
	src/file-5.07.tar.gz	Unix file utility source code
	src/filter.h		Filter functions header file
	src/filter.c		Result filtering functions
	src/magic.binarch	Custom magic signature file for opcode scans
        src/magic.bincast	Custom magic signature file for casting data types
        src/magic.binwalk	Custom magic signature file for binwalk
	src/md5.c		MD5 algorithm code by Peter Deutsch
	src/md5.h		MD5 algorithm header by Peter Deutsch
	src/mparse.c		Minimal magic file parsing library
	src/mparse.h		Parsing library header file
	src/update.c		Magic file update routines
	src/update.h		Updates header file

LICENSE

	The MIT License

	Copyright (c) 2010 Craig Heffner

	Permission is hereby granted, free of charge, to any person obtaining a copy
	of this software and associated documentation files (the "Software"), to deal
	in the Software without restriction, including without limitation the rights
	to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
	copies of the Software, and to permit persons to whom the Software is
	furnished to do so, subject to the following conditions:

	The above copyright notice and this permission notice shall be included in
	all copies or substantial portions of the Software.

	THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
	IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
	FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
	AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
	LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
	OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
	THE SOFTWARE.


================================================
FILE: src/binwalk-0.4.1/src/Makefile.in
================================================
CC=@CC@
CFLAGS=@CFLAGS@
LDFLAGS=@LDFLAGS@
FILE=@FILE@
MAGIC=magic
prefix=@prefix@
exec_prefix=@exec_prefix@
MAGICPATH=@sysconfdir@/binwalk/$(MAGIC)
ETC=$(DESTDIR)@sysconfdir@/binwalk
BIN=$(DESTDIR)@bindir@

all: magi binwalk

binwalk: @DOFILE@ common.o md5.o mparse.o filter.o update.o
	$(CC) $(CFLAGS) -DMAGIC='"$(MAGICPATH).binwalk"' -DMAGIC_CAST='"$(MAGICPATH).bincast"' -DMAGIC_ARCH='"$(MAGICPATH).binarch"' binwalk.c -o binwalk *.o $(LDFLAGS)

file:
	(cd $(FILE)/src && make)
	(cp $(FILE)/src/*.o . && rm -f file.o)
	
common.o:
	$(CC) $(CFLAGS) -c common.c

md5.o:
	$(CC) $(CFLAGS) -c md5.c

mparse.o:
	$(CC) $(CFLAGS) -c mparse.c

filter.o:
	$(CC) $(CFLAGS) -c filter.c

update.o:
	$(CC) $(CFLAGS) -c update.c

magi:
	echo > $(MAGIC).binwalk
	for FILE in magic/*; do \
		cat $$FILE >> $(MAGIC).binwalk ; \
	done

install:
	mkdir -p $(ETC)
	mkdir -p $(BIN)
	cp $(MAGIC).* $(ETC)
	cp binwalk $(BIN)/binwalk

clean:
	rm -f binwalk *.o

cleanall: clean
	rm -rf $(FILE)
	rm -rf config.* *.cache
	rm -f Makefile

distclean: cleanall
	rm -rf $(ETC)
	rm -f $(BIN)/binwalk



================================================
FILE: src/binwalk-0.4.1/src/binwalk.c
================================================
#include <stdio.h>
#include <stdlib.h>
#include <getopt.h>
#include <string.h>
#include <time.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
#include <fcntl.h>
#include <magic.h>
#include "update.h"
#include "binwalk.h"

int main(int argc, char *argv[])
{
	char *out_file = NULL, *last_optarg = NULL;
	char *magic_file_contents = NULL, *marker = NULL, *magic = NULL;
	size_t mfsize = 0;
	int c = 0, i = 0;
	int filter_count = 0, magic_offset = 0, magic_size = 0, wildcard = 0, num_sigs = 0, check_magic_file = 0, fast_filter = 0;
	int update = 0, ignore_short_sigs = 1, use_default_filters = 1;
	int retval = EXIT_FAILURE;
	struct magic_signature *signatures[MAX_SIGNATURES];
	struct magic_filter *filters[MAX_FILTERS];
	struct binconf config = { 0 };

	int long_opt_index = 0;
	char *short_options = "b:l:m:o:f:y:x:i:aAcCdkstvquh";
	struct option long_options[] = {
			{ "align", required_argument, NULL, 'b' },
			{ "length", required_argument, NULL, 'l' },
			{ "magic", required_argument, NULL, 'm' },
			{ "offset", required_argument, NULL, 'o' },
			{ "file", required_argument, NULL, 'f' },
			{ "search", required_argument, NULL, 'y' },
			{ "exclude", required_argument, NULL, 'x' },
			{ "include", required_argument, NULL, 'i' },
			{ "all", no_argument, NULL, 'a' },
			{ "opcodes", no_argument, NULL, 'A' },
			{ "validate", no_argument, NULL, 'c' },
			{ "cast", no_argument, NULL, 'C' },
			{ "defaults", no_argument, NULL, 'd' },
			{ "keep-going", no_argument, NULL, 'k' },
			{ "smart", no_argument, NULL, 's' },
			{ "fast", no_argument, NULL, 't' },
			{ "verbose", no_argument, NULL, 'v' },
			{ "quiet", no_argument, NULL, 'q' },
			{ "update", no_argument, NULL, 'u' },
			{ "help", no_argument, NULL, 'h' },
			{ 0, 0, 0, 0 }
	};

	/* Need at least one argument: the target file */
	if(argc == 1)
	{
		usage(argv[0]);
		goto end;
	}

	/* Initialize global variables */
	memset((void *) &globals,0,sizeof(globals));
	
	/* Initialize default configuration settings */
	config.flags = MAGIC_NONE;
	config.align = DEFAULT_BYTE_ALIGN;
	config.smart = 1;

	while((c = getopt_long(argc, argv, short_options, long_options, &long_opt_index)) != -1)
	{
		switch(c)
		{
			case 'a':
				ignore_short_sigs = 0;
				break;
			case 'b':
				config.align = str2int(optarg);
				break;
			case 'c':
				check_magic_file = 1;
				break;
			case 'C':
				config.magic = strdup(MAGIC_CAST);
				config.flags |= MAGIC_CONTINUE;
				break;
			case 'A':
				config.magic = strdup(MAGIC_ARCH);
				ignore_short_sigs = 0;
				break;
			case 'f':
				out_file = strdup(optarg);
				break;
			case 'i':
				add_filter(filters, &filter_count, FILTER_ADD, optarg);
				break;
			case 'l':
				config.length = str2int(optarg);
				break;
			case 'm':
				config.magic = strdup(optarg);
				break;
			case 'o':
				config.offset = str2int(optarg);
				break;
			case 'd':
				use_default_filters = 0;
				break;
			case 's':
				config.smart = 0;
				break;
			case 't':
				fast_filter = 1;
				break;
			case 'k':
				config.flags |= MAGIC_CONTINUE;
				break;
			case 'y':
				fast_filter = 1;
				use_default_filters = 0;
				add_filter(filters, &filter_count, FILTER_INCLUDE, optarg);
				break;
			case 'x':
				add_filter(filters, &filter_count, FILTER_EXCLUDE, optarg);
                                break;
			case 'q':
				globals.quiet = 1;
				break;
			case 'u':
				update = 1;
				break;
			case 'v':
				config.verbose = 1;
				break;
			default:
				usage(argv[0]);
				goto end;
		}

		/* Keep a copy of the last optarg so we can distinguish between option arguments and file names later on */
		if(optarg)
		{
			if(last_optarg) free(last_optarg);
			last_optarg = strdup(optarg);
		}
	}

	/* Update magic files from SVN repository */
	if(update)
	{
		printf("Updating magic signatures...");
		if(update_magic_file(BINWALK_UPDATE_URL, MAGIC) &&
		   update_magic_file(BINCAST_UPDATE_URL, MAGIC_CAST) &&
		   update_magic_file(BINARCH_UPDATE_URL, MAGIC_ARCH))
		{
			printf("finished.\n");
			retval = EXIT_SUCCESS;
		}
		else
		{
			printf("failed.\n");
		}
		goto end;
	}

	/* Unless otherwise specified, apply default filters */
	if(use_default_filters)
	{
		add_filter(filters, &filter_count, FILTER_ADD, GZIP_FILTER);
		add_filter(filters, &filter_count, FILTER_ADD, LZMA_FILTER);
		add_filter(filters, &filter_count, FILTER_ADD, JFFS_FILTER);
		add_filter(filters, &filter_count, FILTER_EXCLUDE, INVALID_FILTER);
	}

	/* Use the default magic file if none was specified on the command line */
	if(config.magic == NULL)
	{
		config.magic = strdup(MAGIC);
	}

	/* Initialize libmagic */
	config.cookie = magic_open(config.flags);
	if(!config.cookie)
	{
		fprintf(stderr,"ERROR: Failed to initialize libmagic: %s\n", magic_error(config.cookie));
		goto end;
	}

	/* Validate the magic file */
	if(check_magic_file)
	{ 
        	if(magic_check(config.cookie, config.magic) != 0)
        	{
        	        fprintf(stderr, "ERROR: Invalid magic file '%s': %s\n", config.magic, magic_error(config.cookie));
		} 
		else 
		{
			retval = EXIT_SUCCESS;
		}
        	goto end;
        }

        /* If an output file was specified, open it */
        if(out_file != NULL)
	{
                globals.fsout = fopen(out_file,"w");
                if(!globals.fsout)
		{
                        perror("ERROR: Failed to open output file for writing");
                        goto end;
                }
        }

	/* Load the magic signatures file */
	if(magic_load(config.cookie, config.magic) == -1)
	{
		fprintf(stderr,"ERROR: Failed to load magic file '%s': %s\n", config.magic, magic_error(config.cookie));
		goto end;
	}

	if(config.smart)
	{
		/* Load magic signatures into the signatures struct array. */
		magic_file_contents = (char *) file_read((char *) config.magic, &mfsize);
		marker = magic_file_contents;

		for(i=0; i<mfsize && num_sigs < MAX_SIGNATURES; i++)
        	{
			/* The first line for each magic entry will start with a decimal offset value. This is the line
			 * that contains the actual signature, and is the one we want to parse. The rest are comments, 
			 * whitespace or subsequent signture parsing data that we let libmagic handle later on.
			 */
			if(marker[0] >= '0' && marker[0] <= '9')
			{  
				/* Parse out the magic value, file offset and size for this entry */ 
				magic = parse_magic(marker, &magic_offset, &magic_size, &wildcard, filters, filter_count, ignore_short_sigs, fast_filter);

				if(magic && magic_size > 0)
				{
					signatures[num_sigs] = malloc(sizeof(struct magic_signature));
					signatures[num_sigs]->size = magic_size;
					signatures[num_sigs]->offset = magic_offset;
					signatures[num_sigs]->wildcard = wildcard;
					signatures[num_sigs]->signature = malloc(magic_size);
					memcpy(signatures[num_sigs]->signature, magic, magic_size);
					num_sigs++;
                       		}
				if(magic) free(magic);
                	}

			/* Find the next new line. Break if not found, skip to the next character if one is found. */
	                marker = strstr(marker, "\n");
	                if(!marker) break;
	                marker++;
	        }
	}
	else
	{
		num_sigs = 1;
	}

	/* Process all the files specified on the command line */
	for(i=argc-1; i>0; i--)
        {
		/* If we've gotten to the arguments, we're done */
                if((argv[i][0] == '-') ||
                   ((last_optarg != NULL) && (strcmp(argv[i], last_optarg) == 0))
		)
                {
                        break;
                }

		retval = process_file(argv[i], &config, signatures, num_sigs, filters, filter_count);
        }

end:
        if(config.magic) free(config.magic);
        if(magic_file_contents) munmap((void *) magic_file_contents, mfsize);
        if(globals.fsout != NULL) fclose(globals.fsout);
        if(config.cookie) magic_close(config.cookie);
	return retval;
}

/* Search a file for magic signatures */
int process_file(char *bin_file, struct binconf *config, struct magic_signature **signatures, int num_sigs, struct magic_filter **filters, int filter_count)
{
	char *md5 = NULL, *current_time = NULL, *ptr = NULL;
	const void *buffer = NULL, *type = NULL;
	size_t fsize = 0;
	int i = 0, j = 0, retval = EXIT_FAILURE;

	/* Read in the target file */
	buffer = file_read(bin_file, &fsize);
	if(!buffer || fsize == 0)
	{
		fprintf(stderr,"ERROR: Failed to read file '%s'.\n", bin_file);
		goto end;
	}

	/* If no scan length was specified, scan the entire file */
	if(!config->length || config->length > fsize)
	{
		config->length = fsize;
	}

	/* Sanity check on the length + offset values */
	if((config->length + config->offset) > fsize)
	{
		config->length -= (config->length + config->offset) - fsize;
	}

	if(config->verbose)
	{
		md5 = md5_string((void *) buffer,fsize);
		current_time = timestamp();
		print("\n");
		print("Scan Time:    %s\n", current_time);
		print("Magic File:   %s\n", config->magic);
		if(config->smart)
		{
			print("Signatures:   %d\n", num_sigs);
		}
		else
		{
			print("Signatures:   *\n");
		}
		print("Target File:  %s\n", bin_file);
		print("MD5 Checksum: %s\n", md5);
		if(current_time) free(current_time);
		if(md5) free(md5);
	}

	print("\nDECIMAL   \tHEX       \tDESCRIPTION\n");
	print("-------------------------------------------------------------------------------------------------------\n");

	/* Loop through the file contents starting at the given offset.
	 * Honor the given byte alignment (i.e., if align == 4, only look at every 4th byte).
	 * Stop looping when length bytes have been searched, or when the end of the file is reached.
	 */
	for(i=config->offset; ((i-config->offset)<config->length && i<(fsize-config->align)); i+=config->align)
	{
		for(j=0; j<num_sigs; j++)
		{
			/* Make sure we don't seek past the end of the buffer */
			if(!config->smart || (i+signatures[j]->offset < fsize))
			{
				/* Pre-screen data for magic file signatures prior to invoking libmagic. This significantly improves scan time. */
				if(!config->smart || 
				   signatures[j]->wildcard == 1 || 
				   memcmp((buffer+i+signatures[j]->offset), signatures[j]->signature, signatures[j]->size) == 0
				)
				{
					/* Since we found a signature match, ask libmagic to further examine the given offset into the file buffer */
                        		type = magic_buffer(config->cookie, buffer+i, (fsize-i));

                        		/* Ignore NULL, ".*text.*" and "data" responses */
                        		if(type != NULL && strncmp(type,DATA,DATA_SIZE) != 0 && strstr(type,TEXT) == NULL)
					{
						/* 
						 * If filters were specified and the filter check specifies that
						 * result should be excluded, then don't display it.
						 */
						if(filter_count > 0)
						{
							/* Don't display anything that has been explicitly marked in the exclude list */
							if(filter_check(filters, filter_count, (char *) type) == RESULT_EXCLUDE)
							{
								break;
							}
						}
                                	
						/* Prettify output if multiple matches were found at the same offset */	
						if((config->flags | MAGIC_CONTINUE) == config->flags)
						{
							while((ptr = strstr(type, MULTIPLE_MATCH_DELIM)))
							{
								memcpy(ptr, MULTIPLE_MATCH_NEWLINE, MULTIPLE_MATCH_SIZE);
							}
						}

						print("%-10d\t0x%-8X\t",i,i);
						print("%s\n",type);
						break;
                        		}
				}
			}
		}
	}

	print("\n");
	retval = EXIT_SUCCESS;

end:
	if(buffer) munmap((void *) buffer, fsize);
	return retval;
}

void usage(char *progname)
{
	fprintf(stderr,"\n");
	fprintf(stderr,"Binwalk v%s\n", PACKAGE_VERSION);
	fprintf(stderr,"\n");
	fprintf(stderr,"Usage: %s [OPTIONS] [FILE1] [FILE2] [FILE3] ...\n", progname);
	fprintf(stderr,"\n");
	fprintf(stderr,USAGE_OPTIONS, MAGIC, GZIP_FILTER, LZMA_FILTER, JFFS_FILTER, INVALID_FILTER);
	fprintf(stderr,"\n");

	return;
}


================================================
FILE: src/binwalk-0.4.1/src/binwalk.h
================================================
#ifndef BINWALK_H
#define BINWALK_H

#include <magic.h>
#include "md5.h"
#include "mparse.h"
#include "filter.h"
#include "common.h"
#include "config.h"

/* These should get defined by the Makefile. If not, default to /etc/binwalk/magic.bin*. */
#ifndef MAGIC
#define MAGIC			"/etc/binwalk/magic.binwalk"
#endif
#ifndef MAGIC_CAST
#define MAGIC_CAST		"/etc/binwalk/magic.bincast"
#endif
#ifndef MAGIC_ARCH
#define MAGIC_ARCH		"/etc/binwalk/magic.binarch"
#endif

#define DATA			"data"
#define DATA_SIZE		4
#define TEXT			"text"
#define DEFAULT_BYTE_ALIGN	1
#define PROGRESS_INTERVAL	1000
#define MAX_SIGNATURES		8192
#define MULTIPLE_MATCH_DELIM	"\\012- "
#define MULTIPLE_MATCH_NEWLINE	"\r\n\t\t\t\t"
#define MULTIPLE_MATCH_SIZE	6
#define GZIP_FILTER		"gzip"
#define LZMA_FILTER		"lzma"
#define JFFS_FILTER		"jffs2"
#define INVALID_FILTER		"invalid"

#define USAGE_OPTIONS		"\
OPTIONS\n\
\t-o, --offset=<int>            File offset to start searching at\n\
\t-l, --length=<int>            Number of bytes to search\n\
\t-b, --align=<int>             Set byte alignment\n\
\t-f, --file=<file>             Log results to file\n\
\t-m, --magic=<file>            Magic file to use [%s]\n\
\t-y, --search=<filter>         Only search for matches that have <filter> in their description (implies -n, -t)\n\
\t-x, --exclude=<filter>        Exclude matches that have <filter> in their description\n\
\t-i, --include=<filter>        Include matches that are normally excluded and that have <filter> in their description *\n\
\t-a, --all                     Search for all matches, including those that are normally excluded *\n\
\t-d, --defaults                Speed up scan by disabling default filters **\n\
\t-t, --fast                    Speed up scan by only loading signatures specified by -i or -y\n\
\t-u, --update                  Update magic signature files\n\
\t-v, --verbose                 Enable verbose mode\n\
\t-s, --smart                   Disable smart matching (implies -a)\n\
\t-k, --keep-going              Don't stop at the first match\n\
\t-c, --validate                Validate magic file\n\
\t-q, --quiet                   Supress output to stdout\n\
\t-A, --opcodes                 Scan for executable code (implies -a)\n\
\t-C, --cast                    Cast file contents as various data types (implies -k)\n\
\n\n\
*  Signatures of two bytes or less are excluded by default. Use -i or -a to include them in the search.\n\
\n\
** Default filters include '%s', '%s' and '%s' results, and exclude '%s' results. Disabling the default\n\
   filters will speed up scan time, but may miss these file types.\n\
"

struct magic_signature
{
	int offset;
	int size;
	int wildcard;
	char *signature;
};

struct binconf
{
	int smart;
	int verbose;
	int flags;
	int offset;
	int align;
	int length;
	char *magic;
	magic_t cookie;
};

void usage(char *progname);
int process_file(char *bin_file, struct binconf *config, struct magic_signature **signatures, int num_sigs, struct magic_filter **filters, int filter_count);

#endif


================================================
FILE: src/binwalk-0.4.1/src/common.c
================================================
#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <string.h>
#include <time.h>
#include <sys/mman.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <unistd.h>
#include <fcntl.h>
#include "common.h"

#ifdef __linux
#include <linux/fs.h>
#endif

/* Convert decimal and hexadecimal strings to integers */
int str2int(char *str)
{
        int val = 0;
        int strsize = 0;
        int base = 10;
        char *strptr = NULL;
        char buffer[INT_MAX_STR_SIZE] = { 0 };

	if(str != NULL)
	{
        	strsize = strlen(str);

        	if(strsize < INT_MAX_STR_SIZE)
        	{

        		memcpy((void *) &buffer, str, strsize);
        		strptr = (char *) &buffer;
	
        		/* If the string starts with '0x' or '\x', or if it ends in 'h' or 'H', treat it as hex */
        		if(strsize >= 2)
        		{
        		        if(strptr[1] == 'x')
        		        {
        		                strptr += 2;
        		                base = 16;
        		        }
        		        else if(strptr[strsize-1] == 'h' || strptr[strsize-1] == 'H')
        		        {
        		                strptr[strsize-1] = '\0';
        		                base = 16;
        		        }
        		}
	
	        	val = strtol(strptr,NULL,base);
		}
	}

        return val;
}

/* Reads in and returns the contents and size of a given file */
const void *file_read(char *file, size_t *fsize)
{
        int fd = 0;
	size_t file_size = 0;
        struct stat _fstat = { 0 };
        const void *buffer = NULL;

	fd = open(file, O_RDONLY);
        if(!fd)
        {
                perror(file);
                goto end;
        }

        if(stat(file, &_fstat) == -1)
        {
		perror(file);
                goto end;
        }

        if(_fstat.st_size > 0)
        {
		file_size = _fstat.st_size;
        }
#ifdef __linux
	else
	{
		long long long_file_size = 0;

		/* Special files may report a zero size in stat(); must get their file size via an ioctl call */
		if(ioctl(fd, BLKGETSIZE64, &long_file_size) == -1)
		{
			perror("ioctl");
			goto end;
		}
		else
		{
			file_size = (size_t) long_file_size;
		}
	}
#endif

	if(file_size > 0)
	{
		buffer = mmap(NULL, file_size, PROT_READ, (MAP_SHARED | MAP_NORESERVE), fd, 0);
		if(buffer == MAP_FAILED)
		{
			perror("mmap");
			buffer = NULL;
		}
		else
		{
			*fsize = file_size;
		}
	}

end:
        if(fd) close(fd);
        return buffer;
}

/* Print messages to both the log file and stdout, as appropriate */
void print(const char* format, ...)
{
        va_list args;

        va_start(args,format);

        if(globals.fsout != NULL)
        {
                vfprintf(globals.fsout,format,args);
                fflush(globals.fsout);
        }
        if(globals.quiet == 0)
        {
                vfprintf(stdout,format,args);
                fflush(stdout);
        }

        va_end(args);
        return;
}

/* Returns the current timestamp as a string */
char *timestamp()
{
        time_t t = { 0 };
        struct tm *tmp = NULL;
        char *ts = NULL;

        t = time(NULL);
        tmp = localtime(&t);
        if(!tmp)
        {
                perror("Localtime failure");
                goto end;
        }

        ts = malloc(MAX_TIMESTAMP_SIZE);
        if(!ts)
        {
                perror("Malloc failure");
                goto end;
        }
        memset(ts,0,MAX_TIMESTAMP_SIZE);

        if(strftime(ts,MAX_TIMESTAMP_SIZE-1,TIMESTAMP_FORMAT,tmp) == 0)
        {
                if(ts) free(ts);
                ts = NULL;
        }

end:
        return ts;
}



================================================
FILE: src/binwalk-0.4.1/src/common.h
================================================
#ifndef COMMON_H
#define COMMON_H

#define INT_MAX_STR_SIZE        1024
#define MAX_TIMESTAMP_SIZE      1024
#define TIMESTAMP_FORMAT        "%b %d, %Y @ %T"

/* These globals are set once, read many */
struct bin_globals
{
        FILE *fsout;
        int quiet;
} globals;

int str2int(char *str);
const void *file_read(char *file, size_t *fsize);
void print(const char* format, ...);
char *timestamp();

#endif


================================================
FILE: src/binwalk-0.4.1/src/configure
================================================
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.65 for binwalk 0.4.1.
#
# Report bugs to <http://code.google.com/p/binwalk/issues/list>.
#
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##

# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '${1+"$@"}'='"$@"'
  setopt NO_GLOB_SUBST
else
  case `(set -o) 2>/dev/null` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi


as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='print -r --'
  as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
  as_echo='printf %s\n'
  as_echo_n='printf %s'
else
  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
    as_echo_n='/usr/ucb/echo -n'
  else
    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
    as_echo_n_body='eval
      arg=$1;
      case $arg in #(
      *"$as_nl"*)
	expr "X$arg" : "X\\(.*\\)$as_nl";
	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
      esac;
      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
    '
    export as_echo_n_body
    as_echo_n='sh -c $as_echo_n_body as_echo'
  fi
  export as_echo_body
  as_echo='sh -c $as_echo_body as_echo'
fi

# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
  PATH_SEPARATOR=:
  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
      PATH_SEPARATOR=';'
  }
fi


# IFS
# We need space, tab and new line, in precisely that order.  Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" ""	$as_nl"

# Find who we are.  Look in the path if we contain no directory separator.
case $0 in #((
  *[\\/]* ) as_myself=$0 ;;
  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
  done
IFS=$as_save_IFS

     ;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
  as_myself=$0
fi
if test ! -f "$as_myself"; then
  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
  exit 1
fi

# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there.  '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '

# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE

# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH

if test "x$CONFIG_SHELL" = x; then
  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
  emulate sh
  NULLCMD=:
  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
  # is contrary to our usage.  Disable this feature.
  alias -g '\${1+\"\$@\"}'='\"\$@\"'
  setopt NO_GLOB_SUBST
else
  case \`(set -o) 2>/dev/null\` in #(
  *posix*) :
    set -o posix ;; #(
  *) :
     ;;
esac
fi
"
  as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }

exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :

else
  exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1"
  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
test \$(( 1 + 1 )) = 2 || exit 1"
  if (eval "$as_required") 2>/dev/null; then :
  as_have_required=yes
else
  as_have_required=no
fi
  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :

else
  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
  IFS=$as_save_IFS
  test -z "$as_dir" && as_dir=.
  as_found=:
  case $as_dir in #(
	 /*)
	   for as_base in sh bash ksh sh5; do
	     # Try only shells that exist, to save several forks.
	     as_shell=$as_dir/$as_base
	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
  CONFIG_SHELL=$as_shell as_have_required=yes
		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
  break 2
fi
fi
	   done;;
       esac
  as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
  CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS


      if test "x$CONFIG_SHELL" != x; then :
  # We cannot yet assume a decent shell, so we have to provide a
	# neutralization value for shells without unset; and this also
	# works around shells that cannot unset nonexistent variables.
	BASH_ENV=/dev/null
	ENV=/dev/null
	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
	export CONFIG_SHELL
	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
fi

    if test x$as_have_required = xno; then :
  $as_echo "$0: This script requires a shell more modern than all"
  $as_echo "$0: the shells that I found on your system."
  if test x${ZSH_VERSION+set} = xset ; then
    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
  else
    $as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: http://code.google.com/p/binwalk/issues/list about your
$0: system, including any error possibly output before this
$0: message. Then install a modern shell, or manually run
$0: the script under such a shell if you do have one."
  fi
  exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS

## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
  { eval $1=; unset $1;}
}
as_unset=as_fn_unset

# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
  return $1
} # as_fn_set_status

# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
  set +e
  as_fn_set_status $1
  exit $1
} # as_fn_exit

# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{

  case $as_dir in #(
  -*) as_dir=./$as_dir;;
  esac
  test -d "$as_dir" || eval $as_mkdir_p || {
    as_dirs=
    while :; do
      case $as_dir in #(
      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
      *) as_qdir=$as_dir;;
      esac
      as_dirs="'$as_qdir' $as_dirs"
      as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
	 X"$as_dir" : 'X\(//\)[^/]' \| \
	 X"$as_dir" : 'X\(//\)$' \| \
	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)[^/].*/{
	    s//\1/
	    q
	  }
	  /^X\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`
      test -d "$as_dir" && break
    done
    test -z "$as_dirs" || eval "mkdir $as_dirs"
  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"


} # as_fn_mkdir_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
  eval 'as_fn_append ()
  {
    eval $1+=\$2
  }'
else
  as_fn_append ()
  {
    eval $1=\$$1\$2
  }
fi # as_fn_append

# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
  eval 'as_fn_arith ()
  {
    as_val=$(( $* ))
  }'
else
  as_fn_arith ()
  {
    as_val=`expr "$@" || test $? -eq 1`
  }
fi # as_fn_arith


# as_fn_error ERROR [LINENO LOG_FD]
# ---------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with status $?, using 1 if that was 0.
as_fn_error ()
{
  as_status=$?; test $as_status -eq 0 && as_status=1
  if test "$3"; then
    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
  fi
  $as_echo "$as_me: error: $1" >&2
  as_fn_exit $as_status
} # as_fn_error

if expr a : '\(a\)' >/dev/null 2>&1 &&
   test "X`expr 00001 : '.*\(...\)'`" = X001; then
  as_expr=expr
else
  as_expr=false
fi

if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
  as_basename=basename
else
  as_basename=false
fi

if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
  as_dirname=dirname
else
  as_dirname=false
fi

as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
	 X"$0" : 'X\(//\)$' \| \
	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
    sed '/^.*\/\([^/][^/]*\)\/*$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\/\)$/{
	    s//\1/
	    q
	  }
	  /^X\/\(\/\).*/{
	    s//\1/
	    q
	  }
	  s/.*/./; q'`

# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits


  as_lineno_1=$LINENO as_lineno_1a=$LINENO
  as_lineno_2=$LINENO as_lineno_2a=$LINENO
  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
  sed -n '
    p
    /[$]LINENO/=
  ' <$as_myself |
    sed '
      s/[$]LINENO.*/&-/
      t lineno
      b
      :lineno
      N
      :loop
      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
      t loop
      s/-\n.*//
    ' >$as_me.lineno &&
  chmod +x "$as_me.lineno" ||
    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }

  # Don't try to exec as it changes $[0], causing all sort of problems
  # (the dirname of $[0] is not the place where we might find the
  # original and so on.  Autoconf is especially sensitive to this).
  . "./$as_me.lineno"
  # Exit status is that of the last command.
  exit
}

ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
  case `echo 'xy\c'` in
  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
  xy)  ECHO_C='\c';;
  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
       ECHO_T='	';;
  esac;;
*)
  ECHO_N='-n';;
esac

rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
  rm -f conf$$.dir/conf$$.file
else
  rm -f conf$$.dir
  mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
  if ln -s conf$$.file conf$$ 2>/dev/null; then
    as_ln_s='ln -s'
    # ... but there are two gotchas:
    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
    # In both cases, we have to default to `cp -p'.
    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
      as_ln_s='cp -p'
  elif ln conf$$.file conf$$ 2>/dev/null; then
    as_ln_s=ln
  else
    as_ln_s='cp -p'
  fi
else
  as_ln_s='cp -p'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null

if mkdir -p . 2>/dev/null; then
  as_mkdir_p='mkdir -p "$as_dir"'
else
  test -d ./-p && rmdir ./-p
  as_mkdir_p=false
fi

if test -x / >/dev/null 2>&1; then
  as_test_x='test -x'
else
  if ls -dL / >/dev/null 2>&1; then
    as_ls_L_option=L
  else
    as_ls_L_option=
  fi
  as_test_x='
    eval sh -c '\''
      if test -d "$1"; then
	test -d "$1/.";
      else
	case $1 in #(
	-*)set "./$1";;
	esac;
	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
	???[sx]*):;;*)false;;esac;fi
    '\'' sh
  '
fi
as_executable_p=$as_test_x

# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"

# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"


test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1

# Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`

#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=

# Identity of this package.
PACKAGE_NAME='binwalk'
PACKAGE_TARNAME='binwalk'
PACKAGE_VERSION='0.4.1'
PACKAGE_STRING='binwalk 0.4.1'
PACKAGE_BUGREPORT='http://code.google.com/p/binwalk/issues/list'
PACKAGE_URL=''

ac_unique_file="md5.c"
# Factoring default headers for most tests.
ac_includes_default="\
#include <stdio.h>
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#ifdef STDC_HEADERS
# include <stdlib.h>
# include <stddef.h>
#else
# ifdef HAVE_STDLIB_H
#  include <stdlib.h>
# endif
#endif
#ifdef HAVE_STRING_H
# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
#  include <memory.h>
# endif
# include <string.h>
#endif
#ifdef HAVE_STRINGS_H
# include <strings.h>
#endif
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif"

ac_subst_vars='LTLIBOBJS
DOFILE
FILE
LIBOBJS
EGREP
GREP
CPP
OBJEXT
EXEEXT
ac_ct_CC
CPPFLAGS
LDFLAGS
CFLAGS
CC
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_static
enable_libmagic
enable_updates
'
      ac_precious_vars='build_alias
host_alias
target_alias
CC
CFLAGS
LDFLAGS
LIBS
CPPFLAGS
CPP'


# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE

# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'

ac_prev=
ac_dashdash=
for ac_option
do
  # If the previous option needs an argument, assign it.
  if test -n "$ac_prev"; then
    eval $ac_prev=\$ac_option
    ac_prev=
    continue
  fi

  case $ac_option in
  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
  *)	ac_optarg=yes ;;
  esac

  # Accept the important Cygnus configure options, so we can diagnose typos.

  case $ac_dashdash$ac_option in
  --)
    ac_dashdash=yes ;;

  -bindir | --bindir | --bindi | --bind | --bin | --bi)
    ac_prev=bindir ;;
  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
    bindir=$ac_optarg ;;

  -build | --build | --buil | --bui | --bu)
    ac_prev=build_alias ;;
  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
    build_alias=$ac_optarg ;;

  -cache-file | --cache-file | --cache-fil | --cache-fi \
  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
    ac_prev=cache_file ;;
  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
    cache_file=$ac_optarg ;;

  --config-cache | -C)
    cache_file=config.cache ;;

  -datadir | --datadir | --datadi | --datad)
    ac_prev=datadir ;;
  -datadir=* | --datadir=* | --datadi=* | --datad=*)
    datadir=$ac_optarg ;;

  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
  | --dataroo | --dataro | --datar)
    ac_prev=datarootdir ;;
  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
    datarootdir=$ac_optarg ;;

  -disable-* | --disable-*)
    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error "invalid feature name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=no ;;

  -docdir | --docdir | --docdi | --doc | --do)
    ac_prev=docdir ;;
  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
    docdir=$ac_optarg ;;

  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
    ac_prev=dvidir ;;
  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
    dvidir=$ac_optarg ;;

  -enable-* | --enable-*)
    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error "invalid feature name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"enable_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval enable_$ac_useropt=\$ac_optarg ;;

  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
  | --exec | --exe | --ex)
    ac_prev=exec_prefix ;;
  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
  | --exec=* | --exe=* | --ex=*)
    exec_prefix=$ac_optarg ;;

  -gas | --gas | --ga | --g)
    # Obsolete; use --with-gas.
    with_gas=yes ;;

  -help | --help | --hel | --he | -h)
    ac_init_help=long ;;
  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
    ac_init_help=recursive ;;
  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
    ac_init_help=short ;;

  -host | --host | --hos | --ho)
    ac_prev=host_alias ;;
  -host=* | --host=* | --hos=* | --ho=*)
    host_alias=$ac_optarg ;;

  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
    ac_prev=htmldir ;;
  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
  | --ht=*)
    htmldir=$ac_optarg ;;

  -includedir | --includedir | --includedi | --included | --include \
  | --includ | --inclu | --incl | --inc)
    ac_prev=includedir ;;
  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
  | --includ=* | --inclu=* | --incl=* | --inc=*)
    includedir=$ac_optarg ;;

  -infodir | --infodir | --infodi | --infod | --info | --inf)
    ac_prev=infodir ;;
  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
    infodir=$ac_optarg ;;

  -libdir | --libdir | --libdi | --libd)
    ac_prev=libdir ;;
  -libdir=* | --libdir=* | --libdi=* | --libd=*)
    libdir=$ac_optarg ;;

  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
  | --libexe | --libex | --libe)
    ac_prev=libexecdir ;;
  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
  | --libexe=* | --libex=* | --libe=*)
    libexecdir=$ac_optarg ;;

  -localedir | --localedir | --localedi | --localed | --locale)
    ac_prev=localedir ;;
  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
    localedir=$ac_optarg ;;

  -localstatedir | --localstatedir | --localstatedi | --localstated \
  | --localstate | --localstat | --localsta | --localst | --locals)
    ac_prev=localstatedir ;;
  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
    localstatedir=$ac_optarg ;;

  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
    ac_prev=mandir ;;
  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
    mandir=$ac_optarg ;;

  -nfp | --nfp | --nf)
    # Obsolete; use --without-fp.
    with_fp=no ;;

  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
  | --no-cr | --no-c | -n)
    no_create=yes ;;

  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
    no_recursion=yes ;;

  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
  | --oldin | --oldi | --old | --ol | --o)
    ac_prev=oldincludedir ;;
  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
    oldincludedir=$ac_optarg ;;

  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
    ac_prev=prefix ;;
  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
    prefix=$ac_optarg ;;

  -program-prefix | --program-prefix | --program-prefi | --program-pref \
  | --program-pre | --program-pr | --program-p)
    ac_prev=program_prefix ;;
  -program-prefix=* | --program-prefix=* | --program-prefi=* \
  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
    program_prefix=$ac_optarg ;;

  -program-suffix | --program-suffix | --program-suffi | --program-suff \
  | --program-suf | --program-su | --program-s)
    ac_prev=program_suffix ;;
  -program-suffix=* | --program-suffix=* | --program-suffi=* \
  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
    program_suffix=$ac_optarg ;;

  -program-transform-name | --program-transform-name \
  | --program-transform-nam | --program-transform-na \
  | --program-transform-n | --program-transform- \
  | --program-transform | --program-transfor \
  | --program-transfo | --program-transf \
  | --program-trans | --program-tran \
  | --progr-tra | --program-tr | --program-t)
    ac_prev=program_transform_name ;;
  -program-transform-name=* | --program-transform-name=* \
  | --program-transform-nam=* | --program-transform-na=* \
  | --program-transform-n=* | --program-transform-=* \
  | --program-transform=* | --program-transfor=* \
  | --program-transfo=* | --program-transf=* \
  | --program-trans=* | --program-tran=* \
  | --progr-tra=* | --program-tr=* | --program-t=*)
    program_transform_name=$ac_optarg ;;

  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
    ac_prev=pdfdir ;;
  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
    pdfdir=$ac_optarg ;;

  -psdir | --psdir | --psdi | --psd | --ps)
    ac_prev=psdir ;;
  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
    psdir=$ac_optarg ;;

  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
  | -silent | --silent | --silen | --sile | --sil)
    silent=yes ;;

  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
    ac_prev=sbindir ;;
  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
  | --sbi=* | --sb=*)
    sbindir=$ac_optarg ;;

  -sharedstatedir | --sharedstatedir | --sharedstatedi \
  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
  | --sharedst | --shareds | --shared | --share | --shar \
  | --sha | --sh)
    ac_prev=sharedstatedir ;;
  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
  | --sha=* | --sh=*)
    sharedstatedir=$ac_optarg ;;

  -site | --site | --sit)
    ac_prev=site ;;
  -site=* | --site=* | --sit=*)
    site=$ac_optarg ;;

  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
    ac_prev=srcdir ;;
  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
    srcdir=$ac_optarg ;;

  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
  | --syscon | --sysco | --sysc | --sys | --sy)
    ac_prev=sysconfdir ;;
  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
    sysconfdir=$ac_optarg ;;

  -target | --target | --targe | --targ | --tar | --ta | --t)
    ac_prev=target_alias ;;
  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
    target_alias=$ac_optarg ;;

  -v | -verbose | --verbose | --verbos | --verbo | --verb)
    verbose=yes ;;

  -version | --version | --versio | --versi | --vers | -V)
    ac_init_version=: ;;

  -with-* | --with-*)
    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
      as_fn_error "invalid package name: $ac_useropt"
    ac_useropt_orig=$ac_useropt
    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
    case $ac_user_opts in
      *"
"with_$ac_useropt"
"*) ;;
      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
	 ac_unrecognized_sep=', ';;
    esac
    eval with_$ac_useropt=\$ac_optarg ;;

  -without-* | --without-*)
    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
    # Reject names that are not valid shell variable names.
    expr "x$ac_useropt" : ".*[^-+._$
Download .txt
Showing preview only (334K chars total). Download the full file or copy to clipboard to get everything.
gitextract_dkpulien/

├── build-firmware.sh
├── check_for_upgrade.sh
├── cleanup.sh
├── creating_ipkg_packages.htm
├── ddwrt-gui-extract.sh
├── ddwrt-gui-rebuild.sh
├── extract-firmware.sh
├── firmware_mod_kit.htm
├── firmware_mod_kit_version.txt
├── ipk_template/
│   ├── conffiles
│   ├── control
│   ├── debian_binary
│   └── make_ipk.sh
├── ipkg_install.sh
├── ipkg_install_all.sh
├── ipkg_remove.sh
├── ipkg_remove_all.sh
├── old-build.sh
├── old-extract.sh
├── shared-ng.inc
├── shared.inc
├── src/
│   ├── Makefile.in
│   ├── addpattern.c
│   ├── asustrx.c
│   ├── bff/
│   │   ├── Makefile
│   │   ├── bff_huffman_decompress.c
│   │   └── bffxtractor.py
│   ├── binwalk-0.4.1/
│   │   ├── docs/
│   │   │   └── README
│   │   └── src/
│   │       ├── Makefile.in
│   │       ├── binwalk.c
│   │       ├── binwalk.h
│   │       ├── common.c
│   │       ├── common.h
│   │       ├── configure
│   │       ├── configure.ac
│   │       ├── filter.c
│   │       ├── filter.h
│   │       ├── magic/
│   │       │   ├── magic.archives
│   │       │   ├── magic.bootloaders
│   │       │   ├── magic.compressed
│   │       │   ├── magic.executables
│   │       │   ├── magic.filesystems
│   │       │   ├── magic.firmware
│   │       │   └── magic.kernels
│   │       ├── magic.binarch
│   │       ├── magic.bincast
│   │       ├── magic.binwalk
│   │       ├── md5.c
│   │       ├── md5.h
│   │       ├── mparse.c
│   │       ├── mparse.h
│   │       ├── update.c
│   │       └── update.h
│   ├── binwalk-1.0/
│   │   ├── docs/
│   │   │   ├── API
│   │   │   ├── COPYING
│   │   │   └── README
│   │   └── src/
│   │       ├── bin/
│   │       │   └── binwalk-script
│   │       ├── binwalk/
│   │       │   ├── __init__.py
│   │       │   ├── common.py
│   │       │   ├── config/
│   │       │   │   └── extract.conf
│   │       │   ├── config.py
│   │       │   ├── extractor.py
│   │       │   ├── filter.py
│   │       │   ├── magic/
│   │       │   │   ├── binarch
│   │       │   │   ├── bincast
│   │       │   │   └── binwalk
│   │       │   ├── parser.py
│   │       │   ├── prettyprint.py
│   │       │   ├── smartsig.py
│   │       │   └── update.py
│   │       ├── build/
│   │       │   ├── lib.linux-x86_64-2.7/
│   │       │   │   └── binwalk/
│   │       │   │       ├── __init__.py
│   │       │   │       ├── common.py
│   │       │   │       ├── config/
│   │       │   │       │   └── extract.conf
│   │       │   │       ├── config.py
│   │       │   │       ├── extractor.py
│   │       │   │       ├── filter.py
│   │       │   │       ├── magic/
│   │       │   │       │   ├── binarch
│   │       │   │       │   ├── bincast
│   │       │   │       │   └── binwalk
│   │       │   │       ├── parser.py
│   │       │   │       ├── prettyprint.py
│   │       │   │       ├── smartsig.py
│   │       │   │       └── update.py
│   │       │   └── scripts-2.7/
│   │       │       └── binwalk
│   │       ├── magic/
│   │       │   ├── archives
│   │       │   ├── bootloaders
│   │       │   ├── compressed
│   │       │   ├── crypto
│   │       │   ├── executables
│   │       │   ├── filesystems
│   │       │   ├── firmware
│   │       │   ├── images
│   │       │   ├── kernels
│   │       │   ├── lzma
│   │       │   └── sql
│   │       ├── setup.py
│   │       └── support/
│   │           └── lzma_gen.py
│   ├── configure
│   ├── configure.ac
│   ├── cramfs-2.x/
│   │   ├── COPYING
│   │   ├── GNUmakefile
│   │   ├── NOTES
│   │   ├── README
│   │   ├── cramfsck.c
│   │   ├── linux/
│   │   │   ├── cramfs_fs.h
│   │   │   └── cramfs_fs_sb.h
│   │   └── mkcramfs.c
│   ├── cramfsswap/
│   │   ├── COPYING
│   │   ├── Makefile
│   │   ├── README
│   │   ├── cramfsswap.1
│   │   ├── cramfsswap.c
│   │   └── debian/
│   │       ├── changelog
│   │       ├── compat
│   │       ├── control
│   │       ├── copyright
│   │       ├── dirs
│   │       ├── docs
│   │       └── rules
│   ├── crcalc/
│   │   ├── Makefile
│   │   ├── README
│   │   ├── crc.c
│   │   ├── crc.h
│   │   ├── crcalc.c
│   │   ├── crcalc.h
│   │   ├── md5.c
│   │   ├── md5.h
│   │   ├── patch.c
│   │   └── patch.h
│   ├── firmware-tools/
│   │   ├── Makefile
│   │   ├── add_header.c
│   │   ├── addpattern.c
│   │   ├── airlink.c
│   │   ├── bcm_tag.h
│   │   ├── buffalo-enc.c
│   │   ├── buffalo-lib.c
│   │   ├── buffalo-lib.h
│   │   ├── buffalo-tag.c
│   │   ├── buffalo-tftp.c
│   │   ├── csysimg.h
│   │   ├── cyg_crc.h
│   │   ├── cyg_crc16.c
│   │   ├── cyg_crc32.c
│   │   ├── dgfirmware.c
│   │   ├── encode_crc.c
│   │   ├── fix-u-media-header.c
│   │   ├── fw.h
│   │   ├── imagetag.c
│   │   ├── imagetag.ggo
│   │   ├── imagetag_cmdline.c
│   │   ├── imagetag_cmdline.h
│   │   ├── lzma2eva.c
│   │   ├── makeamitbin.c
│   │   ├── md5.c
│   │   ├── md5.h
│   │   ├── mkbrncmdline.c
│   │   ├── mkbrnimg.c
│   │   ├── mkcameofw.c
│   │   ├── mkcasfw.c
│   │   ├── mkchkimg.c
│   │   ├── mkcsysimg.c
│   │   ├── mkdapimg.c
│   │   ├── mkdir615h1.c
│   │   ├── mkdniimg.c
│   │   ├── mkedimaximg.c
│   │   ├── mkfwimage.c
│   │   ├── mkfwimage2.c
│   │   ├── mkmylofw.c
│   │   ├── mkplanexfw.c
│   │   ├── mktitanimg.c
│   │   ├── mktitanimg.h
│   │   ├── mktplinkfw.c
│   │   ├── mkwrgimg.c
│   │   ├── mkzcfw.c
│   │   ├── mkzynfw.c
│   │   ├── motorola-bin.c
│   │   ├── myloader.h
│   │   ├── nand_ecc.c
│   │   ├── osbridge-crc.c
│   │   ├── pc1crypt.c
│   │   ├── ptgen.c
│   │   ├── readme.txt
│   │   ├── seama.c
│   │   ├── seama.h
│   │   ├── sha1.c
│   │   ├── sha1.h
│   │   ├── spw303v.c
│   │   ├── srec2bin.c
│   │   ├── trx.c
│   │   ├── trx2edips.c
│   │   ├── trx2usr.c
│   │   ├── wndr3700.c
│   │   ├── wrt400n.c
│   │   ├── xorimage.c
│   │   └── zynos.h
│   ├── jffs2/
│   │   ├── mkfs.jffs2
│   │   └── unjffs2
│   ├── lzma/
│   │   ├── .built
│   │   ├── .unpacked
│   │   ├── 7zC.txt
│   │   ├── 7zFormat.txt
│   │   ├── C/
│   │   │   ├── 7zip/
│   │   │   │   ├── Archive/
│   │   │   │   │   └── 7z_C/
│   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │       ├── 7zCrc.c
│   │   │   │   │       ├── 7zCrc.h
│   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │       ├── 7zIn.c
│   │   │   │   │       ├── 7zIn.h
│   │   │   │   │       ├── 7zItem.c
│   │   │   │   │       ├── 7zItem.h
│   │   │   │   │       ├── 7zMain.c
│   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │       ├── 7zTypes.h
│   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │       ├── makefile
│   │   │   │   │       └── makefile.gcc
│   │   │   │   ├── Common/
│   │   │   │   │   ├── FileStreams.cpp
│   │   │   │   │   ├── FileStreams.h
│   │   │   │   │   ├── InBuffer.cpp
│   │   │   │   │   ├── InBuffer.h
│   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   └── StreamUtils.h
│   │   │   │   ├── Compress/
│   │   │   │   │   ├── Branch/
│   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   ├── LZ/
│   │   │   │   │   │   ├── BinTree/
│   │   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   │   ├── BinTree4b.h
│   │   │   │   │   │   │   └── BinTreeMain.h
│   │   │   │   │   │   ├── HashChain/
│   │   │   │   │   │   │   ├── HC.h
│   │   │   │   │   │   │   ├── HC2.h
│   │   │   │   │   │   │   ├── HC3.h
│   │   │   │   │   │   │   ├── HC4.h
│   │   │   │   │   │   │   ├── HC4b.h
│   │   │   │   │   │   │   └── HCMain.h
│   │   │   │   │   │   ├── IMatchFinder.h
│   │   │   │   │   │   ├── LZInWindow.cpp
│   │   │   │   │   │   ├── LZInWindow.h
│   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   ├── Patricia/
│   │   │   │   │   │   │   ├── Pat.h
│   │   │   │   │   │   │   ├── Pat2.h
│   │   │   │   │   │   │   ├── Pat2H.h
│   │   │   │   │   │   │   ├── Pat2R.h
│   │   │   │   │   │   │   ├── Pat3H.h
│   │   │   │   │   │   │   ├── Pat4H.h
│   │   │   │   │   │   │   └── PatMain.h
│   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── LZMA_C/
│   │   │   │   │   │   ├── LzmaDecode.c
│   │   │   │   │   │   ├── LzmaDecode.h
│   │   │   │   │   │   ├── LzmaDecodeSize.c
│   │   │   │   │   │   ├── LzmaStateDecode.c
│   │   │   │   │   │   ├── LzmaStateDecode.h
│   │   │   │   │   │   ├── LzmaStateTest.c
│   │   │   │   │   │   ├── LzmaTest.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── LZMA_Lib/
│   │   │   │   │   │   ├── ZLib.cpp
│   │   │   │   │   │   └── makefile
│   │   │   │   │   └── RangeCoder/
│   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │       └── StdAfx.h
│   │   │   │   ├── ICoder.h
│   │   │   │   └── IStream.h
│   │   │   ├── Common/
│   │   │   │   ├── Alloc.cpp
│   │   │   │   ├── Alloc.h
│   │   │   │   ├── CRC.cpp
│   │   │   │   ├── CRC.h
│   │   │   │   ├── C_FileIO.cpp
│   │   │   │   ├── C_FileIO.h
│   │   │   │   ├── ComTry.h
│   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   ├── CommandLineParser.h
│   │   │   │   ├── Defs.h
│   │   │   │   ├── MyCom.h
│   │   │   │   ├── MyGuidDef.h
│   │   │   │   ├── MyInitGuid.h
│   │   │   │   ├── MyUnknown.h
│   │   │   │   ├── MyWindows.h
│   │   │   │   ├── NewHandler.cpp
│   │   │   │   ├── NewHandler.h
│   │   │   │   ├── StdAfx.h
│   │   │   │   ├── String.cpp
│   │   │   │   ├── String.h
│   │   │   │   ├── StringConvert.cpp
│   │   │   │   ├── StringConvert.h
│   │   │   │   ├── StringToInt.cpp
│   │   │   │   ├── StringToInt.h
│   │   │   │   ├── Types.h
│   │   │   │   ├── Vector.cpp
│   │   │   │   └── Vector.h
│   │   │   └── Windows/
│   │   │       ├── Defs.h
│   │   │       ├── FileIO.cpp
│   │   │       ├── FileIO.h
│   │   │       └── StdAfx.h
│   │   ├── CPL.html
│   │   ├── CS/
│   │   │   └── 7zip/
│   │   │       ├── Common/
│   │   │       │   ├── CRC.cs
│   │   │       │   ├── CommandLineParser.cs
│   │   │       │   ├── InBuffer.cs
│   │   │       │   └── OutBuffer.cs
│   │   │       ├── Compress/
│   │   │       │   ├── LZ/
│   │   │       │   │   ├── IMatchFinder.cs
│   │   │       │   │   ├── LzBinTree.cs
│   │   │       │   │   ├── LzInWindow.cs
│   │   │       │   │   └── LzOutWindow.cs
│   │   │       │   ├── LZMA/
│   │   │       │   │   ├── LzmaBase.cs
│   │   │       │   │   ├── LzmaDecoder.cs
│   │   │       │   │   └── LzmaEncoder.cs
│   │   │       │   ├── LzmaAlone/
│   │   │       │   │   ├── LzmaAlone.cs
│   │   │       │   │   ├── LzmaAlone.csproj
│   │   │       │   │   ├── LzmaAlone.sln
│   │   │       │   │   ├── LzmaBench.cs
│   │   │       │   │   └── Properties/
│   │   │       │   │       ├── AssemblyInfo.cs
│   │   │       │   │       ├── Resources.cs
│   │   │       │   │       └── Settings.cs
│   │   │       │   └── RangeCoder/
│   │   │       │       ├── RangeCoder.cs
│   │   │       │       ├── RangeCoderBit.cs
│   │   │       │       └── RangeCoderBitTree.cs
│   │   │       └── ICoder.cs
│   │   ├── Java/
│   │   │   └── SevenZip/
│   │   │       ├── CRC.java
│   │   │       ├── Compression/
│   │   │       │   ├── ICodeProgress.java
│   │   │       │   ├── LZ/
│   │   │       │   │   ├── BinTree.java
│   │   │       │   │   ├── InWindow.java
│   │   │       │   │   └── OutWindow.java
│   │   │       │   ├── LZMA/
│   │   │       │   │   ├── Base.java
│   │   │       │   │   ├── Decoder.java
│   │   │       │   │   └── Encoder.java
│   │   │       │   └── RangeCoder/
│   │   │       │       ├── BitTreeDecoder.java
│   │   │       │       ├── BitTreeEncoder.java
│   │   │       │       ├── Decoder.java
│   │   │       │       └── Encoder.java
│   │   │       ├── LzmaAlone.java
│   │   │       └── LzmaBench.java
│   │   ├── LGPL.txt
│   │   ├── Methods.txt
│   │   ├── history.txt
│   │   └── lzma.txt
│   ├── motorola-bin.c
│   ├── others/
│   │   ├── Makefile
│   │   ├── squashfs-2.0-nb4/
│   │   │   ├── Makefile
│   │   │   ├── nb4-mksquashfs/
│   │   │   │   ├── Makefile
│   │   │   │   ├── getdelim.c
│   │   │   │   ├── getdelim.h
│   │   │   │   ├── getline.c
│   │   │   │   ├── getline.h
│   │   │   │   ├── lzma/
│   │   │   │   │   ├── compress/
│   │   │   │   │   │   ├── 7z.h
│   │   │   │   │   │   ├── 7zapi.cpp
│   │   │   │   │   │   ├── 7zapi.h
│   │   │   │   │   │   ├── 7zlzma.cpp
│   │   │   │   │   │   ├── AriBitCoder.cpp
│   │   │   │   │   │   ├── AriBitCoder.h
│   │   │   │   │   │   ├── AriConst.h
│   │   │   │   │   │   ├── AriPrice.h
│   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   ├── BinTree2Main.h
│   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   ├── BinTree3Main.h
│   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   ├── BinTree3ZMain.h
│   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   ├── BinTree4Main.h
│   │   │   │   │   │   ├── BinTree4b.h
│   │   │   │   │   │   ├── BinTree4bMain.h
│   │   │   │   │   │   ├── BinTreeMF.h
│   │   │   │   │   │   ├── BinTreeMFMain.h
│   │   │   │   │   │   ├── BinTreeMain.h
│   │   │   │   │   │   ├── BitTreeCoder.h
│   │   │   │   │   │   ├── CRC.h
│   │   │   │   │   │   ├── Const.h
│   │   │   │   │   │   ├── IInOutStreams.cpp
│   │   │   │   │   │   ├── IInOutStreams.h
│   │   │   │   │   │   ├── InByte.cpp
│   │   │   │   │   │   ├── InByte.h
│   │   │   │   │   │   ├── LZMA.cpp
│   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   ├── LenCoder.cpp
│   │   │   │   │   │   ├── LenCoder.h
│   │   │   │   │   │   ├── LiteralCoder.cpp
│   │   │   │   │   │   ├── LiteralCoder.h
│   │   │   │   │   │   ├── OutByte.cpp
│   │   │   │   │   │   ├── OutByte.h
│   │   │   │   │   │   ├── Portable.h
│   │   │   │   │   │   ├── RCDefs.h
│   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── WindowIn.cpp
│   │   │   │   │   │   ├── WindowIn.h
│   │   │   │   │   │   ├── WindowOut.cpp
│   │   │   │   │   │   ├── WindowOut.h
│   │   │   │   │   │   └── lzDecomp.cpp
│   │   │   │   │   └── decompress/
│   │   │   │   │       ├── 7z.h
│   │   │   │   │       ├── 7zlzma.c
│   │   │   │   │       ├── AriBitCoder.h
│   │   │   │   │       ├── BitTreeCoder.h
│   │   │   │   │       ├── IInOutStreams.c
│   │   │   │   │       ├── IInOutStreams.h
│   │   │   │   │       ├── LZMA.h
│   │   │   │   │       ├── LZMADecoder.c
│   │   │   │   │       ├── LZMADecoder.h
│   │   │   │   │       ├── LenCoder.h
│   │   │   │   │       ├── LiteralCoder.h
│   │   │   │   │       ├── Makefile
│   │   │   │   │       ├── Portable.h
│   │   │   │   │       ├── RCDefs.h
│   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │       ├── WindowOut.h
│   │   │   │   │       └── vxTypesOld.h
│   │   │   │   └── squashfs/
│   │   │   │       ├── Makefile
│   │   │   │       ├── mksquashfs.c
│   │   │   │       ├── mksquashfs.h
│   │   │   │       ├── read_fs.c
│   │   │   │       ├── read_fs.h
│   │   │   │       ├── sort.c
│   │   │   │       ├── squashfs_fs.h
│   │   │   │       ├── squashfs_fs_i.h
│   │   │   │       └── squashfs_fs_sb.h
│   │   │   └── nb4-unsquashfs/
│   │   │       ├── Makefile
│   │   │       ├── README
│   │   │       ├── brcm-lzma/
│   │   │       │   ├── 7z.h
│   │   │       │   ├── 7zlzma.c
│   │   │       │   ├── AriBitCoder.h
│   │   │       │   ├── BitTreeCoder.h
│   │   │       │   ├── IInOutStreams.c
│   │   │       │   ├── IInOutStreams.h
│   │   │       │   ├── LZMA.h
│   │   │       │   ├── LZMADecoder.c
│   │   │       │   ├── LZMADecoder.h
│   │   │       │   ├── LenCoder.h
│   │   │       │   ├── LiteralCoder.h
│   │   │       │   ├── Makefile
│   │   │       │   ├── Portable.h
│   │   │       │   ├── RCDefs.h
│   │   │       │   ├── RangeCoder.h
│   │   │       │   ├── WindowOut.h
│   │   │       │   └── vxTypesOld.h
│   │   │       ├── global.h
│   │   │       ├── nb4-unsquash.c
│   │   │       ├── read_fs.h
│   │   │       └── squashfs_fs.h
│   │   ├── squashfs-3.0-e2100/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── lzma/
│   │   │   │   ├── .built
│   │   │   │   ├── .unpacked
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   └── 7z_C/
│   │   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │   │   │       ├── 7zCrc.c
│   │   │   │   │   │   │       ├── 7zCrc.h
│   │   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │   │   │       ├── 7zTypes.h
│   │   │   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── FileStreams.cpp
│   │   │   │   │   │   │   ├── FileStreams.h
│   │   │   │   │   │   │   ├── InBuffer.cpp
│   │   │   │   │   │   │   ├── InBuffer.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   └── StreamUtils.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   │   ├── BinTree/
│   │   │   │   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   │   │   │   ├── BinTree4b.h
│   │   │   │   │   │   │   │   │   └── BinTreeMain.h
│   │   │   │   │   │   │   │   ├── HashChain/
│   │   │   │   │   │   │   │   │   ├── HC.h
│   │   │   │   │   │   │   │   │   ├── HC2.h
│   │   │   │   │   │   │   │   │   ├── HC3.h
│   │   │   │   │   │   │   │   │   ├── HC4.h
│   │   │   │   │   │   │   │   │   ├── HC4b.h
│   │   │   │   │   │   │   │   │   └── HCMain.h
│   │   │   │   │   │   │   │   ├── IMatchFinder.h
│   │   │   │   │   │   │   │   ├── LZInWindow.cpp
│   │   │   │   │   │   │   │   ├── LZInWindow.h
│   │   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   │   ├── Patricia/
│   │   │   │   │   │   │   │   │   ├── Pat.h
│   │   │   │   │   │   │   │   │   ├── Pat2.h
│   │   │   │   │   │   │   │   │   ├── Pat2H.h
│   │   │   │   │   │   │   │   │   ├── Pat2R.h
│   │   │   │   │   │   │   │   │   ├── Pat3H.h
│   │   │   │   │   │   │   │   │   ├── Pat4H.h
│   │   │   │   │   │   │   │   │   └── PatMain.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LZMA_C/
│   │   │   │   │   │   │   │   ├── LzmaDecode.c
│   │   │   │   │   │   │   │   ├── LzmaDecode.h
│   │   │   │   │   │   │   │   ├── LzmaDecodeSize.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.h
│   │   │   │   │   │   │   │   ├── LzmaStateTest.c
│   │   │   │   │   │   │   │   ├── LzmaTest.c
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LZMA_Lib/
│   │   │   │   │   │   │   │   ├── ZLib.cpp
│   │   │   │   │   │   │   │   └── makefile
│   │   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   └── IStream.h
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── Alloc.cpp
│   │   │   │   │   │   ├── Alloc.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── CRC.h
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── String.cpp
│   │   │   │   │   │   ├── String.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── Vector.cpp
│   │   │   │   │   │   └── Vector.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       └── StdAfx.h
│   │   │   │   ├── CPL.html
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── ICodeProgress.java
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── LGPL.txt
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.2-r2/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-hg612-lzma/
│   │   │   ├── Makefile
│   │   │   ├── lzma443/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   └── 7z_C/
│   │   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │   │   │       ├── 7zCrc.c
│   │   │   │   │   │   │       ├── 7zCrc.h
│   │   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │   │   │       ├── 7zTypes.h
│   │   │   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── FileStreams.cpp
│   │   │   │   │   │   │   ├── FileStreams.h
│   │   │   │   │   │   │   ├── InBuffer.cpp
│   │   │   │   │   │   │   ├── InBuffer.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   └── StreamUtils.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   │   ├── BinTree/
│   │   │   │   │   │   │   │   │   ├── BinTree.h
│   │   │   │   │   │   │   │   │   ├── BinTree2.h
│   │   │   │   │   │   │   │   │   ├── BinTree3.h
│   │   │   │   │   │   │   │   │   ├── BinTree3Z.h
│   │   │   │   │   │   │   │   │   ├── BinTree4.h
│   │   │   │   │   │   │   │   │   └── BinTreeMain.h
│   │   │   │   │   │   │   │   ├── HashChain/
│   │   │   │   │   │   │   │   │   ├── HC2.h
│   │   │   │   │   │   │   │   │   ├── HC3.h
│   │   │   │   │   │   │   │   │   ├── HC4.h
│   │   │   │   │   │   │   │   │   └── HCMain.h
│   │   │   │   │   │   │   │   ├── IMatchFinder.h
│   │   │   │   │   │   │   │   ├── LZInWindow.cpp
│   │   │   │   │   │   │   │   ├── LZInWindow.h
│   │   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   │   ├── LZMA_C/
│   │   │   │   │   │   │   │   ├── LzmaDecode.c
│   │   │   │   │   │   │   │   ├── LzmaDecode.h
│   │   │   │   │   │   │   │   ├── LzmaDecodeSize.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.c
│   │   │   │   │   │   │   │   ├── LzmaStateDecode.h
│   │   │   │   │   │   │   │   ├── LzmaStateTest.c
│   │   │   │   │   │   │   │   ├── LzmaTest.c
│   │   │   │   │   │   │   │   ├── LzmaTypes.h
│   │   │   │   │   │   │   │   ├── kmod/
│   │   │   │   │   │   │   │   │   ├── Makefile
│   │   │   │   │   │   │   │   │   └── module.c
│   │   │   │   │   │   │   │   ├── kmod.mk
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   ├── sqlzma.mk
│   │   │   │   │   │   │   │   ├── testflags.c
│   │   │   │   │   │   │   │   └── uncomp.c
│   │   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   └── IStream.h
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── Alloc.cpp
│   │   │   │   │   │   ├── Alloc.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── CRC.h
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── String.cpp
│   │   │   │   │   │   ├── String.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── Vector.cpp
│   │   │   │   │   │   └── Vector.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       └── StdAfx.h
│   │   │   │   ├── CPL.html
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── ICodeProgress.java
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── LGPL.txt
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   ├── lzma.txt
│   │   │   │   └── sqlzma1-443.patch
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   └── squashfs3.2-r2/
│   │   │       ├── ACKNOWLEDGEMENTS
│   │   │       ├── CHANGES
│   │   │       ├── COPYING
│   │   │       ├── INSTALL
│   │   │       ├── PERFORMANCE.README
│   │   │       ├── README
│   │   │       ├── README-3.2
│   │   │       ├── sqlzma2u-3.2-r2.patch
│   │   │       └── squashfs-tools/
│   │   │           ├── Makefile
│   │   │           ├── global.h
│   │   │           ├── mksquashfs.c
│   │   │           ├── mksquashfs.h
│   │   │           ├── read_fs.c
│   │   │           ├── read_fs.h
│   │   │           ├── sort.c
│   │   │           ├── sort.h
│   │   │           ├── squashfs_fs.h
│   │   │           └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-lzma/
│   │   │   ├── C/
│   │   │   │   ├── 7zCrc.c
│   │   │   │   ├── 7zCrc.h
│   │   │   │   ├── 7zCrcT8.c
│   │   │   │   ├── Alloc.c
│   │   │   │   ├── Alloc.h
│   │   │   │   ├── Archive/
│   │   │   │   │   └── 7z/
│   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │       ├── 7zIn.c
│   │   │   │   │       ├── 7zIn.h
│   │   │   │   │       ├── 7zItem.c
│   │   │   │   │       ├── 7zItem.h
│   │   │   │   │       ├── 7zMain.c
│   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │       ├── makefile
│   │   │   │   │       └── makefile.gcc
│   │   │   │   ├── Compress/
│   │   │   │   │   ├── Branch/
│   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   ├── BranchX86_2.c
│   │   │   │   │   │   └── BranchX86_2.h
│   │   │   │   │   ├── Huffman/
│   │   │   │   │   │   ├── HuffmanEncode.c
│   │   │   │   │   │   └── HuffmanEncode.h
│   │   │   │   │   ├── Lz/
│   │   │   │   │   │   ├── LzHash.h
│   │   │   │   │   │   ├── MatchFinder.c
│   │   │   │   │   │   ├── MatchFinder.h
│   │   │   │   │   │   ├── MatchFinderMt.c
│   │   │   │   │   │   └── MatchFinderMt.h
│   │   │   │   │   └── Lzma/
│   │   │   │   │       ├── LzmaDecode.c
│   │   │   │   │       ├── LzmaDecode.h
│   │   │   │   │       ├── LzmaDecodeSize.c
│   │   │   │   │       ├── LzmaStateDecode.c
│   │   │   │   │       ├── LzmaStateDecode.h
│   │   │   │   │       ├── LzmaStateTest.c
│   │   │   │   │       ├── LzmaTest.c
│   │   │   │   │       ├── LzmaTypes.h
│   │   │   │   │       ├── kmod/
│   │   │   │   │       │   └── uncomp.c
│   │   │   │   │       ├── kmod.mk
│   │   │   │   │       ├── sqlzma.mk
│   │   │   │   │       ├── testflags.c
│   │   │   │   │       └── uncomp.c
│   │   │   │   ├── CpuArch.h
│   │   │   │   ├── IStream.h
│   │   │   │   ├── Sort.c
│   │   │   │   ├── Sort.h
│   │   │   │   ├── Threads.c
│   │   │   │   ├── Threads.h
│   │   │   │   └── Types.h
│   │   │   ├── CPP/
│   │   │   │   ├── 7zip/
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   └── ParseProperties.h
│   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   └── IArchive.h
│   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── resource.rc
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── 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
│   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   ├── Compress/
│   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   ├── BCJ2Register.cpp
│   │   │   │   │   │   │   ├── BCJRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   ├── ByteSwap/
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   ├── Copy/
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   ├── LZMARegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   ├── ICoder.h
│   │   │   │   │   ├── IDecl.h
│   │   │   │   │   ├── IPassword.h
│   │   │   │   │   ├── IProgress.h
│   │   │   │   │   ├── IStream.h
│   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   ├── PropID.h
│   │   │   │   │   └── UI/
│   │   │   │   │       ├── Client7z/
│   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │       │   └── makefile
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │       │   ├── Extract.h
│   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │       │   ├── ExtractingFilePath.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
│   │   │   │   │       │   ├── 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.h
│   │   │   │   │       └── Console/
│   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │           └── afxres.h
│   │   │   │   ├── Build.mak
│   │   │   │   ├── Common/
│   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   ├── Buffer.h
│   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   ├── ComTry.h
│   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   ├── Defs.h
│   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   ├── IntToString.h
│   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   ├── MyCom.h
│   │   │   │   │   ├── MyException.h
│   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   ├── MyString.h
│   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   ├── MyVector.h
│   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   ├── Types.h
│   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   └── Wildcard.h
│   │   │   │   └── Windows/
│   │   │   │       ├── DLL.cpp
│   │   │   │       ├── DLL.h
│   │   │   │       ├── Defs.h
│   │   │   │       ├── Error.cpp
│   │   │   │       ├── Error.h
│   │   │   │       ├── FileDir.cpp
│   │   │   │       ├── FileDir.h
│   │   │   │       ├── FileFind.cpp
│   │   │   │       ├── FileFind.h
│   │   │   │       ├── FileIO.cpp
│   │   │   │       ├── FileIO.h
│   │   │   │       ├── FileMapping.cpp
│   │   │   │       ├── FileMapping.h
│   │   │   │       ├── FileName.cpp
│   │   │   │       ├── FileName.h
│   │   │   │       ├── Handle.h
│   │   │   │       ├── MemoryLock.cpp
│   │   │   │       ├── MemoryLock.h
│   │   │   │       ├── PropVariant.cpp
│   │   │   │       ├── PropVariant.h
│   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │       ├── PropVariantConversions.h
│   │   │   │       ├── StdAfx.h
│   │   │   │       ├── Synchronization.cpp
│   │   │   │       ├── Synchronization.h
│   │   │   │       ├── System.cpp
│   │   │   │       ├── System.h
│   │   │   │       ├── Thread.h
│   │   │   │       └── Time.h
│   │   │   ├── Makefile
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   └── squashfs3.2-r2/
│   │   │       ├── ACKNOWLEDGEMENTS
│   │   │       ├── CHANGES
│   │   │       ├── COPYING
│   │   │       ├── INSTALL
│   │   │       ├── OLD-READMEs/
│   │   │       │   ├── README-2.0
│   │   │       │   ├── README-2.1
│   │   │       │   ├── README-3.0
│   │   │       │   ├── README-3.1
│   │   │       │   └── README-AMD64
│   │   │       ├── PERFORMANCE.README
│   │   │       ├── README
│   │   │       ├── README-3.2
│   │   │       ├── sqlzma2u-3.2-r2.patch
│   │   │       └── squashfs-tools/
│   │   │           ├── Makefile
│   │   │           ├── global.h
│   │   │           ├── mksquashfs.c
│   │   │           ├── mksquashfs.h
│   │   │           ├── read_fs.c
│   │   │           ├── read_fs.h
│   │   │           ├── sort.c
│   │   │           ├── sort.h
│   │   │           ├── squashfs_fs.h
│   │   │           └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-rtn12/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── lzma_src/
│   │   │   │   └── C/
│   │   │   │       ├── Alloc.h
│   │   │   │       ├── LzFind.c
│   │   │   │       ├── LzFind.h
│   │   │   │       ├── LzHash.h
│   │   │   │       ├── LzmaDec.c
│   │   │   │       ├── LzmaDec.h
│   │   │   │       ├── LzmaEnc.c
│   │   │   │       ├── LzmaEnc.h
│   │   │   │       └── Types.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── sqlzma.c
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.2-r2-wnr1000/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── lzma_src/
│   │   │   │   └── C/
│   │   │   │       ├── Alloc.h
│   │   │   │       ├── LzFind.c
│   │   │   │       ├── LzFind.h
│   │   │   │       ├── LzHash.h
│   │   │   │       ├── LzmaDec.c
│   │   │   │       ├── LzmaDec.h
│   │   │   │       ├── LzmaEnc.c
│   │   │   │       ├── LzmaEnc.h
│   │   │   │       └── Types.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── sqlzma.c
│   │   │   ├── sqlzma.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.3/
│   │   │   ├── Makefile
│   │   │   ├── global.h
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs_fs.h
│   │   │   └── unsquashfs.c
│   │   ├── squashfs-3.3-grml-lzma/
│   │   │   ├── .tmpdeps
│   │   │   ├── .topdeps
│   │   │   ├── .topmsg
│   │   │   ├── Makefile
│   │   │   ├── debian/
│   │   │   │   ├── changelog
│   │   │   │   ├── compat
│   │   │   │   ├── control
│   │   │   │   ├── control.modules.in
│   │   │   │   ├── copyright
│   │   │   │   ├── doc/
│   │   │   │   │   ├── en/
│   │   │   │   │   │   ├── mksquashfs.dbk
│   │   │   │   │   │   └── unsquashfs.dbk
│   │   │   │   │   └── po/
│   │   │   │   │       ├── mksquashfs.fr.add
│   │   │   │   │       ├── mksquashfs.fr.po
│   │   │   │   │       ├── mksquashfs.pot
│   │   │   │   │       └── po4a.cfg
│   │   │   │   ├── rules
│   │   │   │   ├── rules.modules
│   │   │   │   ├── squashfs-lzma-source.NEWS
│   │   │   │   ├── squashfs-lzma-source.README.Debian
│   │   │   │   ├── squashfs-lzma-source.docs
│   │   │   │   ├── squashfs-lzma-source.links
│   │   │   │   ├── squashfs-lzma-tools.README.Debian
│   │   │   │   ├── squashfs-lzma-tools.dirs
│   │   │   │   ├── squashfs-lzma-tools.install
│   │   │   │   ├── squashfs-lzma-tools.manpages
│   │   │   │   └── watch
│   │   │   ├── ksquashfs/
│   │   │   │   ├── fs/
│   │   │   │   │   └── squashfs/
│   │   │   │   │       ├── Makefile
│   │   │   │   │       ├── inode.c
│   │   │   │   │       ├── squashfs.h
│   │   │   │   │       └── squashfs2_0.c
│   │   │   │   └── include/
│   │   │   │       └── linux/
│   │   │   │           ├── squashfs_fs.h
│   │   │   │           ├── squashfs_fs_i.h
│   │   │   │           └── squashfs_fs_sb.h
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zCrcT8.c
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Compress/
│   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   │   ├── BranchX86_2.c
│   │   │   │   │   │   │   └── BranchX86_2.h
│   │   │   │   │   │   ├── Huffman/
│   │   │   │   │   │   │   ├── HuffmanEncode.c
│   │   │   │   │   │   │   └── HuffmanEncode.h
│   │   │   │   │   │   ├── Lz/
│   │   │   │   │   │   │   ├── LzHash.h
│   │   │   │   │   │   │   ├── MatchFinder.c
│   │   │   │   │   │   │   ├── MatchFinder.h
│   │   │   │   │   │   │   ├── MatchFinderMt.c
│   │   │   │   │   │   │   └── MatchFinderMt.h
│   │   │   │   │   │   └── Lzma/
│   │   │   │   │   │       ├── LzmaDecode.c
│   │   │   │   │   │       ├── LzmaDecode.h
│   │   │   │   │   │       ├── LzmaDecodeSize.c
│   │   │   │   │   │       ├── LzmaStateDecode.c
│   │   │   │   │   │       ├── LzmaStateDecode.h
│   │   │   │   │   │       ├── LzmaStateTest.c
│   │   │   │   │   │       ├── LzmaTest.c
│   │   │   │   │   │       ├── LzmaTypes.h
│   │   │   │   │   │       ├── kmod/
│   │   │   │   │   │       │   ├── Makefile
│   │   │   │   │   │       │   └── module.c
│   │   │   │   │   │       ├── kmod.mk
│   │   │   │   │   │       ├── sqlzma.mk
│   │   │   │   │   │       ├── testflags.c
│   │   │   │   │   │       └── uncomp.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── IStream.h
│   │   │   │   │   ├── Sort.c
│   │   │   │   │   ├── Sort.h
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   └── ParseProperties.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   └── IArchive.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   │   ├── BCJ2Register.cpp
│   │   │   │   │   │   │   │   ├── BCJRegister.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   │   ├── ByteSwap/
│   │   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── Copy/
│   │   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   │   ├── LZMARegister.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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
│   │   │   │   │   │       │   ├── 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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   │           └── afxres.h
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── LGPL.txt
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── sqlzma.h
│   │   │   ├── sqlzma.txt
│   │   │   ├── sqlzma1-449.patch
│   │   │   ├── sqlzma2k-3.3.patch
│   │   │   ├── sqlzma2u-3.3.patch
│   │   │   ├── sqmagic.h
│   │   │   └── squashfs3.3/
│   │   │       ├── ACKNOWLEDGEMENTS
│   │   │       ├── CHANGES
│   │   │       ├── COPYING
│   │   │       ├── INSTALL
│   │   │       ├── OLD-READMEs/
│   │   │       │   ├── README-2.0
│   │   │       │   ├── README-2.1
│   │   │       │   ├── README-3.0
│   │   │       │   ├── README-3.1
│   │   │       │   ├── README-3.2
│   │   │       │   └── README-AMD64
│   │   │       ├── PERFORMANCE.README
│   │   │       ├── README
│   │   │       ├── README-3.3
│   │   │       ├── kernel-patches/
│   │   │       │   ├── linux-2.6.10/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.12/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.14/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.16/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.18/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.20/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.22/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.23/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.24/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   ├── linux-2.6.6/
│   │   │       │   │   └── squashfs3.3-patch
│   │   │       │   └── linux-2.6.8.1/
│   │   │       │       └── squashfs3.3-patch
│   │   │       └── squashfs-tools/
│   │   │           ├── Makefile
│   │   │           ├── global.h
│   │   │           ├── mksquashfs.c
│   │   │           ├── mksquashfs.h
│   │   │           ├── read_fs.c
│   │   │           ├── read_fs.h
│   │   │           ├── sort.c
│   │   │           ├── sort.h
│   │   │           ├── squashfs_fs.h
│   │   │           └── unsquashfs.c
│   │   ├── squashfs-3.3-lzma/
│   │   │   ├── C/
│   │   │   │   ├── 7zCrc.c
│   │   │   │   ├── 7zCrc.h
│   │   │   │   ├── 7zCrcT8.c
│   │   │   │   ├── Alloc.c
│   │   │   │   ├── Alloc.h
│   │   │   │   ├── Archive/
│   │   │   │   │   └── 7z/
│   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │       ├── 7zBuffer.c
│   │   │   │   │       ├── 7zBuffer.h
│   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │       ├── 7zIn.c
│   │   │   │   │       ├── 7zIn.h
│   │   │   │   │       ├── 7zItem.c
│   │   │   │   │       ├── 7zItem.h
│   │   │   │   │       ├── 7zMain.c
│   │   │   │   │       ├── 7zMethodID.c
│   │   │   │   │       ├── 7zMethodID.h
│   │   │   │   │       ├── 7z_C.dsp
│   │   │   │   │       ├── 7z_C.dsw
│   │   │   │   │       ├── makefile
│   │   │   │   │       └── makefile.gcc
│   │   │   │   ├── Compress/
│   │   │   │   │   ├── Branch/
│   │   │   │   │   │   ├── BranchARM.c
│   │   │   │   │   │   ├── BranchARM.h
│   │   │   │   │   │   ├── BranchARMThumb.c
│   │   │   │   │   │   ├── BranchARMThumb.h
│   │   │   │   │   │   ├── BranchIA64.c
│   │   │   │   │   │   ├── BranchIA64.h
│   │   │   │   │   │   ├── BranchPPC.c
│   │   │   │   │   │   ├── BranchPPC.h
│   │   │   │   │   │   ├── BranchSPARC.c
│   │   │   │   │   │   ├── BranchSPARC.h
│   │   │   │   │   │   ├── BranchTypes.h
│   │   │   │   │   │   ├── BranchX86.c
│   │   │   │   │   │   ├── BranchX86.h
│   │   │   │   │   │   ├── BranchX86_2.c
│   │   │   │   │   │   └── BranchX86_2.h
│   │   │   │   │   ├── Huffman/
│   │   │   │   │   │   ├── HuffmanEncode.c
│   │   │   │   │   │   └── HuffmanEncode.h
│   │   │   │   │   ├── Lz/
│   │   │   │   │   │   ├── LzHash.h
│   │   │   │   │   │   ├── MatchFinder.c
│   │   │   │   │   │   ├── MatchFinder.h
│   │   │   │   │   │   ├── MatchFinderMt.c
│   │   │   │   │   │   └── MatchFinderMt.h
│   │   │   │   │   └── Lzma/
│   │   │   │   │       ├── LzmaDecode.c
│   │   │   │   │       ├── LzmaDecode.h
│   │   │   │   │       ├── LzmaDecodeSize.c
│   │   │   │   │       ├── LzmaStateDecode.c
│   │   │   │   │       ├── LzmaStateDecode.h
│   │   │   │   │       ├── LzmaStateTest.c
│   │   │   │   │       ├── LzmaTest.c
│   │   │   │   │       ├── LzmaTypes.h
│   │   │   │   │       ├── kmod/
│   │   │   │   │       │   └── uncomp.c
│   │   │   │   │       ├── kmod.mk
│   │   │   │   │       ├── sqlzma.mk
│   │   │   │   │       ├── testflags.c
│   │   │   │   │       └── uncomp.c
│   │   │   │   ├── CpuArch.h
│   │   │   │   ├── IStream.h
│   │   │   │   ├── Sort.c
│   │   │   │   ├── Sort.h
│   │   │   │   ├── Threads.c
│   │   │   │   ├── Threads.h
│   │   │   │   └── Types.h
│   │   │   ├── CPP/
│   │   │   │   ├── 7zip/
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   └── ParseProperties.h
│   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   └── IArchive.h
│   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── resource.rc
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── 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
│   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   ├── Compress/
│   │   │   │   │   │   ├── Branch/
│   │   │   │   │   │   │   ├── ARM.cpp
│   │   │   │   │   │   │   ├── ARM.h
│   │   │   │   │   │   │   ├── ARMThumb.cpp
│   │   │   │   │   │   │   ├── ARMThumb.h
│   │   │   │   │   │   │   ├── BCJ2Register.cpp
│   │   │   │   │   │   │   ├── BCJRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── IA64.cpp
│   │   │   │   │   │   │   ├── IA64.h
│   │   │   │   │   │   │   ├── PPC.cpp
│   │   │   │   │   │   │   ├── PPC.h
│   │   │   │   │   │   │   ├── SPARC.cpp
│   │   │   │   │   │   │   ├── SPARC.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── x86.cpp
│   │   │   │   │   │   │   ├── x86.h
│   │   │   │   │   │   │   ├── x86_2.cpp
│   │   │   │   │   │   │   └── x86_2.h
│   │   │   │   │   │   ├── ByteSwap/
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   ├── Copy/
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZ/
│   │   │   │   │   │   │   ├── LZOutWindow.cpp
│   │   │   │   │   │   │   ├── LZOutWindow.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA/
│   │   │   │   │   │   │   ├── LZMA.h
│   │   │   │   │   │   │   ├── LZMADecoder.cpp
│   │   │   │   │   │   │   ├── LZMADecoder.h
│   │   │   │   │   │   │   ├── LZMAEncoder.cpp
│   │   │   │   │   │   │   ├── LZMAEncoder.h
│   │   │   │   │   │   │   ├── LZMARegister.cpp
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   ├── LzmaRam.cpp
│   │   │   │   │   │   │   ├── LzmaRam.h
│   │   │   │   │   │   │   ├── LzmaRamDecode.c
│   │   │   │   │   │   │   ├── LzmaRamDecode.h
│   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   └── RangeCoder/
│   │   │   │   │   │       ├── RangeCoder.h
│   │   │   │   │   │       ├── RangeCoderBit.cpp
│   │   │   │   │   │       ├── RangeCoderBit.h
│   │   │   │   │   │       ├── RangeCoderBitTree.h
│   │   │   │   │   │       ├── RangeCoderOpt.h
│   │   │   │   │   │       └── StdAfx.h
│   │   │   │   │   ├── ICoder.h
│   │   │   │   │   ├── IDecl.h
│   │   │   │   │   ├── IPassword.h
│   │   │   │   │   ├── IProgress.h
│   │   │   │   │   ├── IStream.h
│   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   ├── PropID.h
│   │   │   │   │   └── UI/
│   │   │   │   │       ├── Client7z/
│   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │       │   └── makefile
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │       │   ├── Extract.h
│   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │       │   ├── ExtractingFilePath.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
│   │   │   │   │       │   ├── 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.h
│   │   │   │   │       └── Console/
│   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │           └── afxres.h
│   │   │   │   ├── Build.mak
│   │   │   │   ├── Common/
│   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   ├── Buffer.h
│   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   ├── ComTry.h
│   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   ├── Defs.h
│   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   ├── IntToString.h
│   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   ├── MyCom.h
│   │   │   │   │   ├── MyException.h
│   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   ├── MyString.h
│   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   ├── MyVector.h
│   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   ├── Types.h
│   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   └── Wildcard.h
│   │   │   │   └── Windows/
│   │   │   │       ├── DLL.cpp
│   │   │   │       ├── DLL.h
│   │   │   │       ├── Defs.h
│   │   │   │       ├── Error.cpp
│   │   │   │       ├── Error.h
│   │   │   │       ├── FileDir.cpp
│   │   │   │       ├── FileDir.h
│   │   │   │       ├── FileFind.cpp
│   │   │   │       ├── FileFind.h
│   │   │   │       ├── FileIO.cpp
│   │   │   │       ├── FileIO.h
│   │   │   │       ├── FileMapping.cpp
│   │   │   │       ├── FileMapping.h
│   │   │   │       ├── FileName.cpp
│   │   │   │       ├── FileName.h
│   │   │   │       ├── Handle.h
│   │   │   │       ├── MemoryLock.cpp
│   │   │   │       ├── MemoryLock.h
│   │   │   │       ├── PropVariant.cpp
│   │   │   │       ├── PropVariant.h
│   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │       ├── PropVariantConversions.h
│   │   │   │       ├── StdAfx.h
│   │   │   │       ├── Synchronization.cpp
│   │   │   │       ├── Synchronization.h
│   │   │   │       ├── System.cpp
│   │   │   │       ├── System.h
│   │   │   │       ├── Thread.h
│   │   │   │       └── Time.h
│   │   │   ├── Makefile
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs3.3/
│   │   │   │   └── squashfs-tools/
│   │   │   │       ├── Makefile
│   │   │   │       ├── global.h
│   │   │   │       ├── mksquashfs.c
│   │   │   │       ├── mksquashfs.h
│   │   │   │       ├── read_fs.c
│   │   │   │       ├── read_fs.h
│   │   │   │       ├── sort.c
│   │   │   │       ├── sort.h
│   │   │   │       ├── squashfs_fs.h
│   │   │   │       └── unsquashfs.c
│   │   │   └── unuse/
│   │   │       ├── CS/
│   │   │       │   └── 7zip/
│   │   │       │       ├── Common/
│   │   │       │       │   ├── CRC.cs
│   │   │       │       │   ├── CommandLineParser.cs
│   │   │       │       │   ├── InBuffer.cs
│   │   │       │       │   └── OutBuffer.cs
│   │   │       │       ├── Compress/
│   │   │       │       │   ├── LZ/
│   │   │       │       │   │   ├── IMatchFinder.cs
│   │   │       │       │   │   ├── LzBinTree.cs
│   │   │       │       │   │   ├── LzInWindow.cs
│   │   │       │       │   │   └── LzOutWindow.cs
│   │   │       │       │   ├── LZMA/
│   │   │       │       │   │   ├── LzmaBase.cs
│   │   │       │       │   │   ├── LzmaDecoder.cs
│   │   │       │       │   │   └── LzmaEncoder.cs
│   │   │       │       │   ├── LzmaAlone/
│   │   │       │       │   │   ├── LzmaAlone.cs
│   │   │       │       │   │   ├── LzmaAlone.csproj
│   │   │       │       │   │   ├── LzmaAlone.sln
│   │   │       │       │   │   ├── LzmaBench.cs
│   │   │       │       │   │   └── Properties/
│   │   │       │       │   │       ├── AssemblyInfo.cs
│   │   │       │       │   │       ├── Resources.cs
│   │   │       │       │   │       └── Settings.cs
│   │   │       │       │   └── RangeCoder/
│   │   │       │       │       ├── RangeCoder.cs
│   │   │       │       │       ├── RangeCoderBit.cs
│   │   │       │       │       └── RangeCoderBitTree.cs
│   │   │       │       └── ICoder.cs
│   │   │       └── Java/
│   │   │           └── SevenZip/
│   │   │               ├── CRC.java
│   │   │               ├── Compression/
│   │   │               │   ├── LZ/
│   │   │               │   │   ├── BinTree.java
│   │   │               │   │   ├── InWindow.java
│   │   │               │   │   └── OutWindow.java
│   │   │               │   ├── LZMA/
│   │   │               │   │   ├── Base.java
│   │   │               │   │   ├── Decoder.java
│   │   │               │   │   └── Encoder.java
│   │   │               │   └── RangeCoder/
│   │   │               │       ├── BitTreeDecoder.java
│   │   │               │       ├── BitTreeEncoder.java
│   │   │               │       ├── Decoder.java
│   │   │               │       └── Encoder.java
│   │   │               ├── ICodeProgress.java
│   │   │               ├── LzmaAlone.java
│   │   │               └── LzmaBench.java
│   │   ├── squashfs-3.4-cisco/
│   │   │   ├── Makefile
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   ├── lzma.txt
│   │   │   │   ├── lzma465.tar.bz2
│   │   │   │   └── patches/
│   │   │   │       └── lzma465-squashfs.patch
│   │   │   └── squashfs-tools/
│   │   │       ├── Makefile
│   │   │       ├── global.h
│   │   │       ├── lzmainterface.c
│   │   │       ├── lzmainterface.h
│   │   │       ├── mksquashfs.c
│   │   │       ├── mksquashfs.h
│   │   │       ├── read_fs.c
│   │   │       ├── read_fs.h
│   │   │       ├── sort.c
│   │   │       ├── sort.h
│   │   │       ├── squashfs_fs.h
│   │   │       └── unsquashfs.c
│   │   ├── squashfs-3.4-nb4/
│   │   │   ├── Makefile
│   │   │   ├── README.txt
│   │   │   ├── lzma465/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   ├── Types.h
│   │   │   │   │   ├── sqlzma.mk
│   │   │   │   │   └── uncomp.c
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── comp.cc
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   ├── makefile.gcc
│   │   │   │   │   │   │   │   └── sqlzma.mk
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── mksquashfs
│   │   │   ├── sqlzma.h
│   │   │   ├── sqmagic.h
│   │   │   ├── squashfs3.4/
│   │   │   │   ├── ACKNOWLEDGEMENTS
│   │   │   │   ├── CHANGES
│   │   │   │   ├── COPYING
│   │   │   │   ├── INSTALL
│   │   │   │   ├── OLD-READMEs/
│   │   │   │   │   ├── README-2.0
│   │   │   │   │   ├── README-2.1
│   │   │   │   │   ├── README-3.0
│   │   │   │   │   ├── README-3.1
│   │   │   │   │   ├── README-3.2
│   │   │   │   │   ├── README-3.3
│   │   │   │   │   └── README-AMD64
│   │   │   │   ├── PERFORMANCE.README
│   │   │   │   ├── README
│   │   │   │   ├── kernel-patches/
│   │   │   │   │   ├── README
│   │   │   │   │   ├── linux-2.6.12/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.14/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.16/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.18/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.20/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.22/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.23/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.24/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.25/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.26/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   ├── linux-2.6.27-rc4/
│   │   │   │   │   │   └── squashfs3.4-patch
│   │   │   │   │   └── linux-2.6.27-rc4-next/
│   │   │   │   │       └── squashfs3.4-patch
│   │   │   │   └── squashfs-tools/
│   │   │   │       ├── Makefile
│   │   │   │       ├── global.h
│   │   │   │       ├── mksquashfs.c
│   │   │   │       ├── mksquashfs.h
│   │   │   │       ├── read_fs.c
│   │   │   │       ├── read_fs.h
│   │   │   │       ├── sort.c
│   │   │   │       ├── sort.h
│   │   │   │       ├── squashfs_fs.h
│   │   │   │       └── unsquashfs.c
│   │   │   └── unsquashfs-lzma
│   │   ├── squashfs-4.0-lzma/
│   │   │   ├── Makefile
│   │   │   ├── README-4.0
│   │   │   ├── global.h
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── Makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.c.orig
│   │   │   ├── mksquashfs.h
│   │   │   ├── pseudo.c
│   │   │   ├── pseudo.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_compat.h
│   │   │   ├── squashfs_fs.h
│   │   │   ├── squashfs_swap.h
│   │   │   ├── swap.c
│   │   │   ├── uncompress.c
│   │   │   ├── uncompress.h
│   │   │   ├── unsquash-1.c
│   │   │   ├── unsquash-2.c
│   │   │   ├── unsquash-3.c
│   │   │   ├── unsquash-4.c
│   │   │   ├── unsquashfs.c
│   │   │   └── unsquashfs.h
│   │   ├── squashfs-4.0-realtek/
│   │   │   ├── Makefile
│   │   │   ├── compressor.c
│   │   │   ├── compressor.h
│   │   │   ├── global.h
│   │   │   ├── gzip_wrapper.c
│   │   │   ├── lzma/
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── Makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │   │   ├── Lzma/
│   │   │   │   │   │   │   │   ├── LzmaArcRegister.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.cpp
│   │   │   │   │   │   │   │   ├── LzmaFiltersDecode.h
│   │   │   │   │   │   │   │   ├── LzmaHandler.cpp
│   │   │   │   │   │   │   │   ├── LzmaHandler.h
│   │   │   │   │   │   │   │   ├── LzmaIn.cpp
│   │   │   │   │   │   │   │   ├── LzmaIn.h
│   │   │   │   │   │   │   │   ├── LzmaItem.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── Split/
│   │   │   │   │   │   │   │   ├── SplitHandler.cpp
│   │   │   │   │   │   │   │   ├── SplitHandler.h
│   │   │   │   │   │   │   │   ├── SplitHandlerOut.cpp
│   │   │   │   │   │   │   │   ├── SplitRegister.cpp
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── Bundles/
│   │   │   │   │   │   │   ├── Alone7z/
│   │   │   │   │   │   │   │   ├── Alone.dsp
│   │   │   │   │   │   │   │   ├── Alone.dsw
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   ├── Format7zExtractR/
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── resource.rc
│   │   │   │   │   │   │   └── Format7zR/
│   │   │   │   │   │   │       ├── StdAfx.cpp
│   │   │   │   │   │   │       ├── StdAfx.h
│   │   │   │   │   │   │       ├── makefile
│   │   │   │   │   │   │       └── resource.rc
│   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   ├── 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
│   │   │   │   │   │   │   ├── MethodId.cpp
│   │   │   │   │   │   │   ├── MethodId.h
│   │   │   │   │   │   │   ├── MethodProps.cpp
│   │   │   │   │   │   │   ├── MethodProps.h
│   │   │   │   │   │   │   ├── OffsetStream.cpp
│   │   │   │   │   │   │   ├── OffsetStream.h
│   │   │   │   │   │   │   ├── OutBuffer.cpp
│   │   │   │   │   │   │   ├── OutBuffer.h
│   │   │   │   │   │   │   ├── ProgressUtils.cpp
│   │   │   │   │   │   │   ├── ProgressUtils.h
│   │   │   │   │   │   │   ├── RegisterArc.h
│   │   │   │   │   │   │   ├── RegisterCodec.h
│   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   ├── StreamBinder.cpp
│   │   │   │   │   │   │   ├── StreamBinder.h
│   │   │   │   │   │   │   ├── StreamObjects.cpp
│   │   │   │   │   │   │   ├── StreamObjects.h
│   │   │   │   │   │   │   ├── StreamUtils.cpp
│   │   │   │   │   │   │   ├── StreamUtils.h
│   │   │   │   │   │   │   ├── VirtThread.cpp
│   │   │   │   │   │   │   └── VirtThread.h
│   │   │   │   │   │   ├── Compress/
│   │   │   │   │   │   │   ├── Bcj2Coder.cpp
│   │   │   │   │   │   │   ├── Bcj2Coder.h
│   │   │   │   │   │   │   ├── Bcj2Register.cpp
│   │   │   │   │   │   │   ├── BcjCoder.cpp
│   │   │   │   │   │   │   ├── BcjCoder.h
│   │   │   │   │   │   │   ├── BcjRegister.cpp
│   │   │   │   │   │   │   ├── BranchCoder.cpp
│   │   │   │   │   │   │   ├── BranchCoder.h
│   │   │   │   │   │   │   ├── BranchMisc.cpp
│   │   │   │   │   │   │   ├── BranchMisc.h
│   │   │   │   │   │   │   ├── BranchRegister.cpp
│   │   │   │   │   │   │   ├── ByteSwap.cpp
│   │   │   │   │   │   │   ├── ByteSwap.h
│   │   │   │   │   │   │   ├── ByteSwapRegister.cpp
│   │   │   │   │   │   │   ├── CodecExports.cpp
│   │   │   │   │   │   │   ├── CopyCoder.cpp
│   │   │   │   │   │   │   ├── CopyCoder.h
│   │   │   │   │   │   │   ├── CopyRegister.cpp
│   │   │   │   │   │   │   ├── LZMA_Alone/
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsp
│   │   │   │   │   │   │   │   ├── AloneLZMA.dsw
│   │   │   │   │   │   │   │   ├── LzmaAlone.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.cpp
│   │   │   │   │   │   │   │   ├── LzmaBench.h
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.cpp
│   │   │   │   │   │   │   │   ├── LzmaBenchCon.h
│   │   │   │   │   │   │   │   ├── StdAfx.cpp
│   │   │   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   │   │   ├── LzmaDecoder.cpp
│   │   │   │   │   │   │   ├── LzmaDecoder.h
│   │   │   │   │   │   │   ├── LzmaEncoder.cpp
│   │   │   │   │   │   │   ├── LzmaEncoder.h
│   │   │   │   │   │   │   ├── LzmaRegister.cpp
│   │   │   │   │   │   │   ├── RangeCoder.h
│   │   │   │   │   │   │   ├── RangeCoderBit.h
│   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   ├── ICoder.h
│   │   │   │   │   │   ├── IDecl.h
│   │   │   │   │   │   ├── IPassword.h
│   │   │   │   │   │   ├── IProgress.h
│   │   │   │   │   │   ├── IStream.h
│   │   │   │   │   │   ├── MyVersion.h
│   │   │   │   │   │   ├── MyVersionInfo.rc
│   │   │   │   │   │   ├── PropID.h
│   │   │   │   │   │   └── UI/
│   │   │   │   │   │       ├── Client7z/
│   │   │   │   │   │       │   ├── Client7z.cpp
│   │   │   │   │   │       │   ├── Client7z.dsp
│   │   │   │   │   │       │   ├── Client7z.dsw
│   │   │   │   │   │       │   ├── StdAfx.cpp
│   │   │   │   │   │       │   ├── StdAfx.h
│   │   │   │   │   │       │   └── makefile
│   │   │   │   │   │       ├── Common/
│   │   │   │   │   │       │   ├── ArchiveCommandLine.cpp
│   │   │   │   │   │       │   ├── ArchiveCommandLine.h
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveExtractCallback.h
│   │   │   │   │   │       │   ├── ArchiveName.cpp
│   │   │   │   │   │       │   ├── ArchiveName.h
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.cpp
│   │   │   │   │   │       │   ├── ArchiveOpenCallback.h
│   │   │   │   │   │       │   ├── DefaultName.cpp
│   │   │   │   │   │       │   ├── DefaultName.h
│   │   │   │   │   │       │   ├── DirItem.h
│   │   │   │   │   │       │   ├── EnumDirItems.cpp
│   │   │   │   │   │       │   ├── EnumDirItems.h
│   │   │   │   │   │       │   ├── ExitCode.h
│   │   │   │   │   │       │   ├── Extract.cpp
│   │   │   │   │   │       │   ├── Extract.h
│   │   │   │   │   │       │   ├── ExtractMode.h
│   │   │   │   │   │       │   ├── ExtractingFilePath.cpp
│   │   │   │   │   │       │   ├── ExtractingFilePath.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.h
│   │   │   │   │   │       └── Console/
│   │   │   │   │   │           ├── ConsoleClose.cpp
│   │   │   │   │   │           ├── ConsoleClose.h
│   │   │   │   │   │           ├── ExtractCallbackConsole.cpp
│   │   │   │   │   │           ├── ExtractCallbackConsole.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
│   │   │   │   │   ├── Build.mak
│   │   │   │   │   ├── Common/
│   │   │   │   │   │   ├── AutoPtr.h
│   │   │   │   │   │   ├── Buffer.h
│   │   │   │   │   │   ├── CRC.cpp
│   │   │   │   │   │   ├── C_FileIO.cpp
│   │   │   │   │   │   ├── C_FileIO.h
│   │   │   │   │   │   ├── ComTry.h
│   │   │   │   │   │   ├── CommandLineParser.cpp
│   │   │   │   │   │   ├── CommandLineParser.h
│   │   │   │   │   │   ├── Defs.h
│   │   │   │   │   │   ├── DynamicBuffer.h
│   │   │   │   │   │   ├── IntToString.cpp
│   │   │   │   │   │   ├── IntToString.h
│   │   │   │   │   │   ├── ListFileUtils.cpp
│   │   │   │   │   │   ├── ListFileUtils.h
│   │   │   │   │   │   ├── MyCom.h
│   │   │   │   │   │   ├── MyException.h
│   │   │   │   │   │   ├── MyGuidDef.h
│   │   │   │   │   │   ├── MyInitGuid.h
│   │   │   │   │   │   ├── MyString.cpp
│   │   │   │   │   │   ├── MyString.h
│   │   │   │   │   │   ├── MyUnknown.h
│   │   │   │   │   │   ├── MyVector.cpp
│   │   │   │   │   │   ├── MyVector.h
│   │   │   │   │   │   ├── MyWindows.h
│   │   │   │   │   │   ├── NewHandler.cpp
│   │   │   │   │   │   ├── NewHandler.h
│   │   │   │   │   │   ├── StdAfx.h
│   │   │   │   │   │   ├── StdInStream.cpp
│   │   │   │   │   │   ├── StdInStream.h
│   │   │   │   │   │   ├── StdOutStream.cpp
│   │   │   │   │   │   ├── StdOutStream.h
│   │   │   │   │   │   ├── StringConvert.cpp
│   │   │   │   │   │   ├── StringConvert.h
│   │   │   │   │   │   ├── StringToInt.cpp
│   │   │   │   │   │   ├── StringToInt.h
│   │   │   │   │   │   ├── Types.h
│   │   │   │   │   │   ├── UTFConvert.cpp
│   │   │   │   │   │   ├── UTFConvert.h
│   │   │   │   │   │   ├── Wildcard.cpp
│   │   │   │   │   │   └── Wildcard.h
│   │   │   │   │   └── Windows/
│   │   │   │   │       ├── DLL.cpp
│   │   │   │   │       ├── DLL.h
│   │   │   │   │       ├── Defs.h
│   │   │   │   │       ├── Error.cpp
│   │   │   │   │       ├── Error.h
│   │   │   │   │       ├── FileDir.cpp
│   │   │   │   │       ├── FileDir.h
│   │   │   │   │       ├── FileFind.cpp
│   │   │   │   │       ├── FileFind.h
│   │   │   │   │       ├── FileIO.cpp
│   │   │   │   │       ├── FileIO.h
│   │   │   │   │       ├── FileMapping.cpp
│   │   │   │   │       ├── FileMapping.h
│   │   │   │   │       ├── FileName.cpp
│   │   │   │   │       ├── FileName.h
│   │   │   │   │       ├── Handle.h
│   │   │   │   │       ├── MemoryLock.cpp
│   │   │   │   │       ├── MemoryLock.h
│   │   │   │   │       ├── PropVariant.cpp
│   │   │   │   │       ├── PropVariant.h
│   │   │   │   │       ├── PropVariantConversions.cpp
│   │   │   │   │       ├── PropVariantConversions.h
│   │   │   │   │       ├── StdAfx.h
│   │   │   │   │       ├── Synchronization.cpp
│   │   │   │   │       ├── Synchronization.h
│   │   │   │   │       ├── System.cpp
│   │   │   │   │       ├── System.h
│   │   │   │   │       ├── Thread.h
│   │   │   │   │       ├── Time.cpp
│   │   │   │   │       └── Time.h
│   │   │   │   ├── CS/
│   │   │   │   │   └── 7zip/
│   │   │   │   │       ├── Common/
│   │   │   │   │       │   ├── CRC.cs
│   │   │   │   │       │   ├── CommandLineParser.cs
│   │   │   │   │       │   ├── InBuffer.cs
│   │   │   │   │       │   └── OutBuffer.cs
│   │   │   │   │       ├── Compress/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── IMatchFinder.cs
│   │   │   │   │       │   │   ├── LzBinTree.cs
│   │   │   │   │       │   │   ├── LzInWindow.cs
│   │   │   │   │       │   │   └── LzOutWindow.cs
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── LzmaBase.cs
│   │   │   │   │       │   │   ├── LzmaDecoder.cs
│   │   │   │   │       │   │   └── LzmaEncoder.cs
│   │   │   │   │       │   ├── LzmaAlone/
│   │   │   │   │       │   │   ├── LzmaAlone.cs
│   │   │   │   │       │   │   ├── LzmaAlone.csproj
│   │   │   │   │       │   │   ├── LzmaAlone.sln
│   │   │   │   │       │   │   ├── LzmaBench.cs
│   │   │   │   │       │   │   └── Properties/
│   │   │   │   │       │   │       ├── AssemblyInfo.cs
│   │   │   │   │       │   │       ├── Resources.cs
│   │   │   │   │       │   │       └── Settings.cs
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── RangeCoder.cs
│   │   │   │   │       │       ├── RangeCoderBit.cs
│   │   │   │   │       │       └── RangeCoderBitTree.cs
│   │   │   │   │       └── ICoder.cs
│   │   │   │   ├── Java/
│   │   │   │   │   └── SevenZip/
│   │   │   │   │       ├── CRC.java
│   │   │   │   │       ├── Compression/
│   │   │   │   │       │   ├── LZ/
│   │   │   │   │       │   │   ├── BinTree.java
│   │   │   │   │       │   │   ├── InWindow.java
│   │   │   │   │       │   │   └── OutWindow.java
│   │   │   │   │       │   ├── LZMA/
│   │   │   │   │       │   │   ├── Base.java
│   │   │   │   │       │   │   ├── Decoder.java
│   │   │   │   │       │   │   └── Encoder.java
│   │   │   │   │       │   └── RangeCoder/
│   │   │   │   │       │       ├── BitTreeDecoder.java
│   │   │   │   │       │       ├── BitTreeEncoder.java
│   │   │   │   │       │       ├── Decoder.java
│   │   │   │   │       │       └── Encoder.java
│   │   │   │   │       ├── ICodeProgress.java
│   │   │   │   │       ├── LzmaAlone.java
│   │   │   │   │       └── LzmaBench.java
│   │   │   │   ├── Methods.txt
│   │   │   │   ├── history.txt
│   │   │   │   └── lzma.txt
│   │   │   ├── lzma_wrapper.c
│   │   │   ├── mksquashfs.c
│   │   │   ├── mksquashfs.h
│   │   │   ├── pseudo.c
│   │   │   ├── pseudo.h
│   │   │   ├── read_fs.c
│   │   │   ├── read_fs.h
│   │   │   ├── sort.c
│   │   │   ├── sort.h
│   │   │   ├── squashfs_compat.h
│   │   │   ├── squashfs_fs.h
│   │   │   ├── squashfs_swap.h
│   │   │   ├── swap.c
│   │   │   ├── unsquash-1.c
│   │   │   ├── unsquash-2.c
│   │   │   ├── unsquash-3.c
│   │   │   ├── unsquash-4.c
│   │   │   ├── unsquashfs.c
│   │   │   └── unsquashfs.h
│   │   ├── squashfs-4.2/
│   │   │   ├── ACKNOWLEDGEMENTS
│   │   │   ├── CHANGES
│   │   │   ├── COPYING
│   │   │   ├── DONATIONS
│   │   │   ├── INSTALL
│   │   │   ├── Makefile
│   │   │   ├── OLD-READMEs/
│   │   │   │   ├── README-2.0
│   │   │   │   ├── README-2.1
│   │   │   │   ├── README-3.0
│   │   │   │   ├── README-3.1
│   │   │   │   ├── README-3.2
│   │   │   │   ├── README-3.3
│   │   │   │   ├── README-4.0
│   │   │   │   ├── README-4.1
│   │   │   │   └── README-AMD64
│   │   │   ├── PERFORMANCE.README
│   │   │   ├── README
│   │   │   ├── README-4.2
│   │   │   ├── lzma-4.65/
│   │   │   │   ├── .built
│   │   │   │   ├── .built_check
│   │   │   │   ├── .configured
│   │   │   │   ├── .prepared1a23cc84ca172080ca2c2f332cb31052
│   │   │   │   ├── .prepared1a23cc84ca172080ca2c2f332cb31052_check
│   │   │   │   ├── 7zC.txt
│   │   │   │   ├── 7zFormat.txt
│   │   │   │   ├── C/
│   │   │   │   │   ├── 7zBuf.c
│   │   │   │   │   ├── 7zBuf.h
│   │   │   │   │   ├── 7zBuf2.c
│   │   │   │   │   ├── 7zCrc.c
│   │   │   │   │   ├── 7zCrc.h
│   │   │   │   │   ├── 7zFile.c
│   │   │   │   │   ├── 7zFile.h
│   │   │   │   │   ├── 7zStream.c
│   │   │   │   │   ├── 7zVersion.h
│   │   │   │   │   ├── Alloc.c
│   │   │   │   │   ├── Alloc.h
│   │   │   │   │   ├── Archive/
│   │   │   │   │   │   └── 7z/
│   │   │   │   │   │       ├── 7z.dsp
│   │   │   │   │   │       ├── 7z.dsw
│   │   │   │   │   │       ├── 7zAlloc.c
│   │   │   │   │   │       ├── 7zAlloc.h
│   │   │   │   │   │       ├── 7zDecode.c
│   │   │   │   │   │       ├── 7zDecode.h
│   │   │   │   │   │       ├── 7zExtract.c
│   │   │   │   │   │       ├── 7zExtract.h
│   │   │   │   │   │       ├── 7zHeader.c
│   │   │   │   │   │       ├── 7zHeader.h
│   │   │   │   │   │       ├── 7zIn.c
│   │   │   │   │   │       ├── 7zIn.h
│   │   │   │   │   │       ├── 7zItem.c
│   │   │   │   │   │       ├── 7zItem.h
│   │   │   │   │   │       ├── 7zMain.c
│   │   │   │   │   │       ├── makefile
│   │   │   │   │   │       └── makefile.gcc
│   │   │   │   │   ├── Bcj2.c
│   │   │   │   │   ├── Bcj2.h
│   │   │   │   │   ├── Bra.c
│   │   │   │   │   ├── Bra.h
│   │   │   │   │   ├── Bra86.c
│   │   │   │   │   ├── BraIA64.c
│   │   │   │   │   ├── CpuArch.h
│   │   │   │   │   ├── LzFind.c
│   │   │   │   │   ├── LzFind.h
│   │   │   │   │   ├── LzFindMt.c
│   │   │   │   │   ├── LzFindMt.h
│   │   │   │   │   ├── LzHash.h
│   │   │   │   │   ├── LzmaDec.c
│   │   │   │   │   ├── LzmaDec.h
│   │   │   │   │   ├── LzmaEnc.c
│   │   │   │   │   ├── LzmaEnc.h
│   │   │   │   │   ├── LzmaLib/
│   │   │   │   │   │   ├── LzmaLib.def
│   │   │   │   │   │   ├── LzmaLib.dsp
│   │   │   │   │   │   ├── LzmaLib.dsw
│   │   │   │   │   │   ├── LzmaLibExports.c
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── resource.rc
│   │   │   │   │   ├── LzmaLib.c
│   │   │   │   │   ├── LzmaLib.h
│   │   │   │   │   ├── LzmaUtil/
│   │   │   │   │   │   ├── Lzma86Dec.c
│   │   │   │   │   │   ├── Lzma86Dec.h
│   │   │   │   │   │   ├── Lzma86Enc.c
│   │   │   │   │   │   ├── Lzma86Enc.h
│   │   │   │   │   │   ├── LzmaUtil.c
│   │   │   │   │   │   ├── LzmaUtil.dsp
│   │   │   │   │   │   ├── LzmaUtil.dsw
│   │   │   │   │   │   ├── lzma
│   │   │   │   │   │   ├── makefile
│   │   │   │   │   │   └── makefile.gcc
│   │   │   │   │   ├── Threads.c
│   │   │   │   │   ├── Threads.h
│   │   │   │   │   └── Types.h
│   │   │   │   ├── CPP/
│   │   │   │   │   ├── 7zip/
│   │   │   │   │   │   ├── Archive/
│   │   │   │   │   │   │   ├── 7z/
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.cpp
│   │   │   │   │   │   │   │   ├── 7zCompressionMode.h
│   │   │   │   │   │   │   │   ├── 7zDecode.cpp
│   │   │   │   │   │   │   │   ├── 7zDecode.h
│   │   │   │   │   │   │   │   ├── 7zEncode.cpp
│   │   │   │   │   │   │   │   ├── 7zEncode.h
│   │   │   │   │   │   │   │   ├── 7zExtract.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderInStream.h
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.cpp
│   │   │   │   │   │   │   │   ├── 7zFolderOutStream.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
│   │   │   │   │   │   │   ├── Archive.def
│   │   │   │   │   │   │   ├── Archive2.def
│   │   │   │   │   │   │   ├── ArchiveExports.cpp
│   │   │   │   │   │   │   ├── Common/
│   │   │   │   │   │   │   │   ├── CoderMixer2.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2.h
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.cpp
│   │   │   │   │   │   │   │   ├── CoderMixer2MT.h
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.cpp
│   │   │   │   │   │   │   │   ├── CrossThreadProgress.h
│   │   │   │   │   │   │   │   ├── DummyOutStream.cpp
│   │   │   │   │   │   │   │   ├── DummyOutStream.h
│   │   │   │   │   │   │   │   ├── HandlerOut.cpp
│   │   │   │   │   │   │   │   ├── HandlerOut.h
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── InStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ItemNameUtils.cpp
│   │   │   │   │   │   │   │   ├── ItemNameUtils.h
│   │   │   │   │   │   │   │   ├── MultiStream.cpp
│   │   │   │   │   │   │   │   ├── MultiStream.h
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.cpp
│   │   │   │   │   │   │   │   ├── OutStreamWithCRC.h
│   │   │   │   │   │   │   │   ├── ParseProperties.cpp
│   │   │   │   │   │   │   │   ├── ParseProperties.h
│   │   │   │   │   │   │   │   └── StdAfx.h
│   │   │   │   │   │   │   ├── DllExports2.cpp
│   │   │   │   │   │   │   ├── IArchive.h
│   │   │   │   │   │ 
Download .txt
Showing preview only (2,581K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (29999 symbols across 3353 files)

FILE: src/addpattern.c
  type code_header (line 61) | struct code_header {			/* from cyutils.h */
  function usage (line 76) | void usage(void)
  function main (line 82) | int main(int argc, char **argv)

FILE: src/asustrx.c
  function u_int32_t (line 75) | u_int32_t flip_endian(u_int32_t nValue)
  type trx_header (line 111) | struct trx_header {
  function usage (line 123) | void usage(void)
  function main (line 129) | int main(int argc, char **argv)
  function crc32buf (line 448) | uint32_t crc32buf(char *buf, size_t len)

FILE: src/bff/bff_huffman_decompress.c
  type unpack_descriptor_t (line 70) | typedef struct {
  function maybe_err (line 89) | int maybe_err(char*fmt,...) {
  function maybe_errx (line 92) | int maybe_errx(char*fmt,...) {
  function unpack_descriptor_fini (line 104) | static void
  function unpackd_fill_inodesin (line 120) | static void
  function accepted_bytes (line 140) | static void
  function unpack_parse_header (line 154) | static void
  function unpack_decode (line 251) | static void
  function off_t (line 313) | static off_t
  function usage (line 325) | void
  function main (line 329) | int

FILE: src/bff/bffxtractor.py
  function _mkdir (line 13) | def _mkdir(newdir):

FILE: src/binwalk-0.4.1/src/binwalk.c
  function main (line 14) | int main(int argc, char *argv[])
  function process_file (line 283) | int process_file(char *bin_file, struct binconf *config, struct magic_si...
  function usage (line 396) | void usage(char *progname)

FILE: src/binwalk-0.4.1/src/binwalk.h
  type magic_signature (line 64) | struct magic_signature
  type binconf (line 72) | struct binconf
  type binconf (line 85) | struct binconf
  type magic_signature (line 85) | struct magic_signature
  type magic_filter (line 85) | struct magic_filter

FILE: src/binwalk-0.4.1/src/common.c
  function str2int (line 19) | int str2int(char *str)
  type stat (line 64) | struct stat
  function print (line 122) | void print(const char* format, ...)
  type tm (line 147) | struct tm

FILE: src/binwalk-0.4.1/src/common.h
  type bin_globals (line 9) | struct bin_globals

FILE: src/binwalk-0.4.1/src/filter.c
  function add_filter (line 8) | void add_filter(struct magic_filter *filters[], int *filter_count, enum ...
  function filter_check (line 32) | enum filter_result_t filter_check(struct magic_filter *filters[], int fi...
  function string_contains (line 77) | int string_contains(char *haystack, char *needle)
  function uppercase (line 106) | void uppercase(char *string)

FILE: src/binwalk-0.4.1/src/filter.h
  type filter_type_t (line 6) | enum filter_type_t
  type filter_result_t (line 13) | enum filter_result_t
  type magic_filter (line 21) | struct magic_filter
  type magic_filter (line 28) | struct magic_filter
  type filter_type_t (line 28) | enum filter_type_t
  type filter_result_t (line 29) | enum filter_result_t
  type magic_filter (line 29) | struct magic_filter

FILE: src/binwalk-0.4.1/src/md5.c
  function md5_process (line 207) | static void
  function md5_init (line 365) | void
  function md5_append (line 375) | void
  function md5_finish (line 413) | void

FILE: src/binwalk-0.4.1/src/md5.h
  type md5_byte_t (line 63) | typedef unsigned char md5_byte_t;
  type md5_word_t (line 64) | typedef unsigned int md5_word_t;
  type md5_state_t (line 67) | typedef struct md5_state_s {

FILE: src/binwalk-0.4.1/src/mparse.c
  type magic_filter (line 13) | struct magic_filter

FILE: src/binwalk-0.4.1/src/mparse.h
  type magic_filter (line 28) | struct magic_filter

FILE: src/binwalk-0.4.1/src/update.c
  function write_data (line 10) | size_t write_data(void *ptr, size_t size, size_t nmemb, FILE *fp)
  function update_magic_file (line 19) | int update_magic_file(char *url, char *outfile)

FILE: src/binwalk-1.0/src/binwalk/__init__.py
  class Binwalk (line 12) | class Binwalk:
    method __init__ (line 47) | def __init__(self, magic_files=[], flags=magic.MAGIC_NONE, log=None, q...
    method __del__ (line 101) | def __del__(self):
    method cleanup (line 107) | def cleanup(self):
    method load_signatures (line 118) | def load_signatures(self, magic_files=[], pre_filter_signatures=True, ...
    method scan (line 142) | def scan(self, target_file, offset=0, length=0, align=DEFAULT_BYTE_ALI...
    method _should_display (line 327) | def _should_display(self, data):
    method _read_block (line 338) | def _read_block(self, fd):

FILE: src/binwalk-1.0/src/binwalk/common.py
  function file_size (line 5) | def file_size(filename):
  function str2int (line 22) | def str2int(string):
  function strip_quoted_strings (line 36) | def strip_quoted_strings(string):
  function get_quoted_strings (line 51) | def get_quoted_strings(string):

FILE: src/binwalk-1.0/src/binwalk/config.py
  class Config (line 3) | class Config:
    method __init__ (line 48) | def __init__(self):
    method _get_system_dir (line 75) | def _get_system_dir(self):
    method _get_user_dir (line 87) | def _get_user_dir(self):
    method _file_path (line 97) | def _file_path(self, dirname, filename):
    method _user_file (line 122) | def _user_file(self, subdir, basename):
    method _system_file (line 133) | def _system_file(self, subdir, basename):

FILE: src/binwalk-1.0/src/binwalk/extractor.py
  class Extractor (line 9) | class Extractor:
    method __init__ (line 43) | def __init__(self, verbose=False):
    method add_rule (line 58) | def add_rule(self, rule):
    method enable_delayed_extract (line 97) | def enable_delayed_extract(self, tf=None):
    method load_from_file (line 111) | def load_from_file(self, fname):
    method load_defaults (line 126) | def load_defaults(self):
    method cleanup_extracted_files (line 145) | def cleanup_extracted_files(self, tf=None):
    method extract (line 160) | def extract(self, offset, description, file_name, size, name=None):
    method delayed_extract (line 214) | def delayed_extract(self, results, file_name, size):
    method _entry_offset (line 251) | def _entry_offset(self, index, entries, description):
    method _match (line 270) | def _match(self, description):
    method _parse_rule (line 287) | def _parse_rule(self, rule):
    method _dd (line 297) | def _dd(self, file_name, offset, size, extension, output_file_name=None):
    method _execute (line 344) | def _execute(self, cmd, fname):

FILE: src/binwalk-1.0/src/binwalk/filter.py
  class MagicFilter (line 4) | class MagicFilter:
    method __init__ (line 42) | def __init__(self, show_invalid_results=False):
    method include (line 56) | def include(self, match, exclusive=True):
    method exclude (line 88) | def exclude(self, match):
    method filter (line 112) | def filter(self, data):
    method invalid (line 136) | def invalid(self, data):
    method grep (line 164) | def grep(self, data=None, filters=[]):
    method clear (line 205) | def clear(self):

FILE: src/binwalk-1.0/src/binwalk/parser.py
  class MagicParser (line 5) | class MagicParser:
    method __init__ (line 52) | def __init__(self, filter=None, smart=None):
    method __del__ (line 70) | def __del__(self):
    method cleanup (line 76) | def cleanup(self):
    method file_from_string (line 93) | def file_from_string(self, signature_string, offset=0, display_name=DE...
    method parse (line 108) | def parse(self, file_name, filter_short_signatures=True, pre_filter_si...
    method parse_file (line 132) | def parse_file(self, file_name, filter_short_signatures=True, pre_filt...
    method _is_short (line 196) | def _is_short(self, entry):
    method _parse_line (line 211) | def _parse_line(self, line):
    method build_signature_set (line 294) | def build_signature_set(self):
    method _to_string (line 308) | def _to_string(self, value, size, endianess):
    method split (line 328) | def split(self, data):

FILE: src/binwalk-1.0/src/binwalk/prettyprint.py
  class PrettyPrint (line 5) | class PrettyPrint:
    method __init__ (line 24) | def __init__(self, log=None, quiet=False, bwalk=None, verbose=0):
    method __del__ (line 44) | def __del__(self):
    method _log (line 54) | def _log(self, data):
    method _pprint (line 61) | def _pprint(self, data):
    method _file_md5 (line 69) | def _file_md5(self, file_name):
    method file_info (line 81) | def file_info(self, file_name):
    method header (line 96) | def header(self, file_name=None):
    method footer (line 110) | def footer(self):
    method results (line 118) | def results(self, offset, results):

FILE: src/binwalk-1.0/src/binwalk/smartsig.py
  class SmartSignature (line 4) | class SmartSignature:
    method __init__ (line 34) | def __init__(self, filter, pre_filter_signatures=True):
    method parse (line 47) | def parse(self, data):
    method _is_valid (line 97) | def _is_valid(self, data):
    method _one_of_many (line 120) | def _one_of_many(self, data):
    method _get_keyword_arg (line 141) | def _get_keyword_arg(self, data, keyword):
    method _get_math_arg (line 158) | def _get_math_arg(self, data, keyword):
    method _jump (line 179) | def _jump(self, data):
    method _parse_raw_strings (line 198) | def _parse_raw_strings(self, data):
    method include (line 225) | def include(self, data):
    method _strip_tags (line 243) | def _strip_tags(self, data):

FILE: src/binwalk-1.0/src/binwalk/update.py
  class Update (line 4) | class Update:
    method __init__ (line 18) | def __init__(self):
    method update (line 24) | def update(self):
    method _do_update_from_svn (line 35) | def _do_update_from_svn(self, prefix, fname):
    method update_binwalk (line 52) | def update_binwalk(self):
    method update_bincast (line 60) | def update_bincast(self):
    method update_binarch (line 68) | def update_binarch(self):
    method update_extract (line 76) | def update_extract(self):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/__init__.py
  class Binwalk (line 12) | class Binwalk:
    method __init__ (line 47) | def __init__(self, magic_files=[], flags=magic.MAGIC_NONE, log=None, q...
    method __del__ (line 101) | def __del__(self):
    method cleanup (line 107) | def cleanup(self):
    method load_signatures (line 118) | def load_signatures(self, magic_files=[], pre_filter_signatures=True, ...
    method scan (line 142) | def scan(self, target_file, offset=0, length=0, align=DEFAULT_BYTE_ALI...
    method _should_display (line 327) | def _should_display(self, data):
    method _read_block (line 338) | def _read_block(self, fd):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/common.py
  function file_size (line 5) | def file_size(filename):
  function str2int (line 22) | def str2int(string):
  function strip_quoted_strings (line 36) | def strip_quoted_strings(string):
  function get_quoted_strings (line 51) | def get_quoted_strings(string):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/config.py
  class Config (line 3) | class Config:
    method __init__ (line 48) | def __init__(self):
    method _get_system_dir (line 75) | def _get_system_dir(self):
    method _get_user_dir (line 87) | def _get_user_dir(self):
    method _file_path (line 97) | def _file_path(self, dirname, filename):
    method _user_file (line 122) | def _user_file(self, subdir, basename):
    method _system_file (line 133) | def _system_file(self, subdir, basename):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/extractor.py
  class Extractor (line 9) | class Extractor:
    method __init__ (line 43) | def __init__(self, verbose=False):
    method add_rule (line 58) | def add_rule(self, rule):
    method enable_delayed_extract (line 97) | def enable_delayed_extract(self, tf=None):
    method load_from_file (line 111) | def load_from_file(self, fname):
    method load_defaults (line 126) | def load_defaults(self):
    method cleanup_extracted_files (line 145) | def cleanup_extracted_files(self, tf=None):
    method extract (line 160) | def extract(self, offset, description, file_name, size, name=None):
    method delayed_extract (line 214) | def delayed_extract(self, results, file_name, size):
    method _entry_offset (line 251) | def _entry_offset(self, index, entries, description):
    method _match (line 270) | def _match(self, description):
    method _parse_rule (line 287) | def _parse_rule(self, rule):
    method _dd (line 297) | def _dd(self, file_name, offset, size, extension, output_file_name=None):
    method _execute (line 344) | def _execute(self, cmd, fname):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/filter.py
  class MagicFilter (line 4) | class MagicFilter:
    method __init__ (line 42) | def __init__(self, show_invalid_results=False):
    method include (line 56) | def include(self, match, exclusive=True):
    method exclude (line 88) | def exclude(self, match):
    method filter (line 112) | def filter(self, data):
    method invalid (line 136) | def invalid(self, data):
    method grep (line 164) | def grep(self, data=None, filters=[]):
    method clear (line 205) | def clear(self):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/parser.py
  class MagicParser (line 5) | class MagicParser:
    method __init__ (line 52) | def __init__(self, filter=None, smart=None):
    method __del__ (line 70) | def __del__(self):
    method cleanup (line 76) | def cleanup(self):
    method file_from_string (line 93) | def file_from_string(self, signature_string, offset=0, display_name=DE...
    method parse (line 108) | def parse(self, file_name, filter_short_signatures=True, pre_filter_si...
    method parse_file (line 132) | def parse_file(self, file_name, filter_short_signatures=True, pre_filt...
    method _is_short (line 196) | def _is_short(self, entry):
    method _parse_line (line 211) | def _parse_line(self, line):
    method build_signature_set (line 294) | def build_signature_set(self):
    method _to_string (line 308) | def _to_string(self, value, size, endianess):
    method split (line 328) | def split(self, data):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/prettyprint.py
  class PrettyPrint (line 5) | class PrettyPrint:
    method __init__ (line 24) | def __init__(self, log=None, quiet=False, bwalk=None, verbose=0):
    method __del__ (line 44) | def __del__(self):
    method _log (line 54) | def _log(self, data):
    method _pprint (line 61) | def _pprint(self, data):
    method _file_md5 (line 69) | def _file_md5(self, file_name):
    method file_info (line 81) | def file_info(self, file_name):
    method header (line 96) | def header(self, file_name=None):
    method footer (line 110) | def footer(self):
    method results (line 118) | def results(self, offset, results):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/smartsig.py
  class SmartSignature (line 4) | class SmartSignature:
    method __init__ (line 34) | def __init__(self, filter, pre_filter_signatures=True):
    method parse (line 47) | def parse(self, data):
    method _is_valid (line 97) | def _is_valid(self, data):
    method _one_of_many (line 120) | def _one_of_many(self, data):
    method _get_keyword_arg (line 141) | def _get_keyword_arg(self, data, keyword):
    method _get_math_arg (line 158) | def _get_math_arg(self, data, keyword):
    method _jump (line 179) | def _jump(self, data):
    method _parse_raw_strings (line 198) | def _parse_raw_strings(self, data):
    method include (line 225) | def include(self, data):
    method _strip_tags (line 243) | def _strip_tags(self, data):

FILE: src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/update.py
  class Update (line 4) | class Update:
    method __init__ (line 18) | def __init__(self):
    method update (line 24) | def update(self):
    method _do_update_from_svn (line 35) | def _do_update_from_svn(self, prefix, fname):
    method update_binwalk (line 52) | def update_binwalk(self):
    method update_bincast (line 60) | def update_bincast(self):
    method update_binarch (line 68) | def update_binarch(self):
    method update_extract (line 76) | def update_extract(self):

FILE: src/cramfs-2.x/cramfsck.c
  type cramfs_super (line 74) | struct cramfs_super
  type cramfs_inode (line 99) | struct cramfs_inode
  function usage (line 103) | static void usage(int status)
  function die (line 116) | static void die(int status, int syserr, const char *fmt, ...)
  function test_super (line 133) | static void test_super(int *start, size_t *length) {
  function test_crc (line 204) | static void test_crc(int start)
  function print_node (line 268) | static void print_node(char type, struct cramfs_inode *i, char *name)
  type cramfs_inode (line 299) | struct cramfs_inode
  type cramfs_inode (line 299) | struct cramfs_inode
  type cramfs_inode (line 301) | struct cramfs_inode
  type cramfs_inode (line 301) | struct cramfs_inode
  type cramfs_inode (line 310) | struct cramfs_inode
  function iput (line 315) | static void iput(struct cramfs_inode *inode)
  type cramfs_inode (line 323) | struct cramfs_inode
  type cramfs_super (line 330) | struct cramfs_super
  type cramfs_super (line 331) | struct cramfs_super
  function uncompress_block (line 338) | static int uncompress_block(void *src, int len)
  function do_uncompress (line 361) | static void do_uncompress(char *path, int fd, unsigned long offset, unsi...
  function change_file_status (line 407) | static void change_file_status(char *path, struct cramfs_inode *i)
  function do_directory (line 430) | static void do_directory(char *path, struct cramfs_inode *i)
  function do_file (line 492) | static void do_file(char *path, struct cramfs_inode *i)
  function do_symlink (line 524) | static void do_symlink(char *path, struct cramfs_inode *i)
  function do_special_inode (line 568) | static void do_special_inode(char *path, struct cramfs_inode *i)
  function expand_fs (line 613) | static void expand_fs(char *path, struct cramfs_inode *inode)
  function test_fs (line 629) | static void test_fs(int start)
  function main (line 658) | int main(int argc, char **argv)

FILE: src/cramfs-2.x/linux/cramfs_fs.h
  type u8 (line 6) | typedef unsigned char u8;
  type u16 (line 7) | typedef unsigned short u16;
  type u32 (line 8) | typedef unsigned int u32;
  type cramfs_inode (line 35) | struct cramfs_inode {
  type cramfs_info (line 50) | struct cramfs_info {
  type cramfs_super (line 60) | struct cramfs_super {

FILE: src/cramfs-2.x/linux/cramfs_fs_sb.h
  type cramfs_sb_info (line 7) | struct cramfs_sb_info {

FILE: src/cramfs-2.x/mkcramfs.c
  type entry (line 100) | struct entry {
  function usage (line 122) | static void usage(int status)
  function die (line 142) | static void die(int status, int syserr, const char *fmt, ...)
  function map_entry (line 159) | static void map_entry(struct entry *entry)
  function unmap_entry (line 173) | static void unmap_entry(struct entry *entry)
  function find_identical_file (line 183) | static int find_identical_file(struct entry *orig, struct entry *newfile)
  function eliminate_doubles (line 207) | static void eliminate_doubles(struct entry *root, struct entry *orig) {
  function cramsort (line 220) | static int cramsort (const void *a, const void *b)
  function parse_directory (line 226) | static unsigned int parse_directory(struct entry *root_entry, const char...
  function write_superblock (line 376) | static unsigned int write_superblock(struct entry *root, char *base, int...
  function set_data_offset (line 412) | static void set_data_offset(struct entry *entry, char *base, unsigned lo...
  function print_node (line 430) | static void print_node(struct entry *e)
  function write_directory_structure (line 461) | static unsigned int write_directory_structure(struct entry *entry, char ...
  function is_zero (line 554) | static int is_zero(char const *begin, unsigned len)
  function do_compress (line 578) | static unsigned int do_compress(char *base, unsigned int offset, char co...
  function write_data (line 635) | static unsigned int write_data(struct entry *entry, char *base, unsigned...
  function write_file (line 658) | static unsigned int write_file(char *file, char *base, unsigned int offset)
  function main (line 682) | int main(int argc, char **argv)

FILE: src/cramfsswap/cramfsswap.c
  function main (line 27) | int main(int argc, char *argv[])

FILE: src/crcalc/crc.c
  function crc32 (line 113) | uint32_t crc32(char *buf, size_t len)

FILE: src/crcalc/crcalc.c
  function main (line 15) | int main(int argc, char *argv[])
  function parse_log (line 110) | int parse_log(char *file, int offsets[MAX_HEAD_SIZE])
  function is_whitespace (line 156) | int is_whitespace(char *string)
  type stat (line 176) | struct stat
  function file_write (line 223) | int file_write(char *fname, char *buf, size_t size)
  function identify_header (line 247) | enum header_type identify_header(char *buf)

FILE: src/crcalc/crcalc.h
  type header_type (line 23) | enum header_type
  type header_type (line 35) | enum header_type

FILE: src/crcalc/md5.c
  function md5_process (line 207) | static void
  function md5_init (line 365) | void
  function md5_append (line 375) | void
  function md5_finish (line 413) | void

FILE: src/crcalc/md5.h
  type md5_byte_t (line 63) | typedef unsigned char md5_byte_t;
  type md5_word_t (line 64) | typedef unsigned int md5_word_t;
  type md5_state_t (line 67) | typedef struct md5_state_s {

FILE: src/crcalc/patch.c
  function patch_trx (line 8) | int patch_trx(char *buf, size_t size)
  function patch_uimage (line 32) | int patch_uimage(char *buf, size_t size)
  function patch_dlob (line 62) | int patch_dlob(char *buf, size_t size)

FILE: src/crcalc/patch.h
  type trx_header (line 7) | struct trx_header {
  type uimage_header (line 17) | struct uimage_header {
  type dlob_header (line 34) | struct dlob_header {

FILE: src/firmware-tools/add_header.c
  function init_crc32 (line 43) | static void init_crc32()
  function crc32buf (line 58) | static uint32_t crc32buf(unsigned char *buf, size_t len)
  type header (line 67) | struct header {
  function usage (line 74) | static void usage(const char *mess)
  function main (line 82) | int main(int argc, char **argv)

FILE: src/firmware-tools/addpattern.c
  type code_header (line 81) | struct code_header {			/* from cyutils.h */
  type board_info (line 98) | struct board_info {
  type board_info (line 106) | struct board_info
  function usage (line 123) | void usage(void)
  type board_info (line 129) | struct board_info
  type board_info (line 131) | struct board_info
  function main (line 140) | int main(int argc, char **argv)

FILE: src/firmware-tools/airlink.c
  type uchar (line 28) | typedef unsigned char uchar;
  function generate_image (line 106) | int generate_image(char *kname, char *fsname, char *fname, int EHDR)
  function crc32 (line 154) | uint32_t crc32(uchar * buf, uint32_t len)
  function usage (line 167) | void usage(char *prog)
  function main (line 181) | int main(int argc, char **argv)

FILE: src/firmware-tools/bcm_tag.h
  type bcm_tag (line 40) | struct bcm_tag {

FILE: src/firmware-tools/buffalo-enc.c
  function usage (line 38) | void usage(int status)
  function decrypt_file (line 60) | static int decrypt_file(void)
  function encrypt_file (line 115) | static int encrypt_file(void)
  function check_params (line 176) | static int check_params(void)
  function main (line 231) | int main(int argc, char *argv[])

FILE: src/firmware-tools/buffalo-lib.c
  function bcrypt_init (line 87) | int bcrypt_init(struct bcrypt_ctx *ctx, void *key, int keylen,
  function bcrypt_process (line 119) | int bcrypt_process(struct bcrypt_ctx *ctx, unsigned char *src,
  function bcrypt_finish (line 148) | void bcrypt_finish(struct bcrypt_ctx *ctx)
  function bcrypt_buf (line 154) | int bcrypt_buf(unsigned char seed, unsigned char *key, unsigned char *src,
  function buffalo_csum (line 180) | uint32_t buffalo_csum(uint32_t csum, void *buf, unsigned long len)
  function buffalo_crc (line 195) | uint32_t buffalo_crc(void *buf, unsigned long len)
  function enc_compute_header_len (line 212) | unsigned long enc_compute_header_len(char *product, char *version)
  function enc_compute_buf_len (line 218) | unsigned long enc_compute_buf_len(char *product, char *version,
  function put_be32 (line 230) | static void put_be32(void *data, uint32_t val)
  function get_be32 (line 240) | static uint32_t get_be32(void *data)
  function check_magic (line 250) | static int check_magic(void *magic)
  function encrypt_buf (line 261) | int encrypt_buf(struct enc_param *ep, unsigned char *hdr,
  function decrypt_buf (line 323) | int decrypt_buf(struct enc_param *ep, unsigned char *data,
  function get_file_size (line 421) | ssize_t get_file_size(char *name)
  function read_file_to_buf (line 433) | int read_file_to_buf(char *name, void *buf, ssize_t buflen)
  function write_buf_to_file (line 456) | int write_buf_to_file(char *name, void *buf, ssize_t buflen)

FILE: src/firmware-tools/buffalo-lib.h
  type buffalo_tag (line 27) | struct buffalo_tag {
  type buffalo_tag2 (line 50) | struct buffalo_tag2 {
  type enc_param (line 80) | struct enc_param {
  type enc_param (line 91) | struct enc_param
  type enc_param (line 93) | struct enc_param
  type bcrypt_ctx (line 99) | struct bcrypt_ctx {
  type bcrypt_ctx (line 106) | struct bcrypt_ctx
  type bcrypt_ctx (line 108) | struct bcrypt_ctx
  type bcrypt_ctx (line 110) | struct bcrypt_ctx

FILE: src/firmware-tools/buffalo-tag.c
  function usage (line 52) | void usage(int status)
  function check_params (line 81) | static int check_params(void)
  function process_region (line 120) | static int process_region(char *reg)
  function process_ifname (line 148) | static int process_ifname(char *name)
  function fixup_tag (line 159) | static void fixup_tag(unsigned char *buf, ssize_t buflen)
  function fixup_tag2 (line 195) | static void fixup_tag2(unsigned char *buf, ssize_t buflen)
  function tag_file (line 230) | static int tag_file(void)
  function main (line 292) | int main(int argc, char *argv[])

FILE: src/firmware-tools/buffalo-tftp.c
  function usage (line 31) | void usage(int status)
  function crypt_header (line 53) | static void crypt_header(unsigned char *buf, ssize_t len,
  function crypt_file (line 69) | static int crypt_file(void)
  function check_params (line 114) | static int check_params(void)
  function main (line 134) | int main(int argc, char *argv[])

FILE: src/firmware-tools/csysimg.h
  type csys_header (line 74) | struct csys_header {

FILE: src/firmware-tools/cyg_crc.h
  type cyg_uint32 (line 62) | typedef uint32_t cyg_uint32;
  type cyg_uint16 (line 63) | typedef uint16_t cyg_uint16;

FILE: src/firmware-tools/cyg_crc16.c
  function cyg_uint16 (line 98) | cyg_uint16

FILE: src/firmware-tools/cyg_crc32.c
  function cyg_uint32 (line 129) | cyg_uint32
  function cyg_uint32 (line 141) | cyg_uint32
  function cyg_uint32 (line 150) | cyg_uint32
  function cyg_uint32 (line 166) | cyg_uint32

FILE: src/firmware-tools/dgfirmware.c
  function print_usage (line 18) | void print_usage(void)
  function write_img (line 73) | void write_img(unsigned char* img, const char *fname)
  function write_rootfs (line 91) | void write_rootfs(unsigned char* img, const char *fname)
  function write_kernel (line 109) | void write_kernel(unsigned char* img, const char *fname)
  function get_checksum (line 201) | int get_checksum(unsigned char* img)
  function set_checksum (line 211) | void set_checksum(unsigned char*img, unsigned short sum)
  function compute_checksum (line 218) | int compute_checksum(unsigned char* img)
  function main (line 230) | int main(int argc, char* argv[])

FILE: src/firmware-tools/encode_crc.c
  function make_crc16 (line 39) | int make_crc16(int crc, char new)
  type stat (line 57) | struct stat
  function main (line 91) | int main(int argc, char** argv)

FILE: src/firmware-tools/fix-u-media-header.c
  type u_media_header (line 34) | struct u_media_header {
  type if_info (line 56) | struct if_info {
  type if_info (line 63) | struct if_info
  function usage (line 88) | static void usage(int status)
  function str2u32 (line 107) | static int str2u32(char *arg, uint32_t *val)
  function str2u8 (line 122) | static int str2u8(char *arg, uint8_t *val)
  function get_file_stat (line 140) | static int get_file_stat(struct if_info *fdata)
  function read_to_buf (line 158) | static int read_to_buf(struct if_info *fdata, char *buf)
  function check_options (line 184) | static int check_options(void)
  function write_fw (line 205) | static int write_fw(char *data, int len)
  function fix_header (line 235) | static int fix_header(void)
  function main (line 300) | int main(int argc, char *argv[])

FILE: src/firmware-tools/fw.h
  type header_t (line 30) | typedef struct header {
  type part_t (line 37) | typedef struct part {
  type part_crc_t (line 49) | typedef struct part_crc {
  type signature_t (line 54) | typedef struct signature {

FILE: src/firmware-tools/imagetag.c
  type kernelhdr (line 25) | struct kernelhdr {
  function int2tag (line 68) | void int2tag(char *tag, uint32_t value) {
  function crc32 (line 73) | uint32_t crc32(uint32_t crc, uint8_t *data, size_t len)
  function compute_crc32 (line 81) | uint32_t compute_crc32(uint32_t crc, FILE *binfile, size_t compute_start...
  function getlen (line 104) | size_t getlen(FILE *fp)
  function tagfile (line 119) | int tagfile(const char *kernel, const char *rootfs, const char *bin, \
  function main (line 425) | int main(int argc, char **argv)

FILE: src/firmware-tools/imagetag_cmdline.c
  type cmdline_parser_arg_type (line 65) | typedef enum {ARG_NO
  type gengetopt_args_info (line 72) | struct gengetopt_args_info
  type gengetopt_args_info (line 74) | struct gengetopt_args_info
  type gengetopt_args_info (line 77) | struct gengetopt_args_info
  type cmdline_parser_params (line 78) | struct cmdline_parser_params
  type gengetopt_args_info (line 81) | struct gengetopt_args_info
  function clear_given (line 89) | static
  function clear_args (line 121) | static
  function init_args_info (line 175) | static
  function cmdline_parser_print_version (line 210) | void
  function print_help_common (line 218) | static void print_help_common(void) {
  function cmdline_parser_print_help (line 233) | void
  function cmdline_parser_init (line 242) | void
  function cmdline_parser_params_init (line 250) | void
  type cmdline_parser_params (line 263) | struct cmdline_parser_params
  type cmdline_parser_params (line 266) | struct cmdline_parser_params
  type cmdline_parser_params (line 267) | struct cmdline_parser_params
  type cmdline_parser_params (line 267) | struct cmdline_parser_params
  function free_string_field (line 272) | static void
  function cmdline_parser_release (line 283) | static void
  function check_possible_values (line 345) | static int
  function write_into_file (line 374) | static void
  function cmdline_parser_dump (line 392) | int
  function cmdline_parser_file_save (line 463) | int
  function cmdline_parser_free (line 483) | void
  function cmdline_parser (line 504) | int
  function cmdline_parser_ext (line 510) | int
  function cmdline_parser2 (line 526) | int
  function cmdline_parser_required (line 549) | int
  function cmdline_parser_required2 (line 566) | int
  function update_arg (line 642) | static
  function cmdline_parser_internal (line 749) | int

FILE: src/firmware-tools/imagetag_cmdline.h
  type gengetopt_args_info (line 38) | struct gengetopt_args_info
  type cmdline_parser_params (line 147) | struct cmdline_parser_params
  type gengetopt_args_info (line 171) | struct gengetopt_args_info
  type gengetopt_args_info (line 185) | struct gengetopt_args_info
  type gengetopt_args_info (line 197) | struct gengetopt_args_info
  type cmdline_parser_params (line 198) | struct cmdline_parser_params
  type gengetopt_args_info (line 207) | struct gengetopt_args_info
  type gengetopt_args_info (line 217) | struct gengetopt_args_info
  type cmdline_parser_params (line 233) | struct cmdline_parser_params
  type cmdline_parser_params (line 240) | struct cmdline_parser_params
  type gengetopt_args_info (line 247) | struct gengetopt_args_info
  type gengetopt_args_info (line 253) | struct gengetopt_args_info
  type gengetopt_args_info (line 262) | struct gengetopt_args_info

FILE: src/firmware-tools/lzma2eva.c
  function usage (line 31) | void
  function pexit (line 38) | void
  function main (line 45) | int

FILE: src/firmware-tools/makeamitbin.c
  type hdrinfo (line 33) | struct hdrinfo {
  function checksum (line 124) | unsigned short checksum(unsigned char *data, long size)
  function showhdr (line 145) | void showhdr(unsigned char *hdr)
  function makehdr (line 164) | void makehdr(unsigned char *hdr, struct hdrinfo *info,
  type hdrinfo (line 218) | struct hdrinfo
  function oferror (line 229) | void oferror(FILE *f)
  function showhelp (line 235) | void showhelp(void)
  function show_fwids (line 246) | void show_fwids(void)
  function main (line 261) | int main(int argc, char *argv[])

FILE: src/firmware-tools/md5.c
  function MD5_Init (line 105) | void MD5_Init (mdContext)
  function MD5_Update (line 122) | void MD5_Update (mdContext, inBuf, inLen)
  function Transform (line 203) | static void Transform (buf, in)

FILE: src/firmware-tools/md5.h
  type UINT4 (line 44) | typedef unsigned int UINT4;
  type INT4 (line 45) | typedef int          INT4;
  type UINT4 (line 47) | typedef unsigned long UINT4;
  type INT4 (line 48) | typedef long          INT4;
  type MD5_CTX (line 53) | typedef struct {

FILE: src/firmware-tools/mkbrncmdline.c
  function usage (line 33) | static void usage(const char *mess)
  function parseopts (line 45) | static void parseopts(int *argc, char ***argv)
  function emitload (line 72) | static void emitload(int outfd, int reg, unsigned value)
  function main (line 86) | int main(int argc, char **argv)

FILE: src/firmware-tools/mkbrnimg.c
  function init_crc32 (line 35) | static void init_crc32()
  function crc32buf (line 50) | static uint32_t crc32buf(unsigned char *buf, size_t len)
  function usage (line 61) | static void usage(const char *mess)
  function parseopts (line 73) | static void parseopts(int *argc, char ***argv)
  function appendfile (line 100) | static void appendfile(int outfd, char *path, int kernel) {
  function main (line 160) | int main(int argc, char **argv)

FILE: src/firmware-tools/mkcameofw.c
  type file_info (line 31) | struct file_info {
  type img_header (line 37) | struct img_header {
  type file_info (line 60) | struct file_info
  type file_info (line 61) | struct file_info
  function usage (line 85) | static void usage(int status)
  function str2u32 (line 108) | int
  function get_file_stat (line 124) | static int get_file_stat(struct file_info *fdata)
  function read_to_buf (line 143) | static int read_to_buf(struct file_info *fdata, char *buf)
  function check_options (line 169) | static int check_options(void)
  function write_fw (line 235) | static int write_fw(char *data, int len)
  function get_csum (line 267) | static uint32_t get_csum(unsigned char *p, uint32_t len)
  function build_fw (line 277) | static int build_fw(void)
  function main (line 338) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mkcasfw.c
  type csum_state (line 52) | struct csum_state{
  type image_desc (line 59) | struct image_desc {
  type fwhdr_nfs (line 69) | struct fwhdr_nfs {
  type fwhdr_cas (line 80) | struct fwhdr_cas {
  type fwhdr_cas (line 92) | struct fwhdr_cas
  type fwhdr_nfs (line 93) | struct fwhdr_nfs
  type board_info (line 96) | struct board_info {
  type image_desc (line 181) | struct image_desc
  type image_desc (line 182) | struct image_desc
  type board_info (line 184) | struct board_info
  type board_info (line 200) | struct board_info
  function usage (line 279) | void
  function align (line 310) | static inline uint32_t align(uint32_t base, uint32_t alignment)
  function str2u32 (line 327) | int
  function str2u16 (line 344) | int
  function str2u8 (line 360) | int
  function parse_arg (line 376) | int
  function required_arg (line 424) | int
  function is_empty_arg (line 435) | int
  function csum8_update (line 446) | void
  function csum8_get (line 455) | uint16_t
  function csum16_update (line 465) | void
  function csum16_get (line 490) | uint16_t
  function csum32_update (line 499) | void
  function csum32_get (line 510) | uint32_t
  function csum_init (line 517) | void
  function csum_update (line 526) | void
  function csum_get (line 543) | uint32_t
  function write_out_data (line 566) | int
  function write_out_padding (line 586) | int
  function image_stat_file (line 610) | int
  function image_writeout_file (line 639) | int
  function image_writeout (line 688) | int
  function write_out_header (line 720) | int
  function write_out_images (line 763) | int
  type board_info (line 781) | struct board_info
  type board_info (line 784) | struct board_info
  type board_info (line 785) | struct board_info
  function parse_opt_board (line 799) | int
  function parse_opt_image (line 837) | int
  function process_images (line 886) | int
  function main (line 913) | int

FILE: src/firmware-tools/mkchkimg.c
  type chk_header (line 34) | struct chk_header {
  function fatal_error (line 47) | static void __attribute__ ((format (printf, 2, 3)))
  function message (line 66) | static void __attribute__ ((format (printf, 1, 2)))
  type ngr_checksum (line 78) | struct ngr_checksum {
  function netgear_checksum_init (line 83) | static inline void
  function netgear_checksum_add (line 89) | static inline void
  function netgear_checksum_fini (line 100) | static inline unsigned long
  function print_help (line 113) | static void
  function main (line 119) | int

FILE: src/firmware-tools/mkcsysimg.c
  type csum_state (line 73) | struct csum_state{
  type csys_block (line 81) | struct csys_block {
  type board_info (line 104) | struct board_info {
  type board_info (line 145) | struct board_info
  type csys_block (line 147) | struct csys_block
  type csys_block (line 148) | struct csys_block
  type csys_block (line 149) | struct csys_block
  type csys_block (line 150) | struct csys_block
  type csys_block (line 152) | struct csys_block
  type board_info (line 155) | struct board_info
  function usage (line 218) | void
  function align (line 257) | static inline uint32_t align(uint32_t base, uint32_t alignment)
  function str2u32 (line 274) | int
  function str2u16 (line 291) | int
  function str2u8 (line 307) | int
  function str2sig (line 323) | int
  function parse_arg (line 335) | int
  function required_arg (line 383) | int
  function is_empty_arg (line 394) | int
  function csum8_update (line 405) | void
  function csum8_get (line 414) | uint16_t
  function csum16_update (line 424) | void
  function csum16_get (line 449) | uint16_t
  function csum_init (line 459) | void
  function csum_update (line 469) | void
  function csum_get (line 483) | uint16_t
  function write_out_data (line 504) | int
  function write_out_padding (line 524) | int
  function block_stat_file (line 548) | int
  function block_writeout_hdr (line 568) | int
  function block_writeout_file (line 589) | int
  function block_writeout_data (line 637) | int
  function block_writeout_csum (line 656) | int
  function block_writeout (line 673) | int
  function write_out_blocks (line 709) | int
  type board_info (line 747) | struct board_info
  type board_info (line 750) | struct board_info
  type board_info (line 751) | struct board_info
  function parse_opt_board (line 765) | int
  function parse_opt_block (line 789) | int
  function process_blocks (line 903) | int
  function main (line 1039) | int

FILE: src/firmware-tools/mkdapimg.c
  type img_hdr_struct (line 31) | struct img_hdr_struct {
  function perrexit (line 44) | void
  function usage (line 51) | void
  function main (line 58) | int

FILE: src/firmware-tools/mkdir615h1.c
  type img_header (line 35) | typedef struct {
  type firmware_type (line 49) | typedef struct {
  type op_mode (line 54) | typedef enum {
  function get_file_size (line 71) | static long get_file_size(const char *filename)
  function header_checksum (line 85) | static int header_checksum(void *data, int len)
  function md5_file (line 100) | static int md5_file(const char *filename, uint8_t *dst)
  function encode_image (line 124) | static int encode_image(const char *input_file_name,
  function decode_image (line 211) | int decode_image(const char *input_file_name, const char *output_file_name)
  function usage (line 279) | static void usage(const char *progname, int status)
  function main (line 306) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mkdniimg.c
  function usage (line 50) | void usage(int status)
  function main (line 71) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mkedimaximg.c
  type header (line 28) | struct header
  type finfo (line 37) | struct finfo
  type buf (line 43) | struct buf
  function usage (line 51) | static void usage(int status)
  function strtou32 (line 69) | static int strtou32(char *arg, unsigned int *val)
  function fwcsum (line 82) | static unsigned short fwcsum (struct buf *buf) {
  function fwread (line 92) | static int fwread(struct finfo *finfo, struct buf *buf)
  function fwwrite (line 113) | static int fwwrite(struct finfo *finfo, struct buf *buf)
  function main (line 134) | int main(int argc, char **argv)

FILE: src/firmware-tools/mkfwimage.c
  type fw_layout_t (line 34) | typedef struct fw_layout_data {
  type part_data_t (line 88) | typedef struct part_data {
  type image_info_t (line 109) | typedef struct image_info {
  function write_header (line 117) | static void write_header(void* mem, const char *magic, const char* version)
  function write_signature (line 130) | static void write_signature(void* mem, u_int32_t sig_offset)
  function write_part (line 141) | static int write_part(void* mem, part_data_t* d)
  function usage (line 181) | static void usage(const char* progname)
  function print_image_info (line 195) | static void print_image_info(const image_info_t* im)
  function u_int32_t (line 216) | static u_int32_t filelength(const char* file)
  function create_image_layout (line 231) | static int create_image_layout(const char* kernelfile, const char* rootf...
  function validate_image_layout (line 277) | static int validate_image_layout(image_info_t* im)
  function build_image (line 320) | static int build_image(image_info_t* im)
  function main (line 380) | int main(int argc, char* argv[])

FILE: src/firmware-tools/mkfwimage2.c
  type part_data_t (line 45) | typedef struct part_data {
  type image_info_t (line 58) | typedef struct image_info {
  function write_header (line 71) | static void write_header(void* mem, const char* version)
  function write_signature (line 83) | static void write_signature(void* mem, u_int32_t sig_offset)
  function write_part (line 94) | static int write_part(void* mem, part_data_t* d)
  function usage (line 132) | static void usage(const char* progname)
  function print_image_info (line 148) | static void print_image_info(void)
  function filelength (line 170) | static int filelength(const char* file)
  function str2u32 (line 185) | int str2u32(char *arg, u_int32_t *val)
  function image_layout_add_partition (line 200) | static int image_layout_add_partition(const char *part_desc)
  function image_layout_verify (line 270) | static int image_layout_verify(void)
  function build_image (line 319) | static int build_image(void)
  function main (line 376) | int main(int argc, char* argv[])

FILE: src/firmware-tools/mkmylofw.c
  type fw_block (line 53) | struct fw_block {
  type fw_part (line 63) | struct fw_part {
  type cpx_board (line 70) | struct cpx_board {
  type mylo_fw_header (line 111) | struct mylo_fw_header
  type fw_part (line 112) | struct fw_part
  type fw_block (line 113) | struct fw_block
  type cpx_board (line 114) | struct cpx_board
  type cpx_board (line 116) | struct cpx_board
  function errmsgv (line 170) | void
  function errmsg (line 184) | void
  function dbgmsg (line 193) | void
  function usage (line 207) | void
  function init_crc_table (line 264) | void
  function update_crc (line 296) | void
  function get_crc (line 309) | uint32_t
  function str2u32 (line 320) | int
  function str2u16 (line 337) | int
  type cpx_board (line 354) | struct cpx_board
  type cpx_board (line 356) | struct cpx_board
  type cpx_board (line 357) | struct cpx_board
  function get_file_crc (line 371) | int
  function process_files (line 418) | int
  function process_partitions (line 453) | int
  function write_out_data (line 480) | int
  function write_out_desc (line 499) | int
  function write_out_padding (line 507) | int
  function write_out_file (line 529) | int
  function write_out_header (line 593) | int
  function write_out_partitions (line 620) | int
  function write_out_blocks (line 660) | int
  function parse_arg (line 734) | int
  function required_arg (line 781) | int
  function is_empty_arg (line 793) | int
  function parse_opt_flags (line 804) | int
  function parse_opt_size (line 825) | int
  function parse_opt_id (line 846) | int
  function parse_opt_block (line 924) | int
  function parse_opt_partition (line 1009) | int
  function parse_opt_board (line 1126) | int
  function parse_opt_rev (line 1153) | int
  function main (line 1172) | int

FILE: src/firmware-tools/mkplanexfw.c
  type planex_hdr (line 32) | struct planex_hdr {
  type board_info (line 39) | struct board_info {
  type board_info (line 55) | struct board_info
  type board_info (line 57) | struct board_info
  type board_info (line 89) | struct board_info
  type board_info (line 91) | struct board_info
  type board_info (line 92) | struct board_info
  function usage (line 105) | void usage(int status)
  function main (line 124) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mktitanimg.c
  type checksumrecord (line 8) | struct checksumrecord
  function print_help (line 18) | void print_help(void)
  function mknspimg_print_hdr (line 40) | void mknspimg_print_hdr(struct nsp_img_hdr *hdr)
  function main (line 114) | int main(int argc, char* argv[], char* env[])
  function cs_is_tagged (line 520) | int cs_is_tagged(FILE *fp)
  function cs_read_sum (line 531) | unsigned long cs_read_sum(FILE *fp)
  function cs_calc_sum (line 540) | int cs_calc_sum(FILE *fp, unsigned long *res, int tagged)
  function cs_calc_buf_sum (line 577) | unsigned long cs_calc_buf_sum(char *buf, int size)
  function cs_calc_buf_sum_ds (line 594) | unsigned long cs_calc_buf_sum_ds(char *buf, int buf_size, char *sign, in...
  function cs_set_sum (line 616) | int cs_set_sum(FILE *fp, unsigned long sum, int tagged)
  function cs_get_sum (line 633) | void cs_get_sum(FILE *fp, unsigned long *sum)
  function cs_validate_file (line 643) | int cs_validate_file(char *filename)
  type CMDLINE_ERR (line 673) | typedef	enum CMDLINE_ERR
  type CMDLINE_ARG (line 686) | typedef	struct CMDLINE_ARG
  type CMDLINE_ARGS (line 693) | typedef struct CMDLINE_ARGS
  type CMDLINE_DATA (line 701) | typedef	struct CMDLINE_DATA
  function cmdline_getarg_count (line 735) | int cmdline_getarg_count(void* list)
  function cmdline_getopt_count (line 746) | int cmdline_getopt_count(char opt)
  function cmdline_getarg (line 761) | int cmdline_getarg(void* list, int num)
  function cmdline_configure (line 780) | int cmdline_configure(CMDLINE_CFG* p_cfg)
  function cmdline_print_args (line 803) | static void cmdline_print_args(CMDLINE_ARGS* p_arglist, char* argv[])
  function cmdline_print (line 824) | void cmdline_print(char* argv[])
  function cmdline_print_cfg (line 855) | void cmdline_print_cfg(void)
  function cmdline_argadd (line 860) | static void cmdline_argadd(CMDLINE_ARGS* p_arglist, CMDLINE_ARG* p_arg)
  function cmdline_read (line 889) | int cmdline_read(int argc, char* argv[])

FILE: src/firmware-tools/mktitanimg.h
  type CMDLINE_OPT (line 26) | typedef	struct CMDLINE_OPT
  type CMDLINE_CFG (line 33) | typedef	struct CMDLINE_CFG
  type nsp_img_hdr_head (line 69) | struct nsp_img_hdr_head
  type nsp_img_hdr_info (line 118) | struct nsp_img_hdr_info
  type nsp_img_hdr_section_info (line 124) | struct nsp_img_hdr_section_info
  type nsp_img_hdr_sections (line 135) | struct nsp_img_hdr_sections
  type nsp_img_hdr (line 150) | struct nsp_img_hdr
  type nsp_img_hdr_chksum (line 160) | struct nsp_img_hdr_chksum
  type nsp_img_hdr_sections (line 166) | struct nsp_img_hdr_sections
  type nsp_img_hdr (line 166) | struct nsp_img_hdr
  type nsp_img_hdr (line 167) | struct nsp_img_hdr
  type nsp_img_hdr (line 168) | struct nsp_img_hdr

FILE: src/firmware-tools/mktplinkfw.c
  type file_info (line 58) | struct file_info {
  type fw_header (line 63) | struct fw_header {
  type flash_layout (line 89) | struct flash_layout {
  type board_info (line 97) | struct board_info {
  type board_info (line 114) | struct board_info
  type flash_layout (line 116) | struct flash_layout
  type file_info (line 124) | struct file_info
  type file_info (line 128) | struct file_info
  type file_info (line 131) | struct file_info
  type file_info (line 137) | struct file_info
  type flash_layout (line 150) | struct flash_layout
  type board_info (line 180) | struct board_info
  type board_info (line 316) | struct board_info
  type board_info (line 318) | struct board_info
  type board_info (line 319) | struct board_info
  type board_info (line 332) | struct board_info
  type board_info (line 334) | struct board_info
  type flash_layout (line 344) | struct flash_layout
  type flash_layout (line 346) | struct flash_layout
  type flash_layout (line 347) | struct flash_layout
  function usage (line 360) | static void usage(int status)
  function get_md5 (line 393) | static int get_md5(char *data, int size, char *md5)
  function get_file_stat (line 402) | static int get_file_stat(struct file_info *fdata)
  function read_to_buf (line 420) | static int read_to_buf(struct file_info *fdata, char *buf)
  function check_options (line 446) | static int check_options(void)
  function fill_header (line 571) | static void fill_header(char *buf, int len)
  function pad_jffs2 (line 605) | static int pad_jffs2(char *buf, int currlen)
  function write_fw (line 639) | static int write_fw(char *data, int len)
  function build_fw (line 671) | static int build_fw(void)
  function inspect_fw_pstr (line 731) | static inline void inspect_fw_pstr(char *label, char *str)
  function inspect_fw_phex (line 736) | static inline void inspect_fw_phex(char *label, uint32_t val)
  function inspect_fw_phexpost (line 741) | static inline void inspect_fw_phexpost(char *label,
  function inspect_fw_phexdef (line 747) | static inline void inspect_fw_phexdef(char *label,
  function inspect_fw_phexexp (line 758) | static inline void inspect_fw_phexexp(char *label,
  function inspect_fw_phexdec (line 769) | static inline void inspect_fw_phexdec(char *label, uint32_t val)
  function inspect_fw_phexdecdef (line 774) | static inline void inspect_fw_phexdecdef(char *label,
  function inspect_fw_pmd5sum (line 785) | static inline void inspect_fw_pmd5sum(char *label, uint8_t *val, char *t...
  function inspect_fw (line 795) | static int inspect_fw(void)
  function main (line 941) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mkwrgimg.c
  type wrg_header (line 38) | struct wrg_header {
  function usage (line 56) | void usage(int status)
  function put_u32 (line 76) | static void put_u32(void *data, uint32_t val)
  function get_digest (line 93) | static void get_digest(struct wrg_header *header, char *data, int size)
  function main (line 106) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mkzcfw.c
  type file_info (line 39) | struct file_info {
  type fw_header (line 44) | struct fw_header {
  type fw_tail (line 51) | struct fw_tail {
  type board_info (line 56) | struct board_info {
  type board_info (line 70) | struct board_info
  type file_info (line 71) | struct file_info
  type file_info (line 72) | struct file_info
  type board_info (line 75) | struct board_info
  type board_info (line 111) | struct board_info
  type board_info (line 113) | struct board_info
  type board_info (line 114) | struct board_info
  function usage (line 127) | static void usage(int status)
  function get_file_stat (line 146) | static int get_file_stat(struct file_info *fdata)
  function read_to_buf (line 164) | static int read_to_buf(struct file_info *fdata, char *buf)
  function check_options (line 190) | static int check_options(void)
  function write_fw (line 241) | static int write_fw(char *data, int len)
  function build_fw (line 273) | static int build_fw(void)
  function main (line 361) | int main(int argc, char *argv[])

FILE: src/firmware-tools/mkzynfw.c
  type csum_state (line 61) | struct csum_state{
  type fw_block (line 67) | struct fw_block {
  type fw_mmap (line 80) | struct fw_mmap {
  type board_info (line 89) | struct board_info {
  type board_info (line 108) | struct board_info
  type fw_block (line 110) | struct fw_block
  type fw_block (line 111) | struct fw_block
  type board_info (line 156) | struct board_info
  function usage (line 271) | void
  function str2u32 (line 305) | int
  function str2u16 (line 322) | int
  function str2u8 (line 338) | int
  function str2sig (line 354) | int
  function parse_arg (line 366) | int
  function required_arg (line 414) | int
  function is_empty_arg (line 425) | int
  function csum_init (line 436) | void
  function csum_update (line 445) | void
  function csum_get (line 477) | uint16_t
  function csum_buf (line 486) | uint16_t
  function write_out_data (line 500) | int
  function write_out_padding (line 520) | int
  function write_out_data_align (line 542) | int
  function write_out_header (line 560) | int
  function write_out_mmap (line 596) | int
  function block_stat_file (line 633) | int
  function read_magic (line 653) | int
  function write_out_file (line 682) | int
  function write_out_block (line 725) | int
  function write_out_image (line 745) | int
  type board_info (line 859) | struct board_info
  type board_info (line 862) | struct board_info
  type board_info (line 863) | struct board_info
  function parse_opt_board (line 877) | int
  function parse_opt_ofname (line 901) | int
  function parse_opt_block (line 919) | int
  function calc_block_offsets (line 983) | int
  function process_blocks (line 1021) | int
  function main (line 1044) | int

FILE: src/firmware-tools/motorola-bin.c
  function init_crc32 (line 60) | static void init_crc32()
  function crc32buf (line 75) | static uint32_t crc32buf(unsigned char *buf, size_t len)
  type motorola (line 84) | struct motorola {
  type model (line 89) | struct model {
  function usage (line 102) | static void usage(const char *mess)
  function main (line 117) | int main(int argc, char **argv)

FILE: src/firmware-tools/myloader.h
  type mylo_fw_header (line 75) | struct mylo_fw_header {
  type mylo_fw_blockdesc (line 93) | struct mylo_fw_blockdesc {
  type mylo_partition (line 103) | struct mylo_partition {
  type mylo_partition_table (line 128) | struct mylo_partition_table {
  type mylo_partition_header (line 136) | struct mylo_partition_header {
  type mylo_system_params (line 141) | struct mylo_system_params {
  type mylo_eth_addr (line 160) | struct mylo_eth_addr {
  type mylo_board_params (line 168) | struct mylo_board_params {

FILE: src/firmware-tools/nand_ecc.c
  function nand_calculate_ecc (line 67) | int nand_calculate_ecc(const uint8_t *dat,
  function usage (line 124) | void usage(const char *prog)
  function main (line 138) | int main(int argc, char **argv)

FILE: src/firmware-tools/osbridge-crc.c
  function usage (line 58) | void usage(int status)
  function main (line 75) | int main(int argc, char *argv[])
  function crc32buf (line 296) | uint32_t crc32buf(char *buf, size_t len)

FILE: src/firmware-tools/pc1crypt.c
  type pc1_ctx (line 29) | struct pc1_ctx {
  function pc1_finish (line 48) | static void pc1_finish(struct pc1_ctx *pc1)
  function pc1_code (line 54) | static void pc1_code(struct pc1_ctx *pc1)
  function pc1_assemble (line 97) | static void pc1_assemble(struct pc1_ctx *pc1)
  function pc1_decrypt (line 135) | static unsigned char pc1_decrypt(struct pc1_ctx *pc1, short c)
  function pc1_encrypt (line 150) | static unsigned char pc1_encrypt(struct pc1_ctx *pc1, short c)
  function pc1_init (line 165) | static void pc1_init(struct pc1_ctx *pc1)
  function pc1_decrypt_buf (line 173) | static void pc1_decrypt_buf(struct pc1_ctx *pc1, unsigned char *buf,
  function pc1_encrypt_buf (line 182) | static void pc1_encrypt_buf(struct pc1_ctx *pc1, unsigned char *buf,
  function usage (line 215) | void usage(int status)
  function main (line 235) | int main(int argc, char *argv[])

FILE: src/firmware-tools/ptgen.c
  type pte (line 41) | struct pte {
  type partinfo (line 50) | struct partinfo {
  type partinfo (line 60) | struct partinfo
  function to_kbytes (line 71) | static long to_kbytes(const char *string) {
  function to_chs (line 98) | static void to_chs(long sect, unsigned char chs[3]) {
  function round_to_cyl (line 115) | static inline unsigned long round_to_cyl(long sect) {
  function round_to_kb (line 122) | static inline unsigned long round_to_kb(long sect) {
  function gen_ptable (line 127) | static int gen_ptable(int nr)
  function usage (line 179) | static void usage(char *prog)
  function main (line 185) | int main (int argc, char **argv)

FILE: src/firmware-tools/seama.c
  function verbose (line 72) | static void verbose(const char * format, ...)
  function cleanup_exit (line 83) | static void cleanup_exit(int exit_code)
  function show_usage (line 89) | static void show_usage(int exit_code)
  function parse_args (line 113) | static int parse_args(int argc, char * argv[])
  function calculate_digest (line 142) | static size_t calculate_digest(FILE * fh, size_t size, uint8_t * digest)
  function copy_file (line 168) | static size_t copy_file(FILE * to, FILE * from)
  function verify_seama (line 185) | static int verify_seama(const char * fname, int msg)
  function write_seama_header (line 273) | static size_t write_seama_header(FILE * fh, char * meta[], size_t msize,...
  function write_checksum (line 295) | static size_t write_checksum(FILE * fh, uint8_t * checksum)
  function write_meta_data (line 300) | static size_t write_meta_data(FILE * fh, char * meta[], size_t size)
  function dump_seama (line 322) | static void dump_seama(const char * fname)
  function seal_files (line 327) | static void seal_files(const char * file)
  function pack_files (line 366) | static void pack_files(void)
  function match_meta (line 406) | static int match_meta(const char * meta, size_t size)
  function extract_file (line 421) | static void extract_file(const char * output)

FILE: src/firmware-tools/seama.h
  type seamahdr_t (line 98) | typedef struct seama_hdr	seamahdr_t;
  type seama_hdr (line 99) | struct seama_hdr

FILE: src/firmware-tools/sha1.c
  function sha1_starts (line 60) | void sha1_starts( sha1_context *ctx )
  function sha1_process (line 72) | void sha1_process( sha1_context *ctx, uchar data[64] )
  function sha1_update (line 228) | void sha1_update( sha1_context *ctx, uchar *input, uint length )
  function sha1_finish (line 275) | void sha1_finish( sha1_context *ctx, uchar digest[20] )
  function sha1_file (line 304) | int sha1_file( char *filename, uchar digest[20] )
  function sha1_csum (line 328) | void sha1_csum( uchar *buf, uint buflen, uchar digest[20] )
  function sha1_hmac (line 340) | void sha1_hmac( uchar *key, uint keylen, uchar *buf, uint buflen,
  function sha1_self_test (line 400) | int sha1_self_test( void )
  function sha1_self_test (line 438) | int sha1_self_test( void )

FILE: src/firmware-tools/sha1.h
  type sha1_context (line 17) | typedef struct

FILE: src/firmware-tools/spw303v.c
  type spw303v_tag (line 37) | struct spw303v_tag
  function crc32 (line 120) | uint32_t crc32(uint32_t crc, uint8_t *data, size_t len)
  function fix_header (line 128) | void fix_header(void *buf)
  function usage (line 155) | void usage(void)
  function main (line 162) | int main(int argc, char **argv)

FILE: src/firmware-tools/srec2bin.c
  type bit8u (line 41) | typedef unsigned char bit8u;
  type bit32u (line 42) | typedef unsigned int bit32u;
  type bit32 (line 43) | typedef int bit32;
  function dumpfTell (line 80) | void dumpfTell(char *s, bit32u Value)
  function DispHex (line 89) | void DispHex(bit32u Hex)
  function WaitDisplay (line 94) | void WaitDisplay(void)
  function binOut32 (line 110) | void binOut32 ( bit32u Data )
  function binOut8 (line 128) | void binOut8 ( bit8u Data )
  function binRecStart (line 140) | void binRecStart(bit32u Address)
  function binRecEnd (line 157) | void binRecEnd(void)
  function binRecOutProgramStart (line 201) | void binRecOutProgramStart(bit32u Address)
  function binRecOutByte (line 210) | void binRecOutByte(bit32u Address, bit8u Data)
  function readline (line 229) | int readline(FILE *fil,char *buf,int len)
  function SRLerrorout (line 285) | int SRLerrorout(char *c1,char *c2)
  function checksum (line 292) | int checksum(char *cp,int count)
  function bit32u (line 321) | bit32u gh(char *cp,int nibs)
  function srecLine (line 349) | int srecLine(char *pSrecLine)
  function srec2bin (line 434) | int srec2bin(int argc,char *argv[],int verbose)

FILE: src/firmware-tools/trx.c
  type trx_header (line 73) | struct trx_header {
  function usage (line 85) | void usage(void)
  function main (line 93) | int main(int argc, char **argv)
  function crc32buf (line 407) | uint32_t crc32buf(char *buf, size_t len)

FILE: src/firmware-tools/trx2edips.c
  type trx_header (line 27) | struct trx_header {
  type edimax_header (line 36) | struct edimax_header {
  function crc32buf (line 96) | uint32_t crc32buf(char *buf, size_t len)
  function main (line 109) | int main(int argc, char *argv[])

FILE: src/firmware-tools/trx2usr.c
  type uint8 (line 33) | typedef	unsigned char		uint8;
  type uint16 (line 34) | typedef	unsigned short		uint16;
  type uint32 (line 35) | typedef	unsigned int		uint32;
  type usr_header (line 37) | struct	usr_header
  function uint32 (line 97) | static	uint32	crc32(uint32 crc, uint8* p, size_t n)
  function trx2usr (line 106) | static	int	trx2usr(FILE* trx, FILE* usr)
  function main (line 155) | extern	int	main(int argc, char *argv[])

FILE: src/firmware-tools/wndr3700.c
  function init_crc32 (line 45) | static void init_crc32()
  function crc32buf (line 60) | static uint32_t crc32buf(unsigned char *buf, size_t len)
  type header (line 69) | struct header {
  function usage (line 77) | static void usage(const char *mess)
  function main (line 85) | int main(int argc, char **argv)

FILE: src/firmware-tools/wrt400n.c
  function crc32 (line 89) | static uint32_t crc32(uint8_t* buf, uint32_t len)
  function main (line 155) | int main(int argc, char *argv[])

FILE: src/firmware-tools/xorimage.c
  function xor_data (line 31) | int xor_data(uint8_t *data, size_t len, const uint8_t *pattern, int p_le...
  function usage (line 45) | void usage(void)
  function main (line 52) | int main(int argc, char **argv)

FILE: src/firmware-tools/zynos.h
  type zyn_bootbase_info (line 25) | struct zyn_bootbase_info {
  type zyn_rombin_hdr (line 44) | struct zyn_rombin_hdr {
  type zyn_mmt_hdr (line 88) | struct zyn_mmt_hdr {
  type zyn_mmt_item (line 98) | struct zyn_mmt_item {

FILE: src/lzma/C/7zip/Archive/7z_C/7zAlloc.c
  function SzFree (line 30) | void SzFree(void *address)
  function SzFreeTemp (line 56) | void SzFreeTemp(void *address)

FILE: src/lzma/C/7zip/Archive/7z_C/7zAlloc.h
  type ISzAlloc (line 8) | typedef struct _ISzAlloc

FILE: src/lzma/C/7zip/Archive/7z_C/7zBuffer.c
  function SzByteBufferInit (line 6) | void SzByteBufferInit(CSzByteBuffer *buffer)
  function SzByteBufferCreate (line 12) | int SzByteBufferCreate(CSzByteBuffer *buffer, size_t newCapacity, void *...
  function SzByteBufferFree (line 24) | void SzByteBufferFree(CSzByteBuffer *buffer, void (*freeFunc)(void *))

FILE: src/lzma/C/7zip/Archive/7z_C/7zBuffer.h
  type CSzByteBuffer (line 9) | typedef struct _CSzByteBuffer

FILE: src/lzma/C/7zip/Archive/7z_C/7zCrc.c
  function InitCrcTable (line 9) | void InitCrcTable()
  function CrcInit (line 25) | void CrcInit(UInt32 *crc) { *crc = 0xFFFFFFFF; }
  function UInt32 (line 26) | UInt32 CrcGetDigest(UInt32 *crc) { return *crc ^ 0xFFFFFFFF; }
  function CrcUpdateByte (line 28) | void CrcUpdateByte(UInt32 *crc, Byte b)
  function CrcUpdateUInt16 (line 33) | void CrcUpdateUInt16(UInt32 *crc, UInt16 v)
  function CrcUpdateUInt32 (line 39) | void CrcUpdateUInt32(UInt32 *crc, UInt32 v)
  function CrcUpdateUInt64 (line 46) | void CrcUpdateUInt64(UInt32 *crc, UInt64 v)
  function CrcUpdate (line 56) | void CrcUpdate(UInt32 *crc, const void *data, size_t size)
  function UInt32 (line 65) | UInt32 CrcCalculateDigest(const void *data, size_t size)
  function CrcVerifyDigest (line 73) | int CrcVerifyDigest(UInt32 digest, const void *data, size_t size)

FILE: src/lzma/C/7zip/Archive/7z_C/7zDecode.c
  type CLzmaInCallbackImp (line 15) | typedef struct _CLzmaInCallbackImp
  function LzmaReadImp (line 22) | int LzmaReadImp(void *object, const unsigned char **buffer, SizeT *size)
  function SZ_RESULT (line 40) | SZ_RESULT SzDecode(const CFileSize *packSizes, const CFolder *folder,

FILE: src/lzma/C/7zip/Archive/7z_C/7zExtract.c
  function SZ_RESULT (line 7) | SZ_RESULT SzExtract(

FILE: src/lzma/C/7zip/Archive/7z_C/7zHeader.h
  type EIdEnum (line 15) | enum EIdEnum

FILE: src/lzma/C/7zip/Archive/7z_C/7zIn.c
  function SzArDbExInit (line 9) | void SzArDbExInit(CArchiveDatabaseEx *db)
  function SzArDbExFree (line 18) | void SzArDbExFree(CArchiveDatabaseEx *db, void (*freeFunc)(void *))
  function SZ_RESULT (line 48) | SZ_RESULT MySzInAlloc(void **p, size_t size, void * (*allocFunc)(size_t ...
  function SZ_RESULT (line 60) | SZ_RESULT SzArDbExFill(CArchiveDatabaseEx *db, void * (*allocFunc)(size_...
  function CFileSize (line 124) | CFileSize SzArDbGetFolderStreamPos(CArchiveDatabaseEx *db, UInt32 folder...
  function CFileSize (line 130) | CFileSize SzArDbGetFolderFullPackSize(CArchiveDatabaseEx *db, UInt32 fol...
  function SZ_RESULT (line 188) | SZ_RESULT SafeReadDirect(ISzInStream *inStream, Byte *data, size_t size)
  function SZ_RESULT (line 214) | SZ_RESULT SafeReadDirectByte(ISzInStream *inStream, Byte *data)
  function SZ_RESULT (line 219) | SZ_RESULT SafeReadDirectUInt32(ISzInStream *inStream, UInt32 *value)
  function SZ_RESULT (line 232) | SZ_RESULT SafeReadDirectUInt64(ISzInStream *inStream, UInt64 *value)
  function TestSignatureCandidate (line 245) | int TestSignatureCandidate(Byte *testBytes)
  type CSzData (line 254) | typedef struct _CSzState
  function SZ_RESULT (line 260) | SZ_RESULT SzReadByte(CSzData *sd, Byte *b)
  function SZ_RESULT (line 269) | SZ_RESULT SzReadBytes(CSzData *sd, Byte *data, size_t size)
  function SZ_RESULT (line 279) | SZ_RESULT SzReadUInt32(CSzData *sd, UInt32 *value)
  function SZ_RESULT (line 292) | SZ_RESULT SzReadNumber(CSzData *sd, UInt64 *value)
  function SZ_RESULT (line 315) | SZ_RESULT SzReadSize(CSzData *sd, CFileSize *value)
  function SZ_RESULT (line 323) | SZ_RESULT SzReadNumber32(CSzData *sd, UInt32 *value)
  function SZ_RESULT (line 335) | SZ_RESULT SzReadID(CSzData *sd, UInt64 *value)
  function SZ_RESULT (line 340) | SZ_RESULT SzSkeepDataSize(CSzData *sd, UInt64 size)
  function SZ_RESULT (line 349) | SZ_RESULT SzSkeepData(CSzData *sd)
  function SZ_RESULT (line 356) | SZ_RESULT SzReadArchiveProperties(CSzData *sd)
  function SZ_RESULT (line 369) | SZ_RESULT SzWaitAttribute(CSzData *sd, UInt64 attribute)
  function SZ_RESULT (line 383) | SZ_RESULT SzReadBoolVector(CSzData *sd, size_t numItems, Byte **v, void ...
  function SZ_RESULT (line 402) | SZ_RESULT SzReadBoolVector2(CSzData *sd, size_t numItems, Byte **v, void...
  function SZ_RESULT (line 415) | SZ_RESULT SzReadHashDigests(
  function SZ_RESULT (line 433) | SZ_RESULT SzReadPackInfo(
  function SZ_RESULT (line 481) | SZ_RESULT SzReadSwitch(CSzData *sd)
  function SZ_RESULT (line 488) | SZ_RESULT SzGetNextFolderItem(CSzData *sd, CFolder *folder, void * (*all...
  function SZ_RESULT (line 589) | SZ_RESULT SzReadUnPackInfo(
  function SZ_RESULT (line 660) | SZ_RESULT SzReadSubStreamsInfo(
  function SZ_RESULT (line 806) | SZ_RESULT SzReadStreamsInfo(
  function SZ_RESULT (line 852) | SZ_RESULT SzReadFileNames(CSzData *sd, UInt32 numFiles, CFileItem *files,
  function SZ_RESULT (line 928) | SZ_RESULT SzReadHeader2(
  function SZ_RESULT (line 1059) | SZ_RESULT SzReadHeader(
  function SZ_RESULT (line 1082) | SZ_RESULT SzReadAndDecodePackedStreams2(
  function SZ_RESULT (line 1150) | SZ_RESULT SzReadAndDecodePackedStreams(
  function SZ_RESULT (line 1182) | SZ_RESULT SzArchiveOpen2(
  function SZ_RESULT (line 1282) | SZ_RESULT SzArchiveOpen(

FILE: src/lzma/C/7zip/Archive/7z_C/7zIn.h
  type CInArchiveInfo (line 10) | typedef struct _CInArchiveInfo
  type CArchiveDatabaseEx (line 16) | typedef struct _CArchiveDatabaseEx
  type ISzInStream (line 31) | typedef struct _ISzInStream

FILE: src/lzma/C/7zip/Archive/7z_C/7zItem.c
  function SzCoderInfoInit (line 6) | void SzCoderInfoInit(CCoderInfo *coder)
  function SzCoderInfoFree (line 11) | void SzCoderInfoFree(CCoderInfo *coder, void (*freeFunc)(void *p))
  function SzFolderInit (line 17) | void SzFolderInit(CFolder *folder)
  function SzFolderFree (line 31) | void SzFolderFree(CFolder *folder, void (*freeFunc)(void *p))
  function UInt32 (line 43) | UInt32 SzFolderGetNumOutStreams(CFolder *folder)
  function SzFolderFindBindPairForInStream (line 52) | int SzFolderFindBindPairForInStream(CFolder *folder, UInt32 inStreamIndex)
  function SzFolderFindBindPairForOutStream (line 62) | int SzFolderFindBindPairForOutStream(CFolder *folder, UInt32 outStreamIn...
  function CFileSize (line 71) | CFileSize SzFolderGetUnPackSize(CFolder *folder)
  function SzFileInit (line 93) | void SzFileInit(CFileItem *fileItem)
  function SzFileFree (line 102) | void SzFileFree(CFileItem *fileItem, void (*freeFunc)(void *p))
  function SzArchiveDatabaseInit (line 108) | void SzArchiveDatabaseInit(CArchiveDatabase *db)
  function SzArchiveDatabaseFree (line 120) | void SzArchiveDatabaseFree(CArchiveDatabase *db, void (*freeFunc)(void *))

FILE: src/lzma/C/7zip/Archive/7z_C/7zItem.h
  type CCoderInfo (line 10) | typedef struct _CCoderInfo
  type CBindPair (line 21) | typedef struct _CBindPair
  type CFolder (line 27) | typedef struct _CFolder
  type CFileItem (line 50) | typedef struct _CFileItem
  type CArchiveDatabase (line 74) | typedef struct _CArchiveDatabase

FILE: src/lzma/C/7zip/Archive/7z_C/7zMain.c
  type CFileInStream (line 15) | typedef struct _CFileInStream
  function SZ_RESULT (line 26) | SZ_RESULT SzFileReadImp(void *object, void **buffer, size_t maxRequiredS...
  function SZ_RESULT (line 41) | SZ_RESULT SzFileReadImp(void *object, void *buffer, size_t size, size_t ...
  function SZ_RESULT (line 52) | SZ_RESULT SzFileSeekImp(void *object, CFileSize pos)
  function PrintError (line 61) | void PrintError(char *sz)
  function main (line 66) | int main(int numargs, char *args[])

FILE: src/lzma/C/7zip/Archive/7z_C/7zMethodID.c
  function AreMethodsEqual (line 5) | int AreMethodsEqual(CMethodID *a1, CMethodID *a2)

FILE: src/lzma/C/7zip/Archive/7z_C/7zMethodID.h
  type CMethodID (line 10) | typedef struct _CMethodID

FILE: src/lzma/C/7zip/Common/FileStreams.cpp
  function HRESULT (line 13) | static inline HRESULT ConvertBoolToHRESULT(bool result)
  function STDMETHODIMP (line 37) | STDMETHODIMP CInFileStream::Read(void *data, UInt32 size, UInt32 *proces...
  function STDMETHODIMP (line 62) | STDMETHODIMP CStdInFileStream::Read(void *data, UInt32 size, UInt32 *pro...
  function STDMETHODIMP (line 95) | STDMETHODIMP CInFileStream::Seek(Int64 offset, UInt32 seekOrigin,
  function STDMETHODIMP (line 121) | STDMETHODIMP CInFileStream::GetSize(UInt64 *size)
  function STDMETHODIMP (line 144) | STDMETHODIMP COutFileStream::Write(const void *data, UInt32 size, UInt32...
  function STDMETHODIMP (line 168) | STDMETHODIMP COutFileStream::Seek(Int64 offset, UInt32 seekOrigin,
  function STDMETHODIMP (line 193) | STDMETHODIMP COutFileStream::SetSize(Int64 newSize)
  function STDMETHODIMP (line 209) | STDMETHODIMP CStdOutFileStream::Write(const void *data, UInt32 size, UIn...

FILE: src/lzma/C/7zip/Common/FileStreams.h
  function virtual (line 27) | virtual ~CInFileStream() {}
  function virtual (line 70) | virtual ~COutFileStream() {}

FILE: src/lzma/C/7zip/Common/InBuffer.cpp
  function Byte (line 75) | Byte CInBuffer::ReadBlock2()

FILE: src/lzma/C/7zip/Common/InBuffer.h
  function class (line 10) | class CInBufferException
  function class (line 18) | class CInBuffer

FILE: src/lzma/C/7zip/Common/OutBuffer.cpp
  function UInt64 (line 45) | UInt64 COutBuffer::GetProcessedSize() const
  function HRESULT (line 54) | HRESULT COutBuffer::FlushPart()
  function HRESULT (line 92) | HRESULT COutBuffer::Flush()

FILE: src/lzma/C/7zip/Common/OutBuffer.h
  type COutBufferException (line 10) | struct COutBufferException
  function class (line 17) | class COutBuffer

FILE: src/lzma/C/7zip/Common/StreamUtils.cpp
  function HRESULT (line 8) | HRESULT ReadStream(ISequentialInStream *stream, void *data, UInt32 size,...
  function HRESULT (line 27) | HRESULT WriteStream(ISequentialOutStream *stream, const void *data, UInt...

FILE: src/lzma/C/7zip/Compress/Branch/ARM.cpp
  function UInt32 (line 8) | UInt32 CBC_ARM_Encoder::SubFilter(Byte *data, UInt32 size)
  function UInt32 (line 13) | UInt32 CBC_ARM_Decoder::SubFilter(Byte *data, UInt32 size)

FILE: src/lzma/C/7zip/Compress/Branch/ARMThumb.cpp
  function UInt32 (line 8) | UInt32 CBC_ARMThumb_Encoder::SubFilter(Byte *data, UInt32 size)
  function UInt32 (line 13) | UInt32 CBC_ARMThumb_Decoder::SubFilter(Byte *data, UInt32 size)

FILE: src/lzma/C/7zip/Compress/Branch/BranchARM.c
  function UInt32 (line 5) | UInt32 ARM_Convert(Byte *data, UInt32 size, UInt32 nowPos, int encoding)

FILE: src/lzma/C/7zip/Compress/Branch/BranchARMThumb.c
  function UInt32 (line 5) | UInt32 ARMThumb_Convert(Byte *data, UInt32 size, UInt32 nowPos, int enco...

FILE: src/lzma/C/7zip/Compress/Branch/BranchCoder.cpp
  function STDMETHODIMP (line 6) | STDMETHODIMP CBranchConverter::Init()

FILE: src/lzma/C/7zip/Compress/Branch/BranchCoder.h
  function virtual (line 18) | virtual void SubInit() {}

FILE: src/lzma/C/7zip/Compress/Branch/BranchIA64.c
  function UInt32 (line 13) | UInt32 IA64_Convert(Byte *data, UInt32 size, UInt32 nowPos, int encoding)

FILE: src/lzma/C/7zip/Compress/Branch/BranchPPC.c
  function UInt32 (line 5) | UInt32 PPC_B_Convert(Byte *data, UInt32 size, UInt32 nowPos, int encoding)

FILE: src/lzma/C/7zip/Compress/Branch/BranchSPARC.c
  function UInt32 (line 5) | UInt32 SPARC_Convert(Byte *data, UInt32 size, UInt32 nowPos, int encoding)

FILE: src/lzma/C/7zip/Compress/Branch/BranchX86.c
  function UInt32 (line 24) | UInt32 x86_Convert(Byte *buffer, UInt32 endPos, UInt32 nowPos,

FILE: src/lzma/C/7zip/Compress/Branch/IA64.cpp
  function UInt32 (line 8) | UInt32 CBC_IA64_Encoder::SubFilter(Byte *data, UInt32 size)
  function UInt32 (line 13) | UInt32 CBC_IA64_Decoder::SubFilter(Byte *data, UInt32 size)

FILE: src/lzma/C/7zip/Compress/Branch/PPC.cpp
  function UInt32 (line 9) | UInt32 CBC_PPC_B_Encoder::SubFilter(Byte *data, UInt32 size)
  function UInt32 (line 14) | UInt32 CBC_PPC_B_Decoder::SubFilter(Byte *data, UInt32 size)

FILE: src/lzma/C/7zip/Compress/Branch/SPARC.cpp
  function UInt32 (line 9) | UInt32 CBC_SPARC_Encoder::SubFilter(Byte *data, UInt32 size)
  function UInt32 (line 14) | UInt32 CBC_SPARC_Decoder::SubFilter(Byte *data, UInt32 size)

FILE: src/lzma/C/7zip/Compress/Branch/x86.cpp
  function UInt32 (line 10) | UInt32 CBCJ_x86_Encoder::SubFilter(Byte *data, UInt32 size)
  function UInt32 (line 15) | UInt32 CBCJ_x86_Decoder::SubFilter(Byte *data, UInt32 size)

FILE: src/lzma/C/7zip/Compress/Branch/x86.h
  type CBranch86 (line 9) | struct CBranch86

FILE: src/lzma/C/7zip/Compress/Branch/x86_2.cpp
  function IsJcc (line 10) | inline bool IsJcc(Byte b0, Byte b1)
  function Test86MSByte (line 17) | static bool inline Test86MSByte(Byte b)
  function HRESULT (line 46) | HRESULT CBCJ2_x86_Encoder::Flush()
  function HRESULT (line 57) | HRESULT CBCJ2_x86_Encoder::CodeReal(ISequentialInStream **inStreams,
  function STDMETHODIMP (line 262) | STDMETHODIMP CBCJ2_x86_Encoder::Code(ISequentialInStream **inStreams,
  function HRESULT (line 281) | HRESULT CBCJ2_x86_Decoder::CodeReal(ISequentialInStream **inStreams,
  function STDMETHODIMP (line 397) | STDMETHODIMP CBCJ2_x86_Decoder::Code(ISequentialInStream **inStreams,

FILE: src/lzma/C/7zip/Compress/Branch/x86_2.h
  function ReleaseStreams (line 44) | void ReleaseStreams()
  function class (line 52) | class CCoderReleaser
  function ReleaseStreams (line 97) | void ReleaseStreams()
  function HRESULT (line 106) | HRESULT Flush() { return _outStream.Flush(); }
  function class (line 107) | class CCoderReleaser

FILE: src/lzma/C/7zip/Compress/LZ/BinTree/BinTree.h
  function namespace (line 6) | namespace BT_NAMESPACE {

FILE: src/lzma/C/7zip/Compress/LZ/BinTree/BinTreeMain.h
  function namespace (line 7) | namespace BT_NAMESPACE {

FILE: src/lzma/C/7zip/Compress/LZ/HashChain/HC.h
  function namespace (line 6) | namespace HC_NAMESPACE {

FILE: src/lzma/C/7zip/Compress/LZ/HashChain/HCMain.h
  function namespace (line 7) | namespace HC_NAMESPACE {

FILE: src/lzma/C/7zip/Compress/LZ/LZInWindow.cpp
  function HRESULT (line 35) | HRESULT CLZInWindow::Init(ISequentialInStream *stream)
  function HRESULT (line 65) | HRESULT CLZInWindow::ReadBlock()

FILE: src/lzma/C/7zip/Compress/LZ/LZInWindow.h
  function class (line 8) | class CLZInWindow

FILE: src/lzma/C/7zip/Compress/LZ/LZOutWindow.h
  type COutBufferException (line 19) | typedef COutBufferException CLZOutWindowException;
  function class (line 21) | class CLZOutWindow: public COutBuffer

FILE: src/lzma/C/7zip/Compress/LZ/Patricia/Pat.h
  function namespace (line 10) | namespace PAT_NAMESPACE {
  type CNode (line 85) | struct CNode
  function AddLeafNode (line 283) | void AddLeafNode(CNodePointer aNode, Byte aByte, Byte aByteXOR,

FILE: src/lzma/C/7zip/Compress/LZ/Patricia/PatMain.h
  function namespace (line 6) | namespace PAT_NAMESPACE {

FILE: src/lzma/C/7zip/Compress/LZMA/LZMA.h
  function namespace (line 6) | namespace NCompress {

FILE: src/lzma/C/7zip/Compress/LZMA/LZMADecoder.cpp
  type NCompress (line 8) | namespace NCompress {
    type NLZMA (line 9) | namespace NLZMA {
      function HRESULT (line 47) | HRESULT CDecoder::CodeSpec(UInt32 curSize)
      function STDMETHODIMP (line 213) | STDMETHODIMP CDecoder::CodeReal(ISequentialInStream *inStream,
      function STDMETHODIMP (line 260) | STDMETHODIMP CDecoder::Code(ISequentialInStream *inStream,
      function STDMETHODIMP (line 269) | STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *properties,...
      function STDMETHODIMP (line 283) | STDMETHODIMP CDecoder::SetDecoderPropertiesRaw(int lc, int lp, int p...
      function STDMETHODIMP (line 297) | STDMETHODIMP CDecoder::GetInStreamProcessedSize(UInt64 *value)
      function STDMETHODIMP (line 303) | STDMETHODIMP CDecoder::SetInStream(ISequentialInStream *inStream)
      function STDMETHODIMP (line 309) | STDMETHODIMP CDecoder::ReleaseInStream()
      function STDMETHODIMP (line 315) | STDMETHODIMP CDecoder::SetOutStreamSize(const UInt64 *outSize)
      function STDMETHODIMP (line 326) | STDMETHODIMP CDecoder::Read(void *data, UInt32 size, UInt32 *process...

FILE: src/lzma/C/7zip/Compress/LZMA/LZMADecoder.h
  function namespace (line 14) | namespace NCompress {

FILE: src/lzma/C/7zip/Compress/LZMA/LZMAEncoder.cpp
  type NCompress (line 58) | namespace NCompress {
    type NLZMA (line 59) | namespace NLZMA {
      class CFastPosInit (line 96) | class CFastPosInit
        method CFastPosInit (line 99) | CFastPosInit() { Init(); }
        method Init (line 100) | void Init()
      function UInt32 (line 158) | UInt32 CLiteralEncoder2::GetPrice(bool matchMode, Byte matchByte, By...
      type NLength (line 188) | namespace NLength {
        function UInt32 (line 225) | UInt32 CEncoder::GetPrice(UInt32 symbol, UInt32 posState) const
      function HRESULT (line 264) | HRESULT CEncoder::Create()
      function AreStringsEqual (line 351) | static bool AreStringsEqual(const wchar_t *base, const wchar_t *test...
      function FindMatchFinder (line 367) | static int FindMatchFinder(const wchar_t *s)
      function STDMETHODIMP (line 375) | STDMETHODIMP CEncoder::SetCoderProperties(const PROPID *propIDs,
      function STDMETHODIMP (line 495) | STDMETHODIMP CEncoder::WriteCoderProperties(ISequentialOutStream *ou...
      function STDMETHODIMP (line 505) | STDMETHODIMP CEncoder::SetOutStream(ISequentialOutStream *outStream)
      function STDMETHODIMP (line 511) | STDMETHODIMP CEncoder::ReleaseOutStream()
      function HRESULT (line 517) | HRESULT CEncoder::Init()
      function HRESULT (line 563) | HRESULT CEncoder::MovePos(UInt32 num)
      function UInt32 (line 574) | UInt32 CEncoder::Backward(UInt32 &backRes, UInt32 cur)
      function HRESULT (line 623) | HRESULT CEncoder::GetOptimum(UInt32 position, UInt32 &backRes, UInt3...
      function ChangePair (line 1077) | static inline bool ChangePair(UInt32 smallDist, UInt32 bigDist)
      function HRESULT (line 1084) | HRESULT CEncoder::ReadMatchDistances(UInt32 &lenRes)
      function HRESULT (line 1094) | HRESULT CEncoder::GetOptimumFast(UInt32 position, UInt32 &backRes, U...
      function STDMETHODIMP (line 1187) | STDMETHODIMP CEncoder::InitMatchFinder(IMatchFinder *matchFinder)
      function HRESULT (line 1193) | HRESULT CEncoder::Flush(UInt32 nowPos)
      function HRESULT (line 1222) | HRESULT CEncoder::CodeReal(ISequentialInStream *inStream,
      function HRESULT (line 1245) | HRESULT CEncoder::SetStreams(ISequentialInStream *inStream,
      function HRESULT (line 1279) | HRESULT CEncoder::CodeOneBlock(UInt64 *inSize, UInt64 *outSize, Int3...
      function STDMETHODIMP (line 1447) | STDMETHODIMP CEncoder::Code(ISequentialInStream *inStream,

FILE: src/lzma/C/7zip/Compress/LZMA/LZMAEncoder.h
  function namespace (line 14) | namespace NCompress {
  function UInt32 (line 269) | UInt32 GetRepLen1Price(CState state, UInt32 posState) const
  function UInt32 (line 274) | UInt32 GetRepPrice(UInt32 repIndex, UInt32 len, CState state, UInt32 pos...
  function UInt32 (line 314) | UInt32 GetPosLenPrice(UInt32 pos, UInt32 len, UInt32 posState) const
  function ReleaseMFStream (line 336) | void ReleaseMFStream()
  function ReleaseStreams (line 345) | void ReleaseStreams()
  function class (line 352) | class CCoderReleaser
  function SetWriteEndMarkerMode (line 368) | void SetWriteEndMarkerMode(bool writeEndMarker)
  function virtual (line 411) | virtual ~CEncoder() {}

FILE: src/lzma/C/7zip/Compress/LZMA_Alone/LzmaAlone.cpp
  function IsItWindowsNT (line 40) | static inline bool IsItWindowsNT()
  type NKey (line 54) | namespace NKey {
    type Enum (line 55) | enum Enum
  function PrintHelp (line 92) | static void PrintHelp()
  function PrintHelpAndExit (line 113) | static void PrintHelpAndExit(const char *s)
  function IncorrectCommand (line 120) | static void IncorrectCommand()
  function WriteArgumentsToStringList (line 125) | static void WriteArgumentsToStringList(int numArguments, const char *arg...
  function GetNumber (line 132) | static bool GetNumber(const wchar_t *s, UInt32 &value)
  function main2 (line 147) | int main2(int n, const char *args[])
  function main (line 496) | int main(int n, const char *args[])

FILE: src/lzma/C/7zip/Compress/LZMA_Alone/LzmaBench.cpp
  class CRandomGenerator (line 25) | class CRandomGenerator
    method CRandomGenerator (line 30) | CRandomGenerator() { Init(); }
    method Init (line 31) | void Init() { A1 = 362436069; A2 = 521288629;}
    method UInt32 (line 32) | UInt32 GetRnd()
  class CBitRandomGenerator (line 40) | class CBitRandomGenerator
    method Init (line 46) | void Init()
    method UInt32 (line 51) | UInt32 GetRnd(int numBits)
  class CBenchRandomGenerator (line 70) | class CBenchRandomGenerator
    method CBenchRandomGenerator (line 77) | CBenchRandomGenerator(): Buffer(0) {}
    method Init (line 79) | void Init() { RG.Init(); }
    method Set (line 80) | void Set(UInt32 bufferSize)
    method UInt32 (line 88) | UInt32 GetRndBit() { return RG.GetRnd(1); }
    method UInt32 (line 96) | UInt32 GetLogRandBits(int numBits)
    method UInt32 (line 101) | UInt32 GetOffset()
    method UInt32 (line 107) | UInt32 GetLen()
    method Generate (line 115) | void Generate()
  class CBenchmarkInStream (line 135) | class CBenchmarkInStream:
    method MY_UNKNOWN_IMP (line 143) | MY_UNKNOWN_IMP
  function STDMETHODIMP (line 153) | STDMETHODIMP CBenchmarkInStream::Read(void *data, UInt32 size, UInt32 *p...
  class CBenchmarkOutStream (line 166) | class CBenchmarkOutStream:
    method CBenchmarkOutStream (line 175) | CBenchmarkOutStream(): _f(0), Buffer(0) {}
    method Init (line 177) | void Init(FILE *f, UInt32 bufferSize)
  function STDMETHODIMP (line 190) | STDMETHODIMP CBenchmarkOutStream::Write(const void *data, UInt32 size, U...
  class CCrcOutStream (line 205) | class CCrcOutStream:
    method MY_UNKNOWN_IMP (line 211) | MY_UNKNOWN_IMP
  function STDMETHODIMP (line 216) | STDMETHODIMP CCrcOutStream::Write(const void *data, UInt32 size, UInt32 ...
  function UInt64 (line 224) | static UInt64 GetTimeCount()
  function UInt64 (line 236) | static UInt64 GetFreq()
  type CProgressInfo (line 248) | struct CProgressInfo:
    method Init (line 255) | void Init()
  function STDMETHODIMP (line 264) | STDMETHODIMP CProgressInfo::SetRatioInfo(const UInt64 *inSize, const UIn...
  function UInt32 (line 276) | static UInt32 GetLogSize(UInt32 size)
  function UInt64 (line 285) | static UInt64 MyMultDiv64(UInt64 value, UInt64 elapsedTime)
  function UInt64 (line 299) | static UInt64 GetCompressRating(UInt32 dictionarySize, bool isBT4,
  function UInt64 (line 317) | static UInt64 GetDecompressRating(UInt64 elapsedTime,
  function PrintRating (line 337) | static void PrintRating(FILE *f, UInt64 rating)
  function PrintResults (line 342) | static void PrintResults(
  function ThrowError (line 360) | static void ThrowError(FILE *f, HRESULT result, const char *s)
  function LzmaBenchmark (line 375) | int LzmaBenchmark(FILE *f, UInt32 numIterations, UInt32 dictionarySize, ...

FILE: src/lzma/C/7zip/Compress/LZMA_Alone/LzmaRam.cpp
  class CInStreamRam (line 14) | class CInStreamRam:
    method MY_UNKNOWN_IMP (line 22) | MY_UNKNOWN_IMP
  function STDMETHODIMP (line 32) | STDMETHODIMP CInStreamRam::Read(void *data, UInt32 size, UInt32 *process...
  class COutStreamRam (line 45) | class COutStreamRam:
    method Init (line 54) | void Init(Byte *data, size_t size)
    method SetPos (line 61) | void SetPos(size_t pos)
    method MY_UNKNOWN_IMP (line 66) | MY_UNKNOWN_IMP
  function STDMETHODIMP (line 80) | STDMETHODIMP COutStreamRam::Write(const void *data, UInt32 size, UInt32 ...
  function LzmaRamEncode (line 99) | int LzmaRamEncode(

FILE: src/lzma/C/7zip/Compress/LZMA_Alone/LzmaRam.h
  type ESzFilterMode (line 34) | enum ESzFilterMode

FILE: src/lzma/C/7zip/Compress/LZMA_Alone/LzmaRamDecode.c
  function LzmaRamGetUncompressedSize (line 15) | int LzmaRamGetUncompressedSize(
  function LzmaRamDecompress (line 35) | int LzmaRamDecompress(

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaDecode.c
  function LzmaDecodeProperties (line 124) | int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char ...
  function LzmaDecode (line 159) | int LzmaDecode(CLzmaDecoderState *vs,
  function IfBit0 (line 441) | IfBit0(probLen)
  function IfBit0 (line 452) | IfBit0(probLen)

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaDecode.h
  type ILzmaInCallback (line 68) | typedef struct _ILzmaInCallback
  type CLzmaProperties (line 79) | typedef struct _CLzmaProperties
  type CLzmaDecoderState (line 95) | typedef struct _CLzmaDecoderState

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaDecodeSize.c
  type CRangeDecoder (line 35) | typedef struct _CRangeDecoder
  function Byte (line 48) | Byte RangeDecoderReadByte(CRangeDecoder *rd)
  function RangeDecoderInit (line 69) | void RangeDecoderInit(CRangeDecoder *rd
  function UInt32 (line 93) | UInt32 RangeDecoderDecodeDirectBits(CRangeDecoder *rd, int numTotalBits)
  function RangeDecoderBitDecode (line 121) | int RangeDecoderBitDecode(CProb *prob, CRangeDecoder *rd)
  function RangeDecoderBitTreeDecode (line 159) | int RangeDecoderBitTreeDecode(CProb *probs, int numLevels, CRangeDecoder...
  function RangeDecoderReverseBitTreeDecode (line 181) | int RangeDecoderReverseBitTreeDecode(CProb *probs, int numLevels, CRange...
  function Byte (line 206) | Byte LzmaLiteralDecode(CProb *probs, CRangeDecoder *rd)
  function Byte (line 228) | Byte LzmaLiteralDecodeMatch(CProb *probs, CRangeDecoder *rd, Byte matchB...
  function LzmaLenDecode (line 286) | int LzmaLenDecode(CProb *p, CRangeDecoder *rd, int posState)
  function LzmaDecodeProperties (line 330) | int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char ...
  function LzmaDecode (line 365) | int LzmaDecode(CLzmaDecoderState *vs,

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaStateDecode.c
  function LzmaDecodeProperties (line 114) | int LzmaDecodeProperties(CLzmaProperties *propsRes, const unsigned char ...
  function LzmaDecode (line 145) | int LzmaDecode(
  function IfBit0 (line 383) | IfBit0(probLen)
  function IfBit0 (line 394) | IfBit0(probLen)

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaStateDecode.h
  type CLzmaProperties (line 64) | typedef struct _CLzmaProperties
  type CLzmaDecoderState (line 80) | typedef struct _CLzmaDecoderState

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaStateTest.c
  function MyReadFile (line 25) | size_t MyReadFile(FILE *file, void *data, size_t size)
  function MyReadFileAndCheck (line 28) | int MyReadFileAndCheck(FILE *file, void *data, size_t size)
  function PrintError (line 31) | int PrintError(char *buffer, const char *message)
  function main3 (line 38) | int main3(FILE *inFile, FILE *outFile, char *rs)
  function main2 (line 157) | int main2(int numArgs, const char *args[], char *rs)
  function main (line 189) | int main(int numArgs, const char *args[])

FILE: src/lzma/C/7zip/Compress/LZMA_C/LzmaTest.c
  function MyReadFile (line 19) | size_t MyReadFile(FILE *file, void *data, size_t size)
  function MyReadFileAndCheck (line 26) | int MyReadFileAndCheck(FILE *file, void *data, size_t size)
  function MyWriteFile (line 29) | size_t MyWriteFile(FILE *file, const void *data, size_t size)
  function MyWriteFileAndCheck (line 36) | int MyWriteFileAndCheck(FILE *file, const void *data, size_t size)
  type CBuffer (line 41) | typedef struct _CBuffer
  function LzmaReadCompressed (line 48) | int LzmaReadCompressed(void *object, const unsigned char **buffer, SizeT...
  function PrintError (line 64) | int PrintError(char *buffer, const char *message)
  function main3 (line 71) | int main3(FILE *inFile, FILE *outFile, char *rs)
  function main2 (line 304) | int main2(int numArgs, const char *args[], char *rs)
  function main (line 336) | int main(int numArgs, const char *args[])

FILE: src/lzma/C/7zip/Compress/LZMA_Lib/ZLib.cpp
  class CInMemoryStream (line 47) | class CInMemoryStream:
    method CInMemoryStream (line 53) | CInMemoryStream(const Bytef *data, UInt64 size) :
  class COutMemoryStream (line 113) | class COutMemoryStream:
    method COutMemoryStream (line 118) | COutMemoryStream(Bytef *data, UInt64 maxsize) :

FILE: src/lzma/C/7zip/Compress/RangeCoder/RangeCoder.h
  function namespace (line 9) | namespace NCompress {

FILE: src/lzma/C/7zip/Compress/RangeCoder/RangeCoderBit.cpp
  type NCompress (line 7) | namespace NCompress {
    type NRangeCoder (line 8) | namespace NRangeCoder {

FILE: src/lzma/C/7zip/Compress/RangeCoder/RangeCoderBit.h
  function namespace (line 8) | namespace NCompress {

FILE: src/lzma/C/7zip/Compress/RangeCoder/RangeCoderBitTree.h
  function namespace (line 9) | namespace NCompress {

FILE: src/lzma/C/7zip/ICoder.h
  function namespace (line 39) | namespace NCoderPropID
  function namespace (line 142) | namespace NMethodPropID

FILE: src/lzma/C/Common/Alloc.cpp
  function MyFree (line 32) | void MyFree(void *address) throw()
  function MidFree (line 54) | void MidFree(void *address) throw()
  function SetLargePageSize (line 74) | bool SetLargePageSize()
  function BigFree (line 106) | void BigFree(void *address) throw()

FILE: src/lzma/C/Common/CRC.cpp
  class CCRCTableInit (line 25) | class CCRCTableInit
    method CCRCTableInit (line 28) | CCRCTableInit() { CCRC::InitTable(); }

FILE: src/lzma/C/Common/CRC.h
  function class (line 9) | class CCRC

FILE: src/lzma/C/Common/C_FileIO.cpp
  type NC (line 8) | namespace NC {
    type NFile (line 9) | namespace NFile {
      type NIO (line 10) | namespace NIO {
        function off_t (line 41) | off_t CFileBase::Seek(off_t distanceToMove, int moveMethod) const

FILE: src/lzma/C/Common/C_FileIO.h
  function namespace (line 12) | namespace NC {

FILE: src/lzma/C/Common/CommandLineParser.cpp
  type NCommandLineParser (line 7) | namespace NCommandLineParser {
    function SplitCommandLine (line 9) | void SplitCommandLine(const UString &src, UString &dest1, UString &dest2)
    function SplitCommandLine (line 31) | void SplitCommandLine(const UString &s, UStringVector &parts)
    function IsItSwitchChar (line 57) | static bool IsItSwitchChar(wchar_t c)
    function CSwitchResult (line 200) | const CSwitchResult& CParser::operator[](size_t index) const
    function ParseCommand (line 208) | int ParseCommand(int numCommandForms, const CCommandForm *commandForms,
    function ParseSubCharsCommand (line 232) | bool ParseSubCharsCommand(int numForms, const CCommandSubCharsSet *forms,

FILE: src/lzma/C/Common/CommandLineParser.h
  function namespace (line 8) | namespace NCommandLineParser {

FILE: src/lzma/C/Common/Defs.h
  function T (line 6) | T MyMin(T a, T b)
  function T (line 8) | T MyMax(T a, T b)
  function MyCompare (line 11) | int MyCompare(T a, T b)
  function BoolToInt (line 14) | inline int BoolToInt(bool value)
  function IntToBool (line 17) | inline bool IntToBool(int value)

FILE: src/lzma/C/Common/MyCom.h
  function Release (line 24) | void Release() { if (_p) { _p->Release(); _p = NULL; } }
  function operator (line 25) | operator T*() const {  return (T*)_p;  }

FILE: src/lzma/C/Common/MyGuidDef.h
  type GUID (line 8) | typedef struct {

FILE: src/lzma/C/Common/MyWindows.h
  type CHAR (line 17) | typedef char CHAR;
  type UCHAR (line 18) | typedef unsigned char UCHAR;
  type BYTE (line 19) | typedef unsigned char BYTE;
  type SHORT (line 21) | typedef short SHORT;
  type USHORT (line 22) | typedef unsigned short USHORT;
  type WORD (line 23) | typedef unsigned short WORD;
  type VARIANT_BOOL (line 24) | typedef short VARIANT_BOOL;
  type INT (line 26) | typedef int INT;
  type Int32 (line 27) | typedef Int32 INT32;
  type UINT (line 28) | typedef unsigned int UINT;
  type UInt32 (line 29) | typedef UInt32 UINT32;
  type INT32 (line 30) | typedef INT32 LONG;
  type UINT32 (line 31) | typedef UINT32 ULONG;
  type UINT32 (line 32) | typedef UINT32 DWORD;
  type Int64 (line 34) | typedef Int64 LONGLONG;
  type UInt64 (line 35) | typedef UInt64 ULONGLONG;
  type LARGE_INTEGER (line 37) | typedef struct LARGE_INTEGER { LONGLONG QuadPart; }LARGE_INTEGER;
  type ULARGE_INTEGER (line 38) | typedef struct _ULARGE_INTEGER { ULONGLONG QuadPart;} ULARGE_INTEGER;
  type CHAR (line 40) | typedef const CHAR *LPCSTR;
  type CHAR (line 41) | typedef CHAR TCHAR;
  type TCHAR (line 42) | typedef const TCHAR *LPCTSTR;
  type wchar_t (line 43) | typedef wchar_t WCHAR;
  type WCHAR (line 44) | typedef WCHAR OLECHAR;
  type WCHAR (line 45) | typedef const WCHAR *LPCWSTR;
  type OLECHAR (line 46) | typedef OLECHAR *BSTR;
  type OLECHAR (line 47) | typedef const OLECHAR *LPCOLESTR;
  type OLECHAR (line 48) | typedef OLECHAR *LPOLESTR;
  type FILETIME (line 50) | typedef struct _FILETIME
  type ULONG (line 58) | typedef ULONG PROPID;
  type LONG (line 59) | typedef LONG SCODE;
  type IUnknown (line 85) | struct IUnknown
  type IUnknown (line 92) | typedef IUnknown *LPUNKNOWN;
  type VARENUM (line 97) | enum VARENUM
  type VARTYPE (line 127) | typedef unsigned short VARTYPE;
  type WORD (line 128) | typedef WORD PROPVAR_PAD1;
  type WORD (line 129) | typedef WORD PROPVAR_PAD2;
  type WORD (line 130) | typedef WORD PROPVAR_PAD3;
  type PROPVARIANT (line 132) | typedef struct tagPROPVARIANT
  type PROPVARIANT (line 157) | typedef PROPVARIANT tagVARIANT;
  type tagVARIANT (line 158) | typedef tagVARIANT VARIANT;
  type VARIANT (line 159) | typedef VARIANT VARIANTARG;
  type STREAM_SEEK (line 175) | typedef enum tagSTREAM_SEEK

FILE: src/lzma/C/Common/NewHandler.cpp
  class CC (line 67) | class CC
    method CC (line 70) | CC()

FILE: src/lzma/C/Common/NewHandler.h
  function class (line 6) | class CNewException {}

FILE: src/lzma/C/Common/String.cpp
  function wchar_t (line 18) | wchar_t MyCharUpper(wchar_t c)
  function wchar_t (line 36) | wchar_t MyCharLower(wchar_t c)
  function wchar_t (line 54) | wchar_t * MyStringUpper(wchar_t *s)
  function wchar_t (line 66) | wchar_t * MyStringLower(wchar_t *s)
  function wchar_t (line 128) | wchar_t MyCharUpper(wchar_t c)
  function MyStringCompare (line 152) | int MyStringCompare(const char *s1, const char *s2)
  function MyStringCompare (line 164) | int MyStringCompare(const wchar_t *s1, const wchar_t *s2)
  function MyStringCompareNoCase (line 176) | int MyStringCompareNoCase(const wchar_t *s1, const wchar_t *s2)
  function MyStringCompareNoCase (line 194) | int MyStringCompareNoCase(const char *s1, const char *s2)

FILE: src/lzma/C/Common/String.h
  function MyStringLen (line 18) | int MyStringLen(const T *s)
  function T (line 26) | T * MyStringCopy(T *dest, const T *src)
  function wchar_t (line 33) | inline wchar_t* MyStringGetNextCharPointer(wchar_t *p)
  function wchar_t (line 35) | inline const wchar_t* MyStringGetNextCharPointer(const wchar_t *p)
  function wchar_t (line 37) | inline wchar_t* MyStringGetPrevCharPointer(const wchar_t *, wchar_t *p)
  function wchar_t (line 39) | inline const wchar_t* MyStringGetPrevCharPointer(const wchar_t *, const ...
  function MyCharUpper (line 54) | inline char MyCharUpper(char c)
  function wchar_t (line 57) | inline wchar_t MyCharUpper(wchar_t c)
  function MyCharLower (line 63) | inline char MyCharLower(char c)
  function wchar_t (line 66) | inline wchar_t MyCharLower(wchar_t c)
  function wchar_t (line 74) | inline wchar_t * MyStringUpper(wchar_t *s) { return CharUpperW(s); }
  function wchar_t (line 81) | inline wchar_t * MyStringLower(wchar_t *s) { return CharLowerW(s); }
  function TrimLeftWithCharSet (line 114) | void TrimLeftWithCharSet(const CStringBase &charSet)
  function TrimRightWithCharSet (line 121) | void TrimRightWithCharSet(const CStringBase &charSet)
  function MoveItems (line 143) | void MoveItems(int destIndex, int srcIndex)
  function InsertSpace (line 149) | void InsertSpace(int &index, int size)
  function T (line 156) | static T *GetNextCharPointer(T *p)
  function T (line 158) | static const T *GetNextCharPointer(const T *p)
  function T (line 160) | static T *GetPrevCharPointer(T *base, T *p)
  function T (line 162) | static const T *GetPrevCharPointer(const T *base, const T *p)
  function SetCapacity (line 169) | void SetCapacity(int newCapacity)
  function GrowLength (line 197) | void GrowLength(int n)
  function CorrectIndex (line 214) | void CorrectIndex(int &index) const
  function operator (line 245) | operator const T*() const { return _chars;}
  function T (line 249) | T* GetBuffer(int minBufLength)
  function ReleaseBuffer (line 255) | void ReleaseBuffer() { ReleaseBuffer(MyStringLen(_chars)); }
  function ReleaseBuffer (line 256) | void ReleaseBuffer(int newLength)
  function Empty (line 319) | void Empty()
  function CStringBase (line 327) | CStringBase Mid(int startIndex) const
  function CStringBase (line 329) | CStringBase Mid(int startIndex, int count ) const
  function CStringBase (line 346) | CStringBase Left(int count) const
  function CStringBase (line 348) | CStringBase Right(int count) const
  function MakeUpper (line 355) | void MakeUpper()
  function MakeLower (line 357) | void MakeLower()
  function Compare (line 360) | int Compare(const CStringBase& s) const
  function CompareNoCase (line 363) | int CompareNoCase(const CStringBase& s) const
  function Find (line 372) | int Find(T c) const { return Find(c, 0); }
  function Find (line 373) | int Find(T c, int startIndex) const
  function Find (line 385) | int Find(const CStringBase &s) const { return Find(s, 0); }
  function Find (line 386) | int Find(const CStringBase &s, int startIndex) const
  function ReverseFind (line 401) | int ReverseFind(T c) const
  function FindOneOf (line 415) | int FindOneOf(const CStringBase &s) const
  function TrimLeft (line 423) | void TrimLeft(T c)
  function TrimRight (line 445) | void TrimRight()
  function TrimRight (line 449) | void TrimRight(T c)
  function Trim (line 470) | void Trim()
  function Insert (line 476) | int Insert(int index, T c)
  function Insert (line 483) | int Insert(int index, const CStringBase &s)
  function Replace (line 497) | int Replace(T oldChar, T newChar)
  function Replace (line 514) | int Replace(const CStringBase &oldString, const CStringBase &newString)
  type CStringBase (line 617) | typedef CStringBase<char> AString;
  type CStringBase (line 618) | typedef CStringBase<wchar_t> UString;
  type CObjectVector (line 620) | typedef CObjectVector<AString> AStringVector;
  type CObjectVector (line 621) | typedef CObjectVector<UString> UStringVector;
  type UString (line 624) | typedef UString CSysString;
  type AString (line 626) | typedef AString CSysString;
  type CObjectVector (line 629) | typedef CObjectVector<CSysString> CSysStringVector;

FILE: src/lzma/C/Common/StringConvert.cpp
  function UString (line 12) | UString MultiByteToUnicodeString(const AString &srcString, UINT codePage)
  function AString (line 29) | AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage)
  function AString (line 48) | AString SystemStringToOemString(const CSysString &srcString)
  function UString (line 59) | UString MultiByteToUnicodeString(const AString &srcString, UINT codePage)
  function AString (line 75) | AString UnicodeStringToMultiByte(const UString &srcString, UINT codePage)

FILE: src/lzma/C/Common/StringConvert.h
  function wchar_t (line 13) | inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString)
  function UString (line 15) | inline const UString& GetUnicodeString(const UString &unicodeString)
  function UString (line 17) | inline UString GetUnicodeString(const AString &ansiString)
  function UString (line 19) | inline UString GetUnicodeString(const AString &multiByteString, UINT cod...
  function wchar_t (line 21) | inline const wchar_t* GetUnicodeString(const wchar_t* unicodeString, UINT)
  function UString (line 23) | inline const UString& GetUnicodeString(const UString &unicodeString, UINT)
  function AString (line 28) | inline const AString& GetAnsiString(const AString &ansiString)
  function AString (line 30) | inline AString GetAnsiString(const UString &unicodeString)
  function AString (line 35) | inline const AString& GetOemString(const AString &oemString)
  function AString (line 37) | inline AString GetOemString(const UString &unicodeString)
  function wchar_t (line 42) | inline const wchar_t* GetSystemString(const wchar_t* unicodeString)
  function UString (line 44) | inline const UString& GetSystemString(const UString &unicodeString)
  function wchar_t (line 46) | inline const wchar_t* GetSystemString(const wchar_t* unicodeString, UINT...
  function UString (line 48) | inline const UString& GetSystemString(const UString &unicodeString, UINT...
  function UString (line 50) | inline UString GetSystemString(const AString &multiByteString, UINT code...
  function UString (line 52) | inline UString GetSystemString(const AString &multiByteString)
  function AString (line 57) | inline const AString& GetSystemString(const AString &multiByteString, UINT)
  function AString (line 61) | inline AString GetSystemString(const UString &unicodeString)
  function AString (line 63) | inline AString GetSystemString(const UString &unicodeString, UINT codePage)

FILE: src/lzma/C/Common/StringToInt.cpp
  function UInt64 (line 7) | UInt64 ConvertStringToUInt64(const char *s, const char **end)
  function UInt64 (line 25) | UInt64 ConvertOctStringToUInt64(const char *s, const char **end)
  function UInt64 (line 44) | UInt64 ConvertStringToUInt64(const wchar_t *s, const wchar_t **end)
  function Int64 (line 63) | Int64 ConvertStringToInt64(const char *s, const char **end)

FILE: src/lzma/C/Common/Types.h
  type Byte (line 6) | typedef unsigned char Byte;
  type Int16 (line 7) | typedef short Int16;
  type UInt16 (line 8) | typedef unsigned short UInt16;
  type Int32 (line 9) | typedef int Int32;
  type UInt32 (line 10) | typedef unsigned int UInt32;
  type __int64 (line 12) | typedef __int64 Int64;
  type UInt64 (line 13) | typedef unsigned __int64 UInt64;
  type Int64 (line 15) | typedef long long int Int64;
  type UInt64 (line 16) | typedef unsigned long long int UInt64;

FILE: src/lzma/C/Common/Vector.h
  function class (line 8) | class CBaseRecordVector
  function CBaseRecordVector (line 39) | CRecordVector(const CRecordVector &v):
  function Add (line 54) | int Add(T item)
  function Insert (line 60) | void Insert(int index, T item)
  function T (line 67) | const T& operator[](int index) const { return ((T *)_items)[index]; }
  function Swap (line 74) | void Swap(int i, int j)
  function Sort (line 81) | void Sort(int left, int right)
  function Sort (line 94) | void Sort() { Sort(0, Size());  }
  function Sort (line 95) | void Sort(int left, int right, int (*compare)(const T*, const T*, void *...
  function Sort (line 109) | void Sort(int (*compare)(const T*, const T*, void *), void *param)
  type CRecordVector (line 115) | typedef CRecordVector<int> CIntVector;
  type CUIntVector (line 116) | typedef CRecordVector<unsigned int> CUIntVector;
  type CRecordVector (line 117) | typedef CRecordVector<bool> CBoolVector;
  type CByteVector (line 118) | typedef CRecordVector<unsigned char> CByteVector;
  type CRecordVector (line 119) | typedef CRecordVector<void *> CPointerVector;
  function T (line 142) | const T& operator[](int index) const { return *((T *)CPointerVector::ope...
  function Add (line 148) | int Add(const T& item)
  function Insert (line 150) | void Insert(int index, const T& item)
  function Find (line 159) | int Find(const T& item) const
  function FindInSorted (line 166) | int FindInSorted(const T& item) const
  function AddToSorted (line 182) | int AddToSorted(const T& item)
  function Sort (line 203) | void Sort(int (*compare)(void *const *, void *const *, void *), void *pa...
  function CompareObjectItems (line 206) | static int CompareObjectItems(void *const *a1, void *const *a2, void *pa...
  function Sort (line 208) | void Sort() { CPointerVector::Sort(CompareObjectItems, 0); }

FILE: src/lzma/C/Windows/Defs.h
  function BOOLToBool (line 6) | inline bool BOOLToBool(BOOL value)
  function BOOL (line 9) | inline BOOL BoolToBOOL(bool value)
  function VARIANT_BOOL (line 12) | inline VARIANT_BOOL BoolToVARIANT_BOOL(bool value)
  function VARIANT_BOOLToBool (line 15) | inline bool VARIANT_BOOLToBool(VARIANT_BOOL value)

FILE: src/lzma/C/Windows/FileIO.cpp
  type NWindows (line 15) | namespace NWindows {
    type NFile (line 16) | namespace NFile {
      type NIO (line 17) | namespace NIO {
        function DWORD (line 176) | static inline DWORD GetCreationDisposition(bool createAlways)

FILE: src/lzma/C/Windows/FileIO.h
  function namespace (line 8) | namespace NWindows {

FILE: src/lzma/CS/7zip/Common/CRC.cs
  class CRC (line 5) | class CRC
    method CRC (line 9) | static CRC()
    method Init (line 27) | public void Init() { _value = 0xFFFFFFFF; }
    method UpdateByte (line 29) | public void UpdateByte(byte b)
    method Update (line 34) | public void Update(byte[] data, uint offset, uint size)
    method GetDigest (line 40) | public uint GetDigest() { return _value ^ 0xFFFFFFFF; }
    method CalculateDigest (line 42) | static uint CalculateDigest(byte[] data, uint offset, uint size)
    method VerifyDigest (line 50) | static bool VerifyDigest(uint digest, byte[] data, uint offset, uint s...

FILE: src/lzma/CS/7zip/Common/CommandLineParser.cs
  type SwitchType (line 8) | public enum SwitchType
  class SwitchForm (line 17) | public class SwitchForm
    method SwitchForm (line 26) | public SwitchForm(string idString, SwitchType type, bool multi,
    method SwitchForm (line 36) | public SwitchForm(string idString, SwitchType type, bool multi, int mi...
    method SwitchForm (line 40) | public SwitchForm(string idString, SwitchType type, bool multi):
  class SwitchResult (line 46) | public class SwitchResult
    method SwitchResult (line 52) | public SwitchResult()
  class Parser (line 58) | public class Parser
    method Parser (line 63) | public Parser(int numSwitches)
    method ParseString (line 70) | bool ParseString(string srcString, SwitchForm[] switchForms)
    method ParseStrings (line 171) | public void ParseStrings(SwitchForm[] switchForms, string[] commandStr...
    method ParseCommand (line 191) | public static int ParseCommand(CommandForm[] commandForms, string comm...
    method ParseSubCharsCommand (line 216) | static bool ParseSubCharsCommand(int numForms, CommandSubCharsSet[] fo...
    method IsItSwitchChar (line 252) | static bool IsItSwitchChar(char c)
  class CommandForm (line 258) | public class CommandForm
    method CommandForm (line 262) | public CommandForm(string idString, bool postStringMode)
  class CommandSubCharsSet (line 269) | class CommandSubCharsSet

FILE: src/lzma/CS/7zip/Common/InBuffer.cs
  class InBuffer (line 5) | public class InBuffer
    method InBuffer (line 15) | public InBuffer(uint bufferSize)
    method Init (line 21) | public void Init(System.IO.Stream stream)
    method ReadBlock (line 30) | public bool ReadBlock()
    method ReleaseStream (line 43) | public void ReleaseStream()
    method ReadByte (line 49) | public bool ReadByte(byte b) // check it
    method ReadByte (line 58) | public byte ReadByte()
    method GetProcessedSize (line 67) | public ulong GetProcessedSize()

FILE: src/lzma/CS/7zip/Common/OutBuffer.cs
  class OutBuffer (line 5) | public class OutBuffer
    method OutBuffer (line 13) | public OutBuffer(uint bufferSize)
    method SetStream (line 19) | public void SetStream(System.IO.Stream stream) { m_Stream = stream; }
    method FlushStream (line 20) | public void FlushStream() { m_Stream.Flush(); }
    method CloseStream (line 21) | public void CloseStream() { m_Stream.Close(); }
    method ReleaseStream (line 22) | public void ReleaseStream() { m_Stream = null; }
    method Init (line 24) | public void Init()
    method WriteByte (line 30) | public void WriteByte(byte b)
    method FlushData (line 37) | public void FlushData()
    method GetProcessedSize (line 45) | public ulong GetProcessedSize() { return m_ProcessedSize + m_Pos; }

FILE: src/lzma/CS/7zip/Compress/LZ/IMatchFinder.cs
  type IInWindowStream (line 7) | interface IInWindowStream
    method Init (line 9) | void Init(System.IO.Stream inStream);
    method ReleaseStream (line 10) | void ReleaseStream();
    method MovePos (line 11) | void MovePos();
    method GetIndexByte (line 12) | Byte GetIndexByte(Int32 index);
    method GetMatchLen (line 13) | UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit);
    method GetNumAvailableBytes (line 14) | UInt32 GetNumAvailableBytes();
  type IMatchFinder (line 17) | interface IMatchFinder : IInWindowStream
    method Create (line 19) | void Create(UInt32 historySize, UInt32 keepAddBufferBefore,
    method GetLongestMatch (line 21) | UInt32 GetLongestMatch(UInt32[] distances);
    method DummyLongestMatch (line 22) | void DummyLongestMatch();

FILE: src/lzma/CS/7zip/Compress/LZ/LzBinTree.cs
  class BinTree (line 7) | public class BinTree : InWindow, IMatchFinder
    method SetType (line 40) | public void SetType(int numHashBytes, bool big)
    method Hash (line 63) | UInt32 Hash(UInt32 offset, out UInt32 hash2Value, out UInt32 hash3Value)
    method Hash (line 72) | UInt32 Hash(UInt32 offset)
    method Init (line 77) | public new void Init(System.IO.Stream inStream)
    method ReleaseStream (line 94) | public new void ReleaseStream() { base.ReleaseStream(); }
    method MovePos (line 96) | public new void MovePos()
    method GetIndexByte (line 106) | public new Byte GetIndexByte(Int32 index) { return base.GetIndexByte(i...
    method GetMatchLen (line 108) | public new UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit)
    method GetNumAvailableBytes (line 111) | public new UInt32 GetNumAvailableBytes() { return base.GetNumAvailable...
    method Create (line 113) | public void Create(UInt32 historySize, UInt32 keepAddBufferBefore,
    method GetLongestMatch (line 144) | public UInt32 GetLongestMatch(UInt32[] distances)
    method DummyLongestMatch (line 328) | public void DummyLongestMatch()
    method NormalizeLinks (line 432) | void NormalizeLinks(UInt32[] items, UInt32 numItems, UInt32 subValue)
    method Normalize (line 445) | void Normalize()
    method SetCutValue (line 461) | public void SetCutValue(UInt32 cutValue) { _cutValue = cutValue; }

FILE: src/lzma/CS/7zip/Compress/LZ/LzInWindow.cs
  class InWindow (line 7) | public class InWindow
    method BeforeMoveBlock (line 25) | public virtual void BeforeMoveBlock() { }
    method AfterMoveBlock (line 26) | public virtual void AfterMoveBlock() { }
    method MoveBlock (line 28) | public void MoveBlock()
    method ReadBlock (line 41) | public virtual void ReadBlock()
    method Free (line 67) | void Free() { _bufferBase = null; }
    method Create (line 69) | public void Create(UInt32 keepSizeBefore, UInt32 keepSizeAfter, UInt32...
    method Init (line 84) | public void Init(System.IO.Stream stream)
    method ReleaseStream (line 94) | public void ReleaseStream() { _stream = null; }
    method MovePos (line 96) | public void MovePos()
    method GetIndexByte (line 108) | public Byte GetIndexByte(Int32 index) { return _bufferBase[_bufferOffs...
    method GetMatchLen (line 111) | public UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit)
    method GetNumAvailableBytes (line 125) | public UInt32 GetNumAvailableBytes() { return _streamPos - _pos; }
    method ReduceOffsets (line 127) | public void ReduceOffsets(Int32 subValue)

FILE: src/lzma/CS/7zip/Compress/LZ/LzOutWindow.cs
  class OutWindow (line 5) | public class OutWindow
    method Create (line 13) | public void Create(uint windowSize)
    method Init (line 25) | public void Init(System.IO.Stream stream, bool solid)
    method Init (line 36) | public void Init(System.IO.Stream stream) { Init(stream, false); }
    method ReleaseStream (line 38) | public void ReleaseStream()
    method Flush (line 44) | public void Flush()
    method CopyBlock (line 55) | public void CopyBlock(uint distance, uint len)
    method PutByte (line 70) | public void PutByte(byte b)
    method GetByte (line 77) | public byte GetByte(uint distance)

FILE: src/lzma/CS/7zip/Compress/LZMA/LzmaBase.cs
  class Base (line 5) | internal abstract class Base
    type State (line 15) | public struct State
      method Init (line 18) | public void Init() { Index = 0; }
      method UpdateChar (line 19) | public void UpdateChar()
      method UpdateMatch (line 25) | public void UpdateMatch() { Index = (uint)(Index < 7 ? 7 : 10); }
      method UpdateRep (line 26) | public void UpdateRep() { Index = (uint)(Index < 7 ? 8 : 11); }
      method UpdateShortRep (line 27) | public void UpdateShortRep() { Index = (uint)(Index < 7 ? 9 : 11); }
      method IsCharState (line 28) | public bool IsCharState() { return Index < 7; }
    method GetLenToPosState (line 41) | public static uint GetLenToPosState(uint len)

FILE: src/lzma/CS/7zip/Compress/LZMA/LzmaDecoder.cs
  class Decoder (line 9) | public class Decoder : ICoder, ISetDecoderProperties // ,System.IO.Stream
    class LenDecoder (line 11) | class LenDecoder
      method Create (line 20) | public void Create(uint numPosStates)
      method Init (line 30) | public void Init()
      method Decode (line 42) | public uint Decode(RangeCoder.Decoder rangeDecoder, uint posState)
    class LiteralDecoder (line 61) | class LiteralDecoder
      type Decoder2 (line 63) | struct Decoder2
        method Create (line 66) | public void Create() { m_Decoders = new BitDecoder[0x300]; }
        method Init (line 67) | public void Init() { for (int i = 0; i < 0x300; i++) m_Decoders[i]...
        method DecodeNormal (line 69) | public byte DecodeNormal(RangeCoder.Decoder rangeDecoder)
        method DecodeWithMatchByte (line 78) | public byte DecodeWithMatchByte(RangeCoder.Decoder rangeDecoder, b...
      method Create (line 104) | public void Create(int numPosBits, int numPrevBits)
      method Init (line 118) | public void Init()
      method GetState (line 125) | uint GetState(uint pos, byte prevByte)
      method DecodeNormal (line 128) | public byte DecodeNormal(RangeCoder.Decoder rangeDecoder, uint pos, ...
      method DecodeWithMatchByte (line 131) | public byte DecodeWithMatchByte(RangeCoder.Decoder rangeDecoder, uin...
    method Decoder (line 160) | public Decoder()
    method SetDictionarySize (line 167) | void SetDictionarySize(uint dictionarySize)
    method SetLiteralProperties (line 178) | void SetLiteralProperties(int lp, int lc)
    method SetPosBitsProperties (line 187) | void SetPosBitsProperties(int pb)
    method Init (line 197) | void Init(System.IO.Stream inStream, System.IO.Stream outStream)
    method Code (line 229) | public void Code(System.IO.Stream inStream, System.IO.Stream outStream,
    method SetDecoderProperties (line 348) | public void SetDecoderProperties(byte[] properties)

FILE: src/lzma/CS/7zip/Compress/LZMA/LzmaEncoder.cs
  class Encoder (line 9) | public class Encoder : ICoder, ISetCoderProperties, IWriteCoderProperties
    type EMatchFinderType (line 11) | enum EMatchFinderType
    method FindMatchFinder (line 25) | static int FindMatchFinder(string s)
    method Encoder (line 37) | static Encoder()
    method GetPosSlot (line 51) | static UInt32 GetPosSlot(UInt32 pos)
    method GetPosSlot2 (line 60) | static UInt32 GetPosSlot2(UInt32 pos)
    method BaseInit (line 73) | void BaseInit()
    class LiteralEncoder (line 84) | class LiteralEncoder
      type Encoder2 (line 86) | public struct Encoder2
        method Create (line 90) | public void Create() { m_Encoders = new BitEncoder[0x300]; }
        method Init (line 92) | public void Init() { for (int i = 0; i < 0x300; i++) m_Encoders[i]...
        method Encode (line 94) | public void Encode(RangeCoder.Encoder rangeEncoder, byte symbol)
        method EncodeMatched (line 105) | public void EncodeMatched(RangeCoder.Encoder rangeEncoder, byte ma...
        method GetPrice (line 124) | public uint GetPrice(bool matchMode, byte matchByte, byte symbol)
      method Create (line 159) | public void Create(int numPosBits, int numPrevBits)
      method Init (line 173) | public void Init()
      method GetState (line 180) | uint GetState(uint pos, byte prevByte)
      method GetSubCoder (line 183) | public Encoder2 GetSubCoder(UInt32 pos, Byte prevByte)
    class LenEncoder (line 187) | class LenEncoder
      method LenEncoder (line 195) | public LenEncoder()
      method Init (line 204) | public void Init(UInt32 numPosStates)
      method Encode (line 216) | public void Encode(RangeCoder.Encoder rangeEncoder, UInt32 symbol, U...
      method GetPrice (line 240) | public UInt32 GetPrice(UInt32 symbol, UInt32 posState)
    class LenPriceTableEncoder (line 269) | class LenPriceTableEncoder : LenEncoder
      method SetTableSize (line 275) | public void SetTableSize(UInt32 tableSize) { _tableSize = tableSize; }
      method GetPrice (line 277) | public new UInt32 GetPrice(UInt32 symbol, UInt32 posState)
      method UpdateTable (line 282) | void UpdateTable(UInt32 posState)
      method UpdateTables (line 289) | public void UpdateTables(UInt32 numPosStates)
      method Encode (line 295) | public new void Encode(RangeCoder.Encoder rangeEncoder, UInt32 symbo...
    class Optimal (line 304) | class Optimal
      method MakeAsChar (line 324) | public void MakeAsChar() { BackPrev = 0xFFFFFFFF; Prev1IsChar = fals...
      method MakeAsShortRep (line 325) | public void MakeAsShortRep() { BackPrev = 0; ; Prev1IsChar = false; }
      method IsShortRep (line 326) | public bool IsShortRep() { return (BackPrev == 0); }
    method Create (line 386) | void Create()
    method Encoder (line 418) | public Encoder()
    method SetWriteEndMarkerMode (line 426) | void SetWriteEndMarkerMode(bool writeEndMarker)
    method Init (line 430) | void Init()
    method ReadMatchDistances (line 466) | void ReadMatchDistances(out UInt32 lenRes)
    method MovePos (line 476) | void MovePos(UInt32 num)
    method GetRepLen1Price (line 486) | UInt32 GetRepLen1Price(Base.State state, UInt32 posState)
    method GetRepPrice (line 492) | UInt32 GetRepPrice(UInt32 repIndex, UInt32 len, Base.State state, UInt...
    method GetPosLenPrice (line 514) | UInt32 GetPosLenPrice(UInt32 pos, UInt32 len, UInt32 posState)
    method Backward (line 528) | UInt32 Backward(out UInt32 backRes, UInt32 cur)
    method GetOptimum (line 566) | UInt32 GetOptimum(UInt32 position, out UInt32 backRes)
    method ChangePair (line 1046) | bool ChangePair(UInt32 smallDist, UInt32 bigDist)
    method GetOptimumFast (line 1052) | UInt32 GetOptimumFast(UInt32 position, out UInt32 backRes)
    method InitMatchFinder (line 1143) | void InitMatchFinder(LZ.IMatchFinder matchFinder)
    method WriteEndMarker (line 1148) | void WriteEndMarker(UInt32 posState)
    method Flush (line 1167) | void Flush(UInt32 nowPos)
    method CodeOneBlock (line 1175) | public void CodeOneBlock(out Int64 inSize, out Int64 outSize, out bool...
    method ReleaseMFStream (line 1350) | void ReleaseMFStream()
    method SetOutStream (line 1359) | void SetOutStream(System.IO.Stream outStream) { _rangeEncoder.SetStrea...
    method ReleaseOutStream (line 1360) | void ReleaseOutStream() { _rangeEncoder.ReleaseStream(); }
    method ReleaseStreams (line 1362) | void ReleaseStreams()
    method SetStreams (line 1368) | void SetStreams(System.IO.Stream inStream, System.IO.Stream outStream,
    method Code (line 1400) | public void Code(System.IO.Stream inStream, System.IO.Stream outStream,
    method SetCoderProperties (line 1427) | public void SetCoderProperties(CoderPropID[] propIDs, object[] propert...
    method WriteCoderProperties (line 1533) | public void WriteCoderProperties(System.IO.Stream outStream)
    method FillPosSlotPrices (line 1541) | void FillPosSlotPrices()
    method FillDistancesPrices (line 1554) | void FillDistancesPrices()
    method FillAlignPrices (line 1574) | void FillAlignPrices()

FILE: src/lzma/CS/7zip/Compress/LzmaAlone/LzmaAlone.cs
  class LzmaAlone (line 6) | class LzmaAlone
    type Key (line 8) | enum Key
    method PrintHelp (line 24) | static void PrintHelp()
    method GetNumber (line 44) | static bool GetNumber(string s, out Int32 v)
    method IncorrectCommand (line 58) | static int IncorrectCommand()
    method Main2 (line 64) | static int Main2(string[] args)
    method Main (line 266) | [STAThread]

FILE: src/lzma/CS/7zip/Compress/LzmaAlone/LzmaBench.cs
  class LzmaBench (line 11) | internal abstract class LzmaBench
    class CRandomGenerator (line 17) | class CRandomGenerator
      method CRandomGenerator (line 21) | public CRandomGenerator() { Init(); }
      method Init (line 22) | public void Init() { A1 = 362436069; A2 = 521288629; }
      method GetRnd (line 23) | public UInt32 GetRnd()
    class CBitRandomGenerator (line 31) | class CBitRandomGenerator
      method Init (line 36) | public void Init()
      method GetRnd (line 41) | public UInt32 GetRnd(int numBits)
    class CBenchRandomGenerator (line 61) | class CBenchRandomGenerator
      method CBenchRandomGenerator (line 67) | public CBenchRandomGenerator() { }
      method Init (line 68) | public void Init() { RG.Init(); }
      method Set (line 69) | public void Set(UInt32 bufferSize)
      method GetRndBit (line 75) | UInt32 GetRndBit() { return RG.GetRnd(1); }
      method GetLogRandBits (line 83) | UInt32 GetLogRandBits(int numBits)
      method GetOffset (line 88) | UInt32 GetOffset()
      method GetLen (line 94) | UInt32 GetLen()
      method Generate (line 102) | public void Generate()
    class CrcOutStream (line 122) | class CrcOutStream : System.IO.Stream
      method Init (line 125) | public void Init() { CRC.Init(); }
      method GetDigest (line 126) | public UInt32 GetDigest() { return CRC.GetDigest(); }
      method Flush (line 133) | public override void Flush() { }
      method Seek (line 134) | public override long Seek(long offset, SeekOrigin origin) { return 0; }
      method SetLength (line 135) | public override void SetLength(long value) { }
      method Read (line 136) | public override int Read(byte[] buffer, int offset, int count) { ret...
      method WriteByte (line 138) | public override void WriteByte(byte b)
      method Write (line 142) | public override void Write(byte[] buffer, int offset, int count)
    class CProgressInfo (line 148) | class CProgressInfo : ICodeProgress
      method Init (line 153) | public void Init() { InSize = 0; }
      method SetProgress (line 154) | public void SetProgress(Int64 inSize, Int64 outSize)
    method GetLogSize (line 165) | static UInt32 GetLogSize(UInt32 size)
    method MyMultDiv64 (line 174) | static UInt64 MyMultDiv64(UInt64 value, UInt64 elapsedTime)
    method GetCompressRating (line 188) | static UInt64 GetCompressRating(UInt32 dictionarySize, bool isBT4,
    method GetDecompressRating (line 206) | static UInt64 GetDecompressRating(UInt64 elapsedTime,
    method GetTotalRating (line 213) | static UInt64 GetTotalRating(
    method PrintValue (line 224) | static void PrintValue(UInt64 v)
    method PrintRating (line 232) | static void PrintRating(UInt64 rating)
    method PrintResults (line 238) | static void PrintResults(
    method LzmaBenchmark (line 259) | static public int LzmaBenchmark(Int32 numIterations, UInt32 dictionary...

FILE: src/lzma/CS/7zip/Compress/LzmaAlone/Properties/Resources.cs
  class Resources (line 24) | class Resources
    method Resources (line 32) | internal Resources()

FILE: src/lzma/CS/7zip/Compress/LzmaAlone/Properties/Settings.cs
  class Settings (line 13) | public partial class Settings : System.Configuration.ApplicationSettings...

FILE: src/lzma/CS/7zip/Compress/RangeCoder/RangeCoder.cs
  class Encoder (line 5) | class Encoder
    method SetStream (line 18) | public void SetStream(System.IO.Stream stream)
    method ReleaseStream (line 23) | public void ReleaseStream()
    method Init (line 28) | public void Init()
    method FlushData (line 38) | public void FlushData()
    method FlushStream (line 44) | public void FlushStream()
    method CloseStream (line 49) | public void CloseStream()
    method Encode (line 54) | public void Encode(uint start, uint size, uint total)
    method ShiftLow (line 65) | public void ShiftLow()
    method EncodeDirectBits (line 82) | public void EncodeDirectBits(uint v, int numTotalBits)
    method EncodeBit (line 97) | public void EncodeBit(uint size0, int numTotalBits, uint symbol)
    method GetProcessedSizeAdd (line 114) | public long GetProcessedSizeAdd()
  class Decoder (line 122) | class Decoder
    method Init (line 130) | public void Init(System.IO.Stream stream)
    method ReleaseStream (line 141) | public void ReleaseStream()
    method CloseStream (line 147) | public void CloseStream()
    method Normalize (line 152) | public void Normalize()
    method Normalize2 (line 161) | public void Normalize2()
    method GetThreshold (line 170) | public uint GetThreshold(uint total)
    method Decode (line 175) | public void Decode(uint start, uint size, uint total)
    method DecodeDirectBits (line 182) | public uint DecodeDirectBits(int numTotalBits)
    method DecodeBit (line 213) | public uint DecodeBit(uint size0, int numTotalBits)

FILE: src/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBit.cs
  type BitEncoder (line 5) | struct BitEncoder
    method Init (line 15) | public void Init() { Prob = kBitModelTotal >> 1; }
    method UpdateModel (line 17) | public void UpdateModel(uint symbol)
    method Encode (line 25) | public void Encode(Encoder encoder, uint symbol)
    method BitEncoder (line 50) | static BitEncoder()
    method GetPrice (line 63) | public uint GetPrice(uint symbol)
    method GetPrice0 (line 67) | public uint GetPrice0() { return ProbPrices[Prob >> kNumMoveReducingBi...
    method GetPrice1 (line 68) | public uint GetPrice1() { return ProbPrices[(kBitModelTotal - Prob) >>...
  type BitDecoder (line 71) | struct BitDecoder
    method UpdateModel (line 79) | public void UpdateModel(int numMoveBits, uint symbol)
    method Init (line 87) | public void Init() { Prob = kBitModelTotal >> 1; }
    method Decode (line 89) | public uint Decode(RangeCoder.Decoder rangeDecoder)

FILE: src/lzma/CS/7zip/Compress/RangeCoder/RangeCoderBitTree.cs
  type BitTreeEncoder (line 5) | struct BitTreeEncoder
    method BitTreeEncoder (line 10) | public BitTreeEncoder(int numBitLevels)
    method Init (line 16) | public void Init()
    method Encode (line 22) | public void Encode(Encoder rangeEncoder, UInt32 symbol)
    method ReverseEncode (line 34) | public void ReverseEncode(Encoder rangeEncoder, UInt32 symbol)
    method GetPrice (line 46) | public UInt32 GetPrice(UInt32 symbol)
    method ReverseGetPrice (line 60) | public UInt32 ReverseGetPrice(UInt32 symbol)
    method ReverseGetPrice (line 74) | public static UInt32 ReverseGetPrice(BitEncoder[] Models, UInt32 start...
    method ReverseEncode (line 89) | public static void ReverseEncode(BitEncoder[] Models, UInt32 startIndex,
  type BitTreeDecoder (line 103) | struct BitTreeDecoder
    method BitTreeDecoder (line 108) | public BitTreeDecoder(int numBitLevels)
    method Init (line 114) | public void Init()
    method Decode (line 120) | public uint Decode(RangeCoder.Decoder rangeDecoder)
    method ReverseDecode (line 128) | public uint ReverseDecode(RangeCoder.Decoder rangeDecoder)
    method ReverseDecode (line 142) | public static uint ReverseDecode(BitDecoder[] Models, UInt32 startIndex,

FILE: src/lzma/CS/7zip/ICoder.cs
  class DataErrorException (line 10) | class DataErrorException : ApplicationException
    method DataErrorException (line 12) | public DataErrorException(): base("Data Error") { }
  class InvalidParamException (line 18) | class InvalidParamException : ApplicationException
    method InvalidParamException (line 20) | public InvalidParamException(): base("Invalid Parameter") { }
  type ICodeProgress (line 23) | public interface ICodeProgress
    method SetProgress (line 34) | void SetProgress(Int64 inSize, Int64 outSize);
  type ICoder (line 37) | public interface ICoder
    method Code (line 60) | void Code(System.IO.Stream inStream, System.IO.Stream outStream,
  type CoderPropID (line 78) | public enum CoderPropID
  type ISetCoderProperties (line 131) | public interface ISetCoderProperties
    method SetCoderProperties (line 133) | void SetCoderProperties(CoderPropID[] propIDs, object[] properties);
  type IWriteCoderProperties (line 136) | public interface IWriteCoderProperties
    method WriteCoderProperties (line 138) | void WriteCoderProperties(System.IO.Stream outStream);
  type ISetDecoderProperties (line 141) | public interface ISetDecoderProperties
    method SetDecoderProperties (line 143) | void SetDecoderProperties(byte[] properties);

FILE: src/lzma/Java/SevenZip/CRC.java
  class CRC (line 5) | public class CRC
    method Init (line 25) | public void Init()
    method Update (line 30) | public void Update(byte[] data, int offset, int size)
    method Update (line 36) | public void Update(byte[] data)
    method UpdateByte (line 43) | public void UpdateByte(int b)
    method GetDigest (line 48) | public int GetDigest()

FILE: src/lzma/Java/SevenZip/Compression/ICodeProgress.java
  type ICodeProgress (line 3) | public interface ICodeProgress
    method SetProgress (line 5) | public void SetProgress(long inSize, long outSize);

FILE: src/lzma/Java/SevenZip/Compression/LZ/BinTree.java
  class BinTree (line 4) | public class BinTree extends InWindow
    method SetType (line 52) | public void SetType(int numHashBytes, boolean big)
    method Init (line 76) | public void Init() throws IOException
    method MovePos (line 93) | public void MovePos() throws IOException
    method Create (line 102) | public boolean Create(int historySize, int keepAddBufferBefore,
    method GetLongestMatch (line 133) | public int GetLongestMatch(int[] distances)
    method DummyLongestMatch (line 323) | public void DummyLongestMatch()
    method NormalizeLinks (line 433) | void NormalizeLinks(int[] items, int numItems, int subValue)
    method Normalize (line 446) | void Normalize()
    method SetCutValue (line 462) | public void SetCutValue(int cutValue)

FILE: src/lzma/Java/SevenZip/Compression/LZ/InWindow.java
  class InWindow (line 7) | public class InWindow
    method MoveBlock (line 25) | public void MoveBlock()
    method ReadBlock (line 36) | public void ReadBlock() throws IOException
    method Free (line 62) | void Free()
    method Create (line 65) | public void Create(int keepSizeBefore, int keepSizeAfter, int keepSize...
    method SetStream (line 80) | public void SetStream(java.io.InputStream stream)
    method ReleaseStream (line 83) | public void ReleaseStream()
    method Init (line 86) | public void Init() throws IOException
    method MovePos (line 95) | public void MovePos() throws IOException
    method GetIndexByte (line 107) | public byte GetIndexByte(int index)
    method GetMatchLen (line 111) | public int GetMatchLen(int index, int distance, int limit)
    method GetNumAvailableBytes (line 125) | public int GetNumAvailableBytes()
    method ReduceOffsets (line 128) | public void ReduceOffsets(int subValue)

FILE: src/lzma/Java/SevenZip/Compression/LZ/OutWindow.java
  class OutWindow (line 7) | public class OutWindow
    method Create (line 15) | public void Create(int windowSize)
    method SetStream (line 24) | public void SetStream(java.io.OutputStream stream) throws IOException
    method ReleaseStream (line 30) | public void ReleaseStream() throws IOException
    method Init (line 36) | public void Init(boolean solid)
    method Flush (line 45) | public void Flush() throws IOException
    method CopyBlock (line 56) | public void CopyBlock(int distance, int len) throws IOException
    method PutByte (line 71) | public void PutByte(byte b) throws IOException
    method GetByte (line 78) | public byte GetByte(int distance)

FILE: src/lzma/Java/SevenZip/Compression/LZMA/Base.java
  class Base (line 5) | public class Base
    method StateInit (line 10) | public static final int StateInit()
    method StateUpdateChar (line 15) | public static final int StateUpdateChar(int index)
    method StateUpdateMatch (line 24) | public static final int StateUpdateMatch(int index)
    method StateUpdateRep (line 29) | public static final int StateUpdateRep(int index)
    method StateUpdateShortRep (line 34) | public static final int StateUpdateShortRep(int index)
    method StateIsCharState (line 39) | public static final boolean StateIsCharState(int index)
    method GetLenToPosState (line 54) | public static final int GetLenToPosState(int len)

FILE: src/lzma/Java/SevenZip/Compression/LZMA/Decoder.java
  class Decoder (line 8) | public class Decoder
    class LenDecoder (line 10) | class LenDecoder
      method Create (line 18) | public void Create(int numPosStates)
      method Init (line 27) | public void Init()
      method Decode (line 38) | public int Decode(SevenZip.Compression.RangeCoder.Decoder rangeDecod...
    class LiteralDecoder (line 51) | class LiteralDecoder
      class Decoder2 (line 53) | class Decoder2
        method Init (line 57) | public void Init()
        method DecodeNormal (line 62) | public byte DecodeNormal(SevenZip.Compression.RangeCoder.Decoder r...
        method DecodeWithMatchByte (line 71) | public byte DecodeWithMatchByte(SevenZip.Compression.RangeCoder.De...
      method Create (line 97) | public void Create(int numPosBits, int numPrevBits)
      method Init (line 110) | public void Init()
      method GetDecoder (line 117) | Decoder2 GetDecoder(int pos, byte prevByte)
    method Decoder (line 148) | public Decoder()
    method SetDictionarySize (line 154) | boolean SetDictionarySize(int dictionarySize)
    method SetLcLpPb (line 167) | boolean SetLcLpPb(int lc, int lp, int pb)
    method Init (line 179) | void Init() throws IOException
    method Code (line 201) | public boolean Code(java.io.InputStream inStream, java.io.OutputStream...
    method SetDecoderProperties (line 313) | public boolean SetDecoderProperties(byte[] properties)

FILE: src/lzma/Java/SevenZip/Compression/LZMA/Encoder.java
  class Encoder (line 9) | public class Encoder
    method GetPosSlot (line 34) | static int GetPosSlot(int pos)
    method GetPosSlot2 (line 43) | static int GetPosSlot2(int pos)
    method BaseInit (line 56) | void BaseInit()
    class LiteralEncoder (line 67) | class LiteralEncoder
      class Encoder2 (line 69) | class Encoder2
        method Init (line 73) | public void Init()
        method Encode (line 78) | public void Encode(SevenZip.Compression.RangeCoder.Encoder rangeEn...
        method EncodeMatched (line 89) | public void EncodeMatched(SevenZip.Compression.RangeCoder.Encoder ...
        method GetPrice (line 108) | public int GetPrice(boolean matchMode, byte matchByte, byte symbol)
      method Create (line 143) | public void Create(int numPosBits, int numPrevBits)
      method Init (line 156) | public void Init()
      method GetSubCoder (line 163) | public Encoder2 GetSubCoder(int pos, byte prevByte)
    class LenEncoder (line 167) | class LenEncoder
      method LenEncoder (line 174) | public LenEncoder()
      method Init (line 183) | public void Init(int numPosStates)
      method Encode (line 194) | public void Encode(SevenZip.Compression.RangeCoder.Encoder rangeEnco...
      method GetPrice (line 218) | public int GetPrice(int symbol, int posState)
    class LenPriceTableEncoder (line 247) | class LenPriceTableEncoder extends LenEncoder
      method SetTableSize (line 253) | public void SetTableSize(int tableSize)
      method GetPrice (line 256) | public int GetPrice(int symbol, int posState)
      method UpdateTable (line 261) | void UpdateTable(int posState)
      method UpdateTables (line 268) | public void UpdateTables(int numPosStates)
      method Encode (line 274) | public void Encode(SevenZip.Compression.RangeCoder.Encoder rangeEnco...
    class Optimal (line 283) | class Optimal
      method MakeAsChar (line 303) | public void MakeAsChar()
      method MakeAsShortRep (line 305) | public void MakeAsShortRep()
      method IsShortRep (line 307) | public boolean IsShortRep()
    method Create (line 368) | void Create()
    method Encoder (line 402) | public Encoder()
    method Init (line 410) | void Init()
    method ReadMatchDistances (line 438) | int ReadMatchDistances() throws java.io.IOException
    method MovePos (line 449) | void MovePos(int num) throws java.io.IOException
    method GetRepLen1Price (line 459) | int GetRepLen1Price(int state, int posState)
    method GetRepPrice (line 465) | int GetRepPrice(int repIndex, int len, int state, int posState)
    method GetPosLenPrice (line 487) | int GetPosLenPrice(int pos, int len, int posState)
    method Backward (line 501) | int Backward(int[] backRes, int cur)
    method GetOptimum (line 538) | int GetOptimum(int position, int []backRes) throws IOException
    method ChangePair (line 1010) | boolean ChangePair(int smallDist, int bigDist)
    method GetOptimumFast (line 1016) | int GetOptimumFast(int position, int[] backRes) throws IOException
    method WriteEndMarker (line 1107) | void WriteEndMarker(int posState) throws IOException
    method Flush (line 1126) | void Flush(int nowPos) throws IOException
    method CodeOneBlock (line 1135) | public void CodeOneBlock(long[] inSize, long[] outSize, boolean[] fini...
    method ReleaseMFStream (line 1312) | void ReleaseMFStream()
    method SetOutStream (line 1321) | void SetOutStream(java.io.OutputStream outStream)
    method ReleaseOutStream (line 1323) | void ReleaseOutStream()
    method ReleaseStreams (line 1326) | void ReleaseStreams()
    method SetStreams (line 1332) | void SetStreams(java.io.InputStream inStream, java.io.OutputStream out...
    method Code (line 1360) | public void Code(java.io.InputStream inStream, java.io.OutputStream ou...
    method WriteCoderProperties (line 1387) | public void WriteCoderProperties(java.io.OutputStream outStream) throw...
    method FillPosSlotPrices (line 1395) | void FillPosSlotPrices()
    method FillDistancesPrices (line 1408) | void FillDistancesPrices()
    method FillAlignPrices (line 1428) | void FillAlignPrices()
    method SetAlgorithm (line 1436) | public boolean SetAlgorithm(int algorithm)
    method SetDictionarySize (line 1445) | public boolean SetDictionarySize(int dictionarySize)
    method SeNumFastBytes (line 1457) | public boolean SeNumFastBytes(int numFastBytes)
    method SetMatchFinder (line 1465) | public boolean SetMatchFinder(int matchFinderIndex)
    method SetLcLpPb (line 1479) | public boolean SetLcLpPb(int lc, int lp, int pb)
    method SetEndMarkerMode (line 1493) | public void SetEndMarkerMode(boolean endMarkerMode)

FILE: src/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeDecoder.java
  class BitTreeDecoder (line 3) | public class BitTreeDecoder
    method BitTreeDecoder (line 8) | public BitTreeDecoder(int numBitLevels)
    method Init (line 14) | public void Init()
    method Decode (line 19) | public int Decode(Decoder rangeDecoder) throws java.io.IOException
    method ReverseDecode (line 27) | public int ReverseDecode(Decoder rangeDecoder) throws java.io.IOException
    method ReverseDecode (line 41) | public static int ReverseDecode(short[] Models, int startIndex,

FILE: src/lzma/Java/SevenZip/Compression/RangeCoder/BitTreeEncoder.java
  class BitTreeEncoder (line 4) | public class BitTreeEncoder
    method BitTreeEncoder (line 9) | public BitTreeEncoder(int numBitLevels)
    method Init (line 15) | public void Init()
    method Encode (line 20) | public void Encode(Encoder rangeEncoder, int symbol) throws IOException
    method ReverseEncode (line 32) | public void ReverseEncode(Encoder rangeEncoder, int symbol) throws IOE...
    method GetPrice (line 44) | public int GetPrice(int symbol)
    method ReverseGetPrice (line 58) | public int ReverseGetPrice(int symbol)
    method ReverseGetPrice (line 72) | public static int ReverseGetPrice(short[] Models, int startIndex,
    method ReverseEncode (line 87) | public static void ReverseEncode(short[] Models, int startIndex,

FILE: src/lzma/Java/SevenZip/Compression/RangeCoder/Decoder.java
  class Decoder (line 4) | public class Decoder
    method SetStream (line 17) | public final void SetStream(java.io.InputStream stream)
    method ReleaseStream (line 22) | public final void ReleaseStream()
    method Init (line 27) | public final void Init() throws IOException
    method DecodeDirectBits (line 35) | public final int DecodeDirectBits(int numTotalBits) throws IOException
    method DecodeBit (line 54) | public int DecodeBit(short []probs, int index) throws IOException
    method InitBitModels (line 83) | public static void InitBitModels(short []probs)

FILE: src/lzma/Java/SevenZip/Compression/RangeCoder/Encoder.java
  class Encoder (line 4) | public class Encoder
    method SetStream (line 21) | public void SetStream(java.io.OutputStream stream)
    method ReleaseStream (line 26) | public void ReleaseStream()
    method Init (line 31) | public void Init()
    method FlushData (line 40) | public void FlushData() throws IOException
    method FlushStream (line 46) | public void FlushStream() throws IOException
    method ShiftLow (line 51) | public void ShiftLow() throws IOException
    method EncodeDirectBits (line 70) | public void EncodeDirectBits(int v, int numTotalBits) throws IOException
    method GetProcessedSizeAdd (line 86) | public long GetProcessedSizeAdd()
    method InitBitModels (line 96) | public static void InitBitModels(short []probs)
    method Encode (line 102) | public void Encode(short []probs, int index, int symbol) throws IOExce...
    method GetPrice (line 139) | static public int GetPrice(int Prob, int symbol)
    method GetPrice0 (line 143) | static public int GetPrice0(int Prob)
    method GetPrice1 (line 147) | static public int GetPrice1(int Prob)

FILE: src/lzma/Java/SevenZip/LzmaAlone.java
  class LzmaAlone (line 3) | public class LzmaAlone
    class CommandLine (line 5) | static public class CommandLine
      method ParseSwitch (line 32) | boolean ParseSwitch(String s)
      method Parse (line 71) | public boolean Parse(String[] args) throws Exception
    method PrintHelp (line 145) | static void PrintHelp()
    method main (line 164) | public static void main(String[] args) throws Exception

FILE: src/lzma/Java/SevenZip/LzmaBench.java
  class LzmaBench (line 7) | public class LzmaBench
    class CRandomGenerator (line 12) | static class CRandomGenerator
      method CRandomGenerator (line 16) | public CRandomGenerator()
      method Init (line 18) | public void Init()
      method GetRnd (line 20) | public int GetRnd()
    class CBitRandomGenerator (line 28) | static class CBitRandomGenerator
      method Init (line 33) | public void Init()
      method GetRnd (line 38) | public int GetRnd(int numBits)
    class CBenchRandomGenerator (line 58) | static class CBenchRandomGenerator
      method CBenchRandomGenerator (line 64) | public CBenchRandomGenerator()
      method Init (line 66) | public void Init()
      method Set (line 68) | public void Set(int bufferSize)
      method GetRndBit (line 74) | int GetRndBit()
      method GetLogRandBits (line 76) | int GetLogRandBits(int numBits)
      method GetOffset (line 81) | int GetOffset()
      method GetLen (line 87) | int GetLen()
      method Generate (line 95) | public void Generate()
    class CrcOutStream (line 115) | static class CrcOutStream extends java.io.OutputStream
      method Init (line 119) | public void Init()
      method GetDigest (line 123) | public int GetDigest()
      method write (line 127) | public void write(byte[] b)
      method write (line 131) | public void write(byte[] b, int off, int len)
      method write (line 135) | public void write(int b)
    class MyOutputStream (line 141) | static class MyOutputStream extends java.io.OutputStream
      method MyOutputStream (line 147) | public MyOutputStream(byte[] buffer)
      method reset (line 153) | public void reset()
      method write (line 158) | public void write(int b) throws IOException
      method size (line 165) | public int size()
    class MyInputStream (line 171) | static class MyInputStream extends java.io.InputStream
      method MyInputStream (line 177) | public MyInputStream(byte[] buffer, int size)
      method reset (line 183) | public void reset()
      method read (line 188) | public int read()
    class CProgressInfo (line 196) | static class CProgressInfo implements ICodeProgress
      method Init (line 201) | public void Init()
      method SetProgress (line 203) | public void SetProgress(long inSize, long outSize)
    method GetLogSize (line 214) | static int GetLogSize(int size)
    method MyMultDiv64 (line 223) | static long MyMultDiv64(long value, long elapsedTime)
    method GetCompressRating (line 237) | static long GetCompressRating(int dictionarySize, boolean isBT4, long ...
    method GetDecompressRating (line 254) | static long GetDecompressRating(long elapsedTime,
    method GetTotalRating (line 261) | static long GetTotalRating(
    method PrintValue (line 272) | static void PrintValue(long v)
    method PrintRating (line 281) | static void PrintRating(long rating)
    method PrintResults (line 287) | static void PrintResults(
    method LzmaBenchmark (line 308) | static public int LzmaBenchmark(int numIterations, int dictionarySize,...

FILE: src/motorola-bin.c
  function init_crc32 (line 42) | void init_crc32()
  function crc32buf (line 59) | unsigned int crc32buf(char *buf, size_t len)
  type motorola (line 67) | struct motorola {
  function usage (line 75) | void usage(void)
  function main (line 82) | int main(int argc, char **argv)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/getdelim.c
  function getdelim (line 46) | ssize_t

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/getline.c
  function getline (line 28) | ssize_t

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/7zapi.cpp
  function compress_lzma_7zapi (line 10) | int compress_lzma_7zapi(const unsigned char* in_data, unsigned in_size, ...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/7zlzma.cpp
  function compress_lzma_7z (line 6) | bool compress_lzma_7z(const unsigned char* in_data,
  function decompress_lzma_7z (line 51) | bool decompress_lzma_7z(const unsigned char* in_data,

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/AriBitCoder.cpp
  type NCompression (line 6) | namespace NCompression {
    type NArithmetic (line 7) | namespace NArithmetic {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/AriBitCoder.h
  function namespace (line 6) | namespace NCompression {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/AriConst.h
  type NCompression (line 6) | typedef NCompression::NArithmetic::CRangeEncoder CMyRangeEncoder;
  type NCompression (line 7) | typedef NCompression::NArithmetic::CRangeDecoder CMyRangeDecoder;

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/AriPrice.h
  function namespace (line 4) | namespace NCompression {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/BinTree.h
  function namespace (line 4) | namespace BT_NAMESPACE {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/BinTreeMF.h
  function namespace (line 6) | namespace BT_NAMESPACE {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/BinTreeMFMain.h
  function namespace (line 3) | namespace BT_NAMESPACE {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/BinTreeMain.h
  function namespace (line 3) | namespace BT_NAMESPACE {
  function HRESULT (line 62) | HRESULT CInTree::Create(UINT32 aSizeHistory, UINT32 aKeepAddBufferBefore,
  function HRESULT (line 102) | HRESULT CInTree::Init(ISequentialInStream *aStream)
  function UINT32 (line 127) | inline UINT32 Hash(const BYTE *aPointer, UINT32 &aHash2Value, UINT32 &aH...
  function UINT32 (line 136) | inline UINT32 Hash(const BYTE *aPointer, UINT32 &aHash2Value)
  function UINT32 (line 144) | inline UINT32 Hash(const BYTE *aPointer)
  function UINT32 (line 150) | inline UINT32 Hash(const BYTE *aPointer)
  function UINT32 (line 157) | UINT32 CInTree::GetLongestMatch(UINT32 *aDistances)
  function DummyLongestMatch (line 362) | void CInTree::DummyLongestMatch()
  function AfterMoveBlock (line 464) | void CInTree::AfterMoveBlock()
  function NormalizeLinks (line 472) | void CInTree::NormalizeLinks(CIndex *anArray, UINT32 aNumItems, UINT32 a...
  function Normalize (line 485) | void CInTree::Normalize()

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/BitTreeCoder.h
  function Encode (line 20) | void Encode(CMyRangeEncoder *aRangeEncoder, UINT32 aSymbol)
  function UINT32 (line 31) | UINT32 GetPrice(UINT32 aSymbol) const
  function UINT32 (line 59) | UINT32 Decode(CMyRangeDecoder *aRangeDecoder)
  function Create (line 86) | bool Create(UINT32 aNumBitLevels)
  function Init (line 92) | void Init()
  function Encode (line 98) | void Encode(CMyRangeEncoder *aRangeEncoder, UINT32 aSymbol)
  function UINT32 (line 109) | UINT32 GetPrice(UINT32 aSymbol) const
  function Create (line 144) | bool Create(UINT32 aNumBitLevels)
  function Init (line 150) | void Init()
  function UINT32 (line 156) | UINT32 Decode(CMyRangeDecoder *aRangeDecoder)
  function UINT32 (line 186) | UINT32 Decode(CMyRangeDecoder *aRangeDecoder)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/CRC.h
  function class (line 6) | class CCRC

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/Const.h
  function namespace (line 4) | namespace NDeflate {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/IInOutStreams.cpp
  function HRESULT (line 4) | HRESULT ISequentialInStream::Read(void *aData, UINT32 aSize, UINT32* aPr...
  function HRESULT (line 14) | HRESULT ISequentialOutStream::Write(const void *aData, UINT32 aSize, UIN...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/IInOutStreams.h
  function class (line 6) | class ISequentialInStream
  function class (line 16) | class ISequentialOutStream

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/InByte.cpp
  type NStream (line 3) | namespace NStream{

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/InByte.h
  function namespace (line 6) | namespace NStream {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LZMA.cpp
  type NCompress (line 3) | namespace NCompress {
    type NLZMA (line 4) | namespace NLZMA {
      class CConstInit (line 8) | class CConstInit
        method CConstInit (line 11) | CConstInit()

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LZMA.h
  function namespace (line 6) | namespace NCompress {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LZMADecoder.cpp
  type NCompress (line 6) | namespace NCompress {
    type NLZMA (line 7) | namespace NLZMA {
      function HRESULT (line 9) | HRESULT CDecoder::SetDictionarySize(UINT32 aDictionarySize)
      function HRESULT (line 24) | HRESULT CDecoder::SetLiteralProperties(
      function HRESULT (line 35) | HRESULT CDecoder::SetPosBitsProperties(UINT32 aNumPosStateBits)
      function HRESULT (line 52) | HRESULT CDecoder::Create()
      function HRESULT (line 63) | HRESULT CDecoder::Init(ISequentialInStream *anInStream,
      function HRESULT (line 102) | HRESULT CDecoder::CodeReal(ISequentialInStream *anInStream,
      function HRESULT (line 235) | HRESULT CDecoder::Code(ISequentialInStream *anInStream, ISequentialO...
      function HRESULT (line 246) | HRESULT CDecoder::ReadCoderProperties(ISequentialInStream *anInStream)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LZMADecoder.h
  function namespace (line 9) | namespace NCompress {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LZMAEncoder.cpp
  type NCompress (line 11) | namespace NCompress {
    type NLZMA (line 12) | namespace NLZMA {
      class CFastPosInit (line 16) | class CFastPosInit
        method CFastPosInit (line 19) | CFastPosInit()
      function HRESULT (line 54) | HRESULT CEncoder::Create()
      function HRESULT (line 68) | HRESULT CEncoder::SetEncoderAlgorithm(UINT32 A) {
      function HRESULT (line 79) | HRESULT CEncoder::SetEncoderNumFastBytes(UINT32 A) {
      function HRESULT (line 89) | HRESULT CEncoder::SetDictionarySize(UINT32 aDictionarySize)
      function HRESULT (line 102) | HRESULT CEncoder::SetLiteralProperties(UINT32 aLiteralPosStateBits, ...
      function HRESULT (line 113) | HRESULT CEncoder::SetPosBitsProperties(UINT32 aNumPosStateBits)
      function HRESULT (line 123) | HRESULT CEncoder::WriteCoderProperties(ISequentialOutStream *anOutSt...
      function HRESULT (line 140) | HRESULT CEncoder::Init(ISequentialInStream *anInStream, ISequentialO...
      function UINT32 (line 196) | UINT32 CEncoder::Backward(UINT32 &aBackRes, UINT32 aCur)
      function UINT32 (line 239) | UINT32 CEncoder::GetOptimum(UINT32 &aBackRes, UINT32 aPosition)
      function ChangePair (line 683) | static bool inline ChangePair(UINT32 aSmall, UINT32 aBig)
      function UINT32 (line 690) | UINT32 CEncoder::GetOptimumFast(UINT32 &aBackRes, UINT32 aPosition)
      function HRESULT (line 780) | HRESULT CEncoder::Flush()
      function HRESULT (line 786) | HRESULT CEncoder::CodeReal(ISequentialInStream *anInStream,
      function HRESULT (line 934) | HRESULT CEncoder::Code(ISequentialInStream *anInStream, ISequentialO...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LZMAEncoder.h
  function namespace (line 15) | namespace NCompress {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LenCoder.cpp
  type NLength (line 6) | namespace NLength {
    function UINT32 (line 45) | UINT32 CEncoder::GetPrice(UINT32 aSymbol, UINT32 aPosState) const

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LenCoder.h
  function namespace (line 6) | namespace NLength {
  function class (line 47) | class CPriceTableEncoder: public CEncoder
  function UINT32 (line 55) | UINT32 GetPrice(UINT32 aSymbol, UINT32 aPosState) const
  function UpdateTable (line 57) | void UpdateTable(UINT32 aPosState)
  function UpdateTables (line 63) | void UpdateTables()
  function Encode (line 68) | void Encode(CMyRangeEncoder *aRangeEncoder, UINT32 aSymbol, UINT32 aPosS...
  function class (line 77) | class CDecoder
  function Init (line 88) | void Init()
  function UINT32 (line 99) | UINT32 Decode(CMyRangeDecoder *aRangeDecoder, UINT32 aPosState)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LiteralCoder.cpp
  type NLiteral (line 6) | namespace NLiteral {
    function UINT32 (line 37) | UINT32 CEncoder2::GetPrice(bool aMatchMode, BYTE aMatchByte, BYTE aSym...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/LiteralCoder.h
  function namespace (line 7) | namespace NLiteral {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/OutByte.cpp
  type NStream (line 3) | namespace NStream {
    function HRESULT (line 23) | HRESULT COutByte::Flush()

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/OutByte.h
  function namespace (line 7) | namespace NStream {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/Portable.h
  type INT8 (line 6) | typedef signed char INT8;
  type UINT8 (line 7) | typedef unsigned char UINT8;
  type INT16 (line 8) | typedef short INT16;
  type UINT16 (line 9) | typedef unsigned short UINT16;
  type INT32 (line 10) | typedef long INT32;
  type UINT32 (line 11) | typedef unsigned long UINT32;
  type INT64 (line 13) | typedef long long INT64;
  type UINT64 (line 14) | typedef unsigned long long UINT64;
  type __int64 (line 16) | typedef __int64 INT64;
  type UINT64 (line 17) | typedef unsigned __int64 UINT64;
  type UINT8 (line 20) | typedef UINT8 BYTE;
  type UINT16 (line 21) | typedef UINT16 WORD;
  type UINT32 (line 22) | typedef UINT32 DWORD;
  type UINT_PTR (line 24) | typedef unsigned UINT_PTR;
  type BOOL (line 26) | typedef int BOOL;
  function T (line 38) | T MyMin(T a, T b) {
  function T (line 42) | T MyMax(T a, T b) {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/RangeCoder.h
  function namespace (line 7) | namespace NCompression {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/WindowIn.cpp
  type NStream (line 4) | namespace NStream {
    type NWindow (line 5) | namespace NWindow {
      function HRESULT (line 33) | HRESULT CIn::Init(ISequentialInStream *aStream)
      function HRESULT (line 56) | HRESULT CIn::ReadBlock()

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/WindowIn.h
  function namespace (line 6) | namespace NStream {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/WindowOut.cpp
  type NStream (line 3) | namespace NStream {
    type NWindow (line 4) | namespace NWindow {
      function HRESULT (line 46) | HRESULT COut::Flush()

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/WindowOut.h
  function namespace (line 6) | namespace NStream {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/compress/lzDecomp.cpp
  function decompress_lzma_7z (line 7) | int decompress_lzma_7z( unsigned char* in_data,

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/7zlzma.c
  function decompress_lzma_7z (line 13) | int decompress_lzma_7z( unsigned char* in_data,

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/AriBitCoder.h
  type UINT32 (line 12) | typedef UINT32 CBitDecoder;
  function INLINE (line 14) | INLINE  void BitDecoderInit(CBitDecoder *bitDecoder)
  function INLINE (line 22) | INLINE  UINT32 BitDecode(ISequentialInStream *in_stream, CBitDecoder *bi...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/BitTreeCoder.h
  type CBitTreeDecoder (line 16) | typedef struct CBitTreeDecoder
  function INLINE (line 23) | INLINE void BitTreeDecoderInit(CBitTreeDecoder *bitTreeDecoder, UINT32 a...
  function INLINE (line 37) | INLINE UINT32 BitTreeDecode(ISequentialInStream *in_stream, CBitTreeDeco...
  type CReverseBitTreeDecoder2 (line 56) | typedef struct CReverseBitTreeDecoder2
  function INLINE (line 64) | INLINE BOOL ReverseBitTreeDecoder2Create(CReverseBitTreeDecoder2 *revers...
  function INLINE (line 75) | INLINE void ReverseBitTreeDecoder2Init(CReverseBitTreeDecoder2 *reverseB...
  function INLINE (line 82) | INLINE UINT32 ReverseBitTreeDecoder2Decode(ISequentialInStream *in_strea...
  type CReverseBitTreeDecoder (line 102) | typedef struct CReverseBitTreeDecoder
  function INLINE (line 110) | INLINE void ReverseBitTreeDecoderInit(CReverseBitTreeDecoder *reverseBit...
  function INLINE (line 124) | INLINE UINT32 ReverseBitTreeDecoderDecode(ISequentialInStream *in_stream...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/IInOutStreams.c
  function HRESULT (line 20) | HRESULT InStreamRead(void *aData, UINT32 aSize, UINT32* aProcessedSize) {
  function BYTE (line 31) | BYTE InStreamReadByte()

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/IInOutStreams.h
  type ISequentialInStream (line 6) | typedef struct ISequentialInStream
  function INLINE (line 14) | INLINE void InStreamInit(unsigned char * Adata, unsigned Asize)
  function INLINE (line 25) | INLINE BYTE InStreamReadByte(ISequentialInStream *in_stream)
  type ISequentialOutStream (line 36) | typedef struct ISequentialOutStream

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/LZMA.h
  type BYTE (line 16) | typedef BYTE CState;
  function INLINE (line 18) | INLINE void CStateInit(CState *m_Index)
  function INLINE (line 20) | INLINE void CStateUpdateChar(CState *m_Index)
  function INLINE (line 22) | INLINE void CStateUpdateMatch(CState *m_Index)
  function INLINE (line 24) | INLINE void CStateUpdateRep(CState *m_Index)
  function INLINE (line 26) | INLINE void CStateUpdateShortRep(CState *m_Index)
  function INLINE (line 43) | INLINE UINT32 GetLenToPosState(UINT32 aLen)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/LZMADecoder.c
  type WindowOut (line 12) | struct WindowOut
  function LzmaDecoderFreeBuffer (line 18) | static void LzmaDecoderFreeBuffer(LzmaDecoder  *lzmaDecoder)
  function HRESULT (line 61) | HRESULT LzmaDecoderSetDictionarySize(
  function HRESULT (line 77) | HRESULT LzmaDecoderSetLiteralProperties(
  function HRESULT (line 90) | HRESULT LzmaDecoderSetPosBitsProperties(
  function LzmaDecoderConstructor (line 105) | void LzmaDecoderConstructor(LzmaDecoder *lzmaDecoder)
  function HRESULT (line 111) | HRESULT LzmaDecoderCreate(LzmaDecoder *lzmaDecoder)
  function HRESULT (line 123) | HRESULT LzmaDecoderInit(LzmaDecoder *lzmaDecoder)
  function HRESULT (line 161) | HRESULT LzmaDecoderCodeReal(
  function HRESULT (line 339) | HRESULT LzmaDecoderCode(
  function HRESULT (line 359) | HRESULT LzmaDecoderReadCoderProperties(LzmaDecoder *lzmaDecoder)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/LZMADecoder.h
  type LzmaDecoder (line 10) | typedef struct LzmaDecoder

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/LenCoder.h
  type LenDecoder (line 27) | typedef struct LenDecoder
  function INLINE (line 37) | INLINE void LenDecoderCreate(LenDecoder *lenCoder, UINT32 aNumPosStates)
  function INLINE (line 42) | INLINE void LenDecoderInit(LenDecoder *lenCoder)
  function INLINE (line 55) | INLINE UINT32 LenDecode(ISequentialInStream *in_stream, LenDecoder *lenC...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/LiteralCoder.h
  type LitDecoder2 (line 15) | typedef struct LitDecoder2
  function INLINE (line 21) | INLINE void LitDecoder2Init(LitDecoder2 *litDecoder2)
  function INLINE (line 29) | INLINE BYTE LitDecoder2DecodeNormal(ISequentialInStream *in_stream, LitD...
  function INLINE (line 44) | INLINE BYTE LitDecoder2DecodeWithMatchByte(ISequentialInStream *in_strea...
  type LitDecoder (line 72) | typedef struct LitDecoder
  function INLINE (line 92) | INLINE void LitDecoderCreate(LitDecoder *litDecoder, UINT32 aNumPosBits,...
  function INLINE (line 106) | INLINE void LitDecoderInit(LitDecoder *litDecoder)
  function INLINE (line 114) | INLINE UINT32 LitDecoderGetState(LitDecoder *litDecoder, UINT32 aPos, BY...
  function INLINE (line 119) | INLINE BYTE LitDecodeNormal(ISequentialInStream *in_stream, LitDecoder *...
  function INLINE (line 124) | INLINE BYTE LitDecodeWithMatchByte(ISequentialInStream *in_stream, LitDe...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/Portable.h
  type INT8 (line 22) | typedef char INT8;
  type UINT8 (line 23) | typedef unsigned char UINT8;
  type INT16 (line 24) | typedef short INT16;
  type UINT16 (line 25) | typedef unsigned short UINT16;
  type INT32 (line 26) | typedef int INT32;
  type UINT32 (line 27) | typedef unsigned int UINT32;
  type BOOL (line 28) | typedef int BOOL;
  type INT64 (line 32) | typedef long long INT64;
  type UINT64 (line 33) | typedef unsigned long long UINT64;
  type UINT8 (line 35) | typedef UINT8 BYTE;
  type UINT16 (line 36) | typedef UINT16 WORD;
  type UINT32 (line 37) | typedef UINT32 DWORD;
  type UINT_PTR (line 39) | typedef unsigned UINT_PTR;

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/RCDefs.h
  function INLINE (line 37) | INLINE void * lzma_malloc(unsigned long sz)
  function INLINE (line 51) | INLINE void lzma_free(void * blk_p)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/RangeCoder.h
  type CRangeDecoder (line 9) | typedef struct CRangeDecoder
  function INLINE (line 17) | INLINE void RangeDecoderInit(
  function INLINE (line 28) | INLINE UINT32 RangeDecodeDirectBits(

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/WindowOut.h
  type WindowOut (line 6) | typedef struct WindowOut
  function INLINE (line 26) | INLINE void OutWindowCopyBackBlock(UINT32 aDistance, UINT32 aLen)

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/lzma/decompress/vxTypesOld.h
  type INT8 (line 79) | typedef	char		INT8;
  type INT16 (line 80) | typedef	short		INT16;
  type INT32 (line 81) | typedef	int		INT32;
  type UINT8 (line 83) | typedef	unsigned char	UINT8;
  type UINT16 (line 84) | typedef	unsigned short	UINT16;
  type UINT32 (line 85) | typedef	unsigned int	UINT32;
  type UCHAR (line 87) | typedef	unsigned char	UCHAR;
  type USHORT (line 88) | typedef unsigned short	USHORT;
  type UINT (line 89) | typedef	unsigned int	UINT;
  type ULONG (line 90) | typedef unsigned long	ULONG;
  type BOOL (line 92) | typedef	int		BOOL;
  type STATUS (line 93) | typedef	int		STATUS;
  type ARGINT (line 94) | typedef int 		ARGINT;
  type VOID (line 96) | typedef void		VOID;
  type pointer_mix_t (line 116) | typedef union
  type fd_mask (line 193) | typedef long	fd_mask;
  type fd_set (line 199) | typedef	struct fd_set
  type u_char (line 212) | typedef	unsigned char	u_char;
  type u_short (line 213) | typedef	unsigned short	u_short;
  type u_int (line 214) | typedef	unsigned int	u_int;
  type u_long (line 215) | typedef	unsigned long	u_long;
  type ushort (line 216) | typedef	unsigned short	ushort;
  type TBOOL (line 221) | typedef char		TBOOL;
  type INSTR (line 229) | typedef unsigned short INSTR;
  type INSTR (line 233) | typedef unsigned long INSTR;
  type INSTR (line 237) | typedef	unsigned long INSTR;
  type INSTR (line 241) | typedef	unsigned char INSTR;
  type INSTR (line 245) | typedef	unsigned long INSTR;
  type INSTR (line 249) | typedef unsigned long INSTR;
  type INSTR (line 254) | typedef unsigned short INSTR;
  type INSTR (line 256) | typedef unsigned long INSTR;

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/squashfs/mksquashfs.c
  function snprintf (line 90) | inline int snprintf(char *str, size_t n, const char *fmt, ...)
  type directory (line 135) | struct directory {
  type file_info (line 144) | struct file_info
  type exclude_info (line 151) | struct exclude_info {
  type exclude_info (line 158) | struct exclude_info
  type stat (line 159) | struct stat
  type fragment (line 165) | struct fragment {
  type old_root_entry_info (line 182) | struct old_root_entry_info {
  type file_info (line 189) | struct file_info {
  type duplicate_buffer_handle (line 224) | struct duplicate_buffer_handle {
  type old_root_entry_info (line 229) | struct old_root_entry_info
  type stat (line 239) | struct stat
  type file_info (line 242) | struct file_info
  type duplicate_buffer_handle (line 242) | struct duplicate_buffer_handle
  type duplicate_buffer_handle (line 242) | struct duplicate_buffer_handle
  type fragment (line 242) | struct fragment
  function verror_msg (line 254) | static void verror_msg(const char *s, va_list p)
  function vperror_msg (line 261) | static void vperror_msg(const char *s, va_list p)
  function perror_msg (line 273) | static void perror_msg(const char *s, ...)
  function error_msg_and_die (line 282) | static void error_msg_and_die(const char *s, ...)
  function perror_msg_and_die (line 293) | static void perror_msg_and_die(const char *s, ...)
  function FILE (line 303) | static FILE *xfopen(const char *path, const char *mode)
  function restorefs (line 312) | void restorefs()
  function sighandler (line 337) | void sighandler()
  function mangle (line 349) | unsigned int mangle(char *d, char *s, int size, int block_size, int unco...
  function squashfs_base_inode_header (line 417) | squashfs_base_inode_header *get_inode(int req_size)
  function read_bytes (line 465) | void read_bytes(int fd, unsigned int byte, int bytes, char *buff)
  function write_bytes (line 481) | void write_bytes(int fd, unsigned int byte, int bytes, char *buff)
  function write_inodes (line 500) | unsigned int write_inodes()
  function write_directories (line 536) | unsigned int write_directories()
  function get_uid (line 572) | unsigned int get_uid(squashfs_uid uid)
  function get_guid (line 589) | unsigned int get_guid(squashfs_uid uid, squashfs_uid guid)
  function squashfs_inode (line 609) | squashfs_inode create_inode(char *filename, int type, int byte_size,
  function init_dir (line 750) | void init_dir(struct directory *dir)
  function add_dir (line 763) | void add_dir(squashfs_inode inode, char *name, int type, struct director...
  function squashfs_inode (line 820) | squashfs_inode write_dir(char *filename, struct directory *dir)
  type fragment (line 915) | struct fragment
  function write_fragment (line 944) | void write_fragment()
  type fragment (line 968) | struct fragment
  type fragment (line 969) | struct fragment
  type fragment (line 971) | struct fragment
  type fragment (line 979) | struct fragment
  type fragment (line 979) | struct fragment
  function write_fragment_table (line 992) | unsigned int write_fragment_table()
  type duplicate_buffer_handle (line 1041) | struct duplicate_buffer_handle
  type duplicate_buffer_handle (line 1050) | struct duplicate_buffer_handle
  function get_checksum (line 1061) | unsigned short get_checksum(unsigned char *(get_next_file_block)(struct ...
  function add_file (line 1083) | void add_file(int start, int file_bytes, unsigned int *block_listp, int ...
  type file_info (line 1110) | struct file_info
  type duplicate_buffer_handle (line 1110) | struct duplicate_buffer_handle
  type duplicate_buffer_handle (line 1110) | struct duplicate_buffer_handle
  type fragment (line 1110) | struct fragment
  type duplicate_buffer_handle (line 1113) | struct duplicate_buffer_handle
  type file_info (line 1115) | struct file_info
  type duplicate_buffer_handle (line 1122) | struct duplicate_buffer_handle
  type file_info (line 1149) | struct file_info
  type file_info (line 1149) | struct file_info
  function squashfs_inode (line 1176) | squashfs_inode write_file(char *filename, long long size, int *duplicate...
  type linuxdir (line 1271) | struct linuxdir {
  type directory (line 1277) | struct directory
  type linuxdir (line 1279) | struct linuxdir
  type linuxdir (line 1280) | struct linuxdir
  function linux_readdir (line 1291) | int linux_readdir(void *l, char *filename, char *dir_name, struct stat* ...
  function linux_closedir (line 1317) | void linux_closedir(void *linuxdir)
  function interpret_table_entry (line 1324) | static int interpret_table_entry(char *line, char* filename, char* dirna...
  function devtable_readdir (line 1388) | int devtable_readdir(void *l, char *filename, char *dir_name, struct sta...
  type directory (line 1498) | struct directory
  function encomp_readdir (line 1509) | int encomp_readdir(void *l, char *filename, char *dir_name, struct stat*...
  function encomp_closedir (line 1540) | void encomp_closedir(void *linuxdir)
  type directory (line 1545) | struct directory
  function single_readdir (line 1552) | int single_readdir(void *l, char *filename, char *dir_name, struct stat*...
  function squashfs_inode (line 1576) | squashfs_inode dir_scan(char *pathname, void* (_opendir)(char *, struct ...
  function slog (line 1685) | unsigned int slog(unsigned int block)
  function excluded (line 1696) | int excluded(char *filename, struct stat *buf)
  function add_exclude (line 1714) | int add_exclude(char *path)
  function add_old_root_entry (line 1745) | void add_old_root_entry(char *name, squashfs_inode inode, int type)
  function main (line 1768) | int main(int argc, char *argv[])

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/squashfs/read_fs.c
  function read_block (line 58) | int read_block(int fd, int start, int *next, unsigned char *block, squas...
  function scan_inode_table (line 102) | int scan_inode_table(int fd, int start, int end, int root_inode_start, s...
  function read_super (line 237) | int read_super(int fd, squashfs_super_block *sBlk, int *be, char *source)
  function read_fragment_table (line 357) | int read_fragment_table(int fd, squashfs_super_block *sBlk, squashfs_fra...
  function read_filesystem (line 397) | int read_filesystem(char *root_name, int fd, squashfs_super_block *sBlk,...

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/squashfs/sort.c
  type sort_info (line 52) | struct sort_info {
  type sort_info (line 59) | struct sort_info
  type priority_entry (line 61) | struct priority_entry {
  type priority_entry (line 69) | struct priority_entry
  type sorted_inode_entry (line 71) | struct sorted_inode_entry {
  type sorted_inode_entry (line 78) | struct sorted_inode_entry
  type stat (line 81) | struct stat
  function add_to_sorted_inode_list (line 85) | int add_to_sorted_inode_list(squashfs_inode inode, dev_t st_dev, ino_t s...
  function squashfs_inode (line 105) | squashfs_inode get_sorted_inode(struct stat *buf)
  function add_priority_list (line 121) | int add_priority_list(char *filename, struct stat *buf, int priority)
  function get_priority (line 141) | int get_priority(char *filename, struct stat *buf, int priority)
  function add_sort_list (line 169) | int add_sort_list(char *path, int priority, int source, char *source_pat...
  function generate_file_priorities (line 206) | void generate_file_priorities(char *pathname, int priority, struct stat ...
  function read_sort_file (line 248) | int read_sort_file(char *filename, int source, char *source_path[])
  function sort_files_and_write (line 268) | void sort_files_and_write(int source, char *source_path[])

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/squashfs/squashfs_fs.h
  type squashfs_fragment_index (line 127) | typedef unsigned int			squashfs_fragment_index;
  type squashfs_block (line 147) | typedef unsigned int		squashfs_block;
  type squashfs_inode (line 148) | typedef long long		squashfs_inode;
  type squashfs_uid (line 150) | typedef unsigned int		squashfs_uid;
  type squashfs_super_block (line 152) | typedef struct squashfs_super_block {
  type squashfs_base_inode_header (line 174) | typedef struct {
  type squashfs_base_inode_header (line 181) | typedef squashfs_base_inode_header squashfs_ipc_inode_header;
  type squashfs_dev_inode_header (line 183) | typedef struct {
  type squashfs_symlink_inode_header (line 191) | typedef struct {
  type squashfs_reg_inode_header (line 200) | typedef struct {
  type squashfs_dir_inode_header (line 213) | typedef struct {
  type squashfs_inode_header (line 224) | typedef union {
  type squashfs_dir_entry (line 233) | typedef struct {
  type squashfs_dir_header (line 240) | typedef struct {
  type squashfs_fragment_entry (line 246) | typedef struct {
  type squashfs_base_inode_header_1 (line 368) | typedef struct {
  type squashfs_ipc_inode_header_1 (line 375) | typedef struct {
  type squashfs_dev_inode_header_1 (line 384) | typedef struct {
  type squashfs_symlink_inode_header_1 (line 392) | typedef struct {
  type squashfs_reg_inode_header_1 (line 401) | typedef struct {
  type squashfs_dir_inode_header_1 (line 412) | typedef struct {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/squashfs/squashfs_fs_i.h
  type squashfs_inode_info (line 25) | typedef struct squashfs_inode_info {

FILE: src/others/squashfs-2.0-nb4/nb4-mksquashfs/squashfs/squashfs_fs_sb.h
  type squashfs_cache (line 27) | typedef struct {
  type squashfs_fragment_cache (line 34) | struct squashfs_fragment_cache {
  type squashfs_sb_info (line 41) | typedef struct squashfs_sb_info {

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/7zlzma.c
  function decompress_lzma_7z (line 13) | int decompress_lzma_7z( unsigned char* in_data,

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/AriBitCoder.h
  type UINT32 (line 12) | typedef UINT32 CBitDecoder;
  function INLINE (line 14) | INLINE  void BitDecoderInit(CBitDecoder *bitDecoder)
  function INLINE (line 22) | INLINE  UINT32 BitDecode(ISequentialInStream *in_stream, CBitDecoder *bi...

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/BitTreeCoder.h
  type CBitTreeDecoder (line 34) | typedef struct CBitTreeDecoder
  function INLINE (line 41) | INLINE void BitTreeDecoderInit(CBitTreeDecoder *bitTreeDecoder, UINT32 a...
  function INLINE (line 55) | INLINE UINT32 BitTreeDecode(ISequentialInStream *in_stream, CBitTreeDeco...
  type CReverseBitTreeDecoder2 (line 74) | typedef struct CReverseBitTreeDecoder2
  function INLINE (line 82) | INLINE BOOL ReverseBitTreeDecoder2Create(CReverseBitTreeDecoder2 *revers...
  function INLINE (line 93) | INLINE void ReverseBitTreeDecoder2Init(CReverseBitTreeDecoder2 *reverseB...
  function INLINE (line 100) | INLINE UINT32 ReverseBitTreeDecoder2Decode(ISequentialInStream *in_strea...
  type CReverseBitTreeDecoder (line 120) | typedef struct CReverseBitTreeDecoder
  function INLINE (line 128) | INLINE void ReverseBitTreeDecoderInit(CReverseBitTreeDecoder *reverseBit...
  function INLINE (line 142) | INLINE UINT32 ReverseBitTreeDecoderDecode(ISequentialInStream *in_stream...

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/IInOutStreams.c
  function HRESULT (line 21) | HRESULT InStreamRead(void *aData, UINT32 aSize, UINT32* aProcessedSize) {
  function BYTE (line 32) | BYTE InStreamReadByte()

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/IInOutStreams.h
  type ISequentialInStream (line 6) | typedef struct ISequentialInStream
  function INLINE (line 14) | INLINE void InStreamInit(unsigned char * Adata, unsigned Asize)
  function INLINE (line 25) | INLINE BYTE InStreamReadByte(ISequentialInStream *in_stream)
  type ISequentialOutStream (line 36) | typedef struct ISequentialOutStream

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/LZMA.h
  type BYTE (line 16) | typedef BYTE CState;
  function INLINE (line 18) | INLINE void CStateInit(CState *m_Index)
  function INLINE (line 20) | INLINE void CStateUpdateChar(CState *m_Index)
  function INLINE (line 22) | INLINE void CStateUpdateMatch(CState *m_Index)
  function INLINE (line 24) | INLINE void CStateUpdateRep(CState *m_Index)
  function INLINE (line 26) | INLINE void CStateUpdateShortRep(CState *m_Index)
  function INLINE (line 43) | INLINE UINT32 GetLenToPosState(UINT32 aLen)

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/LZMADecoder.c
  type WindowOut (line 11) | struct WindowOut
  function LzmaDecoderFreeBuffer (line 17) | static void LzmaDecoderFreeBuffer(LzmaDecoder  *lzmaDecoder)
  function HRESULT (line 60) | HRESULT LzmaDecoderSetDictionarySize(
  function HRESULT (line 76) | HRESULT LzmaDecoderSetLiteralProperties(
  function HRESULT (line 89) | HRESULT LzmaDecoderSetPosBitsProperties(
  function LzmaDecoderConstructor (line 104) | void LzmaDecoderConstructor(LzmaDecoder *lzmaDecoder)
  function HRESULT (line 110) | HRESULT LzmaDecoderCreate(LzmaDecoder *lzmaDecoder)
  function HRESULT (line 122) | HRESULT LzmaDecoderInit(LzmaDecoder *lzmaDecoder)
  function HRESULT (line 160) | HRESULT LzmaDecoderCodeReal(
  function HRESULT (line 338) | HRESULT LzmaDecoderCode(
  function HRESULT (line 358) | HRESULT LzmaDecoderReadCoderProperties(LzmaDecoder *lzmaDecoder)

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/LZMADecoder.h
  type LzmaDecoder (line 10) | typedef struct LzmaDecoder

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/LenCoder.h
  type LenDecoder (line 27) | typedef struct LenDecoder
  function INLINE (line 37) | INLINE void LenDecoderCreate(LenDecoder *lenCoder, UINT32 aNumPosStates)
  function INLINE (line 42) | INLINE void LenDecoderInit(LenDecoder *lenCoder)
  function INLINE (line 55) | INLINE UINT32 LenDecode(ISequentialInStream *in_stream, LenDecoder *lenC...

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/LiteralCoder.h
  type LitDecoder2 (line 32) | typedef struct LitDecoder2
  function INLINE (line 38) | INLINE void LitDecoder2Init(LitDecoder2 *litDecoder2)
  function INLINE (line 46) | INLINE BYTE LitDecoder2DecodeNormal(ISequentialInStream *in_stream, LitD...
  function INLINE (line 61) | INLINE BYTE LitDecoder2DecodeWithMatchByte(ISequentialInStream *in_strea...
  type LitDecoder (line 89) | typedef struct LitDecoder
  function INLINE (line 109) | INLINE void LitDecoderCreate(LitDecoder *litDecoder, UINT32 aNumPosBits,...
  function INLINE (line 123) | INLINE void LitDecoderInit(LitDecoder *litDecoder)
  function INLINE (line 131) | INLINE UINT32 LitDecoderGetState(LitDecoder *litDecoder, UINT32 aPos, BY...
  function INLINE (line 136) | INLINE BYTE LitDecodeNormal(ISequentialInStream *in_stream, LitDecoder *...
  function INLINE (line 141) | INLINE BYTE LitDecodeWithMatchByte(ISequentialInStream *in_stream, LitDe...

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/Portable.h
  type INT8 (line 22) | typedef char INT8;
  type UINT8 (line 23) | typedef unsigned char UINT8;
  type INT16 (line 24) | typedef short INT16;
  type UINT16 (line 25) | typedef unsigned short UINT16;
  type INT32 (line 26) | typedef int INT32;
  type UINT32 (line 27) | typedef unsigned int UINT32;
  type BOOL (line 28) | typedef int BOOL;
  type INT64 (line 32) | typedef long long INT64;
  type UINT64 (line 33) | typedef unsigned long long UINT64;
  type UINT8 (line 35) | typedef UINT8 BYTE;
  type UINT16 (line 36) | typedef UINT16 WORD;
  type UINT32 (line 37) | typedef UINT32 DWORD;
  type UINT_PTR (line 39) | typedef unsigned UINT_PTR;

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/RangeCoder.h
  type CRangeDecoder (line 9) | typedef struct CRangeDecoder
  function INLINE (line 17) | INLINE void RangeDecoderInit(
  function INLINE (line 28) | INLINE UINT32 RangeDecodeDirectBits(

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/WindowOut.h
  type WindowOut (line 6) | typedef struct WindowOut
  function INLINE (line 26) | INLINE void OutWindowCopyBackBlock(UINT32 aDistance, UINT32 aLen)

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/brcm-lzma/vxTypesOld.h
  type INT8 (line 79) | typedef	char		INT8;
  type INT16 (line 80) | typedef	short		INT16;
  type INT32 (line 81) | typedef	int		INT32;
  type UINT8 (line 83) | typedef	unsigned char	UINT8;
  type UINT16 (line 84) | typedef	unsigned short	UINT16;
  type UINT32 (line 85) | typedef	unsigned int	UINT32;
  type UCHAR (line 87) | typedef	unsigned char	UCHAR;
  type USHORT (line 88) | typedef unsigned short	USHORT;
  type UINT (line 89) | typedef	unsigned int	UINT;
  type ULONG (line 90) | typedef unsigned long	ULONG;
  type BOOL (line 92) | typedef	int		BOOL;
  type STATUS (line 93) | typedef	int		STATUS;
  type ARGINT (line 94) | typedef int 		ARGINT;
  type VOID (line 96) | typedef void		VOID;
  type pointer_mix_t (line 116) | typedef union
  type fd_mask (line 193) | typedef long	fd_mask;
  type fd_set (line 199) | typedef	struct fd_set
  type u_char (line 212) | typedef	unsigned char	u_char;
  type u_short (line 213) | typedef	unsigned short	u_short;
  type u_int (line 214) | typedef	unsigned int	u_int;
  type u_long (line 215) | typedef	unsigned long	u_long;
  type ushort (line 216) | typedef	unsigned short	ushort;
  type TBOOL (line 221) | typedef char		TBOOL;
  type INSTR (line 229) | typedef unsigned short INSTR;
  type INSTR (line 233) | typedef unsigned long INSTR;
  type INSTR (line 237) | typedef	unsigned long INSTR;
  type INSTR (line 241) | typedef	unsigned char INSTR;
  type INSTR (line 245) | typedef	unsigned long INSTR;
  type INSTR (line 249) | typedef unsigned long INSTR;
  type INSTR (line 254) | typedef unsigned short INSTR;
  type INSTR (line 256) | typedef unsigned long INSTR;

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/global.h
  type squashfs_super_block (line 27) | typedef struct squashfs_super_block squashfs_super_block;
  type squashfs_dir_index (line 28) | typedef struct squashfs_dir_index squashfs_dir_index;
  type squashfs_base_inode_header (line 29) | typedef struct squashfs_base_inode_header squashfs_base_inode_header;
  type squashfs_ipc_inode_header (line 30) | typedef struct squashfs_ipc_inode_header squashfs_ipc_inode_header;
  type squashfs_dev_inode_header (line 31) | typedef struct squashfs_dev_inode_header squashfs_dev_inode_header;
  type squashfs_symlink_inode_header (line 32) | typedef struct squashfs_symlink_inode_header squashfs_symlink_inode_header;
  type squashfs_reg_inode_header (line 33) | typedef struct squashfs_reg_inode_header squashfs_reg_inode_header;
  type squashfs_lreg_inode_header (line 34) | typedef struct squashfs_lreg_inode_header squashfs_lreg_inode_header;
  type squashfs_dir_inode_header (line 35) | typedef struct squashfs_dir_inode_header squashfs_dir_inode_header;
  type squashfs_ldir_inode_header (line 36) | typedef struct squashfs_ldir_inode_header squashfs_ldir_inode_header;
  type squashfs_dir_entry (line 37) | typedef struct squashfs_dir_entry squashfs_dir_entry;
  type squashfs_dir_header (line 38) | typedef struct squashfs_dir_header squashfs_dir_header;
  type squashfs_fragment_entry (line 39) | typedef struct squashfs_fragment_entry squashfs_fragment_entry;
  type squashfs_inode_header (line 40) | typedef union squashfs_inode_header squashfs_inode_header;
  type squashfs_dir_index_1 (line 43) | typedef struct squashfs_dir_index_1 squashfs_dir_index_1;
  type squashfs_base_inode_header_1 (line 44) | typedef struct squashfs_base_inode_header_1 squashfs_base_inode_header_1;
  type squashfs_ipc_inode_header_1 (line 45) | typedef struct squashfs_ipc_inode_header_1 squashfs_ipc_inode_header_1;
  type squashfs_dev_inode_header_1 (line 46) | typedef struct squashfs_dev_inode_header_1 squashfs_dev_inode_header_1;
  type squashfs_symlink_inode_header_1 (line 47) | typedef struct squashfs_symlink_inode_header_1 squashfs_symlink_inode_he...
  type squashfs_reg_inode_header_1 (line 48) | typedef struct squashfs_reg_inode_header_1 squashfs_reg_inode_header_1;
  type squashfs_dir_inode_header_1 (line 49) | typedef struct squashfs_dir_inode_header_1 squashfs_dir_inode_header_1;
  type squashfs_inode_header_1 (line 50) | typedef union squashfs_inode_header_1 squashfs_inode_header_1;
  type squashfs_dir_index_2 (line 54) | typedef struct squashfs_dir_index_2 squashfs_dir_index_2;
  type squashfs_base_inode_header_2 (line 55) | typedef struct squashfs_base_inode_header_2 squashfs_base_inode_header_2;
  type squashfs_ipc_inode_header_2 (line 56) | typedef struct squashfs_ipc_inode_header_2 squashfs_ipc_inode_header_2;
  type squashfs_dev_inode_header_2 (line 57) | typedef struct squashfs_dev_inode_header_2 squashfs_dev_inode_header_2;
  type squashfs_symlink_inode_header_2 (line 58) | typedef struct squashfs_symlink_inode_header_2 squashfs_symlink_inode_he...
  type squashfs_reg_inode_header_2 (line 59) | typedef struct squashfs_reg_inode_header_2 squashfs_reg_inode_header_2;
  type squashfs_lreg_inode_header_2 (line 60) | typedef struct squashfs_lreg_inode_header_2 squashfs_lreg_inode_header_2;
  type squashfs_dir_inode_header_2 (line 61) | typedef struct squashfs_dir_inode_header_2 squashfs_dir_inode_header_2;
  type squashfs_ldir_inode_header_2 (line 62) | typedef struct squashfs_ldir_inode_header_2 squashfs_ldir_inode_header_2;
  type squashfs_dir_entry_2 (line 63) | typedef struct squashfs_dir_entry_2 squashfs_dir_entry_2;
  type squashfs_dir_header_2 (line 64) | typedef struct squashfs_dir_header_2 squashfs_dir_header_2;
  type squashfs_fragment_entry_2 (line 65) | typedef struct squashfs_fragment_entry_2 squashfs_fragment_entry_2;
  type squashfs_inode_header_2 (line 66) | typedef union squashfs_inode_header_2 squashfs_inode_header_2;
  type squashfs_uid (line 69) | typedef unsigned int squashfs_uid;
  type squashfs_fragment_index (line 70) | typedef long long squashfs_fragment_index;
  type squashfs_inode_t (line 71) | typedef squashfs_inode_t squashfs_inode;
  type squashfs_block_t (line 72) | typedef squashfs_block_t squashfs_block;

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/nb4-unsquash.c
  type hash_table_entry (line 89) | struct hash_table_entry {
  type squashfs_operations (line 95) | typedef struct squashfs_operations {
  type inode (line 103) | struct inode {
  type test (line 121) | struct test {
  type hash_table_entry (line 134) | struct hash_table_entry
  type test (line 161) | struct test
  function print_filename (line 202) | int print_filename(char *pathname, struct inode *inode)
  function add_entry (line 259) | int add_entry(struct hash_table_entry *hash_table[], int start, int bytes)
  function lookup_entry (line 278) | int lookup_entry(struct hash_table_entry *hash_table[], int start)
  function read_bytes (line 292) | int read_bytes(long long byte, int bytes, char *buff)
  function read_block (line 312) | int read_block(long long start, long long *next, char *block)
  function read_data_block (line 366) | int read_data_block(long long start, unsigned int size, char *block)
  function read_block_list (line 400) | void read_block_list(unsigned int *block_list, unsigned char *block_ptr,...
  function read_block_list_1 (line 411) | void read_block_list_1(unsigned int *block_list, unsigned char *block_pt...
  function uncompress_inode_table (line 428) | void uncompress_inode_table(long long start, long long end)
  function set_attributes (line 448) | int set_attributes(char *pathname, int mode, uid_t uid, gid_t guid, time...
  function read_uids_guids (line 475) | void read_uids_guids()
  function read_fragment_table (line 498) | void read_fragment_table()
  function read_fragment_table_2 (line 537) | void read_fragment_table_2()
  function read_fragment_table_1 (line 576) | void read_fragment_table_1()
  function write_block (line 621) | int write_block(int file_fd, char *buffer, int size)
  function write_file (line 655) | int write_file(long long file_size, char *pathname, unsigned int fragmen...
  type inode (line 736) | struct inode
  type inode (line 742) | struct inode
  function create_inode (line 880) | int create_inode(char *pathname, struct inode *i)
  type inode (line 978) | struct inode
  type inode (line 984) | struct inode
  type inode (line 1104) | struct inode
  type inode (line 1110) | struct inode
  function uncompress_directory_table (line 1232) | void uncompress_directory_table(long long start, long long end)
  type dir_ent (line 1252) | struct dir_ent	{
  type dir (line 1259) | struct dir {
  type dir (line 1270) | struct dir
  type inode (line 1277) | struct inode
  type dir_ent (line 1279) | struct dir_ent
  type dir (line 1280) | struct dir
  type dir (line 1303) | struct dir
  type dir_ent (line 1341) | struct dir_ent
  type dir (line 1362) | struct dir
  type inode (line 1369) | struct inode
  type dir_ent (line 1371) | struct dir_ent
  type dir (line 1372) | struct dir
  type dir (line 1395) | struct dir
  type dir_ent (line 1433) | struct dir_ent
  function squashfs_readdir (line 1454) | int squashfs_readdir(struct dir *dir, char **name, unsigned int *start_b...
  function squashfs_closedir (line 1470) | void squashfs_closedir(struct dir *dir)
  type path_entry (line 1491) | struct path_entry {
  type pathname (line 1497) | struct pathname {
  type pathnames (line 1502) | struct pathnames {
  function free_path (line 1508) | void free_path(struct pathname *paths)
  type pathname (line 1526) | struct pathname
  type pathname (line 1526) | struct pathname
  type pathname (line 1534) | struct pathname
  type path_entry (line 1548) | struct path_entry
  function display_path (line 1589) | void display_path(int depth, struct pathname *paths)
  function display_path2 (line 1605) | void display_path2(struct pathname *paths, char *string)
  type pathnames (line 1622) | struct pathnames
  type pathnames (line 1624) | struct pathnames
  type pathnames (line 1624) | struct pathnames
  type pathnames (line 1630) | struct pathnames
  type pathnames (line 1630) | struct pathnames
  type pathname (line 1630) | struct pathname
  type pathnames (line 1633) | struct pathnames
  type pathname (line 1633) | struct pathname
  function free_subdir (line 1640) | void free_subdir(struct pathnames *paths)
  function matches (line 1646) | int matches(struct pathnames *paths, char *name, struct pathnames **new)
  function dir_scan (line 1695) | int dir_scan(char *parent_name, unsigned int start_block, unsigned int o...
  function squashfs_stat (line 1750) | void squashfs_stat(char *source)
  function read_super (line 1794) | int read_super(char *source)
  type pathname (line 1855) | struct pathname
  type pathname (line 1855) | struct pathname
  function main (line 1882) | int main(int argc, char *argv[])

FILE: src/others/squashfs-2.0-nb4/nb4-unsquashfs/squashfs_fs.h
  type meta_entry (line 206) | struct meta_entry {
  type meta_index (line 213) | struct meta_index {
  type squashfs_block_t (line 228) | typedef long long		squashfs_block_t;
  type squashfs_inode_t (line 229) | typedef long long		squashfs_inode_t;
  type squashfs_super_block (line 231) | struct squashfs_super_block {
  type squashfs_dir_index (line 260) | struct squashfs_dir_index {
  type squashfs_base_inode_header (line 275) | struct squashfs_base_inode_header {
  type squashfs_ipc_inode_header (line 279) | struct squashfs_ipc_inode_header {
  type squashfs_dev_inode_header (line 284) | struct squashfs_dev_inode_header {
  type squashfs_symlink_inode_header (line 290) | struct squashfs_symlink_inode_header {
  type squashfs_reg_inode_header (line 297) | struct squashfs_reg_inode_header {
  type squashfs_lreg_inode_header (line 306) | struct squashfs_lreg_inode_header {
  type squashfs_dir_inode_header (line 316) | struct squashfs_dir_inode_header {
  type squashfs_ldir_inode_header (line 325) | struct squashfs_ldir_inode_header {
  type squashfs_base_inode_header (line 337) | struct squashfs_base_inode_header
  type squashfs_dev_inode_header (line 338) | struct squashfs_dev_inode_header
  type squashfs_symlink_inode_header (line 339) | struct squashfs_symlink_inode_header
  type squashfs_reg_inode_header (line 340) | struct squashfs_reg_inode_header
  type squashfs_lreg_inode_header (line 341) | struct squashfs_lreg_inode_header
  type squashfs_dir_inode_header (line 342) | struct squashfs_dir_inode_header
  type squashfs_ldir_inode_header (line 343) | struct squashfs_ldir_inode_header
  type squashfs_ipc_inode_header (line 344) | struct squashfs_ipc_inode_header
  type squashfs_dir_entry (line 347) | struct squashfs_dir_entry {
  type squashfs_dir_header (line 355) | struct squashfs_dir_header {
  type squashfs_fragment_entry (line 361) | struct squashfs_fragment_entry {
  type squashfs_base_inode_header_1 (line 576) | struct squashfs_base_inode_header_1 {
  type squashfs_ipc_inode_header_1 (line 583) | struct squashfs_ipc_inode_header_1 {
  type squashfs_dev_inode_header_1 (line 592) | struct squashfs_dev_inode_header_1 {
  type squashfs_symlink_inode_header_1 (line 600) | struct squashfs_symlink_inode_header_1 {
  type squashfs_reg_inode_header_1 (line 609) | struct squashfs_reg_inode_header_1 {
  type squashfs_dir_inode_header_1 (line 620) | struct squashfs_dir_inode_header_1 {
  type squashfs_base_inode_header_1 (line 632) | struct squashfs_base_inode_header_1
  type squashfs_dev_inode_header_1 (line 633) | struct squashfs_dev_inode_header_1
  type squashfs_symlink_inode_header_1 (line 634) | struct squashfs_symlink_inode_header_1
  type squashfs_reg_inode_header_1 (line 635) | struct squashfs_reg_inode_header_1
  type squashfs_dir_inode_header_1 (line 636) | struct squashfs_dir_inode_header_1
  type squashfs_ipc_inode_header_1 (line 637) | struct squashfs_ipc_inode_header_1
  type squashfs_dir_index_2 (line 697) | struct squashfs_dir_index_2 {
  type squashfs_base_inode_header_2 (line 704) | struct squashfs_base_inode_header_2 {
  type squashfs_ipc_inode_header_2 (line 711) | struct squashfs_ipc_inode_header_2 {
  type squashfs_dev_inode_header_2 (line 718) | struct squashfs_dev_inode_header_2 {
  type squashfs_symlink_inode_header_2 (line 726) | struct squashfs_symlink_inode_header_2 {
  type squashfs_reg_inode_header_2 (line 735) | struct squashfs_reg_inode_header_2 {
  type squashfs_dir_inode_header_2 (line 748) | struct squashfs_dir_inode_header_2 {
  type squashfs_ldir_inode_header_2 (line 759) | struct squashfs_ldir_inode_header_2 {
  type squashfs_base_inode_header_2 (line 773) | struct squashfs_base_inode_header_2
  type squashfs_dev_inode_header_2 (line 774) | struct squashfs_dev_inode_header_2
  type squashfs_symlink_inode_header_2 (line 775) | struct squashfs_symlink_inode_header_2
  type squashfs_reg_inode_header_2 (li
Copy disabled (too large) Download .json
Condensed preview — 5052 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (30,402K chars).
[
  {
    "path": "build-firmware.sh",
    "chars": 4521,
    "preview": "#!/bin/bash\n\nDIR=\"$1\"\nNEXT_PARAM=\"\"\n\nif [ \"$1\" == \"-h\" ]\nthen\n\techo \"Usage: $0 [FMK directory] [-nopad | -min]\"\n\texit 1\n"
  },
  {
    "path": "check_for_upgrade.sh",
    "chars": 1102,
    "preview": "#!/bin/sh\n## # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #\n# 20110224-1507-MCT - Needed quotes around a st"
  },
  {
    "path": "cleanup.sh",
    "chars": 33,
    "preview": "#!/bin/sh\n. ./shared.inc\nCleanup\n"
  },
  {
    "path": "creating_ipkg_packages.htm",
    "chars": 6717,
    "preview": "<html>\n\n<head>\n<meta http-equiv=\"Content-Language\" content=\"en-us\">\n<meta http-equiv=\"Content-Type\" content=\"text/html; "
  },
  {
    "path": "ddwrt-gui-extract.sh",
    "chars": 901,
    "preview": "#!/bin/bash\n\nOUT=\"$1\"\nDIR=\"$2\"\n\nif [ \"$DIR\" == \"\" ]\nthen\n\tDIR=\"fmk/rootfs\"\nfi\n\nif [ \"$OUT\" == \"\" ]\nthen\n\tOUT=\"www\"\nfi\n\ni"
  },
  {
    "path": "ddwrt-gui-rebuild.sh",
    "chars": 1118,
    "preview": "#!/bin/bash\n\nWEBDIR=\"$1\"\nDIR=\"$2\"\n\nif [ \"$DIR\" == \"\" ]\nthen\n\tDIR=\"fmk/rootfs\"\nfi\n\nif [ \"$WEBDIR\" == \"\" ]\nthen\n\tWEBDIR=\"w"
  },
  {
    "path": "extract-firmware.sh",
    "chars": 6184,
    "preview": "#!/bin/bash\n\nIMG=\"${1}\"\nDIR=\"${2}\"\n\nif [ \"${DIR}\" = \"\" ]\n then\n\tDIR=\"fmk\"\nfi\n\n# Need to extract file systems as ROOT\nif "
  },
  {
    "path": "firmware_mod_kit.htm",
    "chars": 41057,
    "preview": "<html>\r\n\r\n<head>\r\n<meta http-equiv=\"Content-Language\" content=\"en-us\" />\r\n<meta http-equiv=\"Content-Type\" content=\"text/"
  },
  {
    "path": "firmware_mod_kit_version.txt",
    "chars": 5,
    "preview": "0.82\n"
  },
  {
    "path": "ipk_template/conffiles",
    "chars": 5,
    "preview": "test\n"
  },
  {
    "path": "ipk_template/control",
    "chars": 207,
    "preview": "Package: package_name\nPriority: optional\nSection: net\nDepends: libncurses\nDescription: Some package description.\nMaintai"
  },
  {
    "path": "ipk_template/debian_binary",
    "chars": 4,
    "preview": "2.0\n"
  },
  {
    "path": "ipk_template/make_ipk.sh",
    "chars": 2966,
    "preview": "#!/bin/sh\nVERSION=\"0.01 alpha\"\n#\n# Title: make_ipk.sh\n# Author: Jeremy Collake <jeremy.collake@gmail.com>\n#\n# Creates a "
  },
  {
    "path": "ipkg_install.sh",
    "chars": 3991,
    "preview": "#!/bin/sh\n#\n# $Id: ipkg_install.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $\n#\n. \"./shared.inc\"\n### 20110225-M"
  },
  {
    "path": "ipkg_install_all.sh",
    "chars": 1267,
    "preview": "#!/bin/sh\n#\n# $Id: ipkg_install_all.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $\n#\n. \"./shared.inc\"\n### 201102"
  },
  {
    "path": "ipkg_remove.sh",
    "chars": 4635,
    "preview": "#!/bin/sh\n#\n# $Id: ipkg_remove.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $\n#\n. \"./shared.inc\"\n### 20110225-MC"
  },
  {
    "path": "ipkg_remove_all.sh",
    "chars": 1268,
    "preview": "#!/bin/sh\n#\n# $Id: ipkg_remove_all.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $\n#\n. \"./shared.inc\"\n### 2011022"
  },
  {
    "path": "old-build.sh",
    "chars": 12765,
    "preview": "#!/bin/sh\n#\n# $Id: build_firmware.sh 333 2012-08-03 22:59:39Z jeremy.collake@gmail.com $\n#\n. \"./shared.inc\"\n### 20110225"
  },
  {
    "path": "old-extract.sh",
    "chars": 6924,
    "preview": "#!/bin/sh\n#\n# $Id: extract_firmware.sh 336 2012-08-04 00:12:14Z jeremy.collake@gmail.com $\n#\n. \"./shared.inc\"\n### 201102"
  },
  {
    "path": "shared-ng.inc",
    "chars": 408,
    "preview": "VERSION=$(cat firmware_mod_kit_version.txt)\nIMAGE_PARTS=\"$DIR/image_parts\"\nLOGS=\"$DIR/logs\"\nCONFLOG=\"$LOGS/config.log\"\nB"
  },
  {
    "path": "shared.inc",
    "chars": 6905,
    "preview": "#!/bin/sh\nSHARED_VERSION=\"$( cat firmware_mod_kit_version.txt )\"\n#\n# Title: shared.inc\n# Author: Jeremy Collake <jeremy."
  },
  {
    "path": "src/Makefile.in",
    "chars": 1352,
    "preview": "CC := gcc\nCXX := g++\nINCLUDEDIR = .\nCFLAGS := -I$(INCLUDEDIR) -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -O2\n\nall: asust"
  },
  {
    "path": "src/addpattern.c",
    "chars": 5735,
    "preview": "/*\n * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>\n *\n * This program is free software; you can redistribut"
  },
  {
    "path": "src/asustrx.c",
    "chars": 15959,
    "preview": "/*\n * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>\n *\n * This program is free software; you can redistribut"
  },
  {
    "path": "src/bff/Makefile",
    "chars": 117,
    "preview": "all:\n\tgcc bff_huffman_decompress.c -o bff_huffman_decompress\n\nclean:\n\trm -f bff_huffman_decompress\n\ndistclean: clean\n"
  },
  {
    "path": "src/bff/bff_huffman_decompress.c",
    "chars": 11290,
    "preview": "/*-\n * Copyright (c) 2009 Xin LI <delphij@FreeBSD.org>\n * All rights reserved.\n *\n * Redistribution and use in source an"
  },
  {
    "path": "src/bff/bffxtractor.py",
    "chars": 2630,
    "preview": "#!/usr/bin/env python\n# A hacky extraction utility for extracting the contents of BFF volume entries.\n# It can't parse a"
  },
  {
    "path": "src/binwalk-0.4.1/docs/README",
    "chars": 6505,
    "preview": "DESCRIPTION\n\n\tBinwalk is a tool for searching a given binary image for embedded file types. Specifically,\n\tit was design"
  },
  {
    "path": "src/binwalk-0.4.1/src/Makefile.in",
    "chars": 1071,
    "preview": "CC=@CC@\nCFLAGS=@CFLAGS@\nLDFLAGS=@LDFLAGS@\nFILE=@FILE@\nMAGIC=magic\nprefix=@prefix@\nexec_prefix=@exec_prefix@\nMAGICPATH=@s"
  },
  {
    "path": "src/binwalk-0.4.1/src/binwalk.c",
    "chars": 11879,
    "preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <getopt.h>\n#include <string.h>\n#include <time.h>\n#include <sys/types.h>\n"
  },
  {
    "path": "src/binwalk-0.4.1/src/binwalk.h",
    "chars": 3037,
    "preview": "#ifndef BINWALK_H\n#define BINWALK_H\n\n#include <magic.h>\n#include \"md5.h\"\n#include \"mparse.h\"\n#include \"filter.h\"\n#includ"
  },
  {
    "path": "src/binwalk-0.4.1/src/common.c",
    "chars": 3590,
    "preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <stdarg.h>\n#include <string.h>\n#include <time.h>\n#include <sys/mman.h>\n#"
  },
  {
    "path": "src/binwalk-0.4.1/src/common.h",
    "chars": 414,
    "preview": "#ifndef COMMON_H\n#define COMMON_H\n\n#define INT_MAX_STR_SIZE        1024\n#define MAX_TIMESTAMP_SIZE      1024\n#define TIM"
  },
  {
    "path": "src/binwalk-0.4.1/src/configure",
    "chars": 137224,
    "preview": "#! /bin/sh\n# Guess values for system-dependent variables and create Makefiles.\n# Generated by GNU Autoconf 2.65 for binw"
  },
  {
    "path": "src/binwalk-0.4.1/src/configure.ac",
    "chars": 1844,
    "preview": "dnl Many thanks to Anthony Basile for the initial configure script and Makefile\n\nAC_PREREQ([2.65])\nAC_INIT([binwalk],[0."
  },
  {
    "path": "src/binwalk-0.4.1/src/filter.c",
    "chars": 2853,
    "preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <ctype.h>\n#include \"filter.h\"\n\n/* Appends a new filt"
  },
  {
    "path": "src/binwalk-0.4.1/src/filter.h",
    "chars": 606,
    "preview": "#ifndef FILTER_H\n#define FILTER_H\n\n#define MAX_FILTERS 8192\n\nenum filter_type_t\n{\n\tFILTER_EXCLUDE,\n\tFILTER_INCLUDE,\n\tFIL"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.archives",
    "chars": 5723,
    "preview": "# ----------------------------Archive Formats--------------------------------------\n\n# POSIX tar archives\n257     string"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.bootloaders",
    "chars": 187,
    "preview": "\n#---------------------------Bootloaders--------------------------------\n\n# CFE bootloader\n0\tstring\tCFE1CFE1\tCFE boot lo"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.compressed",
    "chars": 6258,
    "preview": "\n#------------------Compression Formats-----------------------------\n\n# bzip2\n0       string          BZh\n>4\tstring\t\t1AY"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.executables",
    "chars": 31266,
    "preview": "\n#------------------Standard file formats------------------------------------\n\n# elf:  file(1) magic for ELF executables"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.filesystems",
    "chars": 44368,
    "preview": "#--------------------File Systems---------------------\n\n# Minix filesystems - Juan Cespedes <cespedes@debian.org>\n# Disa"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.firmware",
    "chars": 9631,
    "preview": "\n#--------------------------Firmware Formats---------------------------\n\n# uImage file     \n# From: Craig Heffner, U-Boo"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic/magic.kernels",
    "chars": 387,
    "preview": "\n#-------------------------Kernels-------------------------------------\n\n# Linux kernel boot images, from Albert Cahalan"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic.binarch",
    "chars": 633,
    "preview": "# MIPS prologue\n# addiu $sp, -XX\n# 27 BD FF XX\n1\tstring\t\\377\\275\\47\tMIPSEL function prologue\n0       string  \\47\\275\\377"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic.bincast",
    "chars": 287,
    "preview": "0\tbelong x\tHex:                 0x%.8X\n#0\tstring x\tString:              %s\n0\tlelong x\tLittle Endian Long:  %d\n0\tbelong x"
  },
  {
    "path": "src/binwalk-0.4.1/src/magic.binwalk",
    "chars": 97821,
    "preview": "\n# ----------------------------Archive Formats--------------------------------------\n\n# POSIX tar archives\n257     strin"
  },
  {
    "path": "src/binwalk-0.4.1/src/md5.c",
    "chars": 12134,
    "preview": "/* \n * Added md5_string function for ease of use with Binwalk.\n * \n * Original file obtained from: http://cr.yp.to/2004-"
  },
  {
    "path": "src/binwalk-0.4.1/src/md5.h",
    "chars": 3286,
    "preview": "/*\n * Added md5_string function prototype for ease of use with Binwalk.\n * \n * Original file obtained from: http://cr.yp"
  },
  {
    "path": "src/binwalk-0.4.1/src/mparse.c",
    "chars": 7728,
    "preview": "/* Provides minimal magic file parsing capabilities */\n\n#include <stdio.h>\n#include <stdlib.h>\n#include <sys/types.h>\n#i"
  },
  {
    "path": "src/binwalk-0.4.1/src/mparse.h",
    "chars": 833,
    "preview": "#ifndef MPARSE_H\n#define MPARSE_H\n\n#include \"filter.h\"\n\n#define HOST_SHORT\t\t\"short\"\n#define HOST_SHORT_SIZE\t\t5\n#define H"
  },
  {
    "path": "src/binwalk-0.4.1/src/update.c",
    "chars": 933,
    "preview": "#include <stdio.h>\n\n#ifndef NOCURL\n#include <curl/curl.h>\n#include <curl/easy.h>\n#endif\n\n#include \"update.h\"\n\nsize_t wri"
  },
  {
    "path": "src/binwalk-0.4.1/src/update.h",
    "chars": 421,
    "preview": "#ifndef UPDATE_H\n#define UPDATE_H\n\n#define BINWALK_UPDATE_URL\t\"http://binwalk.googlecode.com/svn/trunk/src/magic.binwalk"
  },
  {
    "path": "src/binwalk-1.0/docs/API",
    "chars": 3730,
    "preview": "DESCRIPTION\n\n\tThe binwalk python module can be used by any python script to programatically perform binwalk scans and \n\t"
  },
  {
    "path": "src/binwalk-1.0/docs/COPYING",
    "chars": 1075,
    "preview": "The MIT License\n\nCopyright (c) 2010 Craig Heffner\n\nPermission is hereby granted, free of charge, to any person obtaining"
  },
  {
    "path": "src/binwalk-1.0/docs/README",
    "chars": 9784,
    "preview": "DESCRIPTION\n\n\tBinwalk is a tool for searching a given binary image for embedded file types. Specifically,\n\tit was design"
  },
  {
    "path": "src/binwalk-1.0/src/bin/binwalk-script",
    "chars": 10030,
    "preview": "#!/usr/bin/env python\n\nimport sys\nimport os.path\nimport binwalk\nfrom threading import Thread\nfrom binwalk.common import "
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/__init__.py",
    "chars": 15164,
    "preview": "import os\nimport magic\nfrom config import *\nfrom update import *\nfrom filter import *\nfrom parser import *\nfrom smartsig"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/common.py",
    "chars": 2156,
    "preview": "# Common functions.\nimport os\nimport re\n\ndef file_size(filename):\n\t'''\n\tObtains the size of a given file.\n\n\t@filename - "
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/config/extract.conf",
    "chars": 1231,
    "preview": "#################################################################################################################\n# Defa"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/config.py",
    "chars": 4781,
    "preview": "import os\n\nclass Config:\n\t'''\n\tBinwalk configuration class, used for accessing user and system file paths.\n\t\n\tAfter inst"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/extractor.py",
    "chars": 11178,
    "preview": "import os\nimport sys\nimport shlex\nimport tempfile\nimport subprocess\nfrom config import *\nfrom common import file_size\n\nc"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/filter.py",
    "chars": 6552,
    "preview": "import common\nfrom smartsig import SmartSignature\n\nclass MagicFilter:\n\t'''\n\tClass to filter libmagic results based on in"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/magic/binarch",
    "chars": 726,
    "preview": "# MIPS prologue\n# addiu $sp, -XX\n# 27 BD FF XX\n1\tstring\t\\377\\275\\47\tMIPSEL function prologue\n0       string  \\47\\275\\377"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/magic/bincast",
    "chars": 287,
    "preview": "0\tbelong x\tHex:                 0x%.8X\n#0\tstring x\tString:              %s\n0\tlelong x\tLittle Endian Long:  %d\n0\tbelong x"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/magic/binwalk",
    "chars": 201344,
    "preview": "# ----------------------------Archive Formats--------------------------------------\n\n# POSIX tar archives\n0\tstring\t\tusta"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/parser.py",
    "chars": 11206,
    "preview": "import os.path\nimport tempfile\nfrom common import str2int\n\nclass MagicParser:\n\t'''\n\tClass for loading, parsing and creat"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/prettyprint.py",
    "chars": 4529,
    "preview": "import sys\nimport hashlib\nfrom datetime import datetime\n\nclass PrettyPrint:\n        '''\n        Class for printing Binwa"
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/smartsig.py",
    "chars": 8790,
    "preview": "import re\nfrom common import str2int, get_quoted_strings\n\nclass SmartSignature:\n\t'''\n\tClass for parsing smart signature "
  },
  {
    "path": "src/binwalk-1.0/src/binwalk/update.py",
    "chars": 1827,
    "preview": "import urllib2\nfrom config import *\n\nclass Update:\n\t'''\n\tClass for updating Binwalk configuration and signatures files f"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/__init__.py",
    "chars": 15164,
    "preview": "import os\nimport magic\nfrom config import *\nfrom update import *\nfrom filter import *\nfrom parser import *\nfrom smartsig"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/common.py",
    "chars": 2156,
    "preview": "# Common functions.\nimport os\nimport re\n\ndef file_size(filename):\n\t'''\n\tObtains the size of a given file.\n\n\t@filename - "
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/config/extract.conf",
    "chars": 1231,
    "preview": "#################################################################################################################\n# Defa"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/config.py",
    "chars": 4781,
    "preview": "import os\n\nclass Config:\n\t'''\n\tBinwalk configuration class, used for accessing user and system file paths.\n\t\n\tAfter inst"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/extractor.py",
    "chars": 11178,
    "preview": "import os\nimport sys\nimport shlex\nimport tempfile\nimport subprocess\nfrom config import *\nfrom common import file_size\n\nc"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/filter.py",
    "chars": 6552,
    "preview": "import common\nfrom smartsig import SmartSignature\n\nclass MagicFilter:\n\t'''\n\tClass to filter libmagic results based on in"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/magic/binarch",
    "chars": 726,
    "preview": "# MIPS prologue\n# addiu $sp, -XX\n# 27 BD FF XX\n1\tstring\t\\377\\275\\47\tMIPSEL function prologue\n0       string  \\47\\275\\377"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/magic/bincast",
    "chars": 287,
    "preview": "0\tbelong x\tHex:                 0x%.8X\n#0\tstring x\tString:              %s\n0\tlelong x\tLittle Endian Long:  %d\n0\tbelong x"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/magic/binwalk",
    "chars": 201344,
    "preview": "# ----------------------------Archive Formats--------------------------------------\n\n# POSIX tar archives\n0\tstring\t\tusta"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/parser.py",
    "chars": 11206,
    "preview": "import os.path\nimport tempfile\nfrom common import str2int\n\nclass MagicParser:\n\t'''\n\tClass for loading, parsing and creat"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/prettyprint.py",
    "chars": 4529,
    "preview": "import sys\nimport hashlib\nfrom datetime import datetime\n\nclass PrettyPrint:\n        '''\n        Class for printing Binwa"
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/smartsig.py",
    "chars": 8790,
    "preview": "import re\nfrom common import str2int, get_quoted_strings\n\nclass SmartSignature:\n\t'''\n\tClass for parsing smart signature "
  },
  {
    "path": "src/binwalk-1.0/src/build/lib.linux-x86_64-2.7/binwalk/update.py",
    "chars": 1827,
    "preview": "import urllib2\nfrom config import *\n\nclass Update:\n\t'''\n\tClass for updating Binwalk configuration and signatures files f"
  },
  {
    "path": "src/binwalk-1.0/src/build/scripts-2.7/binwalk",
    "chars": 10026,
    "preview": "#!/usr/bin/python\n\nimport sys\nimport os.path\nimport binwalk\nfrom threading import Thread\nfrom binwalk.common import str2"
  },
  {
    "path": "src/binwalk-1.0/src/magic/archives",
    "chars": 4212,
    "preview": "# ----------------------------Archive Formats--------------------------------------\n\n# POSIX tar archives\n0\tstring\t\tusta"
  },
  {
    "path": "src/binwalk-1.0/src/magic/bootloaders",
    "chars": 187,
    "preview": "\n#---------------------------Bootloaders--------------------------------\n\n# CFE bootloader\n0\tstring\tCFE1CFE1\tCFE boot lo"
  },
  {
    "path": "src/binwalk-1.0/src/magic/compressed",
    "chars": 6795,
    "preview": "\n#------------------Compression Formats-----------------------------\n\n# AFX compressed files (Wolfram Kleff)\n0\tstring\t\t-"
  },
  {
    "path": "src/binwalk-1.0/src/magic/crypto",
    "chars": 3584,
    "preview": "# Type: OpenSSL certificates/key files\n# From: Nicolas Collignon <tsointsoin@gmail.com>\n\n0       string  -----BEGIN\\x20C"
  },
  {
    "path": "src/binwalk-1.0/src/magic/executables",
    "chars": 24369,
    "preview": "\n#------------------Standard file formats------------------------------------\n\n#----------------------------------------"
  },
  {
    "path": "src/binwalk-1.0/src/magic/filesystems",
    "chars": 16611,
    "preview": "#--------------------File Systems---------------------\n\n# Minix filesystems - Juan Cespedes <cespedes@debian.org>\n0x410 "
  },
  {
    "path": "src/binwalk-1.0/src/magic/firmware",
    "chars": 10898,
    "preview": "\n#--------------------------Firmware Formats---------------------------\n\n# uImage file     \n# From: Craig Heffner, U-Boo"
  },
  {
    "path": "src/binwalk-1.0/src/magic/images",
    "chars": 9334,
    "preview": "# Tag Image File Format, from Daniel Quinlan (quinlan@yggdrasil.com)\n# The second word of TIFF files is the TIFF version"
  },
  {
    "path": "src/binwalk-1.0/src/magic/kernels",
    "chars": 804,
    "preview": "\n#-------------------------Kernels-------------------------------------\n\n# Linux kernel boot images, from Albert Cahalan"
  },
  {
    "path": "src/binwalk-1.0/src/magic/lzma",
    "chars": 122248,
    "preview": "\n# ------------------------------------------------------------------\n# Signature for LZMA compressed data with valid pr"
  },
  {
    "path": "src/binwalk-1.0/src/magic/sql",
    "chars": 2302,
    "preview": "#------------------------------------------------------------------------------\n# $File: sql,v 1.6 2009/09/19 16:28:12 c"
  },
  {
    "path": "src/binwalk-1.0/src/setup.py",
    "chars": 825,
    "preview": "#!/usr/bin/env python\nfrom os import listdir, path\nfrom distutils.core import setup\n\n# Generate a new magic file from th"
  },
  {
    "path": "src/binwalk-1.0/src/support/lzma_gen.py",
    "chars": 2569,
    "preview": "#!/usr/bin/env python\n# Generates LZMA signatures for each valid LZMA property in the properties list.\n\n\nproperties = [\n"
  },
  {
    "path": "src/configure",
    "chars": 142332,
    "preview": "#! /bin/sh\n# Guess values for system-dependent variables and create Makefiles.\n# Generated by GNU Autoconf 2.65 for Firm"
  },
  {
    "path": "src/configure.ac",
    "chars": 660,
    "preview": "AC_PREREQ([2.65])\nAC_INIT([Firmware Mod Kit],[0.4.0],[http://firmware-mod-kit.googlecode.com])\n\nAC_PROG_CC\nAC_PROG_CXX\nA"
  },
  {
    "path": "src/cramfs-2.x/COPYING",
    "chars": 18009,
    "preview": "\t\t    GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc."
  },
  {
    "path": "src/cramfs-2.x/GNUmakefile",
    "chars": 156,
    "preview": "CC = gcc\nCFLAGS = -W -Wall -O2 -g\nCPPFLAGS = -I.\nLDLIBS = -lz\nPROGS = mkcramfs cramfsck\n\nall: $(PROGS)\n\ndistclean clean:"
  },
  {
    "path": "src/cramfs-2.x/NOTES",
    "chars": 6322,
    "preview": "Notes on Filesystem Layout\n--------------------------\n\nThese notes describe what mkcramfs generates.  Kernel requirement"
  },
  {
    "path": "src/cramfs-2.x/README",
    "chars": 2599,
    "preview": "\n\tCramfs - cram a filesystem onto a small ROM\n\ncramfs is designed to be simple and small, and to compress things well. \n"
  },
  {
    "path": "src/cramfs-2.x/cramfsck.c",
    "chars": 18135,
    "preview": "/*\n * cramfsck - check a cramfs file system\n *\n * Copyright (C) 2000-2002 Transmeta Corporation\n *\n * This program is fr"
  },
  {
    "path": "src/cramfs-2.x/linux/cramfs_fs.h",
    "chars": 3019,
    "preview": "#ifndef __CRAMFS_H\n#define __CRAMFS_H\n\n#ifndef __KERNEL__\n\ntypedef unsigned char u8;\ntypedef unsigned short u16;\ntypedef"
  },
  {
    "path": "src/cramfs-2.x/linux/cramfs_fs_sb.h",
    "chars": 244,
    "preview": "#ifndef _CRAMFS_FS_SB\n#define _CRAMFS_FS_SB\n\n/*\n * cramfs super-block data in memory\n */\nstruct cramfs_sb_info {\n\t\t\tunsi"
  },
  {
    "path": "src/cramfs-2.x/mkcramfs.c",
    "chars": 25418,
    "preview": "/*\n * mkcramfs - make a cramfs file system\n *\n * Copyright (C) 1999-2002 Transmeta Corporation\n *\n * This program is fre"
  },
  {
    "path": "src/cramfsswap/COPYING",
    "chars": 17992,
    "preview": "\t\t    GNU GENERAL PUBLIC LICENSE\n\t\t       Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foundation, Inc."
  },
  {
    "path": "src/cramfsswap/Makefile",
    "chars": 249,
    "preview": "#!/usr/bin/make -f\n\nall: cramfsswap strip\ndebian: cramfsswap\n\ncramfsswap: cramfsswap.c\n\tgcc -Wall -g -O -o cramfsswap cr"
  },
  {
    "path": "src/cramfsswap/README",
    "chars": 694,
    "preview": "\n  cramfsswap - swap endianess of a cram filesystem (cramfs)\n  version 1.1\n\n\n  cramfs is a highly compressed and size op"
  },
  {
    "path": "src/cramfsswap/cramfsswap.1",
    "chars": 672,
    "preview": ".TH cramfsswap 1 \"4 Jan 2005\" Linux \"User Manuals\"\n.SH NAME\ncramfsswap \\- swap endianess of a cram filesystem (cramfs)\n."
  },
  {
    "path": "src/cramfsswap/cramfsswap.c",
    "chars": 10617,
    "preview": "/*\n    cramfsswap - swaps endian of a cramfs file\n\n    last modified on 2006-11-08 by kju\n\n    Copyright (c) 2004-2006 b"
  },
  {
    "path": "src/cramfsswap/debian/changelog",
    "chars": 1487,
    "preview": "cramfsswap (1.4.1) unstable; urgency=low\n\n  * Changed build rules: Do not strip in makefile when building for debian,\n  "
  },
  {
    "path": "src/cramfsswap/debian/compat",
    "chars": 2,
    "preview": "4\n"
  },
  {
    "path": "src/cramfsswap/debian/control",
    "chars": 748,
    "preview": "Source: cramfsswap\nSection: utils\nPriority: extra\nMaintainer: Michael Holzt <debian-cramfsswap@michael.holzt.de>\nBuild-D"
  },
  {
    "path": "src/cramfsswap/debian/copyright",
    "chars": 570,
    "preview": "This package was debianized by Michael Holzt <kju@debian.org> on\nTue,  4 Jan 2005 12:26:00 +0100.\n\nThis is a native debi"
  },
  {
    "path": "src/cramfsswap/debian/dirs",
    "chars": 17,
    "preview": "usr/bin\nusr/sbin\n"
  },
  {
    "path": "src/cramfsswap/debian/docs",
    "chars": 7,
    "preview": "README\n"
  },
  {
    "path": "src/cramfsswap/debian/rules",
    "chars": 939,
    "preview": "#!/usr/bin/make -f\n#\n# debian/rules for cramfsswap\n#\n# modelled after the debhelper example\n#\n\n# Uncomment this to turn "
  },
  {
    "path": "src/crcalc/Makefile",
    "chars": 291,
    "preview": "CC=gcc\nCFLAGS=-Wall\nTARGET=crcalc\n\n$(TARGET): patch.o\n\t$(CC) $(CFLAGS) $(LDFLAGS) $(TARGET).c *.o -o $(TARGET)\n\npatch.o:"
  },
  {
    "path": "src/crcalc/README",
    "chars": 622,
    "preview": "DESCRIPTION\n\t\n\tCRCalc re-calculates and updates the CRC fields of uImage, TRX, and DLOB firmware headers.\n\n\tCRCalc can u"
  },
  {
    "path": "src/crcalc/crc.c",
    "chars": 7523,
    "preview": "#include \"crc.h\"\n\n/**********************************************************************/\n/* The following was grabbed "
  },
  {
    "path": "src/crcalc/crc.h",
    "chars": 121,
    "preview": "#ifndef _CRC_H_\n#define _CRC_H_\n\n#include <stdlib.h>\n#include <stdint.h>\n\nuint32_t crc32(char *buf, size_t len);\n\n#endif"
  },
  {
    "path": "src/crcalc/crcalc.c",
    "chars": 5025,
    "preview": "/*\n * Utility for calculating and patching checksums in various files.\n */\n\n#include <stdio.h>\n#include <stdlib.h>\n#incl"
  },
  {
    "path": "src/crcalc/crcalc.h",
    "chars": 848,
    "preview": "#ifndef _CRCALC_H_\n#define _CRCALC_H_\n\n#include <stdint.h>\n\n#define MIN_FILE_SIZE 4\n#define MAX_LINE_SIZE 8096\n#define M"
  },
  {
    "path": "src/crcalc/md5.c",
    "chars": 12134,
    "preview": "/* \n * Added md5_string function for ease of use with Binwalk.\n * \n * Original file obtained from: http://cr.yp.to/2004-"
  },
  {
    "path": "src/crcalc/md5.h",
    "chars": 3286,
    "preview": "/*\n * Added md5_string function prototype for ease of use with Binwalk.\n * \n * Original file obtained from: http://cr.yp"
  },
  {
    "path": "src/crcalc/patch.c",
    "chars": 2492,
    "preview": "#include <string.h>\n#include <arpa/inet.h>\n#include \"patch.h\"\n#include \"crc.h\"\n#include \"md5.h\"\n\n/* Update the CRC for a"
  },
  {
    "path": "src/crcalc/patch.h",
    "chars": 1811,
    "preview": "#ifndef _PATCH_H_\n#define _PATCH_H_\n\n#include <stdint.h>\n\n#define TRX_MAGIC 0x30524448\nstruct trx_header {\n        uint3"
  },
  {
    "path": "src/firmware-tools/Makefile",
    "chars": 257,
    "preview": "CC=gcc\nCFLAGS=-g -Wall\nTARGET=buffalo-enc\n\n$(TARGET): buffalo-enc.o\n\t$(CC) $(CFLAGS) $(LDFLAGS) $(TARGET).c *.o -o $(TAR"
  },
  {
    "path": "src/firmware-tools/add_header.c",
    "chars": 3524,
    "preview": "/*\n * add_header.c - partially based on OpenWrt's motorola-bin.c\n *\n * Copyright (C) 2008 Imre Kaloz  <kaloz@openwrt.org"
  },
  {
    "path": "src/firmware-tools/addpattern.c",
    "chars": 8365,
    "preview": "/*\n * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>\n *\n * This program is free software; you can redistribut"
  },
  {
    "path": "src/firmware-tools/airlink.c",
    "chars": 10749,
    "preview": "/*\n * Thanks to Vassily Galinsky for this tool\n*************************************************************************"
  },
  {
    "path": "src/firmware-tools/bcm_tag.h",
    "chars": 4273,
    "preview": "#ifndef __BCM63XX_TAG_H\n#define __BCM63XX_TAG_H\n\n#define TAGVER_LEN 4                   /* Length of Tag Version */\n#def"
  },
  {
    "path": "src/firmware-tools/buffalo-enc.c",
    "chars": 5594,
    "preview": "/*\n * Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>\n *\n * This program is free software; you can redistribute"
  },
  {
    "path": "src/firmware-tools/buffalo-lib.c",
    "chars": 10360,
    "preview": "/*\n * Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>\n *\n * This program is free software; you can redistribute"
  },
  {
    "path": "src/firmware-tools/buffalo-lib.h",
    "chars": 3355,
    "preview": "/*\n *  Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribu"
  },
  {
    "path": "src/firmware-tools/buffalo-tag.c",
    "chars": 7600,
    "preview": "/*\n *  Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribu"
  },
  {
    "path": "src/firmware-tools/buffalo-tftp.c",
    "chars": 3181,
    "preview": "/*\n * Copyright (C) 2009-2011 Gabor Juhos <juhosg@openwrt.org>\n *\n * This program is free software; you can redistribute"
  },
  {
    "path": "src/firmware-tools/csysimg.h",
    "chars": 2263,
    "preview": "/*\n *\n *  Copyright (C) 2007,2009 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program was based on the code found in va"
  },
  {
    "path": "src/firmware-tools/cyg_crc.h",
    "chars": 3372,
    "preview": "//==========================================================================\n//\n//      crc.h\n//\n//      Interface for t"
  },
  {
    "path": "src/firmware-tools/cyg_crc16.c",
    "chars": 4955,
    "preview": "//==========================================================================\n//\n//      crc16.c\n//\n//      16 bit CRC wi"
  },
  {
    "path": "src/firmware-tools/cyg_crc32.c",
    "chars": 7963,
    "preview": "//==========================================================================\n//\n//      crc32.c\n//\n//      Gary S. Brown"
  },
  {
    "path": "src/firmware-tools/dgfirmware.c",
    "chars": 7512,
    "preview": "#include <stdlib.h>\n#include <stdio.h>\n\n\n#define IMG_SIZE     0x3e0000\n\n#define KERNEL_START 0x020000\n#define KERNEL_SIZ"
  },
  {
    "path": "src/firmware-tools/encode_crc.c",
    "chars": 3662,
    "preview": "/* **************************************************************************\n\n   This program creates a CRC checksum an"
  },
  {
    "path": "src/firmware-tools/fix-u-media-header.c",
    "chars": 7031,
    "preview": "/*\n *  Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribute it"
  },
  {
    "path": "src/firmware-tools/fw.h",
    "chars": 2004,
    "preview": "/*\n *  * Copyright (C) 2007 Ubiquiti Networks, Inc.\n *   *\n *    * This program is free software; you can redistribute i"
  },
  {
    "path": "src/firmware-tools/imagetag.c",
    "chars": 18696,
    "preview": "/*\n * This file is subject to the terms and conditions of the GNU General Public\n * License.  See the file \"COPYING\" in "
  },
  {
    "path": "src/firmware-tools/imagetag.ggo",
    "chars": 3443,
    "preview": "# Command line option parsing generator file for imagetag\n# Supplied-To: gengetopt\n#\n# Copyright 2010 Daniel Dickinson <"
  },
  {
    "path": "src/firmware-tools/imagetag_cmdline.c",
    "chars": 41872,
    "preview": "/*\n  File autogenerated by gengetopt version 2.22.4\n  generated with the following command:\n  gengetopt --file-name=imag"
  },
  {
    "path": "src/firmware-tools/imagetag_cmdline.h",
    "chars": 16399,
    "preview": "/** @file imagetag_cmdline.h\n *  @brief The header file for the command line option parser\n *  generated by GNU Gengetop"
  },
  {
    "path": "src/firmware-tools/lzma2eva.c",
    "chars": 5132,
    "preview": "/*\n    lzma2eva - convert lzma-compressed file to AVM EVA bootloader format\n    Copyright (C) 2007  Enrik Berkhan <Enrik"
  },
  {
    "path": "src/firmware-tools/makeamitbin.c",
    "chars": 7682,
    "preview": "/*\n *  makeamitbin - create firmware binaries for MGB100\n *\n *  Copyright (C) 2007 Volker Weiss     <dev@tintuc.de>\n *  "
  },
  {
    "path": "src/firmware-tools/md5.c",
    "chars": 11560,
    "preview": "\n\n/*\n ***********************************************************************\n ** md5.c -- the source code for MD5 routi"
  },
  {
    "path": "src/firmware-tools/md5.h",
    "chars": 3120,
    "preview": "/*\n ***********************************************************************\n ** md5.h -- header file for implementation "
  },
  {
    "path": "src/firmware-tools/mkbrncmdline.c",
    "chars": 4269,
    "preview": "/*\n * mkbrncmdline.c - partially based on OpenWrt's wndr3700.c\n *\n * Copyright (C) 2011 Tobias Diedrich <ranma+openwrt@t"
  },
  {
    "path": "src/firmware-tools/mkbrnimg.c",
    "chars": 4579,
    "preview": "/*\n * mkbrnimg.c - partially based on OpenWrt's wndr3700.c\n *\n * Copyright (C) 2011 Tobias Diedrich <ranma+openwrt@tdied"
  },
  {
    "path": "src/firmware-tools/mkcameofw.c",
    "chars": 7915,
    "preview": "/*\n * Copyright (C) 2012 Gabor Juhos <juhosg@openwrt.org>\n *\n * This program is free software; you can redistribute it a"
  },
  {
    "path": "src/firmware-tools/mkcasfw.c",
    "chars": 19685,
    "preview": "/*\n *\n *  Copyright (C) 2007 OpenWrt.org\n *  Copyright (C) 2007 Gabor Juhos <juhosg at openwrt.org>\n *\n *  This program "
  },
  {
    "path": "src/firmware-tools/mkchkimg.c",
    "chars": 8345,
    "preview": "/*\n * \tMake CHK Image\n *\n * \tThis utility creates Netgear .chk files.\n *\n * \tCopyright (C) 2008 Dave C. Reeve <Dave.Reev"
  },
  {
    "path": "src/firmware-tools/mkcsysimg.c",
    "chars": 21758,
    "preview": "/*\n *\n *  Copyright (C) 2007-2009 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program was based on the code found in va"
  },
  {
    "path": "src/firmware-tools/mkdapimg.c",
    "chars": 4323,
    "preview": "#include <stdio.h>\n#include <stdint.h>\n#include <stdlib.h>\n#include <unistd.h>\n#include <libgen.h>\n#include <stdarg.h>\n#"
  },
  {
    "path": "src/firmware-tools/mkdir615h1.c",
    "chars": 9447,
    "preview": "/*\n *\n *  Copyright (C) 2012 OpenWrt.org\n *  Copyright (C) 2012 Mikko Hissa <mikko.hissa@uta.fi>\n *\n *  This program is "
  },
  {
    "path": "src/firmware-tools/mkdniimg.c",
    "chars": 3916,
    "preview": "/*\n *  Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribute it"
  },
  {
    "path": "src/firmware-tools/mkedimaximg.c",
    "chars": 5870,
    "preview": "/*\n * Copyright (C) 2011 Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>\n *\n * This program is free software; you can"
  },
  {
    "path": "src/firmware-tools/mkfwimage.c",
    "chars": 11568,
    "preview": "/*\n * Copyright (C) 2007 Ubiquiti Networks, Inc.\n * Copyright (C) 2008 Lukas Kuna <ValXdater@seznam.cz>\n *\n * This progr"
  },
  {
    "path": "src/firmware-tools/mkfwimage2.c",
    "chars": 10464,
    "preview": "/*\n * Copyright (C) 2007 Ubiquiti Networks, Inc.\n * Copyright (C) 2008 Lukas Kuna <ValXdater@seznam.cz>\n * Copyright (C)"
  },
  {
    "path": "src/firmware-tools/mkmylofw.c",
    "chars": 26750,
    "preview": "/*\n *  Copyright (C) 2006-2008 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribu"
  },
  {
    "path": "src/firmware-tools/mkplanexfw.c",
    "chars": 4970,
    "preview": "/*\n *  Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribute it"
  },
  {
    "path": "src/firmware-tools/mktitanimg.c",
    "chars": 31678,
    "preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <libgen.h>\n#include \"mktitanimg.h\"\n\n\nstruct checksum"
  },
  {
    "path": "src/firmware-tools/mktitanimg.h",
    "chars": 6282,
    "preview": "#ifndef __MKTITANIMG_H\n#define __MKTITANIMG_H\n\n#ifndef CFGMGR_CKSUM_H\n#define CFGMGR_CKSUM_H\n\n#define CKSUM_MAGIC_NUMBER"
  },
  {
    "path": "src/firmware-tools/mktplinkfw.c",
    "chars": 23411,
    "preview": "/*\n * Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>\n *\n * This tool was based on:\n *   TP-Link WR941 V2 firmware c"
  },
  {
    "path": "src/firmware-tools/mkwrgimg.c",
    "chars": 4718,
    "preview": "/*\n *  Copyright (C) 2011 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribute it"
  },
  {
    "path": "src/firmware-tools/mkzcfw.c",
    "chars": 7909,
    "preview": "/*\n * Copyright (C) 2010 Gabor Juhos <juhosg@openwrt.org>\n *\n * This program is free software; you can redistribute it a"
  },
  {
    "path": "src/firmware-tools/mkzynfw.c",
    "chars": 22765,
    "preview": "/*\n *\n *  Copyright (C) 2007-2008 OpenWrt.org\n *  Copyright (C) 2007-2008 Gabor Juhos <juhosg at openwrt.org>\n *\n *  Thi"
  },
  {
    "path": "src/firmware-tools/motorola-bin.c",
    "chars": 5852,
    "preview": "/*\n * motorola-bin.c\n *\n * Copyright (C) 2005-2006 Mike Baker,\n *                         Imre Kaloz <kaloz@openwrt.org>"
  },
  {
    "path": "src/firmware-tools/myloader.h",
    "chars": 5285,
    "preview": "/*\n *  Copyright (C) 2006-2008 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribu"
  },
  {
    "path": "src/firmware-tools/nand_ecc.c",
    "chars": 6127,
    "preview": "/*\n * calculate ecc code for nand flash\n *\n * Copyright (C) 2008 yajin <yajin@vm-kernel.org>\n * Copyright (C) 2009 Felix"
  },
  {
    "path": "src/firmware-tools/osbridge-crc.c",
    "chars": 10845,
    "preview": "/*\n *  Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribute it"
  },
  {
    "path": "src/firmware-tools/pc1crypt.c",
    "chars": 7060,
    "preview": "/*\n *  Copyright (C) 2009 Gabor Juhos <juhosg@openwrt.org>\n *\n *  This program is free software; you can redistribute it"
  },
  {
    "path": "src/firmware-tools/ptgen.c",
    "chars": 5525,
    "preview": "/* \n * ptgen - partition table generator\n * Copyright (C) 2006 by Felix Fietkau <nbd@openwrt.org>\n *\n * uses parts of af"
  },
  {
    "path": "src/firmware-tools/readme.txt",
    "chars": 70,
    "preview": "This is a collection of firmware packaging and obfuscation utilities.\n"
  },
  {
    "path": "src/firmware-tools/seama.c",
    "chars": 13459,
    "preview": "/* vi: set sw=4 ts=4: */\n/*\n *\tCopyright (C) 2008, Alpha Networks, Inc.\n *\tCreated by David Hsieh <david_hsieh@alphanetw"
  },
  {
    "path": "src/firmware-tools/seama.h",
    "chars": 3804,
    "preview": "/* vi: set sw=4 ts=4: */\n/*\n *\t(SEA)ttle i(MA)ge is the image which used in project seattle.\n *\n *\tCreated by David Hsie"
  },
  {
    "path": "src/firmware-tools/sha1.c",
    "chars": 11110,
    "preview": "/*\n *  FIPS-180-1 compliant SHA-1 implementation\n *\n *  Copyright (C) 2003-2006  Christophe Devine\n *\n *  This library i"
  },
  {
    "path": "src/firmware-tools/sha1.h",
    "chars": 954,
    "preview": "#ifndef _SHA1_H\n#define _SHA1_H\n\n#ifdef __cplusplus\nextern \"C\" {\n#endif\n\n#ifndef _STD_TYPES\n#define _STD_TYPES\n\n#define "
  },
  {
    "path": "src/firmware-tools/spw303v.c",
    "chars": 9367,
    "preview": "/*\n * spw303v.c - partially based on OpenWrt's imagetag.c and addpattern.c\n *\n * Copyright (C) 2011  Jonas Gorski <jonas"
  },
  {
    "path": "src/firmware-tools/srec2bin.c",
    "chars": 11685,
    "preview": "#include <stdio.h>\n#include <ctype.h>\n#include <string.h>\n\n//Rev 0.1 Original\n// 8 Jan 2001  MJH  Added code to write da"
  },
  {
    "path": "src/firmware-tools/trx.c",
    "chars": 15237,
    "preview": "/*\n * Copyright (C) 2004  Manuel Novoa III  <mjn3@codepoet.org>\n *\n * This program is free software; you can redistribut"
  },
  {
    "path": "src/firmware-tools/trx2edips.c",
    "chars": 6283,
    "preview": "#include <stdio.h>\n#include <stdlib.h>\n#include <stddef.h>\n#include <stdint.h>\n#include <string.h>\n#include <errno.h>\n#i"
  },
  {
    "path": "src/firmware-tools/trx2usr.c",
    "chars": 6167,
    "preview": "/*\n * trx2usr - Convert a TRX firmware image to a U.S. Robotics firmware\n *           image by prepending a 28-byte head"
  },
  {
    "path": "src/firmware-tools/wndr3700.c",
    "chars": 3712,
    "preview": "/*\n * wndr3700.c - partially based on OpenWrt's add_header.c\n *\n * Copyright (C) 2009 Anael Orlinski  <naouel@naouel.org"
  },
  {
    "path": "src/firmware-tools/wrt400n.c",
    "chars": 9879,
    "preview": "/*\n * WRT400n - Firmware Generation Creator\n *\n * Creates a firmware image for the Linksys WRT400n router,\n * that can b"
  },
  {
    "path": "src/firmware-tools/xorimage.c",
    "chars": 2834,
    "preview": "/*\n * xorimage.c - partially based on OpenWrt's addpattern.c\n *\n * This program is free software; you can redistribute i"
  },
  {
    "path": "src/firmware-tools/zynos.h",
    "chars": 7347,
    "preview": "/*\n *\n *  Copyright (C) 2007-2008 OpenWrt.org\n *  Copyright (C) 2007-2008 Gabor Juhos <juhosg at openwrt.org>\n *\n *  Thi"
  },
  {
    "path": "src/jffs2/unjffs2",
    "chars": 1346,
    "preview": "#!/bin/bash\n# Script to mount a JFFS2 image and copy the file system's files to a destination directory.\n#\n# Craig Heffn"
  },
  {
    "path": "src/lzma/.built",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/lzma/.unpacked",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/lzma/7zC.txt",
    "chars": 6951,
    "preview": "7z ANSI-C Decoder 4.23\r\n----------------------\r\n\r\n7z ANSI-C Decoder 4.23 Copyright (C) 1999-2005 Igor Pavlov\r\n\r\n7z ANSI-"
  },
  {
    "path": "src/lzma/7zFormat.txt",
    "chars": 7761,
    "preview": "7z Format description (2.30 Beta 25)\r\n-----------------------------------\r\n\r\nThis file contains description of 7z archiv"
  }
]

// ... and 4852 more files (download for full content)

About this extraction

This page contains the full source code of the mirror/firmware-mod-kit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 5052 files (26.2 MB), approximately 7.2M tokens, and a symbol index with 29999 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!