diff options
Diffstat (limited to 'src/libs/7zip/unix/DOCS')
48 files changed, 6286 insertions, 0 deletions
diff --git a/src/libs/7zip/unix/DOCS/7zC.txt b/src/libs/7zip/unix/DOCS/7zC.txt new file mode 100644 index 000000000..5d5d06d7b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/7zC.txt @@ -0,0 +1,194 @@ +7z ANSI-C Decoder 4.62 +---------------------- + +7z ANSI-C provides 7z/LZMA decoding. +7z ANSI-C version is simplified version ported from C++ code. + +LZMA is default and general compression method of 7z format +in 7-Zip compression program (www.7-zip.org). LZMA provides high +compression ratio and very fast decompression. + + +LICENSE +------- + +7z ANSI-C Decoder is part of the LZMA SDK. +LZMA SDK is written and placed in the public domain by Igor Pavlov. + +Files +--------------------- + +7zDecode.* - Low level 7z decoding +7zExtract.* - High level 7z decoding +7zHeader.* - .7z format constants +7zIn.* - .7z archive opening +7zItem.* - .7z structures +7zMain.c - Test application + + +How To Use +---------- + +You must download 7-Zip program from www.7-zip.org. + +You can create .7z archive with 7z.exe or 7za.exe: + + 7za.exe a archive.7z *.htm -r -mx -m0fb=255 + +If you have big number of files in archive, and you need fast extracting, +you can use partly-solid archives: + + 7za.exe a archive.7z *.htm -ms=512K -r -mx -m0fb=255 -m0d=512K + +In that example 7-Zip will use 512KB solid blocks. So it needs to decompress only +512KB for extracting one file from such archive. + + +Limitations of current version of 7z ANSI-C Decoder +--------------------------------------------------- + + - It reads only "FileName", "Size", "LastWriteTime" and "CRC" information for each file in archive. + - It supports only LZMA and Copy (no compression) methods with BCJ or BCJ2 filters. + - It converts original UTF-16 Unicode file names to UTF-8 Unicode file names. + +These limitations will be fixed in future versions. + + +Using 7z ANSI-C Decoder Test application: +----------------------------------------- + +Usage: 7zDec <command> <archive_name> + +<Command>: + e: Extract files from archive + l: List contents of archive + t: Test integrity of archive + +Example: + + 7zDec l archive.7z + +lists contents of archive.7z + + 7zDec e archive.7z + +extracts files from archive.7z to current folder. + + +How to use .7z Decoder +---------------------- + +Memory allocation +~~~~~~~~~~~~~~~~~ + +7z Decoder uses two memory pools: +1) Temporary pool +2) Main pool +Such scheme can allow you to avoid fragmentation of allocated blocks. + + +Steps for using 7z decoder +-------------------------- + +Use code at 7zMain.c as example. + +1) Declare variables: + inStream /* implements ILookInStream interface */ + CSzArEx db; /* 7z archive database structure */ + ISzAlloc allocImp; /* memory functions for main pool */ + ISzAlloc allocTempImp; /* memory functions for temporary pool */ + +2) call CrcGenerateTable(); function to initialize CRC structures. + +3) call SzArEx_Init(&db); function to initialize db structures. + +4) call SzArEx_Open(&db, inStream, &allocMain, &allocTemp) to open archive + +This function opens archive "inStream" and reads headers to "db". +All items in "db" will be allocated with "allocMain" functions. +SzArEx_Open function allocates and frees temporary structures by "allocTemp" functions. + +5) List items or Extract items + + Listing code: + ~~~~~~~~~~~~~ + { + UInt32 i; + for (i = 0; i < db.db.NumFiles; i++) + { + CFileItem *f = db.db.Files + i; + printf("%10d %s\n", (int)f->Size, f->Name); + } + } + + Extracting code: + ~~~~~~~~~~~~~~~~ + + SZ_RESULT SzAr_Extract( + CArchiveDatabaseEx *db, + ILookInStream *inStream, + UInt32 fileIndex, /* index of file */ + UInt32 *blockIndex, /* index of solid block */ + Byte **outBuffer, /* pointer to pointer to output buffer (allocated with allocMain) */ + size_t *outBufferSize, /* buffer size for output buffer */ + size_t *offset, /* offset of stream for required file in *outBuffer */ + size_t *outSizeProcessed, /* size of file in *outBuffer */ + ISzAlloc *allocMain, + ISzAlloc *allocTemp); + + If you need to decompress more than one file, you can send these values from previous call: + blockIndex, + outBuffer, + outBufferSize, + You can consider "outBuffer" as cache of solid block. If your archive is solid, + it will increase decompression speed. + + After decompressing you must free "outBuffer": + allocImp.Free(outBuffer); + +6) call SzArEx_Free(&db, allocImp.Free) to free allocated items in "db". + + + + +Memory requirements for .7z decoding +------------------------------------ + +Memory usage for Archive opening: + - Temporary pool: + - Memory for uncompressed .7z headers + - some other temporary blocks + - Main pool: + - Memory for database: + Estimated size of one file structures in solid archive: + - Size (4 or 8 Bytes) + - CRC32 (4 bytes) + - LastWriteTime (8 bytes) + - Some file information (4 bytes) + - File Name (variable length) + pointer + allocation structures + +Memory usage for archive Decompressing: + - Temporary pool: + - Memory for LZMA decompressing structures + - Main pool: + - Memory for decompressed solid block + - Memory for temprorary buffers, if BCJ2 fileter is used. Usually these + temprorary buffers can be about 15% of solid block size. + + +7z Decoder doesn't allocate memory for compressed blocks. +Instead of this, you must allocate buffer with desired +size before calling 7z Decoder. Use 7zMain.c as example. + + +Defines +------- + +_SZ_ALLOC_DEBUG - define it if you want to debug alloc/free operations to stderr. + + +--- + +http://www.7-zip.org +http://www.7-zip.org/sdk.html +http://www.7-zip.org/support.html diff --git a/src/libs/7zip/unix/DOCS/7zFormat.txt b/src/libs/7zip/unix/DOCS/7zFormat.txt new file mode 100644 index 000000000..55b52b1b9 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/7zFormat.txt @@ -0,0 +1,469 @@ +7z Format description (4.59) +---------------------------- + +This file contains description of 7z archive format. +7z archive can contain files compressed with any method. +See "Methods.txt" for description for defined compressing methods. + + +Format structure Overview +------------------------- + +Some fields can be optional. + +Archive structure +~~~~~~~~~~~~~~~~~ +SignatureHeader +[PackedStreams] +[PackedStreamsForHeaders] +[ + Header + or + { + Packed Header + HeaderInfo + } +] + + + +Header structure +~~~~~~~~~~~~~~~~ +{ + ArchiveProperties + AdditionalStreams + { + PackInfo + { + PackPos + NumPackStreams + Sizes[NumPackStreams] + CRCs[NumPackStreams] + } + CodersInfo + { + NumFolders + Folders[NumFolders] + { + NumCoders + CodersInfo[NumCoders] + { + ID + NumInStreams; + NumOutStreams; + PropertiesSize + Properties[PropertiesSize] + } + NumBindPairs + BindPairsInfo[NumBindPairs] + { + InIndex; + OutIndex; + } + PackedIndices + } + UnPackSize[Folders][Folders.NumOutstreams] + CRCs[NumFolders] + } + SubStreamsInfo + { + NumUnPackStreamsInFolders[NumFolders]; + UnPackSizes[] + CRCs[] + } + } + MainStreamsInfo + { + (Same as in AdditionalStreams) + } + FilesInfo + { + NumFiles + Properties[] + { + ID + Size + Data + } + } +} + +HeaderInfo structure +~~~~~~~~~~~~~~~~~~~~ +{ + (Same as in AdditionalStreams) +} + + + +Notes about Notation and encoding +--------------------------------- + +7z uses little endian encoding. + +7z archive format has optional headers that are marked as +[] +Header +[] + +REAL_UINT64 means real UINT64. + +UINT64 means real UINT64 encoded with the following scheme: + + Size of encoding sequence depends from first byte: + First_Byte Extra_Bytes Value + (binary) + 0xxxxxxx : ( xxxxxxx ) + 10xxxxxx BYTE y[1] : ( xxxxxx << (8 * 1)) + y + 110xxxxx BYTE y[2] : ( xxxxx << (8 * 2)) + y + ... + 1111110x BYTE y[6] : ( x << (8 * 6)) + y + 11111110 BYTE y[7] : y + 11111111 BYTE y[8] : y + + + +Property IDs +------------ + +0x00 = kEnd + +0x01 = kHeader + +0x02 = kArchiveProperties + +0x03 = kAdditionalStreamsInfo +0x04 = kMainStreamsInfo +0x05 = kFilesInfo + +0x06 = kPackInfo +0x07 = kUnPackInfo +0x08 = kSubStreamsInfo + +0x09 = kSize +0x0A = kCRC + +0x0B = kFolder + +0x0C = kCodersUnPackSize +0x0D = kNumUnPackStream + +0x0E = kEmptyStream +0x0F = kEmptyFile +0x10 = kAnti + +0x11 = kName +0x12 = kCTime +0x13 = kATime +0x14 = kMTime +0x15 = kWinAttributes +0x16 = kComment + +0x17 = kEncodedHeader + +0x18 = kStartPos +0x19 = kDummy + + +7z format headers +----------------- + +SignatureHeader +~~~~~~~~~~~~~~~ + BYTE kSignature[6] = {'7', 'z', 0xBC, 0xAF, 0x27, 0x1C}; + + ArchiveVersion + { + BYTE Major; // now = 0 + BYTE Minor; // now = 2 + }; + + UINT32 StartHeaderCRC; + + StartHeader + { + REAL_UINT64 NextHeaderOffset + REAL_UINT64 NextHeaderSize + UINT32 NextHeaderCRC + } + + +........................... + + +ArchiveProperties +~~~~~~~~~~~~~~~~~ +BYTE NID::kArchiveProperties (0x02) +for (;;) +{ + BYTE PropertyType; + if (aType == 0) + break; + UINT64 PropertySize; + BYTE PropertyData[PropertySize]; +} + + +Digests (NumStreams) +~~~~~~~~~~~~~~~~~~~~~ + BYTE AllAreDefined + if (AllAreDefined == 0) + { + for(NumStreams) + BIT Defined + } + UINT32 CRCs[NumDefined] + + +PackInfo +~~~~~~~~~~~~ + BYTE NID::kPackInfo (0x06) + UINT64 PackPos + UINT64 NumPackStreams + + [] + BYTE NID::kSize (0x09) + UINT64 PackSizes[NumPackStreams] + [] + + [] + BYTE NID::kCRC (0x0A) + PackStreamDigests[NumPackStreams] + [] + + BYTE NID::kEnd + + +Folder +~~~~~~ + UINT64 NumCoders; + for (NumCoders) + { + BYTE + { + 0:3 CodecIdSize + 4: Is Complex Coder + 5: There Are Attributes + 6: Reserved + 7: There are more alternative methods. (Not used anymore, must be 0). + } + BYTE CodecId[CodecIdSize] + if (Is Complex Coder) + { + UINT64 NumInStreams; + UINT64 NumOutStreams; + } + if (There Are Attributes) + { + UINT64 PropertiesSize + BYTE Properties[PropertiesSize] + } + } + + NumBindPairs = NumOutStreamsTotal - 1; + + for (NumBindPairs) + { + UINT64 InIndex; + UINT64 OutIndex; + } + + NumPackedStreams = NumInStreamsTotal - NumBindPairs; + if (NumPackedStreams > 1) + for(NumPackedStreams) + { + UINT64 Index; + }; + + + + +Coders Info +~~~~~~~~~~~ + + BYTE NID::kUnPackInfo (0x07) + + + BYTE NID::kFolder (0x0B) + UINT64 NumFolders + BYTE External + switch(External) + { + case 0: + Folders[NumFolders] + case 1: + UINT64 DataStreamIndex + } + + + BYTE ID::kCodersUnPackSize (0x0C) + for(Folders) + for(Folder.NumOutStreams) + UINT64 UnPackSize; + + + [] + BYTE NID::kCRC (0x0A) + UnPackDigests[NumFolders] + [] + + + + BYTE NID::kEnd + + + +SubStreams Info +~~~~~~~~~~~~~~ + BYTE NID::kSubStreamsInfo; (0x08) + + [] + BYTE NID::kNumUnPackStream; (0x0D) + UINT64 NumUnPackStreamsInFolders[NumFolders]; + [] + + + [] + BYTE NID::kSize (0x09) + UINT64 UnPackSizes[] + [] + + + [] + BYTE NID::kCRC (0x0A) + Digests[Number of streams with unknown CRC] + [] + + + BYTE NID::kEnd + + +Streams Info +~~~~~~~~~~~~ + + [] + PackInfo + [] + + + [] + CodersInfo + [] + + + [] + SubStreamsInfo + [] + + BYTE NID::kEnd + + +FilesInfo +~~~~~~~~~ + BYTE NID::kFilesInfo; (0x05) + UINT64 NumFiles + + for (;;) + { + BYTE PropertyType; + if (aType == 0) + break; + + UINT64 Size; + + switch(PropertyType) + { + kEmptyStream: (0x0E) + for(NumFiles) + BIT IsEmptyStream + + kEmptyFile: (0x0F) + for(EmptyStreams) + BIT IsEmptyFile + + kAnti: (0x10) + for(EmptyStreams) + BIT IsAntiFile + + case kCTime: (0x12) + case kATime: (0x13) + case kMTime: (0x14) + BYTE AllAreDefined + if (AllAreDefined == 0) + { + for(NumFiles) + BIT TimeDefined + } + BYTE External; + if(External != 0) + UINT64 DataIndex + [] + for(Definded Items) + UINT64 Time + [] + + kNames: (0x11) + BYTE External; + if(External != 0) + UINT64 DataIndex + [] + for(Files) + { + wchar_t Names[NameSize]; + wchar_t 0; + } + [] + + kAttributes: (0x15) + BYTE AllAreDefined + if (AllAreDefined == 0) + { + for(NumFiles) + BIT AttributesAreDefined + } + BYTE External; + if(External != 0) + UINT64 DataIndex + [] + for(Definded Attributes) + UINT32 Attributes + [] + } + } + + +Header +~~~~~~ + BYTE NID::kHeader (0x01) + + [] + ArchiveProperties + [] + + [] + BYTE NID::kAdditionalStreamsInfo; (0x03) + StreamsInfo + [] + + [] + BYTE NID::kMainStreamsInfo; (0x04) + StreamsInfo + [] + + [] + FilesInfo + [] + + BYTE NID::kEnd + + +HeaderInfo +~~~~~~~~~~ + [] + BYTE NID::kEncodedHeader; (0x17) + StreamsInfo for Encoded Header + [] + + +--- +End of document diff --git a/src/libs/7zip/unix/DOCS/License.txt b/src/libs/7zip/unix/DOCS/License.txt new file mode 100644 index 000000000..a6a721853 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/License.txt @@ -0,0 +1,52 @@ + 7-Zip source code + ~~~~~~~~~~~~~~~~~ + License for use and distribution + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + 7-Zip Copyright (C) 1999-2010 Igor Pavlov. + + Licenses for files are: + + 1) CPP/7zip/Compress/Rar* files: GNU LGPL + unRAR restriction + 2) All other files: GNU LGPL + + The GNU LGPL + unRAR restriction means that you must follow both + GNU LGPL rules and unRAR restriction rules. + + + GNU LGPL information + -------------------- + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + + unRAR restriction + ----------------- + + The decompression engine for RAR archives was developed using source + code of unRAR program. + All copyrights to original unRAR code are owned by Alexander Roshal. + + The license for original unRAR code has the following restriction: + + The unRAR sources cannot be used to re-create the RAR compression algorithm, + which is proprietary. Distribution of modified unRAR sources in separate form + or as a part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + + + -- + Igor Pavlov diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/add.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/add.htm new file mode 100644 index 000000000..7bc5ea22f --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/add.htm @@ -0,0 +1,87 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>a (Add) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>a (Add) command</H1> + +<P>Adds files to archive.</P> + +<H4>Examples</H4> + +<PRE class="example"> +7z a archive1.zip subdir\ +</PRE> + +<P>adds all files and subfolders from folder <SPAN class="filename">subdir</SPAN> to archive + <SPAN class="filename">archive1.zip</SPAN>. + The filenames in archive will contain <SPAN class="filename">subdir\</SPAN> prefix.</P> + +<PRE class="example"> +7z a archive2.zip .\subdir\* +</PRE> + +<P>adds all files and subfolders from folder <SPAN class="filename">subdir</SPAN> to archive + <SPAN class="filename">archive2.zip</SPAN>. + The filenames in archive will not contain <SPAN class="filename">subdir\</SPAN> prefix.</P> + + +<PRE class="example"> +cd /D c:\dir1\ +7z a c:\archive3.zip dir2\dir3\ +</PRE> + +The filenames in archive <SPAN class="filename">c:\archive3.zip</SPAN> +will contain <SPAN class="filename">dir2\dir3\</SPAN> prefix, +but they will not contain <SPAN class="filename">c:\dir1\</SPAN> prefix. + +<PRE class="example"> +7z a Files.7z *.txt -r +</PRE> + +<P>adds all *.txt files from current folder and its subfolders to archive + <SPAN class="filename">Files.7z</SPAN>.</P> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/method.htm">-m (Method)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/sfx.htm">-sfx (create SFX)</A><BR> + <A href="../switches/stdin.htm">-si (use StdIn)</A><BR> + <A href="../switches/stdout.htm">-so (use StdOut)</A><BR> + <A href="../switches/type.htm">-t (Type of archive)</A><BR> + <A href="../switches/update.htm">-u (Update)</A><BR> + <A href="../switches/volume.htm">-v (Volumes)</A><BR> + <A href="../switches/working_dir.htm">-w (Working Dir)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Commands:</B> + <A href="delete.htm">d (Delete)</A>, + <A href="update.htm">u (Update)</A><BR> + <B>Switches:</B> + <A href="../switches/update.htm">-u (Update)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/bench.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/bench.htm new file mode 100644 index 000000000..14f456cd3 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/bench.htm @@ -0,0 +1,79 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>b (Benchmark) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>b (Benchmark) command</H1> + +<P>Measures speed of the CPU and checks RAM for errors.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +b [number_of_iterations] [-mmt{N}] [-md{N}] [-mm={Method}] +</PRE> + +<P>There are two tests:<P> +<OL> + <LI>Compressing with LZMA method + <LI>Decompressing with LZMA method +</OL> + +<P>The benchmark shows a rating in MIPS (million instructions per second). +The rating value is calculated from the measured CPU speed and it +is normalized with results of Intel Core 2 CPU with multi-threading option +switched off. So if you have Intel Core 2 Duo, +rating values must be close to real CPU frequency.</P> + +<P>You can change the upper dictionary size to increase memory usage by -md{N} switch. +Also, you can change the number of threads by -mmt{N} switch.</P> + +<P>The <B>Dict</B> column shows dictionary size. For example, 21 means 2^21 = 2 MB.</P> + +<P>The <B>Usage</B> column shows the percentage of time the processor is working. +It's normalized for a one-thread load. For example, 180% CPU Usage for 2 threads +can mean that average CPU usage is about 90% for each thread.</P> + +<P>The <B>R / U</B> column shows the rating normalized for 100% of CPU usage. +That column shows the performance of one average CPU thread.</P> + +<P><B>Avr</B> shows averages for different dictionary sizes.</P> +<P><B>Tot</B> shows averages of the compression and decompression ratings.</P> + +<P>Compression speed and rating strongly depend on memory (RAM) latency. + +<P>Decompression speed and rating strongly depend on the integer performance of the CPU. +For example, the Intel Pentium 4 has big branch +misprediction penalty (which is an effect of its long pipeline) and pretty slow +multiply and shift operations. So, the Pentium 4 has pretty low decompressing ratings.</P> + +<P>You can run a CRC calculation benchmark by specifying -mm=crc. +That test shows the speed of CRC calculation in MB/s. The first column shows the size of the block. +The next column shows the speed of CRC calculation for one thread. The other columns are results +for multi-threaded CRC calculation.</P> + + +<H4>Examples</H4> + +<PRE class="example"> +7z b +</PRE> +runs benchmarking. + +<PRE class="example"> +7z b -mmt1 -md26 +</PRE> +runs benchmarking with one thread and 64 MB dictionary. + +<PRE class="example"> +7z b 30 +</PRE> +<P>runs benchmarking with default settings for 30 iterations.</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/delete.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/delete.htm new file mode 100644 index 000000000..845b8d899 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/delete.htm @@ -0,0 +1,59 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>d (Delete) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>d (Delete) command</H1> + +<P>Deletes files from archive.</P> + +<H4>Example</H4> + +<PRE class="example"> +7z d archive.zip *.bak -r +</PRE> + +<P>deletes <SPAN class="filename">*.bak</SPAN> files from archive + <SPAN class="filename">archive.zip</SPAN>.</P> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/method.htm">-m (Method)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/update.htm">-u (Update)</A><BR> + <A href="../switches/working_dir.htm">-w (Working Dir)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Commands:</B> + <A href="add.htm">a (Add)</A>, + <A href="update.htm">u (Update)</A> +</P> + +<P> + <B>Switches:</B> + <A href="../switches/update.htm">-u (Update)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/extract.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/extract.htm new file mode 100644 index 000000000..dad6b2b0b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/extract.htm @@ -0,0 +1,91 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>e (Extract) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>e (Extract) command</H1> + +<P>Extracts files from an archive to the current +directory or to the output directory. The output directory can be specified by +<A href="../switches/output_dir.htm">-o (Set Output Directory)</A> switch.</P> + +<P>This command copies all extracted files to one directory. +If you want extract files with full paths, you must use +<A href="extract_full.htm">x (Extract with full paths)</A> command. + +<P>7-Zip will prompt the user before overwriting existing files unless +the user specifies the <A href="../switches/yes.htm">-y (Assume Yes on all queries)</A> +switch. If the user gives a <B>no</B> answer, 7-Zip will prompt for the file to be +extracted to a new filename. Then a <B>no</B> answer skips that file; or, <B>yes</B> +prompts for new filename.</P> + +<P>7-Zip accepts the following responses:</P> + +<TABLE> + <TR> <TH>Answer</TH> <TH>Abbr.</TH> <TH>Action</TH> </TR> + <TR> <TD>Yes</TD> <TD>y</TD> <TD> </TD> </TR> + <TR> <TD>No</TD> <TD>n</TD> <TD> </TD> </TR> + <TR> <TD>Always</TD> <TD>a</TD> <TD>Assume YES for ALL subsequent queries of the same class</TD> </TR> + <TR> <TD>Skip</TD> <TD>s</TD> <TD>Assume NO for ALL subsequent queries of the same class</TD> </TR> + <TR> <TD>Quit</TD> <TD>q</TD> <TD>Quit the program</TD> </TR> + +</TABLE> + +<P>Abbreviated responses are allowed.</P> + +<H4>Examples</H4> + +<PRE class="example"> +7z e archive.zip +</PRE> + +<P>extracts all files from archive + <SPAN class="filename">archive.zip</SPAN> to the current directory.</P> + +<PRE class="example"> +7z e archive.zip -oc:\soft *.cpp -r +</PRE> + +<P>extracts all <SPAN class="filename">*.cpp</SPAN> files from archive + <SPAN class="filename">archive.zip</SPAN> to <SPAN class="filename">c:\soft</SPAN> folder.</P> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/ar_include.htm">-ai (Include archives)</A><BR> + <A href="../switches/ar_no.htm">-an (Disable parsing of archive_name)</A><BR> + <A href="../switches/overwrite.htm">-ao (Overwrite mode)</A><BR> + <A href="../switches/ar_exclude.htm">-ax (Exclude archives)</A><BR> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/output_dir.htm">-o (Set Output Directory)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/stdout.htm">-so (use StdOut)</A><BR> + <A href="../switches/type.htm">-t (Type of archive)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A><BR> + <A href="../switches/yes.htm">-y (Assume Yes on all queries)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Commands:</B> + <A href="extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/extract_full.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/extract_full.htm new file mode 100644 index 000000000..3f857a6e4 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/extract_full.htm @@ -0,0 +1,68 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>x (Extract with full paths) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>x (Extract with full paths) command</H1> + +<P>Extracts files from an archive with their full +paths in the current directory, or in an output directory if specified.</P> + +<P>See the <A href="extract.htm">e (Extract)</A> command description for more details.</P> + +<H4>Examples</H4> + +<PRE class="example"> +7z x archive.zip +</PRE> + +<P>extracts all files from the archive + <SPAN class="filename">archive.zip</SPAN> to the current directory.</P> + +<PRE class="example"> +7z x archive.zip -oc:\soft *.cpp -r +</PRE> + +<P>extracts all <SPAN class="filename">*.cpp</SPAN> files from the archive + <SPAN class="filename">archive.zip</SPAN> to <SPAN class="filename">c:\soft</SPAN> folder.</P> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/ar_include.htm">-ai (Include archives)</A><BR> + <A href="../switches/ar_no.htm">-an (Disable parsing of archive_name)</A><BR> + <A href="../switches/overwrite.htm">-ao (Overwrite mode)</A><BR> + <A href="../switches/ar_exclude.htm">-ax (Exclude archives)</A><BR> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/output_dir.htm">-o (Set Output Directory)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/stdout.htm">-so (use StdOut)</A><BR> + <A href="../switches/type.htm">-t (Type of archive)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A><BR> + <A href="../switches/yes.htm">-y (Assume Yes on all queries)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Commands:</B> + <A href="extract.htm">e (Extract)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/index.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/index.htm new file mode 100644 index 000000000..579ea2931 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/index.htm @@ -0,0 +1,33 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>Command Line Commands</TITLE> + <LINK href="style.css" rel=stylesheet type="text/css"> +</HEAD> + +<BODY> + +<H1>Command Line Commands</H1> + +<P>The command is the first non-switch argument on the command line.</P> +<P>Command names are not case sensitive.</P> +<P>See also <A href ="../syntax.htm">Command Line Syntax</A> for more details about using the command line.</P> + +<H2>Commands quick reference</H2> + +<TABLE border="1" cellpadding="3" cellspacing="0"> +<TR><TH>Command</TH><TH>Description</TH></TR> +<TR> <TD><A href="add.htm">a</A></TD> <TD><A href="add.htm">Add</A></TD></TR> +<TR> <TD><A href="bench.htm">b</A></TD> <TD><A href="bench.htm">Benchmark</A></TD></TR> +<TR> <TD><A href="delete.htm">d</A></TD> <TD><A href="delete.htm">Delete</A></TD></TR> +<TR> <TD><A href="extract.htm">e</A></TD> <TD><A href="extract.htm">Extract</A></TD></TR> +<TR> <TD><A href="list.htm">l</A></TD> <TD><A href="list.htm">List</A></TD></TR> +<TR> <TD><A href="test.htm">t</A></TD> <TD><A href="test.htm">Test</A></TD></TR> +<TR> <TD><A href="update.htm">u</A></TD> <TD><A href="update.htm">Update</A></TD></TR> +<TR> <TD><A href="extract_full.htm">x</A></TD> <TD><A href="extract_full.htm">eXtract with full paths</A></TD></TR> +</TABLE> + + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/list.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/list.htm new file mode 100644 index 000000000..1eba758e9 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/list.htm @@ -0,0 +1,77 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>l (List contents of archive) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>l (List contents of archive) command</H1> + + + +<!-- +<H4>Syntax</H4> +<P><PRE class="syntax"> +l[a | t][f] +</PRE></P> + +--> + +<P>Lists contents of archive.</P> + +<!-- +<P>The following options can be used:</P> +<TABLE> +<TR> <TH>Option</TH> <TH>Description</TH> </TR> +<TR> <TD>a</TD> <TD>List with Additional fields</TD> </TR> +<TR> <TD>t</TD> <TD>List with all fields, including Technical</TD> </TR> +<TR> <TD>f</TD> <TD>List with Full pathnames</TD> </TR> +</TABLE> +--> + + +<H4>Examples</H4> + +<PRE class="example"> +7z l archive.zip +</PRE> + +<P>lists all files from archive <SPAN class="filename">archive.zip</SPAN>.</P> + +<!-- +<PRE class="example"> +7z lf archive.zip *.txt +</PRE> + +<P>lists <SPAN class="filename">*.txt</SPAN> files from archive + <SPAN class="filename">archive.zip</SPAN> with full pathnames.</P> +--> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/ar_include.htm">-ai (Include archives)</A><BR> + <A href="../switches/ar_no.htm">-an (Disable parsing of archive_name)</A><BR> + <A href="../switches/ar_exclude.htm">-ax (Exclude archives)</A><BR> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/list_tech.htm">-slt (Show technical information)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/type.htm">-t (Type of archive)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/style.css b/src/libs/7zip/unix/DOCS/MANUAL/commands/style.css new file mode 100644 index 000000000..13ebb79ce --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/style.css @@ -0,0 +1,232 @@ +body + { + padding: 0px 0px 0px 26px; + background: #ffffff; + color: #000000; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 80%; + } + +div + { + width: 90%; + border: 2px solid #999999; + padding: 4px 8px; + background: #cccccc; + } + +h1, h2, h3, h4 + { + font-family: Verdana, Arial, Helvetica, sans-serif; + margin-left: -26px; + } + +h1 + { + font-size: 145%; + margin-top: .5em; + margin-bottom: 1em; + } + +h2 + { + font-size: 130%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +h3 + { + font-size: 115%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +h4 + { + font-size: 100%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +ul p, ol p, dl p + { + margin-left: 0em; + } + +p + { + margin-top: .6em; + margin-bottom: .6em; + } + +dl + { + /*margin-top: 0em; */ + } + +dt + { + margin-top: .76em; + margin-bottom: .5em; + font-weight: bold; + } + +dd + { + margin-top: .5em; + margin-bottom: .5em; + margin-left: 1.9em; + } + + +ul, ol + { + margin-top: .6em; + margin-bottom: 0em; + } + +ol + { + margin-left: 3.6em; + } + +ul + { + list-style-type: disc; + margin-left: 1.9em; + } + +li + { + margin-bottom: .6em; + } + +ul ol, ol ol + { + list-style-type: lower-alpha; + { + + /* +pre + { + margin-top: .6em; + margin-bottom: .6em; + } + */ + +pre,code + { + font: 100% Courier New, Courier, mono; + color: #000000; + cursor: text; + } + +pre.syntax + { + background: #dddddd; + padding: 2pt,4pt + } + +pre.syntax + { + color: #000000; + } + +pre.example + { + margin-left: 2.0em; + /*margin-top: 12.0em;*/ + /*margin-bottom: 1.0em;*/ + color: #C00000; + /*padding: 10pt,20pt*/ + } + +table + { + /* width: 90%; */ + background: #999999; + margin-top: .6em; + margin-bottom: .3em; + } + +th + { + padding: 4px 8px; + background: #cccccc; + text-align: left; + font-size: 80%; + vertical-align: bottom; + } + +th.cc + { + text-align: center; + vertical-align: middle; + } + +td + { + padding: 4px 8px; + background: #ffffff; + vertical-align: top; + font-size: 80%; + } + +td.cc + { + text-align: center; + vertical-align: middle; + } + + +blockquote + { + margin-left: 3.8em; + margin-right: 3.8em; + margin-top: .6em; + margin-bottom: .6em; + } + +a:link + { + color: #0066ff; + } + +a:visited + { + color: #996600; + } + +a:hover + { + color: #cc9900; + } + +a.parameter:link + { + color: #0066ff; + text-decoration:none; + } + +a.parameter:visited + { + text-decoration:none; + } + +div.footer + { + width: 100%; + border: none; + background: #ffffff; + margin-top: 18pt; + padding-bottom: 12pt; + color: #228B22; + text-align: center; + font-size: 70%; + } + +span.filename +{ + color: #F00000; +} diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/test.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/test.htm new file mode 100644 index 000000000..b09f8a497 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/test.htm @@ -0,0 +1,46 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>t (Test integrity of archive) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>t (Test integrity of archive) command</H1> + +<P>Tests archive files.</P> + +<H4>Example</H4> + +<PRE class="example"> +7z t archive.zip *.doc -r +</PRE> + +<P>tests <SPAN class="filename">*.doc</SPAN> files in archive + <SPAN class="filename">archive.zip</SPAN>.</P> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/ar_include.htm">-ai (Include archives)</A><BR> + <A href="../switches/ar_no.htm">-an (Disable parsing of archive_name)</A><BR> + <A href="../switches/ar_exclude.htm">-ax (Exclude archives)</A><BR> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/commands/update.htm b/src/libs/7zip/unix/DOCS/MANUAL/commands/update.htm new file mode 100644 index 000000000..860080109 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/commands/update.htm @@ -0,0 +1,66 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>u (Update) command</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>u (Update) command</H1> + +<P>Update older files in the archive and add files that are not already in the archive.</P> + +<P>Note: the updating of solid .7z archives can be slow, since it +can require some recompression.</P> + +<H4>Example</H4> + +<PRE class="example"> +7z u archive.zip *.doc +</PRE> + +<P>updates <SPAN class="filename">*.doc</SPAN> files to archive + <SPAN class="filename">archive.zip</SPAN>.</P> + + +<H4>Notes</H4> + +<P>7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process +all files, you must use a * wildcard.</P> + + +<H4>Switches that can be used with this command</H4> + +<P> + <A href="../switches/include.htm">-i (Include)</A><BR> + <A href="../switches/method.htm">-m (Method)</A><BR> + <A href="../switches/password.htm">-p (Set Password)</A><BR> + <A href="../switches/recurse.htm">-r (Recurse)</A><BR> + <A href="../switches/sfx.htm">-sfx (create SFX)</A><BR> + <A href="../switches/stdin.htm">-si (use StdIn)</A><BR> + <A href="../switches/stdout.htm">-so (use StdOut)</A><BR> + <A href="../switches/type.htm">-t (Type of archive)</A><BR> + <A href="../switches/update.htm">-u (Update)</A><BR> + <A href="../switches/working_dir.htm">-w (Working Dir)</A><BR> + <A href="../switches/exclude.htm">-x (Exclude)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Commands:</B> + <A href="add.htm">a (Add)</A>, + <A href="delete.htm">d (Delete)</A>, +</P> + +<P> + <B>Switches:</B> + <A href="../switches/update.htm">-u (Update)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/exit_codes.htm b/src/libs/7zip/unix/DOCS/MANUAL/exit_codes.htm new file mode 100644 index 000000000..4cdc74a5b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/exit_codes.htm @@ -0,0 +1,27 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>Exit Codes from 7-Zip</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>Exit Codes from 7-Zip</H1> + +<P>7-Zip returns the following exit codes:</P> + +<TABLE> + <TR><TH>Code</TH><TH>Meaning</TH></TR> + <TR><TD>0</TH><TD>No error</TD></TR> + <TR><TD>1</TH><TD>Warning (Non fatal error(s)). For example, one or more files were + locked by some other application, so they were not compressed.</TD></TR> + <TR><TD>2</TH><TD>Fatal error</TD></TR> + <TR><TD>7</TH><TD>Command line error</TD></TR> + <TR><TD>8</TH><TD>Not enough memory for operation</TD></TR> + <TR><TD>255</TH><TD>User stopped the process</TD></TR> +</TABLE> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/index.htm b/src/libs/7zip/unix/DOCS/MANUAL/index.htm new file mode 100644 index 000000000..5bf8aae61 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/index.htm @@ -0,0 +1,29 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>Command Line Version User's Guide</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>Command Line Version User's Guide</H1> + + +<P>7z.exe is the command line version of 7-Zip. 7z.exe uses 7z.dll +from the 7-Zip package. 7z.dll is used by the 7-Zip File Manager also.</LI> + +<P>7za.exe (a = alone) is a standalone version of 7-Zip. +7za.exe supports only 7z, lzma, cab, zip, gzip, bzip2, Z and tar formats. +7za.exe doesn't use external modules.</LI> + +<UL> + <LI><A href = "syntax.htm">Command Line syntax</A></LI> + <LI><A href = "exit_codes.htm">Exit Codes</A></LI> + <LI><A href = "commands/index.htm">Commands</A></LI> + <LI><A href = "switches/index.htm">Switches</A></LI> +</UL> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/style.css b/src/libs/7zip/unix/DOCS/MANUAL/style.css new file mode 100644 index 000000000..13ebb79ce --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/style.css @@ -0,0 +1,232 @@ +body + { + padding: 0px 0px 0px 26px; + background: #ffffff; + color: #000000; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 80%; + } + +div + { + width: 90%; + border: 2px solid #999999; + padding: 4px 8px; + background: #cccccc; + } + +h1, h2, h3, h4 + { + font-family: Verdana, Arial, Helvetica, sans-serif; + margin-left: -26px; + } + +h1 + { + font-size: 145%; + margin-top: .5em; + margin-bottom: 1em; + } + +h2 + { + font-size: 130%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +h3 + { + font-size: 115%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +h4 + { + font-size: 100%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +ul p, ol p, dl p + { + margin-left: 0em; + } + +p + { + margin-top: .6em; + margin-bottom: .6em; + } + +dl + { + /*margin-top: 0em; */ + } + +dt + { + margin-top: .76em; + margin-bottom: .5em; + font-weight: bold; + } + +dd + { + margin-top: .5em; + margin-bottom: .5em; + margin-left: 1.9em; + } + + +ul, ol + { + margin-top: .6em; + margin-bottom: 0em; + } + +ol + { + margin-left: 3.6em; + } + +ul + { + list-style-type: disc; + margin-left: 1.9em; + } + +li + { + margin-bottom: .6em; + } + +ul ol, ol ol + { + list-style-type: lower-alpha; + { + + /* +pre + { + margin-top: .6em; + margin-bottom: .6em; + } + */ + +pre,code + { + font: 100% Courier New, Courier, mono; + color: #000000; + cursor: text; + } + +pre.syntax + { + background: #dddddd; + padding: 2pt,4pt + } + +pre.syntax + { + color: #000000; + } + +pre.example + { + margin-left: 2.0em; + /*margin-top: 12.0em;*/ + /*margin-bottom: 1.0em;*/ + color: #C00000; + /*padding: 10pt,20pt*/ + } + +table + { + /* width: 90%; */ + background: #999999; + margin-top: .6em; + margin-bottom: .3em; + } + +th + { + padding: 4px 8px; + background: #cccccc; + text-align: left; + font-size: 80%; + vertical-align: bottom; + } + +th.cc + { + text-align: center; + vertical-align: middle; + } + +td + { + padding: 4px 8px; + background: #ffffff; + vertical-align: top; + font-size: 80%; + } + +td.cc + { + text-align: center; + vertical-align: middle; + } + + +blockquote + { + margin-left: 3.8em; + margin-right: 3.8em; + margin-top: .6em; + margin-bottom: .6em; + } + +a:link + { + color: #0066ff; + } + +a:visited + { + color: #996600; + } + +a:hover + { + color: #cc9900; + } + +a.parameter:link + { + color: #0066ff; + text-decoration:none; + } + +a.parameter:visited + { + text-decoration:none; + } + +div.footer + { + width: 100%; + border: none; + background: #ffffff; + margin-top: 18pt; + padding-bottom: 12pt; + color: #228B22; + text-align: center; + font-size: 70%; + } + +span.filename +{ + color: #F00000; +} diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_exclude.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_exclude.htm new file mode 100644 index 000000000..697891880 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_exclude.htm @@ -0,0 +1,56 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-ax (Exclude archive filenames) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-ax (Exclude archive filenames) switch</H1> + +<P>Specifies archives to be excluded from the operation.</P> +<P>Multiple exclude archive switches are supported.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-ax[<recurse_type>]<file_ref> + +<recurse_type> ::= r[- | 0] +<file_ref> ::= @{listfile} | !{wildcard} +</PRE> + +<P>See <A href="include.htm">-xi (Include archive filenames)</A> switch description +for information about option parameters.</P> + + +<H4>Examples</H4> + +<PRE class="example"> +7z t -an -ai!*.7z -ax!a*.7z +</PRE> + +<P>tests all <SPAN class="filename">*.7z</SPAN> archives, + except <SPAN class="filename">a*.7z</SPAN> archives.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="include.htm">-ai (Include archives)</A> + <A href="ar_no.htm">-an (Disable parsing of archive_name)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_include.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_include.htm new file mode 100644 index 000000000..30a5a9b69 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_include.htm @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-ai (Include archive filenames) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-ai (Include archive filenames) switch</H1> + +<P>Specifies additional include archive filenames and wildcards.</P> +<P>Multiple include switches are supported.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-ai[<A class="parameter" href="#recurse_type"><recurse_type></A>]<A class="parameter" href="#file_ref"><file_ref></A> + +<A class="parameter" href="#recurse_type"><recurse_type></A> ::= r[- | 0] +<A class="parameter" href="#file_ref"><file_ref></A> ::= @{listfile} | !{wildcard} +</PRE> + +<H4>Parameters</H4> + +<DL> + <DT><A name="recurse_type"></A><recurse_type></DT> + <DD><P>Specifies how wildcards and file names in this switch must + be used. If this option is not given, recursion will be not used. + For more details see specification of the + <A href="recurse.htm">-r (Recurse)</A> switch.</P> +<PRE class="syntax"> +<recurse_type> ::= r[- | 0] +</PRE> + + </DD> + <DT><A name="file_ref"></A><file_ref></DT> + <DD> + <P>Specifies filenames and wildcards or list file that specify processed files.</P> +<PRE class="syntax"> +<file_ref> ::= @{listfile} | !{wildcard} +</PRE> + <TABLE> + <TR> <TH width="120">Option</TH> <TH>Description</TH> </TR> + <TR> <TD>{listfile}</TD> <TD>Specifies name of list file. See + <A href = ../syntax.htm#ListFile>List file</A> description.</TD> </TR> + <TR> <TD>{wildcard}</TD> <TD>Specifies wildcard or filename.</TD> </TR> + </TABLE> + </DD> +</DL> + +<H4>Examples</H4> + +<PRE class="example"> +7z t -an -air!*.7z +</PRE> + +<P>tests <SPAN class="filename">*.7z</SPAN> archives in current directory and all it's +subdirectories.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="ar_exclude.htm">-ax (Exclude archives)</A> + <A href="ar_no.htm">-an (Disable parsing of archive_name)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_no.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_no.htm new file mode 100644 index 000000000..d925f13d3 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/ar_no.htm @@ -0,0 +1,52 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-an (Disable parsing of archive_name) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-an (Disable parsing of archive_name) switch</H1> + +<P>Disables parsing of the archive_name field on the command line. +This switch must be used with the +<A href="include.htm">-ai (Include archives) switch</A>. +If you use a file list for your archives, you specify it with the -ai switch, +so you need to disable parsing of archive_name field from command line. + +<H4>Syntax</H4> + +<PRE class="syntax"> +-an +</PRE> + +<H4>Examples</H4> + +<PRE class="example"> +7z t -an -ai!*.7z -ax!a*.7z +</PRE> + +<P>tests all <SPAN class="filename">*.7z</SPAN> archives, + except <SPAN class="filename">a*.7z</SPAN> archives.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="include.htm">-ai (Include archives)</A> + <A href="exclude.htm">-ax (Exclude archives)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/charset.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/charset.htm new file mode 100644 index 000000000..e30802652 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/charset.htm @@ -0,0 +1,49 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-scs (Set charset for list files) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-scs (Set charset for list files) switch</H1> + +<P>Sets charset for list files.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-scs{UTF-8 | WIN | DOS} +</PRE> + +<P>Default charset is UTF-8.</P> + +<DL> + <DT>UTF-8</DT> + <DD>Unicode UTF-8 character set.</DD> + <DT>WIN</DT> + <DD>Default character set of Windows.</DD> + <DT>DOS</DT> + <DD>Default DOS (OEM) character set of Windows.</DD> +</DL> + +<H4>Example</H4> + +<PRE class="example"> +7z a archive.7z @listfile.txt -scsWIN +</PRE> + +<P>compresses files from <SPAN class="filename">listfile.txt</SPAN> list, that contains +list of files in default character set of Windows.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/update.htm">u (Update)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/exclude.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/exclude.htm new file mode 100644 index 000000000..faf8768e2 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/exclude.htm @@ -0,0 +1,60 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-x (Exclude filenames) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-x (Exclude filenames) switch</H1> + +<P>Specifies which filenames or wildcarded names must be excluded from the operation.</P> +<P>Multiple exclude switches are supported.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-x[<recurse_type>]<file_ref> + +<recurse_type> ::= r[- | 0] +<file_ref> ::= @{listfile} | !{wildcard} +</PRE> + +<P>See <A href="include.htm">-i (Include)</A> switch description for information about + option parameters.</P> + + +<H4>Examples</H4> + +<PRE class="example"> +7z a -tzip archive.zip *.txt -x!temp.* +</PRE> + +<P>adds to the archive <SPAN class="filename">archive.zip</SPAN> all + <SPAN class="filename">*.txt</SPAN> files, + except <SPAN class="filename">temp.*</SPAN> files.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="recurse.htm">-r (Recurse)</A>, + <A href="include.htm">-i (Include)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/include.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/include.htm new file mode 100644 index 000000000..009f5efcb --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/include.htm @@ -0,0 +1,87 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-i (Include filenames) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-i (Include filenames) switch</H1> + +<P>Specifies additional include filenames and wildcards.</P> +<P>Multiple include switches are supported.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-i[<A class="parameter" href="#recurse_type"><recurse_type></A>]<A class="parameter" href="#file_ref"><file_ref></A> + +<A class="parameter" href="#recurse_type"><recurse_type></A> ::= r[- | 0] +<A class="parameter" href="#file_ref"><file_ref></A> ::= @{listfile} | !{wildcard} +</PRE> + +<H4>Parameters</H4> + +<DL> + <DT><A name="recurse_type"></A><recurse_type></DT> + <DD><P>Specifies how wildcards and file names in this switch must + be used. If this option is not given, then the global value, assigned + by the <A href="recurse.htm">-r (Recurse)</A> switch will be used. For + more details see specification of the + <A href="recurse.htm">-r (Recurse)</A> switch.</P> +<PRE class="syntax"> +<recurse_type> ::= r[- | 0] +</PRE> + + </DD> + <DT><A name="file_ref"></A><file_ref></DT> + <DD> + <P>Specifies filenames and wildcards, or a list file, for files to be processed.</P> +<PRE class="syntax"> +<file_ref> ::= @{listfile} | !{wildcard} +</PRE> + <TABLE> + <TR> <TH width="120">Option</TH> <TH>Description</TH> </TR> + <TR> <TD>{listfile}</TD> <TD>Specifies name of list file. See + <A href = ../syntax.htm#ListFile>List file</A> description.</TD> </TR> + <TR> <TD>{wildcard}</TD> <TD>Specifies wildcard or filename.</TD> </TR> + </TABLE> + </DD> +</DL> + +<H4>Examples</H4> + +<PRE class="example"> +7z a -tzip src.zip *.txt -ir!DIR1\*.cpp +</PRE> + +<P>adds to <SPAN class="filename">src.zip</SPAN> archive all + <SPAN class="filename">*.txt</SPAN> files from current directory + and all <SPAN class="filename">*.cpp</SPAN> + files from directory <SPAN class="filename">DIR1</SPAN> + and from all it's subdirectories.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="recurse.htm">-r (Recurse)</A>, + <A href="exclude.htm">-x (Exclude)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/index.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/index.htm new file mode 100644 index 000000000..65e335d49 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/index.htm @@ -0,0 +1,64 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>Command Line Switches</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>Command Line Switches</H1> + +<H4>Syntax</H4> + +<PRE class="syntax"> +<switch>::= <switch_symbol><switch_characters>[<option>] +<switch_symbol> ::= '/' | '-' + +</PRE> +<P>On the command line, a switch consists of a switch specifier, +either a dash (-) or a forward slash (/), followed by the name of +the switch. Switch names cannot be abbreviated.</P> + +<P>Some switches take an argument after the switch name. +No spaces or tabs are allowed within a switch specification. +Switch names are not case sensitive, but arguments can be case sensitive. +</P> + +<P>Switch can be used in any place in command line.</B> + +<P>See also <A href ="../syntax.htm">Command Line Syntax</A> for more details + about using the command line.</P> + +<H2>Switch quick reference</H2> + +<TABLE border="1" cellpadding="3" cellspacing="0"> +<TR><TH>Switch</TH><TH>Description</TH></TR> +<TR> <TD><A href="stop_switch.htm">--</A></TD> <TD><A href="stop_switch.htm">Stop switches parsing</A></TD></TR> +<TR> <TD><A href="ar_include.htm">-ai</A></TD> <TD><A href="ar_include.htm">Include archive filenames</A></TD></TR> +<TR> <TD><A href="ar_no.htm">-an</A></TD> <TD><A href="ar_no.htm">Disable parsing of archive_name</A></TD></TR> +<TR> <TD><A href="overwrite.htm">-ao</A></TD> <TD><A href="overwrite.htm">Overwrite mode</A></TD></TR> +<TR> <TD><A href="ar_exclude.htm">-ax</A></TD> <TD><A href="ar_exclude.htm">Exclude archive filenames</A></TD></TR> +<TR> <TD><A href="include.htm">-i</A></TD> <TD><A href="include.htm">Include filenames</A></TD></TR> +<TR> <TD><A href="method.htm">-m</A></TD> <TD><A href="method.htm">Set Compression Method</A></TD></TR> +<TR> <TD><A href="output_dir.htm">-o</A></TD> <TD><A href="output_dir.htm">Set Output directory</A></TD></TR> +<TR> <TD><A href="password.htm">-p</A></TD> <TD><A href="password.htm">Set Password</A></TD></TR> +<TR> <TD><A href="recurse.htm">-r</A></TD> <TD><A href="recurse.htm">Recurse subdirectories</A></TD></TR> +<TR> <TD><A href="charset.htm">-scs</A></TD> <TD><A href="charset.htm">Set charset for list files</A></TD></TR> +<TR> <TD><A href="large_pages.htm">-slp</A></TD> <TD><A href="large_pages.htm">Set Large Pages mode</A></TD></TR> +<TR> <TD><A href="list_tech.htm">-slt</A></TD> <TD><A href="list_tech.htm">Show technical information</A></TD></TR> +<TR> <TD><A href="sfx.htm">-sfx</A></TD> <TD><A href="sfx.htm">Create SFX archive</A></TD></TR> +<TR> <TD><A href="stdin.htm">-si</A></TD> <TD><A href="stdin.htm">Read data from StdIn</A></TD></TR> +<TR> <TD><A href="stdout.htm">-so</A></TD> <TD><A href="stdout.htm">Write data to StdOut</A></TD></TR> +<TR> <TD><A href="ssc.htm">-ssc</A></TD> <TD><A href="ssc.htm">Set Sensitive Case mode</A></TD></TR> +<TR> <TD><A href="type.htm">-t</A></TD> <TD><A href="type.htm">Type of archive</A></TD></TR> +<TR> <TD><A href="update.htm">-u</A></TD> <TD><A href="update.htm">Update options</A></TD></TR> +<TR> <TD><A href="volume.htm">-v</A></TD> <TD><A href="volume.htm">Create Volumes</A></TD></TR> +<TR> <TD><A href="working_dir.htm">-w</A></TD> <TD><A href="working_dir.htm">Set Working directory</A></TD></TR> +<TR> <TD><A href="exclude.htm">-x</A></TD> <TD><A href="exclude.htm">Exclude filenames</A></TD></TR> +<TR> <TD><A href="yes.htm">-y</A></TD> <TD><A href="yes.htm">Assume Yes on all queries</A></TD></TR> +</TABLE> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/large_pages.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/large_pages.htm new file mode 100644 index 000000000..82fd5b77d --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/large_pages.htm @@ -0,0 +1,50 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-slp (Set Large Pages mode) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-slp (Set Large Pages mode) switch</H1> + +<P>Sets Large Pages mode.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-slp[-] +</PRE> + + +<TABLE> + <TR><TH width="80">Switch</TH> <TH>Description</TH></TR> + <TR><TD>-slp</TD> <TD>Enables Large Pages mode.</TD></TR> + <TR><TD>-slp-</TD> <TD>Disables Large Pages mode. This option is default for all commands.</TD></TR> +</TABLE> + +<P>Large Pages mode increases the speed of compression. +However, there is a pause at the start of compression while 7-Zip allocates the large pages in memory. +If 7-Zip can't allocate large pages, it allocates usual small pages. +Also, the Windows Task Manager doesn't show the real memory usage of the program, if 7-Zip uses large pages. +This feature works only on Windows 2003 / XP x64. +Also, it requires administrator's rights for your system. +The recommended size of RAM for this feature is 1 GB or more. +To install this feature, you must run the 7-Zip File Manager at least once, +close it, and then reboot the system.</P> +<P>Your system can hang for several seconds at compressing starting, if you use -slp mode. +So it's not recommended to use -slp mode to compress small data sets (less than 100 MB).</P> + + +<H4>Example</H4> + +<PRE class="example"> +7z a archive.7z -slp a.iso +</PRE> + +<P>compresses <SPAN class="filename">a.iso</SPAN> file with Large Pages mode switched on.</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/list_tech.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/list_tech.htm new file mode 100644 index 000000000..aa8e522da --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/list_tech.htm @@ -0,0 +1,36 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-slt (Show technical information) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-slt (Show technical information) switch</H1> + +<P>Sets technical mode for <A href="../commands/list.htm">l (List)</A> command.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-slt +</PRE> + +<H4>Example</H4> + +<PRE class="example"> +7z l -slt archive.7z +</PRE> + +<P>shows detailed technical information for the files in <SPAN class="filename">archive.7z</SPAN>.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/list.htm">l (List)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/method.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/method.htm new file mode 100644 index 000000000..448dbdf59 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/method.htm @@ -0,0 +1,625 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-m (Set compression Method) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-m (Set compression Method) switch</H1> + +<P>Specifies the compression method.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-m<method_parameters> + +</PRE> + +<P>The format for this switch depends on the archive type.</P> + +<UL> +<LI><TD><A class="parameter" href="#Zip">Zip</A></TD> +<LI><TD><A class="parameter" href="#GZ">GZip</A></TD> +<LI><TD><A class="parameter" href="#BZ2">BZip2</A></TD> +<LI><TD><A class="parameter" href="#7Z">7z</A></TD> +<LI><TD><A class="parameter" href="#XZ">XZ</A></TD> +</UL> + +<H2><A name="Zip"></A>Zip</H2> +<TABLE> + <TR> + <TH width="160">Parameter</TH> + <TH align="center">Default</TH> + <TH>Description</TH> </TR> + <TR> + <TD><A class="parameter" href="#ZipX">x=[0 | 1 | 3 | 5 | 7 | 9 ]</A></TD> + <TD align="center">5</TD> + <TD>Sets level of compression.</TD> </TR> + <TR> + <TD>m={MethodID}</TD> + <TD align="center">Deflate</TD> + <TD>Sets a method: Copy, Deflate, Deflate64, BZip2, LZMA, PPMd.</TD> </TR> + <TR> + <TD><A class="parameter" href="#Deflate_FastBytes">fb={NumFastBytes}</A></TD> + <TD align="center">32</TD> + <TD>Sets number of Fast Bytes for Deflate encoder.</TD> </TR> + <TR> + <TD><A class="parameter" href="#Zip_Pass">pass={NumPasses}</A></TD> + <TD align="center">1</TD> + <TD>Sets number of Passes for Deflate encoder.</TD></TR> + <TR> + <TD><A class="parameter" href="#ZipDictionarySize">d={Size}[b|k|m]</A></TD> + <TD align="center">900000</TD> + <TD>Sets Dictionary size for BZip2</TD></TR> + <TR> + <TD><A class="parameter" href="#ZipMemorySize">mem={Size}[b|k|m]</A></TD> + <TD align="center">24</TD> <TD>Sets size of used memory for PPMd.</TD></TR> + <TR> + <TD><A class="parameter" href="#ZipOrder">o={Size}</A></TD> + <TD align="center">8</TD> <TD>Sets model order for PPMd.</TD></TR> + <TR> + <TD><A class="parameter" href="#ZipMultiThread">mt=[off | on | {N}]</A></TD> + <TD align="center">on</TD> + <TD>Sets multithreading mode.</TD></TR> + <TR> + <TD>em={EncryptionMethodID}</TD> + <TD align="center">ZipCrypto</TD> + <TD>Sets a encryption method: ZipCrypto, AES128, AES192, AES256</TD> </TR> + <TR> <TD><A class="parameter">tc=[off | on]</A></TD> + <TD align="center">off</TD> <TD>Stores NTFS timestamps for files: Modification time, Creation time, Last access time.</TD> </TR> + <TR> <TD><A class="parameter">cl=[off | on]</A></TD> + <TD align="center">off</TD> <TD>7-Zip always uses local code page for file names.</TD> </TR> + <TR> <TD><A class="parameter">cu=[off | on]</A></TD> + <TD align="center">off</TD> <TD>7-Zip uses UTF-8 for file names that contain non-ASCII symbols.</TD> </TR> +</TABLE> + +<P>By default (if <B>cl</B> and <B>cu</B> switches are not specified), 7-Zip uses UTF-8 encoding +only for file names that contain symbols unsupported by local code page.</P> + +<DL> + <DT><A name="ZipX"></A>x=[0 | 1 | 3 | 5 | 7 | 9 ]</DT> + <DD> + <P>Sets level of compression. x=0 means Copy mode (no compression).</P> + <P>Deflate / Deflate64 settings:</P> + <TABLE> + <TR> <TH>Level</TH> <TH>NumFastBytes</TH> <TH>NumPasses</TH> <TH>Description</TH> </TR> + <TR> <TD class="cc">1</TD> <TD class="cc" rowspan=3>32</TD> <TD class="cc" rowspan=3>1</TD> <TD>Fastest</TD> </TR> + <TR> <TD class="cc">3</TD> <TD>Fast</TR> + <TR> <TD class="cc">5</TD> <TD>Normal</TR> + <TR> <TD class="cc">7</TD> <TD class="cc">64</TD> <TD class="cc">3</TD> <TD>Maximum</TD> </TR> + <TR> <TD class="cc">9</TD> <TD class="cc">128</TD> <TD class="cc">10</TD> <TD>Ultra</TD> </TR> + </TABLE> + + <P>x=1 and x=3 with Deflate method set fast mode for compression.</P> + + <P>BZip2 settings:</P> + <TABLE> + <TR> <TH>Level</TH> <TH>Dictionary</TH> <TH>NumPasses</TH> <TH>Description</TH> </TR> + <TR> <TD class="cc">1</TD> <TD class="cc">100000</TD> <TD class="cc" rowspan=3>1</TD> <TD>Fastest</TD> </TR> + <TR> <TD class="cc">3</TD> <TD class="cc">500000</TD> <TD>Fast</TD> </TR> + <TR> <TD class="cc">5</TD> <TD class="cc" rowspan=3>900000</TD> <TD>Normal</TD> </TR> + <TR> <TD class="cc">7</TD> <TD align="center">2</TD> <TD>Maximum</TD> </TR> + <TR> <TD class="cc">9</TD> <TD align="center">7</TD> <TD>Ultra</TD> </TR> + </TABLE> + </DD> + + <DT><A name="Deflate_FastBytes"></A>fb={NumFastBytes}</DT> + <DD> + <P>Sets the number of fast bytes for the Deflate/Deflate64 encoder. + It can be in the range from 3 to 258 (257 for Deflate64). + Usually, a big number gives a little bit better + compression ratio and a slower compression process. + A large fast bytes parameter can significantly increase the compression ratio + for files which contain long identical sequences of bytes.</P> + </DD> + <DT><A name="Zip_Pass"></A>pass={NumPasses}</DT> + <DD> + <P>Sets number of passes for Deflate encoder. It can be in the range from 1 to 15 for Deflate and + from 1 to 10 for BZip2. Usually, a big number gives a little bit better + compression ratio and a slower compression process. + </P> + </DD> + <DT><A name="ZipDictionarySize"></A>d={Size}[b|k|m]</DT> + <DD> + <P> Sets the Dictionary size for BZip2. You must specify the size in bytes, kilobytes, or megabytes. + The maximum value for the Dictionary size is 900000b. If you do not specify any symbol + from set [b|k|m], dictionary size will be calculated as DictionarySize = 2^Size bytes.</P> + </DD> + + <DT><A name="ZipMemorySize"></A>mem={Size}[b|k|m]</DT> + <DD> + <P> Sets the size of memory used for PPMd. You must specify the size in bytes, kilobytes, or megabytes. + The maximum value is 256 MB = 2^28 bytes. The default value + is 24 (16MB). If you do not specify any symbol from the set [b|k|m], the + memory size will be calculated as (2^Size) bytes. PPMd uses the same + amount of memory for compression and decompression.</P> + </DD> + + <DT><A name="ZipOrder"></A>o={Size}</DT> + <DD> + <P>Sets the model order for PPMd. The size must be in the range [2,16]. The default value is 8.</P> + </DD> + + <DT><A name="ZipMultiThread"></A>mt=[off | on | {N}]</DT> + <DD> + <P>Sets multithread mode. If you have a multiprocessor or multicore system, + you can get a speed increase with + this switch. This option affects only compression (with any method) and + decompression of BZip2 streams. + Each thread in the multithread mode uses 32 MB of RAM for buffering. + If you specify {N}, 7-Zip tries to use N threads.</P> + </DD> +</DL> + +<H2><A name="GZ"></A>GZip</H2> +GZip uses the same parameters as Zip, but GZip compresses only with Deflate method. +So GZip supports only the following parameters: x, fb, pass. + +<H2><A name="BZ2"></A>BZip2</H2> +<TABLE> + <TR> + <TH width="160">Parameter</TH> + <TH align="center">Default</TH> + <TH>Description</TH> </TR> + <TR> + <TD><A class="parameter" href="#BZip2X">x=[1 | 3 | 5 | 7 | 9 ]</A></TD> + <TD align="center">5</TD> + <TD>Sets level of compression.</TD> </TR> + <TR> + <TD><A class="parameter" href="#BZip2Pass">pass={NumPasses}</A></TD> + <TD align="center">1</TD> + <TD>Sets number of Passes for Bzip2 encoder.</TD></TR> + <TR> + <TD><A class="parameter" href="#BZip2DictionarySize">d={Size}[b|k|m]</A></TD> + <TD align="center">900000</TD> + <TD>Sets Dictionary size for BZip2</TD></TR> + <TR> + <TD><A class="parameter" href="#BZip2MultiThread">mt=[off | on | {N}]</A></TD> + <TD align="center">on</TD> + <TD>Sets multithreading mode.</TD></TR> +</TABLE> + +<DL> + <DT><A name="BZip2"></A>x=[1 | 3 | 5 | 7 | 9 ]</DT> + <DD> + <P>Sets level of compression</P> + <TABLE> + <TR> <TH>Level</TH> <TH>Dictionary</TH> <TH>NumPasses</TH> <TH>Description</TH> </TR> + <TR> <TD class="cc">1</TD> <TD class="cc">100000</TD> <TD class="cc" rowspan=3>1</TD> <TD>Fastest</TD> </TR> + <TR> <TD class="cc">3</TD> <TD class="cc">500000</TD> <TD>Fast</TD> </TR> + <TR> <TD class="cc">5</TD> <TD class="cc" rowspan=3>900000</TD> <TD>Normal</TD> </TR> + <TR> <TD class="cc">7</TD> <TD align="center">2</TD> <TD>Maximum</TD> </TR> + <TR> <TD class="cc">9</TD> <TD align="center">7</TD> <TD>Ultra</TD> </TR> + </TABLE> + </DD> + + <DT><A name="BZip2DictionarySize"></A>d={Size}[b|k|m]</DT> + <DD> + <P> Sets the Dictionary size for BZip2. You must specify the size in bytes, kilobytes, or megabytes. + The maximum value for the Dictionary size is 900000b. If you do not specify any symbol + from set [b|k|m], dictionary size will be calculated as DictionarySize = 2^Size bytes.</P> + </DD> + + <DT><A name="#BZip2Pass"></A>pass={NumPasses}</DT> + <DD> + <P>Sets the number of passes. It can be in the range from 1 to 10. + The default value is 1 for normal mode, 2 for maximum mode and 7 for ultra mode. + A bigger number can give a little bit better compression ratio and a slower compression process. + </P> + </DD> + <DT><A name="BZip2MultiThread"></A>mt=[off | on | {N}]</DT> + <DD> + <P>Sets multithread mode. If you have a multiprocessor or multicore system, + you can get a speed increase with + this switch. If you specify {N}, for example mt=4, 7-Zip tries to use 4 threads.</P> + </DD> +</DL> + +<H2><A name="7Z"></A>7z</H2> +<TABLE> + <TR> <TH width="80">Parameter</TH> <TH align="center">Default</TH> <TH>Description</TH> </TR> + <TR> <TD><A class="parameter" href="#SevenZipX">x=[0 | 1 | 3 | 5 | 7 | 9 ]</A></TD> + <TD align="center">5</TD><TD>Sets level of compression.</TD> </TR> + <TR> <TD><A class="parameter" href="#Solid">s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g]</A></TD> + <TD align="center">on</TD> <TD>Sets solid mode.</TD> </TR> + <TR> <TD><A class="parameter" href="#Filter">f=[off | on]</A></TD> + <TD align="center">on</TD> <TD>Enables or disables compression filters for executable files.</TD> </TR> + <TR> <TD><A class="parameter" href="#HeaderCompress">hc=[off | on]</A></TD> + <TD align="center">on</TD> <TD>Enables or disables archive header compressing.</TD> </TR> + <TR> <TD><A class="parameter" href="#HeaderEncrypt">he=[off | on]</A></TD> + <TD align="center">off</TD> <TD>Enables or disables archive header encryption.</TD> </TR> + <TR> <TD><A class="parameter" href="#Bind">b{C1}[s{S1}]:{C2}[s{S2}]</A></TD> + <TD align="center"> </TD> <TD>Sets binding beetwen coders.</TD> </TR> + <TR> <TD><A class="parameter" href="#MethodID">{N}={MethodID}[:param1][:param2][..]</A></TD> + <TD align="center">LZMA</TD> <TD>Sets a method: LZMA, LZMA2, PPMd, BZip2, Deflate, Delta, BCJ, BCJ2, Copy.</TD> </TR> + <TR> <TD><A class="parameter" href="#MultiThread">mt=[off | on | {N}]</A></TD> + <TD align="center">on</TD> <TD>Sets multithreading mode.</TD> </TR> + <TR> <TD><A class="parameter">tc=[off | on]</A></TD> + <TD align="center">off</TD> <TD>Stores file creation timestamps.</TD> </TR> +</TABLE> + +<DL> + <DT><A name="SevenZipX"></A>x=[0 | 1 | 3 | 5 | 7 | 9 ]</DT> + <DD> + <P>Sets level of compression</P> + <TABLE> + <TR> <TH>Level</TH> <TH>Method</TH> <TH>Dictionary</TH> <TH>FastBytes</TH> <TH>MatchFinder</TH> <TH>Filter</TH> <TH>Description</TH> </TR> + <TR> <TD align="center">0</TD> <TD align="center">Copy</TD> <TD align="center"></TD> <TD align="center"></TD> <TD align="center"></TD> <TD align="center"></TD> <TD>No compression.</TD> </TR> + <TR> <TD align="center">1</TD> <TD align="center">LZMA</TD> <TD align="center">64 KB</TD> <TD align="center">32</TD> <TD align="center">HC4</TD> <TD align="center">BCJ</TD> <TD>Fastest compressing</TD> </TR> + <TR> <TD align="center">3</TD> <TD align="center">LZMA</TD> <TD align="center">1 MB</TD> <TD align="center">32</TD> <TD align="center">HC4</TD> <TD align="center">BCJ</TD> <TD>Fast compressing</TD> </TR> + <TR> <TD align="center">5</TD> <TD align="center">LZMA</TD> <TD align="center">16 MB</TD> <TD align="center">32</TD> <TD align="center">BT4</TD> <TD align="center">BCJ</TD> <TD>Normal compressing</TD> </TR> + <TR> <TD align="center">7</TD> <TD align="center">LZMA</TD> <TD align="center">32 MB</TD> <TD align="center">64</TD> <TD align="center">BT4</TD> <TD align="center">BCJ</TD> <TD>Maximum compressing</TD> </TR> + <TR> <TD align="center">9</TD> <TD align="center">LZMA</TD> <TD align="center">64 MB</TD> <TD align="center">64</TD> <TD align="center">BT4</TD> <TD align="center">BCJ2</TD><TD>Ultra compressing</TD> </TR> + </TABLE> + <P>Note: "x" works as "x=9".</P> + </DD> + + <DT><A name="Solid"></A>s=[off | on | [e] [{N}f] [{N}b | {N}k | {N}m | {N}g)]</DT> + <DD> + <P> Enables or disables solid mode. The default mode is s=on. + In solid mode, files are grouped together. Usually, compressing in + solid mode improves the compression ratio.</P> + + <TABLE> + <TR> <TD>e</TD> <TD>Use a separate solid block for each new file extension</TD> </TR> + <TR> <TD>{N}f</TD> <TD>Set the limit for number of files in one solid block</TD> </TR> + <TR> <TD>{N}b | {N}k | {N}m | {N}g</TD> <TD>Set a limit for the total size of a solid block in bytes</TD> </TR> + </TABLE> + + <P>These are the default limits for the solid block size:</P> + + <TABLE> + <TR> <TH width="150">Compression Level</TH> <TH>Solid block size</TH> </TR> + <TR> <TD>Store</TD> <TD>0 B</TD> </TR> + <TR> <TD>Fastest</TD> <TD>16 MB</TD> </TR> + <TR> <TD>Fast</TD> <TD>128 MB</TD> </TR> + <TR> <TD>Normal</TD> <TD>2 GB</TD> </TR> + <TR> <TD>Maximum</TD> <TD>4 GB</TD> </TR> + <TR> <TD>Ultra</TD> <TD>4 GB</TD> </TR> + </TABLE> + + + <P>Limitation of the solid block size usually decreases compression ratio but gives the following advantages:</P> + <UL> + <LI>Decreases losses in case of future archive damage. + <LI>Decreases extraction time of a group of files (or just one + file), so long as the group doesn't contain the entire archive.</LI></LI> + </UL> + <P>The updating of solid .7z archives can be slow, since it + can require some recompression.</P> + + <P>Example:</P> + <PRE class="example"> + s=100f10m + </PRE> + <P>set solid mode with 100 files & 10 MB limits per one solid block.</P> + + <DT><A name="Filter"></A>f=[off | on]</DT> + <DD> + <P>Enables or disables compression filters for executable files: + dll, exe, ocx, sfx, sys. It uses BCJ2 filter in Ultra mode and BCJ + filter in other modes. The default mode is f=on. + </P> + <DT><A name="HeaderCompress"></A>hc=[off | on]</DT> + <DD> + <P> Enables or disables archive header compressing. The default mode is hc=on. + If archive header compressing is enabled, some parts of archive header will + be compressed with LZMA method. + </P> + <DT><A name="HeaderEncrypt"></A>he=[off | on]</DT> + <DD> + <P> Enables or disables archive header encryption. The default mode is he=off. + </P> + <DT>{N}</DT> + <DD> + <P>Sets order of methods. It is used also to associate parameters with + methods. Numbers must begin from 0. Methods that have smaller numbers will be used + before others.</P> + </DD> + + <DT><A name="Bind"></A>b{C1}[s{S1}]:{C2}[s{S2}]</DT> + <DD> + <P> Binds output stream S1 in coder C1 with input stream S2 in coder C2. + If stream number is not specified, stream with number 0 will be used. + </P> + <P> Usally coder has one input stream and + one output stream. In 7z some coders can have multiple input and output streams.</P> + + <P>For example, <A class="parameter" href="#BCJ2">BCJ2</A> encoder has one + input stream and four output streams.</P> + </DD> + + <DT><A name="MultiThread"></A>mt=[off | on | {N}]</DT> + <DD> + <P>Sets multithread mode. If you have a multiprocessor or multicore system, + you can get a increase with this switch. + 7-Zip supports multithread mode only for LZMA / LZMA2 compression and + BZip2 compression / decompression. If you specify {N}, for example mt=4, + 7-Zip tries to use 4 threads. LZMA compression uses only 2 threads. + </P> + </DD> + + <DT><A name="MethodID"></A>{N}={MethodID}[:param1][:param2] ... [:paramN]</DT> + <DD> + <P>Sets compression method. You can use any number of methods. + The default method is LZMA. </P> + <P>Parameters must be in one of the following forms:</P> + <UL> + <LI>{ParamName}={ParamValue}. + <LI>{ParamName}{ParamValue}, if {ParamValue} + is number and {ParamName} doesn't contain numbers. + </UL> + + <P>Supported methods:</P> + <TABLE> + <TR> <TH width="60">MethodID</TH> <TH>Description</TH> </TR> + <TR> <TD><A class="parameter" href="#LZMA">LZMA</A></TD> <TD>LZ-based algorithm</TD> </TR> + <TR> <TD><A class="parameter" href="#LZMA2">LZMA2</A></TD> <TD>LZMA-based algorithm</TD> </TR> + <TR> <TD><A class="parameter" href="#PPMd">PPMd</A></TD> <TD>Dmitry Shkarin's PPMdH with small changes</TD> </TR> + <TR> <TD>BZip2</TD> <TD>BWT algorithm</TD> </TR> + <TR> <TD>Deflate</TD> <TD>LZ+Huffman</TD> </TR> + <TR> <TD>Copy</TD> <TD>No compression</TD> </TR> + </TABLE> + + <P>Supported filters:</P> + <TABLE> + <TR> <TH width="60">MethodID</TH> <TH>Description</TH> </TR> + <TR> <TD><A class="parameter" href="#Delta">Delta</A></TD> <TD>Delta filter</TD> </TR> + <TR> <TD>BCJ</TD> <TD>converter for x86 executables</TD> </TR> + <TR> <TD><A class="parameter" href="#BCJ2">BCJ2</A></TD> <TD>converter for x86 executables (version 2)</TD> </TR> + <TR> <TD>ARM</TD> <TD>converter for ARM (little endian) executables</TD> </TR> + <TR> <TD>ARMT</TD> <TD>converter for ARM Thumb (little endian) executables</TD> </TR> + <TR> <TD>IA64</TD> <TD>converter for IA-64 executables</TD> </TR> + <TR> <TD>PPC</TD> <TD>converter for PowerPC (big endian) executables</TD> </TR> + <TR> <TD>SPARC</TD> <TD>converter for SPARC executables</TD> </TR> + </TABLE> + <P>Filters increase the compression ratio for some types of files. Filters + must be used with one of the compression method (for example, BCJ + LZMA).</P> + </DD> + + <H4><A name="LZMA"></A>LZMA</H4> + <P> LZMA is an algorithm based on Lempel-Ziv algorithm. + It provides very fast decompression (about 10-20 times faster than compression). + Memory requirements for compression and decompression also are different (see + <A class="parameter" href="#DictionarySize">d={Size}[b|k|m]</A> switch for details).</P> + + <TABLE> + <TR> <TH width="80">Parameter</TH> <TH align="center">Default</TH> <TH>Description</TH> </TR> + + <TR> <TD><A class="parameter" href="#LZMAMode">a=[0|1]</A></TD> + <TD align="center">1</TD> <TD>Sets compressing mode</TD> </TR> + <TR> <TD><A class="parameter" href="#DictionarySize">d={Size}[b|k|m]</A></TD> + <TD align="center">24</TD> <TD>Sets Dictionary size</TD> </TR> + <TR> <TD><A class="parameter" href="#MatchFinder">mf={MF_ID}</A></TD> + <TD align="center">bt4</TD> <TD>Sets Match Finder</TD> </TR> + <TR> <TD><A class="parameter" href="#FastBytes">fb={N}</A></TD> + <TD align="center">32</TD> <TD>Sets number of Fast Bytes</TD></TR> + <TR> <TD><A class="parameter" href="#MatchFinderCycles">mc={N}</A></TD> + <TD align="center">32</TD><TD>Sets Number of Cycles for Match Finder</TD> </TR> + <TR> <TD><A class="parameter" href="#LitContext">lc={N}</A></TD> + <TD align="center">3</TD> <TD>Sets number of Literal Context bits - [0, 8]</TD></TR> + <TR> <TD><A class="parameter" href="#LitPos">lp={N}</A></TD> + <TD align="center">0</TD> <TD>Sets number of Literal Pos bits - [0, 4]</TD></TR> + <TR> <TD><A class="parameter" href="#PosBits">pb={N}</A></TD> + <TD align="center">2</TD> <TD>Set number of Pos Bits - [0, 4]</TD></TR> + </TABLE> + + + <DL> + <DT><A name="#LZMAMode"></A>a=[0|1]</DT> + <DD> + <P> Sets compression mode: 0 = fast, 1 = normal. + Default value is 1.</P> + </DD> + <DT><A name="DictionarySize"></A>d={Size}[b|k|m]</DT> + <DD> + <P> Sets Dictionary size for LZMA. You must specify the size in bytes, kilobytes, or megabytes. + The maximum value for dictionary size is 1 GB = 2^30 bytes. Default values for LZMA + are 24 (16 MB) in normal mode, 25 (32 MB) in maximum mode (-mx=7) + and 26 (64 MB) in ultra mode (-mx=9). + If you do not specify any symbol from the set [b|k|m], the + dictionary size will be calculated as DictionarySize = 2^Size bytes. + For decompressing a file compressed by LZMA method with dictionary size N, you need + about N bytes of memory (RAM) available. + </P> + </DD> + <DT><A name="MatchFinder"></A>mf={MF_ID}</DT> + <DD> + <P> Sets Match Finder for LZMA. Default method is bt4. + Algorithms from hc* group don't provide a good compression ratio, + but they often work pretty fast in combination with fast mode (a=0). + Memory requirements depend on dictionary size (parameter "d" in table below). + </P> + <TABLE> + <TR> <TH>MF_ID</TH> <TH class="cc">Dictionary</TH> <TH class="cc" colspan = 2>Memory Usage</TH> <TH class="cc" colspan = 2>Description</TH> </TR> + <TR> <TD class="cc">bt2</TD> <TD></TD> <TD align="right"> 9.5 * d</TD> <TD class="cc" rowspan=6> + 4 MB</TD> <TD class="cc" rowspan=4>Binary Tree</TD> <TD>2 bytes hashing</TD> </TR> + <TR> <TD class="cc">bt3</TD> <TD></TD> <TD align="right">11.5 * d</TD> <TD>3 bytes hashing</TD> </TR> + <TR> <TD class="cc" rowspan=2>bt4</TD> <TD class="cc">64 KB ... 48 MB</TD> <TD align="right">11.5 * d</TD> <TD class="cc" rowspan=6>4 bytes hashing</TD> </TR> + <TR> <TD class="cc">64 MB ... 1024 MB</TD> <TD align="right">10.5 * d</TD> </TR> + <TR> <TD class="cc" rowspan=2>hc4</TD> <TD class="cc">64 KB ... 48 MB</TD> <TD align="right"> 7.5 * d</TD> <TD class="cc" rowspan=2>Hash Chain </TD></TR> + <TR> <TD class="cc">64 MB ... 1024 MB</TD> <TD align="right"> 6.5 * d</TD> </TR> + </TABLE> + <P>Note: Your operation system also needs some amount of physical memory for internal purposes. + So keep at least 32MB of physical memory unused.</P> + </DD> + + <DT><A name="FastBytes"></A>fb={N}</DT> + <DD> + <P>Sets number of fast bytes for LZMA. It can be in the range from 5 to 273. + The default value is 32 for normal mode and 64 for maximum and ultra modes. + Usually, a big number gives a little bit better + compression ratio and slower compression process. + </P> + </DD> + <DT><A name="MatchFinderCycles"></A>mc={N}</DT> + <DD> + <P>Sets number of cycles (passes) for match finder. It can be in range from 0 to 1000000000. + Default value is (16 + number_of_fast_bytes / 2) for BT* match finders and + (8 + number_of_fast_bytes / 4) for HC4 match finder. + If you specify mc=0, LZMA will use default value. + Usually, a big number gives a little bit better compression ratio and slower + compression process. For example, mf=HC4 and mc=10000 can provide almost the same + compression ratio as mf=BT4.</P> + </DD> + <DT><A name="LitContext"></A>lc={N}</DT> + <DD> + <P>Sets the number of literal context bits (high bits of previous literal). + It can be in range from 0 to 8. + Default value is 3. Sometimes lc=4 gives gain for big files.</P> + </DD> + <DT><A name="LitPos"></A>lp={N}</DT> + <DD> + <P>Sets the number of literal pos bits (low bits of current position for literals). + It can be in the range from 0 to 4. + The default value is 0. The lp switch is intended for periodical data when the + period is equal to 2^value (where lp=value). For example, for 32-bit (4 bytes) + periodical data you can use lp=2. Often it's better to set lc=0, + if you change lp switch.</P> + </DD> + <DT><A name="PosBits"></A>pb={N}</DT> + <DD> + <P>Sets the number of pos bits (low bits of current position). + It can be in the range from 0 to 4. + The default value is 2. The pb switch is intended for periodical data when the + period is equal 2^value (where lp=value). </P> + </DD> + + </DL> + + <H4><A name="LZMA2"></A>LZMA2</H4> + <P>LZMA2 is modified version of LZMA. it provides the following advantages over LZMA:</P> + <UL> + <LI>Better compression ratio for data than can't be compressed. LZMA2 can store such + blocks of data in uncompressed form. Also it decompresses such data faster. + <LI>Better multithreading support. If you compress big file, LZMA2 can split + that file to chunks and compress these chunks in multiple threads. + </UL> + + <TABLE> + <TR> <TH width="80">Parameter</TH> <TH align="center">Default</TH> <TH>Description</TH> </TR> + + <TR> <TD><A class="parameter" href="#ChunkSize">c={Size}[b|k|m]</A></TD> + <TD align="center">dictSize * 4</TD> <TD>Sets Chunk size</TD> </TR> + </TABLE> + + <P>If you don't specify ChunkSize, LZMA2 sets it to DictionarySize * 4.</P> + + <P>LZMA2 also supports all LZMA parameters, but lp+lc cannot be larger than 4.</P> + + <P>LZMA2 uses: 1 thread for each chunk in x1 and x3 modes; and + 2 threads for each chunk in x5, x7 and x9 modes. + If LZMA2 is set to use only such number of threads required for one chunk, + it doesn't split stream to chunks. So you can get different compression + ratio for different number of threads. You can get the best compression + ratio, when you use 1 or 2 threads.</P> + + <H4><A name="PPMd"></A>PPMd</H4> + <P> PPMd is a PPM-based algorithm. This algorithm is mostly based + on Dmitry Shkarin's PPMdH source code. PPMd provides very good compression ratio for + plain text files. There is no difference between compression speed and + decompression speed. Memory requirements for compression and decompression + also are the same.</P> + <TABLE> + <TR> <TH width="80">Parameter</TH> <TH align="center">Default</TH> <TH>Description</TH> </TR> + <TR> <TD><A class="parameter" href="#MemorySize">mem={Size}[b|k|m]</A></TD> + <TD align="center">24</TD> <TD>Sets size of used memory for PPMd.</TD> </TR> + <TR> <TD><A class="parameter" href="#Order">o={Size}</A></TD> + <TD align="center">6</TD> <TD>Sets model order for PPMd.</TD> </TR> + </TABLE> + <DL> + <DT><A name="MemorySize"></A>mem={Size}[b|k|m]</DT> + <DD> + <P> Sets the size of memory used for PPMd. You must specify the size in bytes, kilobytes, or megabytes. + The maximum value is 2GB = 2^31 bytes. The default value + is 24 (16MB). If you do not specify any symbol from the set [b|k|m], the + memory size will be calculated as (2^Size) bytes. PPMd uses the same + amount of memory for compression and decompression.</P> + </DD> + + <DT><A name="Order"></A>o={Size}</DT> + <DD> + <P>Sets the model order for PPMd. The size must be in the range [2,32]. The default value is 6.</P> + </DD> + </DL> + + <H4><A name="BCJ2"></A>BCJ2</H4> + <P>BCJ2 is a Branch converter for 32-bit x86 executables (version 2). + It converts some branch instructions for increasing further compression.</P> + <P>A BCJ2 encoder has one input stream and four output streams:</P> + <UL> + <LI>s0: main stream. It requires further compression.</LI> + <LI>s1: stream for converted CALL values. It requires further compression.</LI> + <LI>s2: stream for converted JUMP values. It requires further compression.</LI> + <LI>s3: service stream. It is already compressed.</LI> + </UL> + <P>If LZMA is used, the size of the dictionary for streams + s1 and s2 can be much smaller (512 KB is enough for most cases) + than the dictionary size for stream s0.</P> + + <H4><A name="Delta"></A>Delta</H4> + <P>It's possible to set delta offset in bytes. For example, to compress 16-bit stereo + WAV files, you can set "0=Delta:4". Default delta offset is 1.</P> +</DL> + +<H2><A name="XZ"></A>XZ</H2> +XZ supports only LZMA2 codec now. The switches are similar to switches for 7z format. + +<H4>Examples</H4> + +<PRE class="example"> +7z a -tzip archive.zip *.jpg -mx0 +</PRE> + +<P>adds <SPAN class="filename">*.jpg</SPAN> files to + <SPAN class="filename">archive.zip</SPAN> archive without compression.</P> + +<PRE class="example"> +7z a -t7z archive.7z *.exe *.dll -m0=BCJ -m1=LZMA:d=21 -ms -mmt +</PRE> + +<P>adds <SPAN class="filename">*.exe</SPAN> and <SPAN class="filename">*.dll</SPAN> +files to solid archive <SPAN class="filename">archive.7z</SPAN> using LZMA method with +2 MB dictionary and BCJ converter. Compression will use multithreading optimization.</P> + +<PRE class="example"> +7z a -t7z archive.7z *.exe *.dll -m0=BCJ2 -m1=LZMA:d23 -m2=LZMA:d19 -m3=LZMA:d19 + -mb0:1 -mb0s1:2 -mb0s2:3 +</PRE> + +<P>adds <SPAN class="filename">*.exe</SPAN> and <SPAN class="filename">*.dll</SPAN> + files to archive <SPAN class="filename">archive.7z</SPAN> using BCJ2 converter, + LZMA with 8 MB dictionary for main output stream (s0), + and LZMA with 512 KB dictionary for s1 and s2 output streams of BCJ2.</P> + + +<PRE class="example"> +7z a -t7z archive.7z *.txt -m0=PPMd +</PRE> + +<P>adds <SPAN class="filename">*.txt</SPAN> files to archive +<SPAN class="filename">archive.7z</SPAN> using PPMd method.</P> + + + + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/update.htm">u (Update)</A>, +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="type.htm">-t (set Type of archive)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/output_dir.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/output_dir.htm new file mode 100644 index 000000000..b4523493b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/output_dir.htm @@ -0,0 +1,53 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-o (set Output directory) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-o (set Output directory) switch</H1> + +<P>Specifies a destination directory where files are to be extracted.</P> +<P>This switch can be used only with extraction commands.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-o{dir_path} +</PRE> + +<DL> + <DT>{dir_path}</DT> + <DD>This is the destination directory path. It's not required to end with a backslash. + If you specify <B>*</B> in {dir_path}, 7-Zip substitutes that * character to archive name.</DD> +</DL> + + +<H4>Example</H4> + +<PRE class="example"> +7z x archive.zip -oc:\Doc +</PRE> + +<P>extracts all files from the <SPAN class="filename">archive.zip</SPAN> archive +to the <SPAN class="filename">c:\Doc</SPAN> directory.</P> + +<PRE class="example"> +7z x *.zip -o* +</PRE> + +<P>extracts all <SPAN class="filename">*.zip</SPAN> archives to subfolders +with names of these archives.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/overwrite.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/overwrite.htm new file mode 100644 index 000000000..c71ae40d8 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/overwrite.htm @@ -0,0 +1,56 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-ao (Overwrite mode) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-ao (Overwrite mode) switch</H1> + +<P>Specifies the overwrite mode during extraction, to overwrite files already present on disk.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-ao[a | s | t | u ] +</PRE> + + +<TABLE> + <TR> <TH width="80">Switch</TH> <TH>Description</TH> </TR> + <TR> <TD>-aoa</TD> <TD>Overwrite All existing files without prompt.</TD> </TR> + <TR> <TD>-aos</TD> <TD>Skip extracting of existing files.</TD> </TR> + <TR> <TD>-aou</TD> <TD>aUto rename extracting file (for example, name.txt will + be renamed to name_1.txt).</TD> </TR> + <TR> <TD>-aot</TD> <TD>auto rename existing file (for example, name.txt will + be renamed to name_1.txt).</TD> </TR> +</TABLE> + +<H4>Examples</H4> + +<PRE class="example"> +7z x test.zip -aoa +</PRE> + +<P>extracts all files from <SPAN class="filename">test.zip</SPAN> archive and overwrites +existing files without any prompt.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="yes.htm">-y (assume Yes on all queries)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/password.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/password.htm new file mode 100644 index 000000000..733dfc4a7 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/password.htm @@ -0,0 +1,54 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-p (set Password) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-p (set Password) switch</H1> + +<P>Specifies password.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-p{password} +</PRE> + +<DL> + <DT>{password}</DT> + <DD>Specifies password.</DD> +</DL> + + +<H4>Examples</H4> + +<PRE class="example"> +7z a archive.7z -psecret -mhe *.txt +</PRE> +<P>compresses *.txt files to <SPAN class="filename">archive.7z</SPAN> using password +"secret". Also it encrypts archive headers (-mhe switch), so filenames will be encrypted. +</P> + +<PRE class="example"> +7z x archive.zip -psecret +</PRE> +<P>extracts all files from <SPAN class="filename">archive.zip</SPAN> using password +"secret".</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/recurse.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/recurse.htm new file mode 100644 index 000000000..08dba2a4a --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/recurse.htm @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-r (Recurse subdirectories) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-r (Recurse subdirectories) switch</H1> + +<P>Specifies the method of treating wildcards and filenames on the command line.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-r[- | 0] +</PRE> + + +<TABLE> + <TR><TH width="80">Switch</TH> <TH>Description</TH></TR> + <TR><TD>-r</TD> <TD>Enable recurse subdirectories.</TD></TR> + <TR><TD>-r-</TD> <TD>Disable recurse subdirectories. This option is default for all commands.</TD></TR> + <TR><TD>-r0</TD> <TD>Enable recurse subdirectories only for wildcard names.</TD></TR> +</TABLE> + +<H4>Examples</H4> + +<PRE class="example"> +7z l archive.zip *.doc -r- +</PRE> + +<P>lists all <SPAN class="filename">*.doc</SPAN> files + that belong to the archived root directory + in the <SPAN class="filename">archive.zip</SPAN> archive. + </P> + +<PRE class="example"> +7z a -tzip archive.zip -r src\*.cpp src\*.h +</PRE> + +<P>adds all <SPAN class="filename">*.cpp</SPAN> and <SPAN class="filename">*.h</SPAN> + files from directory <SPAN class="filename">src</SPAN> and all it's subdirectories + to the <SPAN class="filename">archive.zip</SPAN> archive.</P> + +<PRE class="example"> +7z a archive.7z folder1\ +</PRE> + +<P>adds all files from directory <SPAN class="filename">folder1</SPAN> and all it's subdirectories + to the <SPAN class="filename">archive.7z</SPAN> archive.</P> + +<PRE class="example"> +7z a archive.7z -r folder2\ +</PRE> + +<P>searches all <SPAN class="filename">folder2</SPAN> directories in all subdirectories, + and adds them (including all subdirectories) to the <SPAN class="filename">archive.7z</SPAN> archive.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="include.htm">-i (Include)</A>, + <A href="exclude.htm">-x (Exclude)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/sfx.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/sfx.htm new file mode 100644 index 000000000..126028963 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/sfx.htm @@ -0,0 +1,156 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-sfx (Create SFX archive) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-sfx (Create SFX archive) switch</H1> + +<P>Creates self extracting archive.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-sfx[<A class="parameter" href="#SFX_Module">{SFX_Module}</A>] +</PRE> + +<DL> + <DT><A name="SFX_Module"></A>{SFX_Module}</DT> + <DD> + <P>Specifies the SFX module that will be combined with the archive. + This module must be placed in the same directory as the 7z.exe. + If {SFX_Module} is not assigned, 7-Zip will use standard console + SFX module 7zCon.sfx.</P> + <TABLE> + <TR> <TH width="60">SFX_Module</TH> <TH>Description</TH> </TR> + <TR> <TD>7z.sfx</TD> <TD>Windows version.</TD> </TR> + <TR> <TD>7zCon.sfx</TD> <TD>Console version.</TD> </TR> + <TR> <TD>7zS.sfx</TD> <TD>Windows version for installers.</TD> </TR> + <TR> <TD>7zSD.sfx</TD> <TD>Windows version for installers (uses MSVCRT.dll).</TD> </TR> + </TABLE> + </DD> +</DL> + +<P> +All SFX modules are uncompressed. You can use UPX program +(http://upx.sourceforge.net) +to compresss such modules. After compressing by the UPX program, the size of the +sfx module will be reduced to 40-50% of its original size. +</P> + +<H4>SFX modules for installers</H4> +<P>SFX modules for installers are included in an external package (7z_extra). You can download +these modules from www.7-zip.org. SFX modules for installers (7zS.sfx and 7zSD.sfx) +allow you to create your own installation program. +Such a module extracts the archive to the user's temp folder, and runs a specified program, +and removes the temp files after the program finishes. +A self-extracting archive for installers must be created as joining 3 files: +SFX_Module, Installer_Config, 7z_Archive. +In addition, an optional file, Installer_Config, is allowed. You can use the following command to +create an installer self-extracting archive:</P> +<PRE class="example"> +copy /b 7zS.sfx + config.txt + archive.7z archive.exe +</PRE> + +<P>An optimally small installation package size can be achieved, +if the installation files are uncompressed before including them in the 7z archive.</P> + +<P><SPAN class="filename">-y</SPAN> switch for installer module specifies quiet mode extraction.</P> + +<H4>Installer Config file format</H4> +<P> +This config file contains commands for the Installer. The file begins with the string +<B>;!@Install@!UTF-8!</B> and ends with <B>;!@InstallEnd@!</B>. +The file must be written in UTF-8 encoding. +The file contains any or all these string pairs: +<P>ID_String="Value"</P> +<P> + <TABLE> + <TR> <TH width="60">ID_String</TH> <TH>Description</TH> </TR> + <TR> <TD>Title</TD> <TD>Title for messages</TD> </TR> + <TR> <TD>BeginPrompt</TD> <TD>Begin Prompt message</TD> </TR> + <TR> <TD>Progress</TD> <TD>Value can be "yes" or "no". Default value is "yes".</TD> </TR> + <TR> <TD>RunProgram</TD> <TD>Command for executing. Default value is "setup.exe". Substring <B>%%T</B> + will be replaced with path to temporary folder, where files were extracted</TD> </TR> + <TR> <TD>Directory</TD> <TD>Directory prefix for "RunProgram". Default value is ".\\"</TD> </TR> + <TR> <TD>ExecuteFile</TD> <TD>Name of file for executing</TD> </TR> + <TR> <TD>ExecuteParameters</TD> <TD>Parameters for "ExecuteFile"</TD> </TR> + </TABLE> +</P> +<P>You may omit any pair.</P> + +<P>There are two ways to run a installation program: <B>RunProgram</B> and <B>ExecuteFile</B>. +Use <B>RunProgram</B>, if you want to run a program from the .7z archive. +Use <B>ExecuteFile</B>, if you want to open a document from the .7z archive, or +if you want to execute a command from Windows.</P> + +<P>If you use <B>RunProgram</B>, and if you specify empty directory prefix: <B>Directory</B>="", +the system searches for the executable file in the following sequence:</P> +<OL> +<LI>The directory from which the application (installer) loaded. +<LI>The temporary folder, where files were extracted. +<LI>The Windows system directory. +</OL> + +<H4>Config file Examples</H4> + +<PRE class="example"> +;!@Install@!UTF-8! +Title="7-Zip 4.00" +BeginPrompt="Do you want to install the 7-Zip 4.00?" +RunProgram="setup.exe" +;!@InstallEnd@! +</PRE> + +<BR> + + +<PRE class="example"> +;!@Install@!UTF-8! +Title="7-Zip 4.00" +BeginPrompt="Do you want to install the 7-Zip 4.00?" +ExecuteFile="7zip.msi" +;!@InstallEnd@! +</PRE> + +<BR> + +<PRE class="example"> +;!@Install@!UTF-8! +Title="7-Zip 4.01 Update" +BeginPrompt="Do you want to install the 7-Zip 4.01 Update?" +ExecuteFile="msiexec.exe" +ExecuteParameters="/i 7zip.msi REINSTALL=ALL REINSTALLMODE=vomus" +;!@InstallEnd@! +</PRE> + +<H4>Examples</H4> + +<PRE class="example"> +7z a -sfx a.exe *.txt +</PRE> + +<P>adds <SPAN class="filename">*.txt</SPAN> files to self extracting + archive <SPAN class="filename">a.exe</SPAN> using the default console SFX module.</P> + +<PRE class="example"> +7z a -sfx7z.sfx a.exe * +</PRE> + +<P>adds all files to self extracting archive <SPAN class="filename">a.exe</SPAN> +with module <SPAN class="filename">7z.sfx</SPAN> using windows version of SFX mudule.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/update.htm">u (Update)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/ssc.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/ssc.htm new file mode 100644 index 000000000..023dbf88b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/ssc.htm @@ -0,0 +1,50 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-ssc (Set Sensitive Case mode) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-ssc (Set Sensitive Case mode) switch</H1> + +<P>Sets sensitive case mode for file names.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-scs[-] +</PRE> + +<TABLE> + <TR><TH width="80">Switch</TH> <TH>Description</TH></TR> + <TR><TD>-ssc</TD> <TD>Set case-sensitive mode. It's default for Posix/Linux systems.</TD></TR> + <TR><TD>-ssc-</TD> <TD>Set case-insensitive mode. It's default for Windows systems.</TD></TR> +</TABLE> + +<H4>Example</H4> + +<PRE class="example"> +7z a archive.7z A*.txt -ssc -r +</PRE> + +<P>compresses all <SPAN class="filename">A*.txt</SPAN> files + from current directory and all it's subdirectories. That command doesn't compress + <SPAN class="filename">a*.txt</SPAN> files. + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/stdin.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/stdin.htm new file mode 100644 index 000000000..f16b4ebe2 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/stdin.htm @@ -0,0 +1,55 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-si (read data from stdin) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-si (read data from stdin) switch</H1> + +<P>Causes 7-Zip to read data from stdin (standard input) instead of from disc files.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-si{file_name} +</PRE> + +<DL> + <DT>{file_name}</DT> + <DD>Specifies a name that will be stored in the archive for the compressed data. + If file_name is not specified, data will be stored without a name.</DD> +</DL> + +<P>Note: The current version of 7-Zip support reading of archives from stdin only for xz, lzma, tar, gzip and bzip2 archives.</P> + +<H4>Examples</H4> + +<PRE class="example"> +7z a archive.gz -tgzip -siDoc2.txt < Doc.txt +</PRE> + +<P>compresses input stream from file Doc.txt to +<SPAN class="filename">archive.gz</SPAN> archive +using <SPAN class="filename">Doc2.txt</SPAN> file name.</P> + +<PRE class="example"> +7z x 7z905.tar.gz -so | 7z x -si -ttar +</PRE> + +<P>decompresses <SPAN class="filename">tar.gz</SPAN> archive.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/stdout.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/stdout.htm new file mode 100644 index 000000000..62e5a662a --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/stdout.htm @@ -0,0 +1,50 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-so (write data to stdout) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-so (write data to stdout) switch</H1> + +<P>Causes 7-Zip to write output data to stdout (standard output stream).</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-so +</PRE> + +<H4>Examples</H4> + +<PRE class="example"> +7z x archive.gz -so > Doc.txt +</PRE> + +<P>decompresses <SPAN class="filename">archive.gz</SPAN> +archive to output stream and then redirects that stream to +<SPAN class="filename">Doc.txt</SPAN> file.</P> + + +<PRE class="example"> +7z a dummy -tgzip -so Doc.txt > archive.gz +</PRE> + +<P>compresses the <SPAN class="filename">Doc.txt</SPAN> file to the 7-Zip standard +output stream and writes that stream to +<SPAN class="filename">archive.gz</SPAN> file.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/stop_switch.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/stop_switch.htm new file mode 100644 index 000000000..12383e507 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/stop_switch.htm @@ -0,0 +1,31 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-- (Stop switches parsing) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-- (Stop switches parsing) switch</H1> + +<P>Disables switch parsing after "--" on the command line. +This is to allow 7-Zip to use file names that start with "-". + +<H4>Syntax</H4> + +<PRE class="syntax"> +-- +</PRE> + +<H4>Examples</H4> + +<PRE class="example"> +7z t -- -ArchiveName.7z +</PRE> + +<P>tests <SPAN class="filename">-ArchiveName.7z</SPAN> archive.</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/style.css b/src/libs/7zip/unix/DOCS/MANUAL/switches/style.css new file mode 100644 index 000000000..13ebb79ce --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/style.css @@ -0,0 +1,232 @@ +body + { + padding: 0px 0px 0px 26px; + background: #ffffff; + color: #000000; + font-family: Verdana, Arial, Helvetica, sans-serif; + font-size: 80%; + } + +div + { + width: 90%; + border: 2px solid #999999; + padding: 4px 8px; + background: #cccccc; + } + +h1, h2, h3, h4 + { + font-family: Verdana, Arial, Helvetica, sans-serif; + margin-left: -26px; + } + +h1 + { + font-size: 145%; + margin-top: .5em; + margin-bottom: 1em; + } + +h2 + { + font-size: 130%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +h3 + { + font-size: 115%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +h4 + { + font-size: 100%; + margin-top: 1.5em; + margin-bottom: .6em; + } + +ul p, ol p, dl p + { + margin-left: 0em; + } + +p + { + margin-top: .6em; + margin-bottom: .6em; + } + +dl + { + /*margin-top: 0em; */ + } + +dt + { + margin-top: .76em; + margin-bottom: .5em; + font-weight: bold; + } + +dd + { + margin-top: .5em; + margin-bottom: .5em; + margin-left: 1.9em; + } + + +ul, ol + { + margin-top: .6em; + margin-bottom: 0em; + } + +ol + { + margin-left: 3.6em; + } + +ul + { + list-style-type: disc; + margin-left: 1.9em; + } + +li + { + margin-bottom: .6em; + } + +ul ol, ol ol + { + list-style-type: lower-alpha; + { + + /* +pre + { + margin-top: .6em; + margin-bottom: .6em; + } + */ + +pre,code + { + font: 100% Courier New, Courier, mono; + color: #000000; + cursor: text; + } + +pre.syntax + { + background: #dddddd; + padding: 2pt,4pt + } + +pre.syntax + { + color: #000000; + } + +pre.example + { + margin-left: 2.0em; + /*margin-top: 12.0em;*/ + /*margin-bottom: 1.0em;*/ + color: #C00000; + /*padding: 10pt,20pt*/ + } + +table + { + /* width: 90%; */ + background: #999999; + margin-top: .6em; + margin-bottom: .3em; + } + +th + { + padding: 4px 8px; + background: #cccccc; + text-align: left; + font-size: 80%; + vertical-align: bottom; + } + +th.cc + { + text-align: center; + vertical-align: middle; + } + +td + { + padding: 4px 8px; + background: #ffffff; + vertical-align: top; + font-size: 80%; + } + +td.cc + { + text-align: center; + vertical-align: middle; + } + + +blockquote + { + margin-left: 3.8em; + margin-right: 3.8em; + margin-top: .6em; + margin-bottom: .6em; + } + +a:link + { + color: #0066ff; + } + +a:visited + { + color: #996600; + } + +a:hover + { + color: #cc9900; + } + +a.parameter:link + { + color: #0066ff; + text-decoration:none; + } + +a.parameter:visited + { + text-decoration:none; + } + +div.footer + { + width: 100%; + border: none; + background: #ffffff; + margin-top: 18pt; + padding-bottom: 12pt; + color: #228B22; + text-align: center; + font-size: 70%; + } + +span.filename +{ + color: #F00000; +} diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/type.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/type.htm new file mode 100644 index 000000000..73af4e1a9 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/type.htm @@ -0,0 +1,83 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-o (set Output directory) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-t (set Type of archive) switch</H1> + +<P>Specifies the type of archive.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-t{archive_type} +</PRE> + +<DL> + <DT>{archive_type}</DT> + <DD>Specifies the type of archive. It can be: *, 7z, split, zip, gzip, bzip2, tar, ... , or + combination of them, like: mbr.vhd +</DD> +</DL> + +<P>If -t{archive_type} switch is not specified, 7-Zip uses extension of archive filename to + detect the type of archive. If you create new archive, -t{archive_type} switch is not + specified and there is no extension of archive, 7-Zip will create .7z archive.</P> + +<P>When you extract archive of some types that contains another +archive without compression (for example, MBR in VHD), 7-Zip can open both +levels in one step. If you want to open/extract just top +level archive, use <SPAN class="filename">-t*</SPAN> switch.</P> + +<P>Note: gzip or bzip2 formats support only one file per archive. +If you want to compress more than one file to these formats, +create a tar archive first, and then compress it with your selected format.</P> + +<H4>Example</H4> + +<PRE class="example"> +7z a -tzip archive.zip *.txt +</PRE> + +<P>adds all <SPAN class="filename">*.txt</SPAN> files from current directory +to zip archive <SPAN class="filename">archive.zip</SPAN>.</P> + +<PRE class="example"> +7z t -t7z.split archive.7z.001 +</PRE> + +<P>tests all files in <SPAN class="filename">archive.7z.001</SPAN>. It also checks +that archive is multivolume .7z archive.</P> + +<PRE class="example"> +7z x -tiso archive.iso +</PRE> + +<P>extracts files from <SPAN class="filename">archive.iso</SPAN> open as ISO archive. + +<PRE class="example"> +7z x -tudf archive.iso +</PRE> + +<P>extracts files from <SPAN class="filename">archive.iso</SPAN> open as UDF archive. + + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/list.htm">l (List)</A>, + <A href="../commands/test.htm">t (Test)</A>, + <A href="../commands/update.htm">u (Update)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/update.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/update.htm new file mode 100644 index 000000000..3c707a784 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/update.htm @@ -0,0 +1,176 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-u (Update options) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-u (Update options) switch</H1> + +<P>Specifies how to update files in an archive and (or) how to create new archives.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-u<A class="parameter" href="#disable_base_archive">[-]</A><action_set><A class="parameter" href="#new_archive_name">[!{new_archive_name}]</A> + + <action_set> ::= <state_action>... + + <state_action> ::= <A class="parameter" href="#state"><state></A><A class="parameter" href="#state"><action></A> + + <A class="parameter" href="#action"><state></A> ::= p | q | r | x | y | z | w + + <A class="parameter" href="#action"><action></A> ::= 0 | 1 | 2 | 3 +</PRE> + + +<H4>Parameters</H4> + +<DL> + <DT><A name="disable_base_archive"></A>dash (-)</DT> + <DD><P>Disables any updates in the base archive.</P> + + <P>The term <B>base archive</B> means the archive assigned by "base_archive_name" + on the command line. See <A href="../syntax.htm">Command line syntax</A> + for more details.</P> + </DD> + <DT><A name="new_archive_name"></A>{new_archive_name}</DT> + <DD><P>Specifies the path name of the new archive to be created. + All options in this switch will refer to this new archive.</P> + <P>If not assigned, then all options in this switch will + refer to the base archive of the command.</P> + </DD> + <DT><A name="state"></A><state></DT> + <DD><P>Specifies the state of a particular file to be processed.</P> + <PRE class="syntax"><state> ::= p | q | r | x | y | z | w</PRE> + <P>For each unique filename there are 6 variants of state:</P> + <TABLE> + <TR> <TH><state></TH> <TH>State condition</TH> + <TH width="20%">File on Disk</TH> <TH width="20%">File in Archive</TH> </TR> + + <TR> <TD align="center">p</TD> <TD>File exists in archive, but is not matched with wildcard.</TD> + <TD> </TD> <TD>Exists, but is not matched</TD> </TR> + + <TR> <TD align="center">q</TD> <TD>File exists in archive, but doesn't exist on disk.</TD> + <TD>Doesn't exist</TD> <TD>Exists</TD> </TR> + + <TR> <TD align="center">r</TD> <TD>File doesn't exist in archive, but exists on disk.</TD> + <TD>Exists</TD> <TD>Doesn't exist</TD> </TR> + + <TR> <TD align="center">x</TD> <TD>File in archive is newer than the file on disk.</TD> + <TD>Older</TD> <TD>Newer</TD> </TR> + + <TR> <TD align="center">y</TD> <TD>File in archive is older than the file on disk.</TD> + <TD>Newer</TD> <TD>Older</TD> </TR> + + <TR> <TD align="center">z</TD> <TD>File in archive is same as the file on disk</TD> + <TD>Same</TD> <TD>Same</TD> </TR> + + <TR> <TD align="center">w</TD> <TD>Can not be detected what file is newer + (times are the same, sizes are different)</TD> + <TD>?</TD> <TD>?</TD> </TR> + </TABLE> + </DD> + + <DT><A name="action"></A><action></DT> + <DD><P>Specifies the action for a given <A class="parameter" href="#state"><state></A>.</P> + <PRE class="syntax"><action> ::= 0 | 1 | 2 | 3</PRE> + <P>For each state you can specify one of the three variants of actions:</P> + <TABLE> + <TR> <TH><action></TH> <TH>Description</TH></TR> + <TR> <TD align="center">0</TD> <TD>Ignore file (don't create item in new archive for this file)</TD></TR> + <TR> <TD align="center">1</TD> <TD>Copy file (copy from old archive to new)</TD></TR> + <TR> <TD align="center">2</TD> <TD>Compress (compress file from disk to new archive)</TD></TR> + <TR> <TD align="center">3</TD> <TD>Create Anti-item (item that will delete file or directory during extracting). This feature is supported only in 7z format.</TD></TR> + </TABLE> + </DD> +</DL> + + +<H4>Remarks</H4> + +<P>Any update command (such as <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/update.htm">u (Update)</A>) can be assigned in these terms.</P> +<P>The following table shows action sets for update commands.</P> + +<TABLE> + <TR> <TH>command \ <A class="parameter" href="#state"><state></A></TH> + <TH>p</TH> <TH>q</TH> <TH>r</TH> <TH>x</TH> <TH>y</TH> <TH>z</TH> <TH>w</TH></TR> + <TR> <TH><A href="../commands/delete.htm">d (Delete)</A></TH> <TD>1</TD> <TD>0</TD> <TD>0</TD> <TD>0</TD> <TD>0</TD> <TD>0</TD> <TD>0</TD></TR> + <TR> <TH><A href="../commands/add.htm">a (Add)</A></TH> <TD>1</TD> <TD>1</TD> <TD>2</TD> <TD>2</TD> <TD>2</TD> <TD>2</TD> <TD>2</TD></TR> + <TR> <TH><A href="../commands/update.htm">u (Update)</A></TH> <TD>1</TD> <TD>1</TD> <TD>2</TD> <TD>1</TD> <TD>2</TD> <TD>1</TD> <TD>2</TD></TR> + <TR> <TH>Freshen</TH> <TD>1</TD> <TD>1</TD> <TD>0</TD> <TD>1</TD> <TD>2</TD> <TD>1</TD> <TD>2</TD></TR> + <TR> <TH>Synchronize</TH> <TD>1</TD> <TD>0</TD> <TD>2</TD> <TD>1</TD> <TD>2</TD> <TD>1</TD> <TD>2</TD></TR> +</TABLE> + + +<P>If you don't specify a +<A class="parameter" href="#new_archive_name"><I>!{new_archive_name}</I></A> option, then +all options will refer to the main archive (the archive assigned on the command line after the 7z command). +If you specify <A class="parameter" href="#new_archive_name"><I>!{new_archive_name}</I></A> +option, then 7-Zip also will create a new archive with the specified name and all options +will refer to that new archive.</P> + +<P>Multiple update switches are supported. +7-Zip can create any number of new archives during one operation.</P> + +<P>By default, the action set for each new archive is assigned +as the action set of the main command. There are 3 different +action sets for commands: <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/update.htm">u (Update)</A>. +You can overload any <state_action> pair.</P> + +<H4>Time zone notes</H4> +<P>If you change time zone (when you move your computer to another time zone +or if there are clock changes for daylight saving in your zone), you can have some problems +with update commands that depend from file's modification time. It's strongly recommended to use only +file system that uses Coordinated Universal Time (UTC) and archive format that also uses UTC. +In that case you will have no problems with time zone changes. +Also it's recommended to use only UTC formats in other cases, for example, if you send files to +someone in another time zone.</P> + +<P>Also in some cases there are no problems, if both file system and archive format use local time, for example, FAT file system and ZIP format.</P> +<UL> +<LI>UTC file systems: NTFS +<LI>UTC archive formats: .zip with -mtc switch, 7z, tar, gzip2, iso, wim +<LI>Local time file systems : FAT, FAT32 +<LI>Local time archive formats : rar, zip, cab +</UL> + +<H4>Examples</H4> + +<PRE class="example"> +7z u c:\1\exist.7z -u- -up0q3x2z0!c:\1\update.7z * +</PRE> + +<P>creates a new archive <SPAN class="filename">update.7z</SPAN> and +writes to this archive all files from current directory which differ from +files in <SPAN class="filename">exist.7z</SPAN> archive. +<SPAN class="filename">exist.7z</SPAN> archive will not be changed.</P> + +<PRE class="example"> +7z u c:\1\exist.7z -up0q3x2z0!c:\1\update.7z * -ms=off +</PRE> + +<P>creates a new archive <SPAN class="filename">update.7z</SPAN> and +writes to this archive all files from the current directory which differ from +files in <SPAN class="filename">exist.7z</SPAN> archive. + +<P>Note: the updating of solid .7z archives can be slow, since it +can require some recompression.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/update.htm">u (Update)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/volume.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/volume.htm new file mode 100644 index 000000000..91ddc2924 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/volume.htm @@ -0,0 +1,49 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-v (Create Volumes) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-v (Create Volumes) switch</H1> + +<P>Specifies volume sizes.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-v{Size}[b | k | m | g] + +</PRE> +<DL> + <DT>{Size}[b | k | m | g]</DT> + <DD>Specifies volume size in Bytes, Kilobytes (1 Kilobyte = 1024 bytes), + Megabytes (1 Megabyte = 1024 Kilobytes) or Gigabytes (1 Gigabyte = 1024 Megabytes). + if you specify only {Size}, 7-zip will treat it as bytes.</DD> +</DL> + +<P>It's possible to specify several -v switches.</P> + +<P><B>NOTE:</B> Please don't use volumes (and don't copy volumes) before finishing archiving. +7-Zip can change any volume (including first volume) at the end of archiving operation.</P> + +<H4>Examples</H4> + +<PRE class="example"> +7z a a.7z *.txt -v10k -v15k -v2m +</PRE> + +<P>creates multivolume <SPAN class="filename">a.7z</SPAN> archive. +First volume will be 10 KB, second will be 15 KB, and all others will be 2 MB.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/working_dir.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/working_dir.htm new file mode 100644 index 000000000..415c3971b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/working_dir.htm @@ -0,0 +1,55 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-w (set Working directory) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-w (set Working directory) switch</H1> + +<P>Sets the working directory for the temporary base archive. By +default, 7-Zip builds a new base archive file in the same directory as the +old base archive file. By specifying this switch, you can set the +working directory where the temporary base archive file will be built. +After the temporary base archive file is built, it is copied over the +original archive; then, the temporary file is deleted.</P> + +<H4>Syntax</H4> + +<PRE class="syntax"> +-w[<A class="parameter" href="#dir_path">{dir_path}</A>] +</PRE> + +<DL> + <DT><A name="dir_path"></A>{dir_path}</DT> + <DD> + <P>Specifies the destination directory path. It's not required that + a path end with a backslash.</P> + <P>If <dir_path> is not assigned, then 7-Zip will use the Windows temporary directory.</P> + </DD> +</DL> + + +<H4>Example</H4> + +<PRE class="example"> +7z a -tzip archive.zip *.cpp -wc:\temp +</PRE> + +<P>adds <SPAN class="filename">*.cpp</SPAN> files to the +<SPAN class="filename">archive.zip</SPAN> archive, creating a temporary archive +in <SPAN class="filename">c:\temp</SPAN> folder.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/add.htm">a (Add)</A>, + <A href="../commands/delete.htm">d (Delete)</A>, + <A href="../commands/update.htm">u (Update)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/switches/yes.htm b/src/libs/7zip/unix/DOCS/MANUAL/switches/yes.htm new file mode 100644 index 000000000..142ffd20c --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/switches/yes.htm @@ -0,0 +1,48 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>-y (assume Yes on all queries) switch</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>-y (assume Yes on all queries) switch</H1> + +<P>Disables most of the normal user queries during 7-Zip +execution. You can use this switch to suppress overwrite queries in the +<A href="../commands/extract.htm">e (Extract)</A> and +<A href="../commands/extract_full.htm">x (Extract with full paths)</A> commands.</P> + +<H4>Syntax</H4> + +<PRE class="syntax">-y</PRE> + +<H4>Examples</H4> + +<PRE class="example"> +7z x src.zip -y +</PRE> + +<P>extracts all files from + <SPAN class="filename">src.zip</SPAN> archive. All overwrite queries will be +suppressed and files on disk with same filenames as in archive will be +overwritten.</P> + +<H4>Commands that can be used with this switch</H4> + +<P> + <A href="../commands/extract.htm">e (Extract)</A>, + <A href="../commands/extract_full.htm">x (Extract with full paths)</A> +</P> + +<H4>See also</H4> + +<P> + <B>Switches:</B> + <A href="overwrite.htm">-ao (Overwrite mode)</A>, +</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/MANUAL/syntax.htm b/src/libs/7zip/unix/DOCS/MANUAL/syntax.htm new file mode 100644 index 000000000..63822e03b --- /dev/null +++ b/src/libs/7zip/unix/DOCS/MANUAL/syntax.htm @@ -0,0 +1,120 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> +<HTML> +<HEAD> + <META http-equiv="Content-Type" content="text/html; charset=Windows-1252"> + <TITLE>Command Line Syntax</TITLE> + <LINK href="style.css" rel="stylesheet" type="text/css"> +</HEAD> + +<BODY> + +<H1>Command Line Syntax</H1> + +<PRE class = "syntax"> +7z <A href = "commands/index.htm"><command></A> [<A href = "switches/index.htm"><switch></A>...] <base_archive_name> [<arguments>...] +</PRE> +<PRE class = "syntax"> +<arguments> ::= <A href = "switches/index.htm"><switch></A> | <wildcard> | <filename> | <list_file> +<A href = "switches/index.htm"><switch></A>::= <switch_symbol><switch_characters>[<option>] +<switch_symbol> ::= '/' | '-' +<list_file> ::= @{filename} +</PRE> + + +<P>Expressions in square brackets (between '[' and ']') are optional.</P> + +<P>Expressions in curly braces ('{' and '}') mean that instead of that +Expression (including braces), the user must substitute some string.</P> + +<P>Expression</P> + +<PRE class = "syntax"> +expression1 | expression2 | ... | expressionN</DT> +</PRE> + +<P> +means that any (but only one) from these expressions must be specified. + +<P><A href = "commands/index.htm">Commands</A> and +<A href = "switches/index.htm">switches</A> can be entered in upper or lower case.</P> + +<P>Command is the first non-switch argument.</P> + +<P>The "base_archive_name" must be the first filename on the command line +after the command.</P> + +<P>The switches and other filenames can be in any order.</P> + +<P>Wildcards or filenames with spaces must be quoted:</P> + +<PRE> + "Dir\Program files\*" + Dir\"Program files"\* +</PRE> + +<P>Switch options can be combined to save command line length. However, some +switch options take optional string arguments and therefore, must be the +last option in a combined argument token string because 7-Zip accepts the +rest of the argument token as the optional argument.</P> + +<P>7-Zip uses wild name matching similar to Windows 95:</P> +<UL> + <LI><B>'*'</B> means a sequence of arbitrary characters.</LI> + <LI><B>'?'</B> means any character.</LI> +</UL> + +<P><B> +7-Zip doesn't uses the system wildcard parser. 7-Zip doesn't +follow the archaic rule by which *.* means any file. 7-Zip treats +*.* as matching the name of any file that has an extension. To process all files, you must +use a * wildcard.</B></P> + +<P>Examples:</P> +<TABLE border = "0"> + <TR><TD>*.txt</TD><TD>means all files with an extension of ".txt"</TD></TR> + <TR><TD>?a*</TD><TD>means all files with a second character of "a"</TD></TR> + <TR><TD>*1*</TD><TD>means all names that contains character "1"</TD></TR> + <TR><TD>*.*.*</TD><TD>means all names that contain two at least "." characters</TD></TR> +</TABLE> + + +<P>The default wildcard "*" will be used if there is no filename/wildcard in the +command line.</P> + +<P>Slash ('\') at the end of a path means a directory. Without a Slash ('\') at +the end of the path, the path can refer either to a file or a directory. + + +<H2><A name = "ListFile"></A>List file</H2> + +<P>You can supply one or more filenames or wildcards for special list files +(files containing lists of files). The filenames in such list file must be +separated by new line symbol(s).</P> + +<P>For list files, 7-Zip uses UTF-8 encoding by default. You can change encoding +using <A href = "switches/charset.htm">-scs</A> switch.</P> + +<P>Multiple list files are supported.</P> + +<P>For example, if the file "listfile.txt" contains the following:</P> + +<PRE> + My programs\*.cpp + Src\*.cpp +</PRE> +<P>then the command</P> + +<PRE> + 7z a -tzip archive.zip @listfile.txt +</PRE> + +<P>adds to the archive "archive.zip" all "*.cpp" files from directories "My +programs" and "Src".</P> + +<H2><A name = "ListFile"></A>Short and Long File Names</H2> + +<P>7-Zip supports short file names (like FILENA~1.TXT) in some cases. +However, it's strongly recommended to use only the real (long) file names.</P> + +</BODY> +</HTML> diff --git a/src/libs/7zip/unix/DOCS/Methods.txt b/src/libs/7zip/unix/DOCS/Methods.txt new file mode 100644 index 000000000..f52e7c315 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/Methods.txt @@ -0,0 +1,152 @@ +7-Zip method IDs (9.18) +----------------------- + +Each compression or crypto method in 7z has unique binary value (ID). +The length of ID in bytes is arbitrary but it can not exceed 63 bits (8 bytes). + +If you want to add some new ID, you have two ways: +1) Write request for allocating IDs to 7-zip developers. +2) Generate 8-bytes ID: + + 3F ZZ ZZ ZZ ZZ ZZ MM MM + + 3F - Prefix for random IDs (1 byte) + ZZ ZZ ZZ ZZ ZZ - Developer ID (5 bytes). Use real random bytes. + + MM MM - Method ID (2 bytes) + + You can notify 7-Zip developers about your Developer ID / Method ID. + + Note: Use new ID only if old codec can not decode data encoded with new version. + + +List of defined IDs +------------------- + +00 - Copy + +03 - Delta +04 - x86 (BCJ) +05 - PPC (Big Endian) +06 - IA64 +07 - ARM (little endian) +08 - ARM Thumb (little endian) +09 - SPARC +21 - LZMA2 + +02.. - Common + 03 Swap + - 2 Swap2 + - 4 Swap4 + +03.. - 7z + 01 - LZMA + 01 - Version + + 03 - Branch + 01 - x86 + 03 - BCJ + 1B - BCJ2 + 02 - PPC + 05 - PPC (Big Endian) + 03 - Alpha + 01 - Alpha + 04 - IA64 + 01 - IA64 + 05 - ARM + 01 - ARM + 06 - M68 + 05 - M68 (Big Endian) + 07 - ARM Thumb + 01 - ARMT + 08 - SPARC + 05 - SPARC + + 04 - PPMD + 01 - Version + + 7F - + 01 - experimental methods. + + +04.. - Misc + 00 - Reserved + 01 - Zip + 00 - Copy (not used). Use {00} instead + 01 - Shrink + 06 - Implode + 08 - Deflate + 09 - Deflate64 + 10 - Imploding + 12 - BZip2 (not used). Use {04 02 02} instead + 14 - LZMA + 60 - Jpeg + 61 - WavPack + 62 - PPMd + 63 - wzAES + 02 - BZip + 02 - BZip2 + 03 - Rar + 01 - Rar15 + 02 - Rar20 + 03 - Rar29 + 04 - Arj + 01 - Arj (1,2,3) + 02 - Arj 4 + 05 - Z + 06 - Lzh + 07 - Reserved for 7z + 08 - Cab + 09 - NSIS + 01 - DeflateNSIS + 02 - BZip2NSIS + + +06.. - Crypto + 00 - + 01 - AES + 0x - AES-128 + 4x - AES-192 + 8x - AES-256 + Cx - AES + + x0 - ECB + x1 - CBC + x2 - CFB + x3 - OFB + + 07 - Reserved + 0F - Reserved + + F0 - Misc Ciphers (Real Ciphers without hashing algo) + + F1 - Misc Ciphers (Combine) + 01 - Zip + 01 - Main Zip crypto algo + 03 - RAR + 02 - + 03 - Rar29 AES-128 + (modified SHA-1) + 07 - 7z + 01 - AES-256 + SHA-256 + +07.. - Hash (subject to change) + 00 - + 01 - CRC + 02 - SHA-1 + 03 - SHA-256 + 04 - SHA-384 + 05 - SHA-512 + + F0 - Misc Hash + + F1 - Misc + 03 - RAR + 03 - Rar29 Password Hashing (modified SHA1) + 07 - 7z + 01 - SHA-256 Password Hashing + + + + +--- +End of document diff --git a/src/libs/7zip/unix/DOCS/copying.txt b/src/libs/7zip/unix/DOCS/copying.txt new file mode 100644 index 000000000..4c3890127 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/copying.txt @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/src/libs/7zip/unix/DOCS/history.txt b/src/libs/7zip/unix/DOCS/history.txt new file mode 100644 index 000000000..05a9a2165 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/history.txt @@ -0,0 +1,456 @@ +Sources history of the 7-Zip +---------------------------- + +9.18 2010-11-02 +------------------------- +- New small SFX module for installers (C/Util/SfxSetup). + + +9.17 2010-10-04 +------------------------- +- IStream.h::IOutStream:: + STDMETHOD(SetSize)(Int64 newSize) PURE; + was changed to + STDMETHOD(SetSize)(UInt64 newSize) PURE; + + +9.09 2009-12-12 +------------------------- +- The bug was fixed: + Utf16_To_Utf8 funstions in UTFConvert.cpp and 7zMain.c + incorrectly converted surrogate characters (the code >= 0x10000) to UTF-8. + + +9.05 2009-07-05 +------------------------- +- FileMapping.h::CFileMapping now returns WRes + + +9.04 2009-05-30 +------------------------- +- ICoder.h: NCoderPropID::EEnum values were changed + + +9.02 2009-04-23 +------------------------- +- Bug was fixed: if swap2 filter was requests at compression, + 7-zip used swap4 filter instead (but id was swap2), so archives were incorrect. + +4.61 2008-11-23 +------------------------- +- Bug in ver. 4.58+ was fixed: + 7-Zip didn't use any -m* switch after -mtc, -mcl or -mcu for .zip archives. +- Bug in .CAB code was fixed. 7-Zip didn't show some empty files, + if .CAB archive contains more than one empty file. + + +4.59 2008-07-27 +------------------------- +- Bug was fixed: + LZMA Encoder in fast compression mode could access memory outside of + allocated range in some rare cases. + + +4.59 alpha 2008-05-30 +------------------------- +- BUGS was fixed: + 7zOut.cpp: 7-Zip incorrectly wrote size of property records in some cases. + 7zIn.cpp: 7-Zip incorrectly work with archive, containg archive properties. + +4.58 alpha 9 2008-04-29 +------------------------- +- BUG was fixed: 7-Zip showed incorrect timestamps in ISO files. + + +4.58 alpha 8 2008-04-15 +------------------------- +- BUG in 4.58 alpha 5/6/7 was fixed: + LZMA encoder worked incorrectly, if lp != 0. +- Unicode (UTF-8) support for filenames in .ZIP archives. Now there are 3 modes: + 1) Default mode: 7-Zip uses UTF-8, if the local code page doesn't contain required symbols. + 2) -mcu switch: 7-Zip uses UTF-8, if there are non-ASCII symbols. + 3) -mcl switch: 7-Zip uses local code page. +- Now it's possible to use -mSW- and -mSW+ switches instead of -mSW=off and -mSW=on + + +4.58 alpha 7 2008-04-08 +------------------------- +- BUG was fixed: BZip2Encoder and BZip2Decoder used CEvent objects without + creating, when BZip2 code was called with one thread (with -mmt1 switch or with + default switches on single thread CPU). +- .lzma support. +- RPM and NSIS support was improved. +- LZMA now stores only (2 << n) or (3 << n) dictionary size value to LZMA properties. + + +4.58 alpha 6 2008-03-27 +------------------------- +- NTFS time extra in ZIP. +- New item property - kpidTimeType - VT_UI4 (0 - NTFS, 1 - Unix, 2 - DOS). +- Static CRC table is not required now for Lzma Encoder (in Lz MatchFinder). + + +4.58 alpha 5 2008-03-19 +------------------------- +- Creation time (-mtc switch) for .7z archives +- LZMA encoder was converted to ANSI-C + + +4.58 alpha 3 2008-02-25 +------------------------- +- Speed optimizations for LZMA decoding. Now it uses C code instead of C++. +- 7-Zip now has 128 MB dictionary limit for 32-bit version: + It's for speed optimization: kNumLogBits = 9 + sizeof(size_t) / 2; +- TAR: 'D' link flag support. +- 7-Zip now can unpack multivolume RAR archives created with + "old style volume names" scheme (-vn switch) and names *.001, *.002, ... +- Fixed bugs: + - 7-Zip FM could not copy / move files to root network folders like \\COMPNAME\FOLDERNAME\ + In case of move it removed original files. + - SFX-WIN: if there are errors, it still could return 0. + - ZIP (.XPS file) isZip64 && thisDiskNumber16 == 0xFFFF. + - ZIP name updating: + If zip file contains extra field and you try to change properties of files, + 7-zip tries to delete all extra fileds (except for WzAES). + And that code could hang. + - 7-Zip GUI didn't suggest BZip2 dictionary size used in previous run. + - If creation time stamp was included in .RAR archive, 7-zip used creation time stamp + as modification time stamp. + +4.58 alpha 2 2007-12-31 +------------------------- +- Small changes in Deflate and LZMA compression. +- Some speed optimizations. + + +4.57 +---- +- Bug was fixed: + Anti item is created for wrong file: + http://sourceforge.net/forum/forum.php?thread_id=1880366&forum_id=45798 + + +4.52 beta 2007-07-32 +------------------------- +- 7-Zip could not decompress some cab files +- "." dir creating at FAT was fixed / long names + + +4.50 beta 2007-07-24 +------------------------- +- 7-Zip now replaces unsupported filenames (like "nul", "com1") during extracting. +- New switch for command line version: + -ssc[-] enables/disables case-sensitive mode. +- 7z.exe l shows archive comment for zip archives +- Some bugs were fixed: long paths names shorter than 4. +- Speed optimizations for AES encryption. + + + +4.56 beta 2007-09-13 +------------------------- +- some fixes in LZ encoder (LZMA and Deflate) code. + size_t was replaces to ptrdiff_t. + size_t version worked incorrectly with some compilers. + + +4.46 beta 2007-05-25 +------------------------- +- CPP Synchronization objects now return HRes (error code) instead of bool. + + +4.45 beta 2007-04-16 +------------------------- +- 7-Zip now uses C version of CRC, so you must call CrcGenerateTable at + stratup code, or you must add CPP/Common/CRC.cpp to your project. +- Method ID in .7z now is 63-bit integer (UInt64). +- Open error messages +- unRar 1.5 fixed +- unShrink fixed +- BUG of 4.43 beta and 4.44 beta was fixed. + 7-Zip compressing to .zip in multi-threading mode didn't work in some cases. + + +4.44 beta 2007-01-20 +------------------------- + +- Bug was fixed: LZMAEncoder.cpp::CEncoder::GetOptimumFast + it was: + data++ + fixed version: + data = _matchFinder.GetPointerToCurrentPos(_matchFinderObj) - 1; + It could lead to very small cpmpression ratio decreasing when block needs move. + + +4.30 beta 2005-11-18 +------------------------- +- Security.h::AddLockMemoryPrivilege - installs "Large pages" feature +- MemoryLock.h::EnableLockMemoryPrivilege - enables "Large pages" feature +- Alloc.h::SetLargePageSize - sets optimal LargePageSize size + + +4.27 2005-09-21 +------------------------- +- Some GUIDs/interfaces were changed. + IStream.h: + ISequentialInStream::Read now works as old ReadPart + ISequentialOutStream::Write now works as old WritePart + + +4.26 beta 2005-08-05 +------------------------- +- MyAlloc(0)/BigAlloc(0) now return 0 + + +4.25 beta 2005-07-31 +------------------------- +- More 64-bit compatibilty + + +4.24 beta 2005-07-06 +------------------------- +- Common\NewHandler.h: using throw() for code size optimization. + + +4.23 2005-06-29 +------------------------- +- Bug was fixed: memory leak in Cab decoder. + + +4.19 beta 2005-05-21 +------------------------- +- BZip2 code was rewritten. Now 7-Zip doesn't use original BZip2 code. + Old (original) version was moved to folder 7zip/Compress/BZip2Original/ + + +4.14 beta 2005-01-11 +------------------------- +- STL using was reduced +- 7za now supports Split(001) archves + + +4.10 beta 2004-10-21 +------------------------- +- Codecs now use new interface: ICompressSetDecoderProperties2 + + +4.07 beta 2004-10-03 +------------------------- +- some interfaces were changed slightly to support + -stdin -stdout mode. +- FilterCoder for simple filters +- Wildcard censor class was changed. +- Bug was fixed: when encrypted stream was multiple 16, + it used additional 16 empty bytes. + + +3.11 2003-10-06 +------------------------- + File functions support unicode strings even + on Windows 95/98/ME. + + +3.08.02 2003-09-20 +------------------------- + More compatible with GCC. + + +3.08.02 beta 2003-08-20 +------------------------- + Extracting bug in 7zExtract.cpp was fixed. + + +3.08 beta 2003-08-19 +------------------------- + Big source code reconstruction. + + +2.30 Beta 32 2003-05-15 +------------------------- + Small changes in Deflate decoder. + + +2.30 Beta 31 2003-04-29 +------------------------- + Common/NewHandler.cpp + HeapAlloc in (included to beta 30) was changed to malloc. + HeapAlloc worked slower in Win95/98/Me. + + +2.30 Beta 30 2003-04-21 +------------------------- + new file: Common/String.cpp + Common/NewHandler.* were changed + + +2.30 Beta 29 2003-04-07 +------------------------- + Small changes in LZMA code. + + +2.30 Beta 28 2003-02-16 +------------------------- + Processing anti-files was corrected. + + +2.30 Beta 27 2003-01-24 +------------------------- + Project/Archiver/Format/Common/ArchiveInterface.h: + new IArchiveOpenVolumeCallback interface. + + +2.30 Beta 26 2003-01-12 +------------------------- + SDK/Interface/PropID.h: + kpidComment now is kpidCommented + + +2.30 Beta 25 2003-01-02 +------------------------- + Main archive interfaces were changed. + + +2.30 Beta 24 2002-11-01 +------------------------- + SDK/Windows/Synchronization.h + SDK/Windows/Synchronization.cpp + - some changes. + + +2.30 Beta 23 2002-09-07 +------------------------- + Project/FileManager folder was added. + Notation of some source files was changed. + + +2.30 Beta 22 2002-08-28 +------------------------- + Project/FileManager folder was added. + Notation of some source files was changed. + + + +2.30 Beta 21 2002-07-08 +------------------------- + Project/Compress/LZ/MatchFinder/BinTree/BinTree.h + Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h + Project/Compress/LZ/MatchFinder/BinTree/HC.h + Project/Compress/LZ/MatchFinder/BinTree/HCMain.h + - RAM requirements for LZMA (7z) compression were reduced. + + +2.30 Beta 20 2002-07-01 +------------------------- +- SDK/Stream/WindowOut.h + now it uses only required memory (dictionary size). +- Project/Archiver/Resource + contains common resurces + + +2.30 Beta 19 2002-04-11 +------------------------- +- SDK/Archive/Rar/Handler.cpp + supporting RAR29 + +2.30 Beta 18 2002-03-25 +------------------------- +- SDK/Archive/Cab/MSZipDecoder.cpp + SDK/Archive/Cab/LZXDecoder.cpp: + bug with corrupted archives was fixed +- Project/Compress/LZ/MatchFinder/BinTree/BinTree.h +- Project/Compress/LZ/MatchFinder/BinTree/BinTreeMain.h + some speed optimization (using prefetching) + + +2.30 Beta 17 2002-03-03 +------------------------- +- ARJ suppport. + + +2.30 Beta 16 2002-02-24 +------------------------- +- Project/Compress/LZ/LZMA/Decoder.cpp: + Bug was fixed: LZMA could not extract more than 4 GB. +- RPM and CPIO formats. +- Project/Compress/LZ/LZMA/Encoder.* + Project/Archiver/Format/7z/OutHandler.cpp + New fast compression mode for LZMA: -m0a=0. +- New match finders for LZMA: bt4b, hc3, hc4. + + +2.30 Beta 15 2002-02-17 +------------------------- +- Compression ratio in LZMA was slightly improved: + Project/Compress/LZ/LZMA/Encoder.* + Project/Archiver/Format/7z/OutHandler.cpp + + +2.30 Beta 14 2002-02-10 +------------------------- +- Supporting multithreading for LZMA: + Project/Compress/LZ/MatchFinder/MT +- Common/String.h: + CStringBase::Replace function was fixed. + + +2.30 Beta 13 2002-01-27 +------------------------- +- Compress/LZ/MatchFinder/BinTree3.h: + method +- Compress/LZ/MatchFinder/BinTreemain.h: + - one VirtualAlloc array was splitted to + the for 3 arrays. + - Hash-functions were changed. + + + +2.30 Beta 12 2002-01-16 +------------------------- +- Compress/LZ/MatchFinder/BinTreemain.h: + Compress/LZ/MatchFinder/Patricia.h: + Compress/PPM/PPMd/SubAlloc.h: + Beta 11 bugs were fixed: + - VirtualFree was used incorrectly + - checking WIN32 instead _WINDOWS. + Compress/LZ/MatchFinder/Patricia.h: + Beta 11 bug with deleting m_Hash2Descendants was fixed. + + +2.30 Beta 11 2002-01-15 +------------------------- +- Compress/LZ/MatchFinder/BinTreemain.h: + Compress/LZ/MatchFinder/Patricia.h: + Compress/PPM/PPMd/SubAlloc.h: + using VirtualAlloc for memory allocating +- Exlorer/ContextMenu.cpp: + Testing supporting. + CreateProcess instead WinExec +- Format/Common/IArchiveHandler.h: + Exlorer/ProxyHandler.cpp: + FAR/Plugin.cpp: + New properties names: Method, HostOS. +- Exlorer/OverwriteDialog.cpp: + FAR/OverwriteDialog.cpp: + Windows/PropVariantConversions.h + Using National time format was eliminated. + + + +2.30 Beta 10 2002-01-11 +------------------------- +- Exlorer/ContextMenu.cpp: bug with context menu on + Windows NT4 in Unicode version was fixed. +- Format/7z/UpdateArchiveEngine.cpp: bug was fixed - + Updating in Beta 8 and 9 didn't work. +- Exlorer/CCompressDialog.cpp: history growing bug was fixed. + + +2.30 Beta 9 2002-01-08 +------------------------- +- SDK/Common/Vector.h: sopporting sorted object vectors . +- Lang features. +- Two new match finders: pat3h and pat4h. +- SDK/Archive/Zip/InEngine.cpp: bug was fixed. +- SDK/Windows/FileDir.cpp: function CreateComplexDirectory + was changed. + diff --git a/src/libs/7zip/unix/DOCS/lzma.txt b/src/libs/7zip/unix/DOCS/lzma.txt new file mode 100644 index 000000000..659323237 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/lzma.txt @@ -0,0 +1,598 @@ +LZMA SDK 9.20 +------------- + +LZMA SDK provides the documentation, samples, header files, libraries, +and tools you need to develop applications that use LZMA compression. + +LZMA is default and general compression method of 7z format +in 7-Zip compression program (www.7-zip.org). LZMA provides high +compression ratio and very fast decompression. + +LZMA is an improved version of famous LZ77 compression algorithm. +It was improved in way of maximum increasing of compression ratio, +keeping high decompression speed and low memory requirements for +decompressing. + + + +LICENSE +------- + +LZMA SDK is written and placed in the public domain by Igor Pavlov. + +Some code in LZMA SDK is based on public domain code from another developers: + 1) PPMd var.H (2001): Dmitry Shkarin + 2) SHA-256: Wei Dai (Crypto++ library) + + +LZMA SDK Contents +----------------- + +LZMA SDK includes: + + - ANSI-C/C++/C#/Java source code for LZMA compressing and decompressing + - Compiled file->file LZMA compressing/decompressing program for Windows system + + +UNIX/Linux version +------------------ +To compile C++ version of file->file LZMA encoding, go to directory +CPP/7zip/Bundles/LzmaCon +and call make to recompile it: + make -f makefile.gcc clean all + +In some UNIX/Linux versions you must compile LZMA with static libraries. +To compile with static libraries, you can use +LIB = -lm -static + + +Files +--------------------- +lzma.txt - LZMA SDK description (this file) +7zFormat.txt - 7z Format description +7zC.txt - 7z ANSI-C Decoder description +methods.txt - Compression method IDs for .7z +lzma.exe - Compiled file->file LZMA encoder/decoder for Windows +7zr.exe - 7-Zip with 7z/lzma/xz support. +history.txt - history of the LZMA SDK + + +Source code structure +--------------------- + +C/ - C files + 7zCrc*.* - CRC code + Alloc.* - Memory allocation functions + Bra*.* - Filters for x86, IA-64, ARM, ARM-Thumb, PowerPC and SPARC code + LzFind.* - Match finder for LZ (LZMA) encoders + LzFindMt.* - Match finder for LZ (LZMA) encoders for multithreading encoding + LzHash.h - Additional file for LZ match finder + LzmaDec.* - LZMA decoding + LzmaEnc.* - LZMA encoding + LzmaLib.* - LZMA Library for DLL calling + Types.h - Basic types for another .c files + Threads.* - The code for multithreading. + + LzmaLib - LZMA Library (.DLL for Windows) + + LzmaUtil - LZMA Utility (file->file LZMA encoder/decoder). + + Archive - files related to archiving + 7z - 7z ANSI-C Decoder + +CPP/ -- CPP files + + Common - common files for C++ projects + Windows - common files for Windows related code + + 7zip - files related to 7-Zip Project + + Common - common files for 7-Zip + + Compress - files related to compression/decompression + + Archive - files related to archiving + + Common - common files for archive handling + 7z - 7z C++ Encoder/Decoder + + Bundles - Modules that are bundles of other modules + + Alone7z - 7zr.exe: Standalone version of 7z.exe that supports only 7z/LZMA/BCJ/BCJ2 + LzmaCon - lzma.exe: LZMA compression/decompression + Format7zR - 7zr.dll: Reduced version of 7za.dll: extracting/compressing to 7z/LZMA/BCJ/BCJ2 + Format7zExtractR - 7zxr.dll: Reduced version of 7zxa.dll: extracting from 7z/LZMA/BCJ/BCJ2. + + UI - User Interface files + + Client7z - Test application for 7za.dll, 7zr.dll, 7zxr.dll + Common - Common UI files + Console - Code for console archiver + + + +CS/ - C# files + 7zip + Common - some common files for 7-Zip + Compress - files related to compression/decompression + LZ - files related to LZ (Lempel-Ziv) compression algorithm + LZMA - LZMA compression/decompression + LzmaAlone - file->file LZMA compression/decompression + RangeCoder - Range Coder (special code of compression/decompression) + +Java/ - Java files + SevenZip + Compression - files related to compression/decompression + LZ - files related to LZ (Lempel-Ziv) compression algorithm + LZMA - LZMA compression/decompression + RangeCoder - Range Coder (special code of compression/decompression) + + +C/C++ source code of LZMA SDK is part of 7-Zip project. +7-Zip source code can be downloaded from 7-Zip's SourceForge page: + + http://sourceforge.net/projects/sevenzip/ + + + +LZMA features +------------- + - Variable dictionary size (up to 1 GB) + - Estimated compressing speed: about 2 MB/s on 2 GHz CPU + - Estimated decompressing speed: + - 20-30 MB/s on 2 GHz Core 2 or AMD Athlon 64 + - 1-2 MB/s on 200 MHz ARM, MIPS, PowerPC or other simple RISC + - Small memory requirements for decompressing (16 KB + DictionarySize) + - Small code size for decompressing: 5-8 KB + +LZMA decoder uses only integer operations and can be +implemented in any modern 32-bit CPU (or on 16-bit CPU with some conditions). + +Some critical operations that affect the speed of LZMA decompression: + 1) 32*16 bit integer multiply + 2) Misspredicted branches (penalty mostly depends from pipeline length) + 3) 32-bit shift and arithmetic operations + +The speed of LZMA decompressing mostly depends from CPU speed. +Memory speed has no big meaning. But if your CPU has small data cache, +overall weight of memory speed will slightly increase. + + +How To Use +---------- + +Using LZMA encoder/decoder executable +-------------------------------------- + +Usage: LZMA <e|d> inputFile outputFile [<switches>...] + + e: encode file + + d: decode file + + b: Benchmark. There are two tests: compressing and decompressing + with LZMA method. Benchmark shows rating in MIPS (million + instructions per second). Rating value is calculated from + measured speed and it is normalized with Intel's Core 2 results. + Also Benchmark checks possible hardware errors (RAM + errors in most cases). Benchmark uses these settings: + (-a1, -d21, -fb32, -mfbt4). You can change only -d parameter. + Also you can change the number of iterations. Example for 30 iterations: + LZMA b 30 + Default number of iterations is 10. + +<Switches> + + + -a{N}: set compression mode 0 = fast, 1 = normal + default: 1 (normal) + + d{N}: Sets Dictionary size - [0, 30], default: 23 (8MB) + The maximum value for dictionary size is 1 GB = 2^30 bytes. + Dictionary size is calculated as DictionarySize = 2^N bytes. + For decompressing file compressed by LZMA method with dictionary + size D = 2^N you need about D bytes of memory (RAM). + + -fb{N}: set number of fast bytes - [5, 273], default: 128 + Usually big number gives a little bit better compression ratio + and slower compression process. + + -lc{N}: set number of literal context bits - [0, 8], default: 3 + Sometimes lc=4 gives gain for big files. + + -lp{N}: set number of literal pos bits - [0, 4], default: 0 + lp switch is intended for periodical data when period is + equal 2^N. For example, for 32-bit (4 bytes) + periodical data you can use lp=2. Often it's better to set lc0, + if you change lp switch. + + -pb{N}: set number of pos bits - [0, 4], default: 2 + pb switch is intended for periodical data + when period is equal 2^N. + + -mf{MF_ID}: set Match Finder. Default: bt4. + Algorithms from hc* group doesn't provide good compression + ratio, but they often works pretty fast in combination with + fast mode (-a0). + + Memory requirements depend from dictionary size + (parameter "d" in table below). + + MF_ID Memory Description + + bt2 d * 9.5 + 4MB Binary Tree with 2 bytes hashing. + bt3 d * 11.5 + 4MB Binary Tree with 3 bytes hashing. + bt4 d * 11.5 + 4MB Binary Tree with 4 bytes hashing. + hc4 d * 7.5 + 4MB Hash Chain with 4 bytes hashing. + + -eos: write End Of Stream marker. By default LZMA doesn't write + eos marker, since LZMA decoder knows uncompressed size + stored in .lzma file header. + + -si: Read data from stdin (it will write End Of Stream marker). + -so: Write data to stdout + + +Examples: + +1) LZMA e file.bin file.lzma -d16 -lc0 + +compresses file.bin to file.lzma with 64 KB dictionary (2^16=64K) +and 0 literal context bits. -lc0 allows to reduce memory requirements +for decompression. + + +2) LZMA e file.bin file.lzma -lc0 -lp2 + +compresses file.bin to file.lzma with settings suitable +for 32-bit periodical data (for example, ARM or MIPS code). + +3) LZMA d file.lzma file.bin + +decompresses file.lzma to file.bin. + + +Compression ratio hints +----------------------- + +Recommendations +--------------- + +To increase the compression ratio for LZMA compressing it's desirable +to have aligned data (if it's possible) and also it's desirable to locate +data in such order, where code is grouped in one place and data is +grouped in other place (it's better than such mixing: code, data, code, +data, ...). + + +Filters +------- +You can increase the compression ratio for some data types, using +special filters before compressing. For example, it's possible to +increase the compression ratio on 5-10% for code for those CPU ISAs: +x86, IA-64, ARM, ARM-Thumb, PowerPC, SPARC. + +You can find C source code of such filters in C/Bra*.* files + +You can check the compression ratio gain of these filters with such +7-Zip commands (example for ARM code): +No filter: + 7z a a1.7z a.bin -m0=lzma + +With filter for little-endian ARM code: + 7z a a2.7z a.bin -m0=arm -m1=lzma + +It works in such manner: +Compressing = Filter_encoding + LZMA_encoding +Decompressing = LZMA_decoding + Filter_decoding + +Compressing and decompressing speed of such filters is very high, +so it will not increase decompressing time too much. +Moreover, it reduces decompression time for LZMA_decoding, +since compression ratio with filtering is higher. + +These filters convert CALL (calling procedure) instructions +from relative offsets to absolute addresses, so such data becomes more +compressible. + +For some ISAs (for example, for MIPS) it's impossible to get gain from such filter. + + +LZMA compressed file format +--------------------------- +Offset Size Description + 0 1 Special LZMA properties (lc,lp, pb in encoded form) + 1 4 Dictionary size (little endian) + 5 8 Uncompressed size (little endian). -1 means unknown size + 13 Compressed data + + +ANSI-C LZMA Decoder +~~~~~~~~~~~~~~~~~~~ + +Please note that interfaces for ANSI-C code were changed in LZMA SDK 4.58. +If you want to use old interfaces you can download previous version of LZMA SDK +from sourceforge.net site. + +To use ANSI-C LZMA Decoder you need the following files: +1) LzmaDec.h + LzmaDec.c + Types.h +LzmaUtil/LzmaUtil.c is example application that uses these files. + + +Memory requirements for LZMA decoding +------------------------------------- + +Stack usage of LZMA decoding function for local variables is not +larger than 200-400 bytes. + +LZMA Decoder uses dictionary buffer and internal state structure. +Internal state structure consumes + state_size = (4 + (1.5 << (lc + lp))) KB +by default (lc=3, lp=0), state_size = 16 KB. + + +How To decompress data +---------------------- + +LZMA Decoder (ANSI-C version) now supports 2 interfaces: +1) Single-call Decompressing +2) Multi-call State Decompressing (zlib-like interface) + +You must use external allocator: +Example: +void *SzAlloc(void *p, size_t size) { p = p; return malloc(size); } +void SzFree(void *p, void *address) { p = p; free(address); } +ISzAlloc alloc = { SzAlloc, SzFree }; + +You can use p = p; operator to disable compiler warnings. + + +Single-call Decompressing +------------------------- +When to use: RAM->RAM decompressing +Compile files: LzmaDec.h + LzmaDec.c + Types.h +Compile defines: no defines +Memory Requirements: + - Input buffer: compressed size + - Output buffer: uncompressed size + - LZMA Internal Structures: state_size (16 KB for default settings) + +Interface: + int LzmaDecode(Byte *dest, SizeT *destLen, const Byte *src, SizeT *srcLen, + const Byte *propData, unsigned propSize, ELzmaFinishMode finishMode, + ELzmaStatus *status, ISzAlloc *alloc); + In: + dest - output data + destLen - output data size + src - input data + srcLen - input data size + propData - LZMA properties (5 bytes) + propSize - size of propData buffer (5 bytes) + finishMode - It has meaning only if the decoding reaches output limit (*destLen). + LZMA_FINISH_ANY - Decode just destLen bytes. + LZMA_FINISH_END - Stream must be finished after (*destLen). + You can use LZMA_FINISH_END, when you know that + current output buffer covers last bytes of stream. + alloc - Memory allocator. + + Out: + destLen - processed output size + srcLen - processed input size + + Output: + SZ_OK + status: + LZMA_STATUS_FINISHED_WITH_MARK + LZMA_STATUS_NOT_FINISHED + LZMA_STATUS_MAYBE_FINISHED_WITHOUT_MARK + SZ_ERROR_DATA - Data error + SZ_ERROR_MEM - Memory allocation error + SZ_ERROR_UNSUPPORTED - Unsupported properties + SZ_ERROR_INPUT_EOF - It needs more bytes in input buffer (src). + + If LZMA decoder sees end_marker before reaching output limit, it returns OK result, + and output value of destLen will be less than output buffer size limit. + + You can use multiple checks to test data integrity after full decompression: + 1) Check Result and "status" variable. + 2) Check that output(destLen) = uncompressedSize, if you know real uncompressedSize. + 3) Check that output(srcLen) = compressedSize, if you know real compressedSize. + You must use correct finish mode in that case. */ + + +Multi-call State Decompressing (zlib-like interface) +---------------------------------------------------- + +When to use: file->file decompressing +Compile files: LzmaDec.h + LzmaDec.c + Types.h + +Memory Requirements: + - Buffer for input stream: any size (for example, 16 KB) + - Buffer for output stream: any size (for example, 16 KB) + - LZMA Internal Structures: state_size (16 KB for default settings) + - LZMA dictionary (dictionary size is encoded in LZMA properties header) + +1) read LZMA properties (5 bytes) and uncompressed size (8 bytes, little-endian) to header: + unsigned char header[LZMA_PROPS_SIZE + 8]; + ReadFile(inFile, header, sizeof(header) + +2) Allocate CLzmaDec structures (state + dictionary) using LZMA properties + + CLzmaDec state; + LzmaDec_Constr(&state); + res = LzmaDec_Allocate(&state, header, LZMA_PROPS_SIZE, &g_Alloc); + if (res != SZ_OK) + return res; + +3) Init LzmaDec structure before any new LZMA stream. And call LzmaDec_DecodeToBuf in loop + + LzmaDec_Init(&state); + for (;;) + { + ... + int res = LzmaDec_DecodeToBuf(CLzmaDec *p, Byte *dest, SizeT *destLen, + const Byte *src, SizeT *srcLen, ELzmaFinishMode finishMode); + ... + } + + +4) Free all allocated structures + LzmaDec_Free(&state, &g_Alloc); + +For full code example, look at C/LzmaUtil/LzmaUtil.c code. + + +How To compress data +-------------------- + +Compile files: LzmaEnc.h + LzmaEnc.c + Types.h + +LzFind.c + LzFind.h + LzFindMt.c + LzFindMt.h + LzHash.h + +Memory Requirements: + - (dictSize * 11.5 + 6 MB) + state_size + +Lzma Encoder can use two memory allocators: +1) alloc - for small arrays. +2) allocBig - for big arrays. + +For example, you can use Large RAM Pages (2 MB) in allocBig allocator for +better compression speed. Note that Windows has bad implementation for +Large RAM Pages. +It's OK to use same allocator for alloc and allocBig. + + +Single-call Compression with callbacks +-------------------------------------- + +Check C/LzmaUtil/LzmaUtil.c as example, + +When to use: file->file decompressing + +1) you must implement callback structures for interfaces: +ISeqInStream +ISeqOutStream +ICompressProgress +ISzAlloc + +static void *SzAlloc(void *p, size_t size) { p = p; return MyAlloc(size); } +static void SzFree(void *p, void *address) { p = p; MyFree(address); } +static ISzAlloc g_Alloc = { SzAlloc, SzFree }; + + CFileSeqInStream inStream; + CFileSeqOutStream outStream; + + inStream.funcTable.Read = MyRead; + inStream.file = inFile; + outStream.funcTable.Write = MyWrite; + outStream.file = outFile; + + +2) Create CLzmaEncHandle object; + + CLzmaEncHandle enc; + + enc = LzmaEnc_Create(&g_Alloc); + if (enc == 0) + return SZ_ERROR_MEM; + + +3) initialize CLzmaEncProps properties; + + LzmaEncProps_Init(&props); + + Then you can change some properties in that structure. + +4) Send LZMA properties to LZMA Encoder + + res = LzmaEnc_SetProps(enc, &props); + +5) Write encoded properties to header + + Byte header[LZMA_PROPS_SIZE + 8]; + size_t headerSize = LZMA_PROPS_SIZE; + UInt64 fileSize; + int i; + + res = LzmaEnc_WriteProperties(enc, header, &headerSize); + fileSize = MyGetFileLength(inFile); + for (i = 0; i < 8; i++) + header[headerSize++] = (Byte)(fileSize >> (8 * i)); + MyWriteFileAndCheck(outFile, header, headerSize) + +6) Call encoding function: + res = LzmaEnc_Encode(enc, &outStream.funcTable, &inStream.funcTable, + NULL, &g_Alloc, &g_Alloc); + +7) Destroy LZMA Encoder Object + LzmaEnc_Destroy(enc, &g_Alloc, &g_Alloc); + + +If callback function return some error code, LzmaEnc_Encode also returns that code +or it can return the code like SZ_ERROR_READ, SZ_ERROR_WRITE or SZ_ERROR_PROGRESS. + + +Single-call RAM->RAM Compression +-------------------------------- + +Single-call RAM->RAM Compression is similar to Compression with callbacks, +but you provide pointers to buffers instead of pointers to stream callbacks: + +HRes LzmaEncode(Byte *dest, SizeT *destLen, const Byte *src, SizeT srcLen, + CLzmaEncProps *props, Byte *propsEncoded, SizeT *propsSize, int writeEndMark, + ICompressProgress *progress, ISzAlloc *alloc, ISzAlloc *allocBig); + +Return code: + SZ_OK - OK + SZ_ERROR_MEM - Memory allocation error + SZ_ERROR_PARAM - Incorrect paramater + SZ_ERROR_OUTPUT_EOF - output buffer overflow + SZ_ERROR_THREAD - errors in multithreading functions (only for Mt version) + + + +Defines +------- + +_LZMA_SIZE_OPT - Enable some optimizations in LZMA Decoder to get smaller executable code. + +_LZMA_PROB32 - It can increase the speed on some 32-bit CPUs, but memory usage for + some structures will be doubled in that case. + +_LZMA_UINT32_IS_ULONG - Define it if int is 16-bit on your compiler and long is 32-bit. + +_LZMA_NO_SYSTEM_SIZE_T - Define it if you don't want to use size_t type. + + +_7ZIP_PPMD_SUPPPORT - Define it if you don't want to support PPMD method in AMSI-C .7z decoder. + + +C++ LZMA Encoder/Decoder +~~~~~~~~~~~~~~~~~~~~~~~~ +C++ LZMA code use COM-like interfaces. So if you want to use it, +you can study basics of COM/OLE. +C++ LZMA code is just wrapper over ANSI-C code. + + +C++ Notes +~~~~~~~~~~~~~~~~~~~~~~~~ +If you use some C++ code folders in 7-Zip (for example, C++ code for .7z handling), +you must check that you correctly work with "new" operator. +7-Zip can be compiled with MSVC 6.0 that doesn't throw "exception" from "new" operator. +So 7-Zip uses "CPP\Common\NewHandler.cpp" that redefines "new" operator: +operator new(size_t size) +{ + void *p = ::malloc(size); + if (p == 0) + throw CNewException(); + return p; +} +If you use MSCV that throws exception for "new" operator, you can compile without +"NewHandler.cpp". So standard exception will be used. Actually some code of +7-Zip catches any exception in internal code and converts it to HRESULT code. +So you don't need to catch CNewException, if you call COM interfaces of 7-Zip. + +--- + +http://www.7-zip.org +http://www.7-zip.org/sdk.html +http://www.7-zip.org/support.html diff --git a/src/libs/7zip/unix/DOCS/readme.txt b/src/libs/7zip/unix/DOCS/readme.txt new file mode 100644 index 000000000..aad462642 --- /dev/null +++ b/src/libs/7zip/unix/DOCS/readme.txt @@ -0,0 +1,181 @@ +7-Zip 9.20 Sources +------------------ + +7-Zip is a file archiver for Windows. + +7-Zip Copyright (C) 1999-2010 Igor Pavlov. + + +License Info +------------ + +7-Zip is free software distributed under the GNU LGPL +(except for unRar code). +read License.txt for more infomation about license. + +Notes about unRAR license: + +Please check main restriction from unRar license: + + 2. The unRAR sources may be used in any software to handle RAR + archives without limitations free of charge, but cannot be used + to re-create the RAR compression algorithm, which is proprietary. + Distribution of modified unRAR sources in separate form or as a + part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + +In brief it means: +1) You can compile and use compiled files under GNU LGPL rules, since + unRAR license almost has no restrictions for compiled files. + You can link these compiled files to LGPL programs. +2) You can fix bugs in source code and use compiled fixed version. +3) You can not use unRAR sources to re-create the RAR compression algorithm. + + +LZMA SDK +-------- + +Also this package contains files from LZMA SDK +you can download LZMA SDK from this page: +http://www.7-zip.org/sdk.html +read about addtional licenses for LZMA SDK in file +DOC/lzma.txt + + +How to compile +-------------- +To compile sources you need Visual C++ 6.0. +For compiling some files you also need +new Platform SDK from Microsoft' Site: +http://www.microsoft.com/msdownload/platformsdk/sdkupdate/psdk-full.htm +or +http://www.microsoft.com/msdownload/platformsdk/sdkupdate/XPSP2FULLInstall.htm +or +http://www.microsoft.com/msdownload/platformsdk/sdkupdate/ + +If you use MSVC6, specify SDK directories at top of directories lists: +Tools / Options / Directories + - Include files + - Library files + + +To compile 7-Zip for AMD64 and IA64 you need: + Windows Server 2003 SP1 Platform SDK from microsoft.com + +Also you need Microsoft Macro Assembler: + - ml.exe for x86 + - ml64.exe for AMD64 +You can use ml.exe from Windows SDK for Windows Vista or some other version. + + +Compiling under Unix/Linux +-------------------------- +Check this site for Posix/Linux version: +http://sourceforge.net/projects/p7zip/ + + +Notes: +------ +7-Zip consists of COM modules (DLL files). +But 7-Zip doesn't use standard COM interfaces for creating objects. +Look at +7zip\UI\Client7z folder for example of using DLL files of 7-Zip. +Some DLL files can use other DLL files from 7-Zip. +If you don't like it, you must use standalone version of DLL. +To compile standalone version of DLL you must include all used parts +to project and define some defs. +For example, 7zip\Bundles\Format7z is a standalone version of 7z.dll +that works with 7z format. So you can use such DLL in your project +without additional DLL files. + + +Description of 7-Zip sources package +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +DOC Documentation +--- + 7zFormat.txt - 7z format description + copying.txt - GNU LGPL license + unRarLicense.txt - License for unRAR part of source code + history.txt - Sources history + Methods.txt - Compression method IDs + readme.txt - Readme file + lzma.txt - LZMA SDK description + 7zip.nsi - installer script for NSIS + + +C - Source code in C +CPP - Source code in CPP + +Common Common modules +Windows Win32 wrappers + +7zip +------- + Common Common modules for 7-zip + + Archive 7-Zip Archive Format Plugins + -------- + Common + 7z + Arj + BZip2 + Cab + Cpio + GZip + Rar + Rpm + Split + Tar + Zip + + Bundle Modules that are bundles of other modules + ------ + Alone 7za.exe: Standalone version of 7z + Alone7z 7zr.exe: Standalone version of 7z that supports only 7z/LZMA/BCJ/BCJ2 + SFXCon 7zCon.sfx: Console 7z SFX module + SFXWin 7z.sfx: Windows 7z SFX module + SFXSetup 7zS.sfx: Windows 7z SFX module for Installers + Format7z 7za.dll: .7z support + Format7zExtract 7zxa.dll: .7z support, extracting only + Format7zR 7zr.dll: .7z support, LZMA/BCJ* only + Format7zExtractR 7zxr.dll: .7z support, LZMA/BCJ* only, extracting only + Format7zF 7z.dll: all formats + + UI + -- + Agent Intermediary modules for FAR plugin and Explorer plugin + Console 7z.exe Console version + Explorer Explorer plugin + Resource Resources + Far FAR plugin + Client7z Test application for 7za.dll + + Compress + -------- + BZip2 BZip2 compressor + Branch Branch converter + ByteSwap Byte Swap converter + Copy Copy coder + Deflate + Implode + Arj + LZMA + PPMd Dmitry Shkarin's PPMdH with small changes. + LZ Lempel - Ziv + + Crypto Crypto modules + ------ + 7zAES Cipher for 7z + AES AES Cipher + Rar20 Cipher for Rar 2.0 + RarAES Cipher for Rar 3.0 + Zip Cipher for Zip + + FileManager File Manager + + +--- +Igor Pavlov +http://www.7-zip.org diff --git a/src/libs/7zip/unix/DOCS/unRarLicense.txt b/src/libs/7zip/unix/DOCS/unRarLicense.txt new file mode 100644 index 000000000..5f78b728d --- /dev/null +++ b/src/libs/7zip/unix/DOCS/unRarLicense.txt @@ -0,0 +1,41 @@ + ****** ***** ****** unRAR - free utility for RAR archives + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ****** ******* ****** License for use and distribution of + ** ** ** ** ** ** ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ** ** ** ** ** ** FREE portable version + ~~~~~~~~~~~~~~~~~~~~~ + + The source code of unRAR utility is freeware. This means: + + 1. All copyrights to RAR and the utility unRAR are exclusively + owned by the author - Alexander Roshal. + + 2. The unRAR sources may be used in any software to handle RAR + archives without limitations free of charge, but cannot be used + to re-create the RAR compression algorithm, which is proprietary. + Distribution of modified unRAR sources in separate form or as a + part of other software is permitted, provided that it is clearly + stated in the documentation and source comments that the code may + not be used to develop a RAR (WinRAR) compatible archiver. + + 3. The unRAR utility may be freely distributed. No person or company + may charge a fee for the distribution of unRAR without written + permission from the copyright holder. + + 4. THE RAR ARCHIVER AND THE UNRAR UTILITY ARE DISTRIBUTED "AS IS". + NO WARRANTY OF ANY KIND IS EXPRESSED OR IMPLIED. YOU USE AT + YOUR OWN RISK. THE AUTHOR WILL NOT BE LIABLE FOR DATA LOSS, + DAMAGES, LOSS OF PROFITS OR ANY OTHER KIND OF LOSS WHILE USING + OR MISUSING THIS SOFTWARE. + + 5. Installing and using the unRAR utility signifies acceptance of + these terms and conditions of the license. + + 6. If you don't agree with terms of the license you must remove + unRAR files from your storage devices and cease to use the + utility. + + Thank you for your interest in RAR and unRAR. + + + Alexander L. Roshal
\ No newline at end of file |