Annotation of elwix/tools/oldlzma/SRC/7zip/ICoder.h, revision 1.1.1.1
1.1 misho 1: // ICoder.h
2:
3: #ifndef __ICODER_H
4: #define __ICODER_H
5:
6: #include "IStream.h"
7:
8: // {23170F69-40C1-278A-0000-000200040000}
9: DEFINE_GUID(IID_ICompressProgressInfo,
10: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x04, 0x00, 0x00);
11: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200040000")
12: ICompressProgressInfo: public IUnknown
13: {
14: STDMETHOD(SetRatioInfo)(const UInt64 *inSize, const UInt64 *outSize) = 0;
15: };
16:
17: // {23170F69-40C1-278A-0000-000200050000}
18: DEFINE_GUID(IID_ICompressCoder,
19: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x05, 0x00, 0x00);
20: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200050000")
21: ICompressCoder: public IUnknown
22: {
23: STDMETHOD(Code)(ISequentialInStream *inStream,
24: ISequentialOutStream *outStream,
25: const UInt64 *inSize,
26: const UInt64 *outSize,
27: ICompressProgressInfo *progress) = 0;
28: };
29:
30: // {23170F69-40C1-278A-0000-000200180000}
31: DEFINE_GUID(IID_ICompressCoder2,
32: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x18, 0x00, 0x00);
33: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200180000")
34: ICompressCoder2: public IUnknown
35: {
36: STDMETHOD(Code)(ISequentialInStream **inStreams,
37: const UInt64 **inSizes,
38: UInt32 numInStreams,
39: ISequentialOutStream **outStreams,
40: const UInt64 **outSizes,
41: UInt32 numOutStreams,
42: ICompressProgressInfo *progress) PURE;
43: };
44:
45: namespace NCoderPropID
46: {
47: enum EEnum
48: {
49: kDictionarySize = 0x400,
50: kUsedMemorySize,
51: kOrder,
52: kPosStateBits = 0x440,
53: kLitContextBits,
54: kLitPosBits,
55: kNumFastBytes = 0x450,
56: kMatchFinder,
57: kNumPasses = 0x460,
58: kAlgorithm = 0x470,
59: kMultiThread = 0x480,
60: kEndMarker = 0x490
61: };
62: }
63:
64: // {23170F69-40C1-278A-0000-000200200000}
65: DEFINE_GUID(IID_ICompressSetCoderProperties,
66: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x20, 0x00, 0x00);
67: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200200000")
68: ICompressSetCoderProperties: public IUnknown
69: {
70: STDMETHOD(SetCoderProperties)(const PROPID *propIDs,
71: const PROPVARIANT *properties, UInt32 numProperties) PURE;
72: };
73:
74: /*
75: // {23170F69-40C1-278A-0000-000200210000}
76: DEFINE_GUID(IID_ICompressSetDecoderProperties,
77: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x21, 0x00, 0x00);
78: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200210000")
79: ICompressSetDecoderProperties: public IUnknown
80: {
81: STDMETHOD(SetDecoderProperties)(ISequentialInStream *inStream) PURE;
82: };
83: */
84:
85: // {23170F69-40C1-278A-0000-000200210200}
86: DEFINE_GUID(IID_ICompressSetDecoderProperties2,
87: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x21, 0x02, 0x00);
88: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200210200")
89: ICompressSetDecoderProperties2: public IUnknown
90: {
91: STDMETHOD(SetDecoderProperties2)(const Byte *data, UInt32 size) PURE;
92: };
93:
94: // {23170F69-40C1-278A-0000-000200230000}
95: DEFINE_GUID(IID_ICompressWriteCoderProperties,
96: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x23, 0x00, 0x00);
97: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200230000")
98: ICompressWriteCoderProperties: public IUnknown
99: {
100: STDMETHOD(WriteCoderProperties)(ISequentialOutStream *outStreams) PURE;
101: };
102:
103: // {23170F69-40C1-278A-0000-000200240000}
104: DEFINE_GUID(IID_ICompressGetInStreamProcessedSize,
105: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x24, 0x00, 0x00);
106: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200240000")
107: ICompressGetInStreamProcessedSize: public IUnknown
108: {
109: STDMETHOD(GetInStreamProcessedSize)(UInt64 *value) PURE;
110: };
111:
112: // {23170F69-40C1-278A-0000-000200250000}
113: DEFINE_GUID(IID_ICompressGetSubStreamSize,
114: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x25, 0x00, 0x00);
115: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200250000")
116: ICompressGetSubStreamSize: public IUnknown
117: {
118: STDMETHOD(GetSubStreamSize)(UInt64 subStream, UInt64 *value) PURE;
119: };
120:
121: // {23170F69-40C1-278A-0000-000200260000}
122: DEFINE_GUID(IID_ICompressSetInStream,
123: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x26, 0x00, 0x00);
124: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200260000")
125: ICompressSetInStream: public IUnknown
126: {
127: STDMETHOD(SetInStream)(ISequentialInStream *inStream) PURE;
128: STDMETHOD(ReleaseInStream)() PURE;
129: };
130:
131: // {23170F69-40C1-278A-0000-000200270000}
132: DEFINE_GUID(IID_ICompressSetOutStream,
133: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x27, 0x00, 0x00);
134: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200270000")
135: ICompressSetOutStream: public IUnknown
136: {
137: STDMETHOD(SetOutStream)(ISequentialOutStream *outStream) PURE;
138: STDMETHOD(ReleaseOutStream)() PURE;
139: };
140:
141: // {23170F69-40C1-278A-0000-000200280000}
142: DEFINE_GUID(IID_ICompressSetInStreamSize,
143: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x28, 0x00, 0x00);
144: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200280000")
145: ICompressSetInStreamSize: public IUnknown
146: {
147: STDMETHOD(SetInStreamSize)(const UInt64 *inSize) PURE;
148: };
149:
150: // {23170F69-40C1-278A-0000-000200290000}
151: DEFINE_GUID(IID_ICompressSetOutStreamSize,
152: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x29, 0x00, 0x00);
153: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200290000")
154: ICompressSetOutStreamSize: public IUnknown
155: {
156: STDMETHOD(SetOutStreamSize)(const UInt64 *outSize) PURE;
157: };
158:
159: // {23170F69-40C1-278A-0000-000200400000}
160: DEFINE_GUID(IID_ICompressFilter,
161: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x40, 0x00, 0x00);
162: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200400000")
163: ICompressFilter: public IUnknown
164: {
165: STDMETHOD(Init)() PURE;
166: STDMETHOD_(UInt32, Filter)(Byte *data, UInt32 size) PURE;
167: // Filter return outSize (UInt32)
168: // if (outSize <= size): Filter have converted outSize bytes
169: // if (outSize > size): Filter have not converted anything.
170: // and it needs at least outSize bytes to convert one block
171: // (it's for crypto block algorithms).
172: };
173:
174: // {23170F69-40C1-278A-0000-000200800000}
175: DEFINE_GUID(IID_ICryptoProperties,
176: 0x23170F69, 0x40C1, 0x278A, 0x00, 0x00, 0x00, 0x02, 0x00, 0x80, 0x00, 0x00);
177: MIDL_INTERFACE("23170F69-40C1-278A-0000-000200800000")
178: ICryptoProperties: public IUnknown
179: {
180: STDMETHOD(SetKey)(const Byte *data, UInt32 size) PURE;
181: STDMETHOD(SetInitVector)(const Byte *data, UInt32 size) PURE;
182: };
183:
184: //////////////////////
185: // It's for DLL file
186: namespace NMethodPropID
187: {
188: enum EEnum
189: {
190: kID,
191: kName,
192: kDecoder,
193: kEncoder,
194: kInStreams,
195: kOutStreams,
196: kDescription
197: };
198: }
199:
200: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>