1 /* 7zFile.h -- File IO
\r
2 2013-01-18 : Igor Pavlov : Public domain */
\r
8 #define USE_WINDOWS_FILE
\r
11 #ifdef USE_WINDOWS_FILE
\r
12 #include <windows.h>
\r
17 #include "7zTypes.h"
\r
21 /* ---------- File ---------- */
\r
25 #ifdef USE_WINDOWS_FILE
\r
32 void File_Construct(CSzFile *p);
\r
33 #if !defined(UNDER_CE) || !defined(USE_WINDOWS_FILE)
\r
34 WRes InFile_Open(CSzFile *p, const char *name);
\r
35 WRes OutFile_Open(CSzFile *p, const char *name);
\r
37 #ifdef USE_WINDOWS_FILE
\r
38 WRes InFile_OpenW(CSzFile *p, const WCHAR *name);
\r
39 WRes OutFile_OpenW(CSzFile *p, const WCHAR *name);
\r
41 WRes File_Close(CSzFile *p);
\r
43 /* reads max(*size, remain file's size) bytes */
\r
44 WRes File_Read(CSzFile *p, void *data, size_t *size);
\r
46 /* writes *size bytes */
\r
47 WRes File_Write(CSzFile *p, const void *data, size_t *size);
\r
49 WRes File_Seek(CSzFile *p, Int64 *pos, ESzSeek origin);
\r
50 WRes File_GetLength(CSzFile *p, UInt64 *length);
\r
53 /* ---------- FileInStream ---------- */
\r
61 void FileSeqInStream_CreateVTable(CFileSeqInStream *p);
\r
70 void FileInStream_CreateVTable(CFileInStream *p);
\r
79 void FileOutStream_CreateVTable(CFileOutStream *p);
\r