Annotation of elwix/tools/oldlzma/SRC/7zip/ICoder.h, revision 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>