| Index: third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zIn.h
|
| diff --git a/third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zIn.h b/third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zIn.h
|
| deleted file mode 100644
|
| index 09c51105025adf7ee41fb78e0df2b920065c05af..0000000000000000000000000000000000000000
|
| --- a/third_party/lzma/v4_65/files/CPP/7zip/Archive/7z/7zIn.h
|
| +++ /dev/null
|
| @@ -1,245 +0,0 @@
|
| -// 7zIn.h
|
| -
|
| -#ifndef __7Z_IN_H
|
| -#define __7Z_IN_H
|
| -
|
| -#include "../../../Common/MyCom.h"
|
| -
|
| -#include "../../IPassword.h"
|
| -#include "../../IStream.h"
|
| -
|
| -#include "../../Common/CreateCoder.h"
|
| -#include "../../Common/InBuffer.h"
|
| -
|
| -#include "7zItem.h"
|
| -
|
| -namespace NArchive {
|
| -namespace N7z {
|
| -
|
| -struct CInArchiveInfo
|
| -{
|
| - CArchiveVersion Version;
|
| - UInt64 StartPosition;
|
| - UInt64 StartPositionAfterHeader;
|
| - UInt64 DataStartPosition;
|
| - UInt64 DataStartPosition2;
|
| - CRecordVector<UInt64> FileInfoPopIDs;
|
| - void Clear()
|
| - {
|
| - FileInfoPopIDs.Clear();
|
| - }
|
| -};
|
| -
|
| -struct CArchiveDatabaseEx: public CArchiveDatabase
|
| -{
|
| - CInArchiveInfo ArchiveInfo;
|
| - CRecordVector<UInt64> PackStreamStartPositions;
|
| - CRecordVector<CNum> FolderStartPackStreamIndex;
|
| - CRecordVector<CNum> FolderStartFileIndex;
|
| - CRecordVector<CNum> FileIndexToFolderIndexMap;
|
| -
|
| - UInt64 HeadersSize;
|
| - UInt64 PhySize;
|
| -
|
| - void Clear()
|
| - {
|
| - CArchiveDatabase::Clear();
|
| - ArchiveInfo.Clear();
|
| - PackStreamStartPositions.Clear();
|
| - FolderStartPackStreamIndex.Clear();
|
| - FolderStartFileIndex.Clear();
|
| - FileIndexToFolderIndexMap.Clear();
|
| -
|
| - HeadersSize = 0;
|
| - PhySize = 0;
|
| - }
|
| -
|
| - void FillFolderStartPackStream();
|
| - void FillStartPos();
|
| - void FillFolderStartFileIndex();
|
| -
|
| - void Fill()
|
| - {
|
| - FillFolderStartPackStream();
|
| - FillStartPos();
|
| - FillFolderStartFileIndex();
|
| - }
|
| -
|
| - UInt64 GetFolderStreamPos(int folderIndex, int indexInFolder) const
|
| - {
|
| - return ArchiveInfo.DataStartPosition +
|
| - PackStreamStartPositions[FolderStartPackStreamIndex[folderIndex] + indexInFolder];
|
| - }
|
| -
|
| - UInt64 GetFolderFullPackSize(int folderIndex) const
|
| - {
|
| - CNum packStreamIndex = FolderStartPackStreamIndex[folderIndex];
|
| - const CFolder &folder = Folders[folderIndex];
|
| - UInt64 size = 0;
|
| - for (int i = 0; i < folder.PackStreams.Size(); i++)
|
| - size += PackSizes[packStreamIndex + i];
|
| - return size;
|
| - }
|
| -
|
| - UInt64 GetFolderPackStreamSize(int folderIndex, int streamIndex) const
|
| - {
|
| - return PackSizes[FolderStartPackStreamIndex[folderIndex] + streamIndex];
|
| - }
|
| -
|
| - UInt64 GetFilePackSize(CNum fileIndex) const
|
| - {
|
| - CNum folderIndex = FileIndexToFolderIndexMap[fileIndex];
|
| - if (folderIndex != kNumNoIndex)
|
| - if (FolderStartFileIndex[folderIndex] == fileIndex)
|
| - return GetFolderFullPackSize(folderIndex);
|
| - return 0;
|
| - }
|
| -};
|
| -
|
| -class CInByte2
|
| -{
|
| - const Byte *_buffer;
|
| - size_t _size;
|
| -public:
|
| - size_t _pos;
|
| - void Init(const Byte *buffer, size_t size)
|
| - {
|
| - _buffer = buffer;
|
| - _size = size;
|
| - _pos = 0;
|
| - }
|
| - Byte ReadByte();
|
| - void ReadBytes(Byte *data, size_t size);
|
| - void SkeepData(UInt64 size);
|
| - void SkeepData();
|
| - UInt64 ReadNumber();
|
| - CNum ReadNum();
|
| - UInt32 ReadUInt32();
|
| - UInt64 ReadUInt64();
|
| - void ReadString(UString &s);
|
| -};
|
| -
|
| -class CStreamSwitch;
|
| -
|
| -const UInt32 kHeaderSize = 32;
|
| -
|
| -class CInArchive
|
| -{
|
| - friend class CStreamSwitch;
|
| -
|
| - CMyComPtr<IInStream> _stream;
|
| -
|
| - CObjectVector<CInByte2> _inByteVector;
|
| - CInByte2 *_inByteBack;
|
| -
|
| - UInt64 _arhiveBeginStreamPosition;
|
| -
|
| - Byte _header[kHeaderSize];
|
| -
|
| - UInt64 HeadersSize;
|
| -
|
| - void AddByteStream(const Byte *buffer, size_t size)
|
| - {
|
| - _inByteVector.Add(CInByte2());
|
| - _inByteBack = &_inByteVector.Back();
|
| - _inByteBack->Init(buffer, size);
|
| - }
|
| -
|
| - void DeleteByteStream()
|
| - {
|
| - _inByteVector.DeleteBack();
|
| - if (!_inByteVector.IsEmpty())
|
| - _inByteBack = &_inByteVector.Back();
|
| - }
|
| -
|
| -private:
|
| - HRESULT FindAndReadSignature(IInStream *stream, const UInt64 *searchHeaderSizeLimit);
|
| -
|
| - void ReadBytes(Byte *data, size_t size) { _inByteBack->ReadBytes(data, size); }
|
| - Byte ReadByte() { return _inByteBack->ReadByte(); }
|
| - UInt64 ReadNumber() { return _inByteBack->ReadNumber(); }
|
| - CNum ReadNum() { return _inByteBack->ReadNum(); }
|
| - UInt64 ReadID() { return _inByteBack->ReadNumber(); }
|
| - UInt32 ReadUInt32() { return _inByteBack->ReadUInt32(); }
|
| - UInt64 ReadUInt64() { return _inByteBack->ReadUInt64(); }
|
| - void SkeepData(UInt64 size) { _inByteBack->SkeepData(size); }
|
| - void SkeepData() { _inByteBack->SkeepData(); }
|
| - void WaitAttribute(UInt64 attribute);
|
| -
|
| - void ReadArchiveProperties(CInArchiveInfo &archiveInfo);
|
| - void GetNextFolderItem(CFolder &itemInfo);
|
| - void ReadHashDigests(int numItems,
|
| - CBoolVector &digestsDefined, CRecordVector<UInt32> &digests);
|
| -
|
| - void ReadPackInfo(
|
| - UInt64 &dataOffset,
|
| - CRecordVector<UInt64> &packSizes,
|
| - CBoolVector &packCRCsDefined,
|
| - CRecordVector<UInt32> &packCRCs);
|
| -
|
| - void ReadUnpackInfo(
|
| - const CObjectVector<CByteBuffer> *dataVector,
|
| - CObjectVector<CFolder> &folders);
|
| -
|
| - void ReadSubStreamsInfo(
|
| - const CObjectVector<CFolder> &folders,
|
| - CRecordVector<CNum> &numUnpackStreamsInFolders,
|
| - CRecordVector<UInt64> &unpackSizes,
|
| - CBoolVector &digestsDefined,
|
| - CRecordVector<UInt32> &digests);
|
| -
|
| - void ReadStreamsInfo(
|
| - const CObjectVector<CByteBuffer> *dataVector,
|
| - UInt64 &dataOffset,
|
| - CRecordVector<UInt64> &packSizes,
|
| - CBoolVector &packCRCsDefined,
|
| - CRecordVector<UInt32> &packCRCs,
|
| - CObjectVector<CFolder> &folders,
|
| - CRecordVector<CNum> &numUnpackStreamsInFolders,
|
| - CRecordVector<UInt64> &unpackSizes,
|
| - CBoolVector &digestsDefined,
|
| - CRecordVector<UInt32> &digests);
|
| -
|
| -
|
| - void ReadBoolVector(int numItems, CBoolVector &v);
|
| - void ReadBoolVector2(int numItems, CBoolVector &v);
|
| - void ReadUInt64DefVector(const CObjectVector<CByteBuffer> &dataVector,
|
| - CUInt64DefVector &v, int numFiles);
|
| - HRESULT ReadAndDecodePackedStreams(
|
| - DECL_EXTERNAL_CODECS_LOC_VARS
|
| - UInt64 baseOffset, UInt64 &dataOffset,
|
| - CObjectVector<CByteBuffer> &dataVector
|
| - #ifndef _NO_CRYPTO
|
| - , ICryptoGetTextPassword *getTextPassword, bool &passwordIsDefined
|
| - #endif
|
| - );
|
| - HRESULT ReadHeader(
|
| - DECL_EXTERNAL_CODECS_LOC_VARS
|
| - CArchiveDatabaseEx &db
|
| - #ifndef _NO_CRYPTO
|
| - ,ICryptoGetTextPassword *getTextPassword, bool &passwordIsDefined
|
| - #endif
|
| - );
|
| - HRESULT ReadDatabase2(
|
| - DECL_EXTERNAL_CODECS_LOC_VARS
|
| - CArchiveDatabaseEx &db
|
| - #ifndef _NO_CRYPTO
|
| - ,ICryptoGetTextPassword *getTextPassword, bool &passwordIsDefined
|
| - #endif
|
| - );
|
| -public:
|
| - HRESULT Open(IInStream *stream, const UInt64 *searchHeaderSizeLimit); // S_FALSE means is not archive
|
| - void Close();
|
| -
|
| - HRESULT ReadDatabase(
|
| - DECL_EXTERNAL_CODECS_LOC_VARS
|
| - CArchiveDatabaseEx &db
|
| - #ifndef _NO_CRYPTO
|
| - ,ICryptoGetTextPassword *getTextPassword, bool &passwordIsDefined
|
| - #endif
|
| - );
|
| -};
|
| -
|
| -}}
|
| -
|
| -#endif
|
|
|