summaryrefslogtreecommitdiffstats
path: root/src/libs/7zip/win/CPP/7zip/IStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/7zip/win/CPP/7zip/IStream.h')
-rw-r--r--src/libs/7zip/win/CPP/7zip/IStream.h127
1 files changed, 0 insertions, 127 deletions
diff --git a/src/libs/7zip/win/CPP/7zip/IStream.h b/src/libs/7zip/win/CPP/7zip/IStream.h
deleted file mode 100644
index 48643e7b3..000000000
--- a/src/libs/7zip/win/CPP/7zip/IStream.h
+++ /dev/null
@@ -1,127 +0,0 @@
-// IStream.h
-
-#ifndef __ISTREAM_H
-#define __ISTREAM_H
-
-#include "../Common/MyTypes.h"
-#include "../Common/MyUnknown.h"
-
-#include "IDecl.h"
-
-#define STREAM_INTERFACE_SUB(i, base, x) DECL_INTERFACE_SUB(i, base, 3, x)
-#define STREAM_INTERFACE(i, x) STREAM_INTERFACE_SUB(i, IUnknown, x)
-
-STREAM_INTERFACE(ISequentialInStream, 0x01)
-{
- STDMETHOD(Read)(void *data, UInt32 size, UInt32 *processedSize) PURE;
-
- /*
- The requirement for caller: (processedSize != NULL).
- The callee can allow (processedSize == NULL) for compatibility reasons.
-
- if (size == 0), this function returns S_OK and (*processedSize) is set to 0.
-
- if (size != 0)
- {
- Partial read is allowed: (*processedSize <= avail_size && *processedSize <= size),
- where (avail_size) is the size of remaining bytes in stream.
- If (avail_size != 0), this function must read at least 1 byte: (*processedSize > 0).
- You must call Read() in loop, if you need to read exact amount of data.
- }
-
- If seek pointer before Read() call was changed to position past the end of stream:
- if (seek_pointer >= stream_size), this function returns S_OK and (*processedSize) is set to 0.
-
- ERROR CASES:
- If the function returns error code, then (*processedSize) is size of
- data written to (data) buffer (it can be data before error or data with errors).
- The recommended way for callee to work with reading errors:
- 1) write part of data before error to (data) buffer and return S_OK.
- 2) return error code for further calls of Read().
- */
-};
-
-STREAM_INTERFACE(ISequentialOutStream, 0x02)
-{
- STDMETHOD(Write)(const void *data, UInt32 size, UInt32 *processedSize) PURE;
-
- /*
- The requirement for caller: (processedSize != NULL).
- The callee can allow (processedSize == NULL) for compatibility reasons.
-
- if (size != 0)
- {
- Partial write is allowed: (*processedSize <= size),
- but this function must write at least 1 byte: (*processedSize > 0).
- You must call Write() in loop, if you need to write exact amount of data.
- }
-
- ERROR CASES:
- If the function returns error code, then (*processedSize) is size of
- data written from (data) buffer.
- */
-};
-
-#ifdef __HRESULT_FROM_WIN32
-#define HRESULT_WIN32_ERROR_NEGATIVE_SEEK __HRESULT_FROM_WIN32(ERROR_NEGATIVE_SEEK)
-#else
-#define HRESULT_WIN32_ERROR_NEGATIVE_SEEK HRESULT_FROM_WIN32(ERROR_NEGATIVE_SEEK)
-#endif
-
-/* Seek() Function
- If you seek before the beginning of the stream, Seek() function returns error code:
- Recommended error code is __HRESULT_FROM_WIN32(ERROR_NEGATIVE_SEEK).
- or STG_E_INVALIDFUNCTION
-
- It is allowed to seek past the end of the stream.
-
-
- if Seek() returns error, then the value of *newPosition is undefined.
-*/
-
-STREAM_INTERFACE_SUB(IInStream, ISequentialInStream, 0x03)
-{
- STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition) PURE;
-};
-
-STREAM_INTERFACE_SUB(IOutStream, ISequentialOutStream, 0x04)
-{
- STDMETHOD(Seek)(Int64 offset, UInt32 seekOrigin, UInt64 *newPosition) PURE;
- STDMETHOD(SetSize)(UInt64 newSize) PURE;
-};
-
-STREAM_INTERFACE(IStreamGetSize, 0x06)
-{
- STDMETHOD(GetSize)(UInt64 *size) PURE;
-};
-
-STREAM_INTERFACE(IOutStreamFlush, 0x07)
-{
- STDMETHOD(Flush)() PURE;
-};
-
-
-STREAM_INTERFACE(IStreamGetProps, 0x08)
-{
- STDMETHOD(GetProps)(UInt64 *size, FILETIME *cTime, FILETIME *aTime, FILETIME *mTime, UInt32 *attrib) PURE;
-};
-
-struct CStreamFileProps
-{
- UInt64 Size;
- UInt64 VolID;
- UInt64 FileID_Low;
- UInt64 FileID_High;
- UInt32 NumLinks;
- UInt32 Attrib;
- FILETIME CTime;
- FILETIME ATime;
- FILETIME MTime;
-};
-
-STREAM_INTERFACE(IStreamGetProps2, 0x09)
-{
- STDMETHOD(GetProps2)(CStreamFileProps *props) PURE;
-};
-
-#endif