drop svn:externals in the tree and add it locally.
[coreboot.git] / payloads / bayou / util / pbuilder / lzma / C / 7zip / Compress / LZ / IMatchFinder.h
diff --git a/payloads/bayou/util/pbuilder/lzma/C/7zip/Compress/LZ/IMatchFinder.h b/payloads/bayou/util/pbuilder/lzma/C/7zip/Compress/LZ/IMatchFinder.h
new file mode 100644 (file)
index 0000000..4bbc14f
--- /dev/null
@@ -0,0 +1,33 @@
+// MatchFinders/IMatchFinder.h\r
+\r
+#ifndef __IMATCHFINDER_H\r
+#define __IMATCHFINDER_H\r
+\r
+struct IInWindowStream: public IUnknown\r
+{\r
+  STDMETHOD(SetStream)(ISequentialInStream *inStream) PURE;\r
+  STDMETHOD_(void, ReleaseStream)() PURE;\r
+  STDMETHOD(Init)() PURE;\r
+  STDMETHOD_(Byte, GetIndexByte)(Int32 index) PURE;\r
+  STDMETHOD_(UInt32, GetMatchLen)(Int32 index, UInt32 distance, UInt32 limit) PURE;\r
+  STDMETHOD_(UInt32, GetNumAvailableBytes)() PURE;\r
+  STDMETHOD_(const Byte *, GetPointerToCurrentPos)() PURE;\r
+  STDMETHOD_(Int32, NeedChangeBufferPos)(UInt32 numCheckBytes) PURE;\r
+  STDMETHOD_(void, ChangeBufferPos)() PURE;\r
+};\r
\r
+struct IMatchFinder: public IInWindowStream\r
+{\r
+  STDMETHOD(Create)(UInt32 historySize, UInt32 keepAddBufferBefore, \r
+      UInt32 matchMaxLen, UInt32 keepAddBufferAfter) PURE;\r
+  STDMETHOD(GetMatches)(UInt32 *distances) PURE;\r
+  STDMETHOD(Skip)(UInt32 num) PURE;\r
+};\r
+\r
+struct IMatchFinderSetNumPasses\r
+{\r
+  //virtual ~IMatchFinderSetNumPasses(){}\r
+  virtual void SetNumPasses(UInt32 numPasses) PURE;\r
+};\r
+\r
+#endif\r