| Index: third_party/lzma/v4_65/files/7zFormat.txt
|
| diff --git a/third_party/lzma/v4_65/files/7zFormat.txt b/third_party/lzma/v4_65/files/7zFormat.txt
|
| deleted file mode 100644
|
| index e1cf7380d24989eb14a0b37aa26de22d588d6e11..0000000000000000000000000000000000000000
|
| --- a/third_party/lzma/v4_65/files/7zFormat.txt
|
| +++ /dev/null
|
| @@ -1,471 +0,0 @@
|
| -7z Format description (2.30 Beta 25)
|
| ------------------------------------
|
| -
|
| -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 = kCreationTime,
|
| -0x13 = kLastAccessTime,
|
| -0x14 = kLastWriteTime,
|
| -0x15 = kWinAttributes,
|
| -0x16 = kComment,
|
| -
|
| -0x17 = kEncodedHeader,
|
| -
|
| -
|
| -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 DecompressionMethod.IDSize
|
| - 4:
|
| - 0 - IsSimple
|
| - 1 - Is not simple
|
| - 5:
|
| - 0 - No Attributes
|
| - 1 - There Are Attributes
|
| - 7:
|
| - 0 - Last Method in Alternative_Method_List
|
| - 1 - There are more alternative methods
|
| - }
|
| - BYTE DecompressionMethod.ID[DecompressionMethod.IDSize]
|
| - if (!IsSimple)
|
| - {
|
| - UINT64 NumInStreams;
|
| - UINT64 NumOutStreams;
|
| - }
|
| - if (DecompressionMethod[0] != 0)
|
| - {
|
| - 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 kCreationTime: (0x12)
|
| - case kLastAccessTime: (0x13)
|
| - case kLastWriteTime: (0x14)
|
| - BYTE AllAreDefined
|
| - if (AllAreDefined == 0)
|
| - {
|
| - for(NumFiles)
|
| - BIT TimeDefined
|
| - }
|
| - BYTE External;
|
| - if(External != 0)
|
| - UINT64 DataIndex
|
| - []
|
| - for(Definded Items)
|
| - UINT32 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
|
|
|