Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/ClusterM/hakchi2.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'SevenZip/sdk/Compress/LZ/IMatchFinder.cs')
-rw-r--r--SevenZip/sdk/Compress/LZ/IMatchFinder.cs40
1 files changed, 40 insertions, 0 deletions
diff --git a/SevenZip/sdk/Compress/LZ/IMatchFinder.cs b/SevenZip/sdk/Compress/LZ/IMatchFinder.cs
new file mode 100644
index 00000000..d7a792c9
--- /dev/null
+++ b/SevenZip/sdk/Compress/LZ/IMatchFinder.cs
@@ -0,0 +1,40 @@
+/* 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);
+ }
+} \ No newline at end of file