Annotation of elwix/tools/oldlzma/SRC/7zip/Compress/LZ/IMatchFinder.h, revision 1.1.1.1
1.1 misho 1: // MatchFinders/IMatchFinder.h
2:
3: #ifndef __IMATCHFINDER_H
4: #define __IMATCHFINDER_H
5:
6: // {23170F69-40C1-278A-0000-000200010000}
7: DEFINE_GUID(IID_IInWindowStream,
8: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00);
9: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200010000")
10: IInWindowStream: public IUnknown
11: {
12: STDMETHOD(Init)(ISequentialInStream *inStream) PURE;
13: STDMETHOD_(void, ReleaseStream)() PURE;
14: STDMETHOD(MovePos)() PURE;
15: STDMETHOD_(Byte, GetIndexByte)(Int32 index) PURE;
16: STDMETHOD_(UInt32, GetMatchLen)(Int32 index, UInt32 distance, UInt32 limit) PURE;
17: STDMETHOD_(UInt32, GetNumAvailableBytes)() PURE;
18: STDMETHOD_(const Byte *, GetPointerToCurrentPos)() PURE;
19: };
20:
21: // {23170F69-40C1-278A-0000-000200020000}
22: DEFINE_GUID(IID_IMatchFinder,
23: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x00);
24: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200020000")
25: IMatchFinder: public IInWindowStream
26: {
27: STDMETHOD(Create)(UInt32 historySize, UInt32 keepAddBufferBefore,
28: UInt32 matchMaxLen, UInt32 keepAddBufferAfter) PURE;
29: STDMETHOD_(UInt32, GetLongestMatch)(UInt32 *distances) PURE;
30: STDMETHOD_(void, DummyLongestMatch)() PURE;
31: };
32:
33: // {23170F69-40C1-278A-0000-000200020100}
34: DEFINE_GUID(IID_IMatchFinderCallback,
35: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00);
36: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200020100")
37: IMatchFinderCallback: public IUnknown
38: {
39: STDMETHOD(BeforeChangingBufferPos)() PURE;
40: STDMETHOD(AfterChangingBufferPos)() PURE;
41: };
42:
43: // {23170F69-40C1-278A-0000-000200020200}
44: DEFINE_GUID(IID_IMatchFinderSetCallback,
45: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x02, 0x00);
46: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200020200")
47: IMatchFinderSetCallback: public IUnknown
48: {
49: STDMETHOD(SetCallback)(IMatchFinderCallback *callback) PURE;
50: };
51:
52: /*
53: // {23170F69-40C1-278A-0000-000200030000}
54: DEFINE_GUID(IID_IInitMatchFinder,
55: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03, 0x00, 0x00);
56: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200030000")
57: IMatchFinderInit: public IUnknown
58: {
59: STDMETHOD(InitMatchFinder)(IMatchFinder *matchFinder) PURE;
60: };
61: */
62:
63: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>