2 2017-04-03 : Igor Pavlov : Public domain */
8 #define USE_WINDOWS_FILE
11 #ifdef USE_WINDOWS_FILE
21 /* ---------- File ---------- */
25 #ifdef USE_WINDOWS_FILE
32 void File_Construct(CSzFile
*p
);
33 #if !defined(UNDER_CE) || !defined(USE_WINDOWS_FILE)
34 WRes
InFile_Open(CSzFile
*p
, const char *name
);
35 WRes
OutFile_Open(CSzFile
*p
, const char *name
);
37 #ifdef USE_WINDOWS_FILE
38 WRes
InFile_OpenW(CSzFile
*p
, const WCHAR
*name
);
39 WRes
OutFile_OpenW(CSzFile
*p
, const WCHAR
*name
);
41 WRes
File_Close(CSzFile
*p
);
43 /* reads max(*size, remain file's size) bytes */
44 WRes
File_Read(CSzFile
*p
, void *data
, size_t *size
);
46 /* writes *size bytes */
47 WRes
File_Write(CSzFile
*p
, const void *data
, size_t *size
);
49 WRes
File_Seek(CSzFile
*p
, Int64
*pos
, ESzSeek origin
);
50 WRes
File_GetLength(CSzFile
*p
, UInt64
*length
);
53 /* ---------- FileInStream ---------- */
61 void FileSeqInStream_CreateVTable(CFileSeqInStream
*p
);
70 void FileInStream_CreateVTable(CFileInStream
*p
);
79 void FileOutStream_CreateVTable(CFileOutStream
*p
);