IMatchFinder.cs 552 B

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