1// IMatchFinder.cs
2
3using System;
4
5namespace SevenZip.Compression.LZ
6{
7	interface IInWindowStream
8	{
9		void SetStream(System.IO.Stream inStream);
10		void Init();
11		void ReleaseStream();
12		Byte GetIndexByte(Int32 index);
13		UInt32 GetMatchLen(Int32 index, UInt32 distance, UInt32 limit);
14		UInt32 GetNumAvailableBytes();
15	}
16
17	interface IMatchFinder : IInWindowStream
18	{
19		void Create(UInt32 historySize, UInt32 keepAddBufferBefore,
20				UInt32 matchMaxLen, UInt32 keepAddBufferAfter);
21		UInt32 GetMatches(UInt32[] distances);
22		void Skip(UInt32 num);
23	}
24}
25