Index: src/libchcore/TLocalFilesystem.h
===================================================================
diff -u -r16df8fcf9d5b3317338aece64762771419beaf4a -r6103ac74583f2136b821dc67515ed8469abd8155
--- src/libchcore/TLocalFilesystem.h	(.../TLocalFilesystem.h)	(revision 16df8fcf9d5b3317338aece64762771419beaf4a)
+++ src/libchcore/TLocalFilesystem.h	(.../TLocalFilesystem.h)	(revision 6103ac74583f2136b821dc67515ed8469abd8155)
@@ -37,6 +37,7 @@
 class TLocalFilesystemFile;
 class TSimpleDataBuffer;
 class TFileTime;
+class TOverlappedDataBuffer;
 
 class LIBCHCORE_API TLocalFilesystem
 {
@@ -108,6 +109,9 @@
 class LIBCHCORE_API TLocalFilesystemFile
 {
 public:
+	static const unsigned int MaxSectorSize = 4096;
+
+public:
 	~TLocalFilesystemFile();
 
 	bool OpenExistingForReading(const TSmartPath& pathFile, bool bNoBuffering);
@@ -117,8 +121,8 @@
 	bool SetFilePointer(long long llNewPos, DWORD dwMoveMethod);
 	bool SetEndOfFile();
 
-	bool ReadFile(TSimpleDataBuffer& rBuffer, DWORD dwToRead, DWORD& rdwBytesRead);
-	bool WriteFile(TSimpleDataBuffer& rBuffer, DWORD dwToWrite, DWORD& rdwBytesWritten);
+	bool ReadFile(TOverlappedDataBuffer& rBuffer);
+	bool WriteFile(TOverlappedDataBuffer& rBuffer);
 
 	bool IsOpen() const { return m_hFile != INVALID_HANDLE_VALUE; }
 	unsigned long long GetFileSize() const;
@@ -131,6 +135,7 @@
 private:
 	TSmartPath m_pathFile;
 	HANDLE m_hFile;
+	bool m_bNoBuffering;
 
 	friend class TLocalFilesystem;
 };