40 lines
1.4 KiB
C#
40 lines
1.4 KiB
C#
![]() |
/* This file is part of SevenZipSharp.
|
||
|
|
||
|
SevenZipSharp 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 3 of the License, or
|
||
|
(at your option) any later version.
|
||
|
|
||
|
SevenZipSharp 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 SevenZipSharp. If not, see <http://www.gnu.org/licenses/>.
|
||
|
*/
|
||
|
|
||
|
using System;
|
||
|
using System.IO;
|
||
|
|
||
|
namespace SevenZip.Sdk.Compression.LZ
|
||
|
{
|
||
|
internal interface IInWindowStream
|
||
|
{
|
||
|
void SetStream(Stream inStream);
|
||
|
void Init();
|
||
|
void ReleaseStream();
|
||
|
Byte GetIndexByte(Int32 index);
|
||
|
UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit);
|
||
|
UInt32 GetNumAvailableBytes();
|
||
|
}
|
||
|
|
||
|
internal interface IMatchFinder : IInWindowStream
|
||
|
{
|
||
|
void Create(UInt32 historySize, UInt32 keepAddBufferBefore,
|
||
|
UInt32 matchMaxLen, UInt32 keepAddBufferAfter);
|
||
|
|
||
|
UInt32 GetMatches(UInt32[] distances);
|
||
|
void Skip(UInt32 num);
|
||
|
}
|
||
|
}
|