aboutsummaryrefslogtreecommitdiff
path: root/dep/CascLib/src/common/FileStream.h
diff options
context:
space:
mode:
Diffstat (limited to 'dep/CascLib/src/common/FileStream.h')
-rw-r--r--dep/CascLib/src/common/FileStream.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/dep/CascLib/src/common/FileStream.h b/dep/CascLib/src/common/FileStream.h
index acd0683a596..df782200626 100644
--- a/dep/CascLib/src/common/FileStream.h
+++ b/dep/CascLib/src/common/FileStream.h
@@ -16,7 +16,8 @@
#define BASE_PROVIDER_FILE 0x00000000 // Base data source is a file
#define BASE_PROVIDER_MAP 0x00000001 // Base data source is memory-mapped file
-#define BASE_PROVIDER_HTTP 0x00000002 // Base data source is a file on web server
+#define BASE_PROVIDER_HTTP 0x00000002 // Base data source is a file on web server via the HTTP protocol
+#define BASE_PROVIDER_RIBBIT 0x00000003 // Base data source is a file on web server via the Ribbit protocol
#define BASE_PROVIDER_MASK 0x0000000F // Mask for base provider value
#define STREAM_PROVIDER_FLAT 0x00000000 // Stream is linear with no offset mapping
@@ -29,7 +30,6 @@
#define STREAM_FLAG_WRITE_SHARE 0x00000200 // Allow write sharing when open for write
#define STREAM_FLAG_USE_BITMAP 0x00000400 // If the file has a file bitmap, load it and use it
#define STREAM_FLAG_FILL_MISSING 0x00000800 // If less than expected was read from the file, fill the missing part with zeros
-#define STREAM_FLAG_USE_PORT_1119 0x00001000 // For HTTP streams, use port 1119
#define STREAM_OPTIONS_MASK 0x0000FF00 // Mask for stream options
#define STREAM_PROVIDERS_MASK 0x000000FF // Mask to get stream providers
@@ -172,12 +172,13 @@ union TBaseProviderData
struct
{
- ULONGLONG FileSize; // Size of the file
- ULONGLONG FilePos; // Current file position
- ULONGLONG FileTime; // Last write time
- HANDLE hInternet; // Internet handle
- HANDLE hConnect; // Connection to the internet server
- } Http;
+ class CASC_SOCKET * pSocket; // An open socket
+ unsigned char * fileData; // Raw response converted to file data
+ char * hostName; // Name of the remote host
+ char * fileName; // Name of the remote resource
+ size_t fileDataLength; // Length of the file data, in bytes
+ size_t fileDataPos; // Current position in the data
+ } Socket;
};
struct TFileStream
@@ -249,7 +250,7 @@ struct TEncryptedStream : public TBlockStream
// Public functions for file stream
TFileStream * FileStream_CreateFile(LPCTSTR szFileName, DWORD dwStreamFlags);
-TFileStream * FileStream_OpenFile(LPCTSTR szFileName, DWORD dwStreamFlags);
+TFileStream * FileStream_OpenFile(LPCTSTR szFileName, DWORD dwStreamFlags = 0);
LPCTSTR FileStream_GetFileName(TFileStream * pStream);
size_t FileStream_Prefix(LPCTSTR szFileName, DWORD * pdwProvider);