Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
7zFile.h
Go to the documentation of this file.
1/* 7zFile.h -- File IO
22023-03-05 : Igor Pavlov : Public domain */
3
4#ifndef ZIP7_INC_FILE_H
5#define ZIP7_INC_FILE_H
6
7#ifdef _WIN32
8#define USE_WINDOWS_FILE
9// #include <windows.h>
10#endif
11
12#ifdef USE_WINDOWS_FILE
13#include "7zWindows.h"
14
15#else
16// note: USE_FOPEN mode is limited to 32-bit file size
17// #define USE_FOPEN
18// #include <stdio.h>
19#endif
20
21#include "7zTypes.h"
22
24
25/* ---------- File ---------- */
26
27typedef struct
28{
29 #ifdef USE_WINDOWS_FILE
30 HANDLE handle;
31 #elif defined(USE_FOPEN)
32 FILE *file;
33 #else
34 int fd;
35 #endif
36} CSzFile;
37
38void File_Construct(CSzFile *p);
39#if !defined(UNDER_CE) || !defined(USE_WINDOWS_FILE)
40WRes InFile_Open(CSzFile *p, const char *name);
41WRes OutFile_Open(CSzFile *p, const char *name);
42#endif
43#ifdef USE_WINDOWS_FILE
44WRes InFile_OpenW(CSzFile *p, const WCHAR *name);
45WRes OutFile_OpenW(CSzFile *p, const WCHAR *name);
46#endif
48
49/* reads max(*size, remain file's size) bytes */
50WRes File_Read(CSzFile *p, void *data, size_t *size);
51
52/* writes *size bytes */
53WRes File_Write(CSzFile *p, const void *data, size_t *size);
54
55WRes File_Seek(CSzFile *p, Int64 *pos, ESzSeek origin);
57
58
59/* ---------- FileInStream ---------- */
60
61typedef struct
62{
63 ISeqInStream vt;
65 WRes wres;
67
69
70
71typedef struct
72{
75 WRes wres;
77
79
80
81typedef struct
82{
85 WRes wres;
87
89
91
92#endif
void FileInStream_CreateVTable(CFileInStream *p)
Definition 7zFile.c:494
void File_Construct(CSzFile *p)
Definition 7zFile.c:106
WRes File_GetLength(CSzFile *p, UInt64 *length)
Definition 7zFile.c:415
WRes File_Write(CSzFile *p, const void *data, size_t *size)
Definition 7zFile.c:292
void FileSeqInStream_CreateVTable(CFileSeqInStream *p)
Definition 7zFile.c:470
WRes File_Seek(CSzFile *p, Int64 *pos, ESzSeek origin)
Definition 7zFile.c:354
void FileOutStream_CreateVTable(CFileOutStream *p)
Definition 7zFile.c:511
WRes InFile_Open(CSzFile *p, const char *name)
Definition 7zFile.c:152
WRes File_Close(CSzFile *p)
Definition 7zFile.c:186
WRes File_Read(CSzFile *p, void *data, size_t *size)
Definition 7zFile.c:226
WRes OutFile_Open(CSzFile *p, const char *name)
Definition 7zFile.c:158
int WRes
Definition 7zTypes.h:75
#define EXTERN_C_BEGIN
Definition 7zTypes.h:20
unsigned long long int UInt64
Definition 7zTypes.h:234
ESzSeek
Definition 7zTypes.h:365
#define EXTERN_C_END
Definition 7zTypes.h:21
long long int Int64
Definition 7zTypes.h:233
file
Definition check_size.py:20
Definition 7zFile.h:72
Definition 7zFile.h:82
Definition 7zFile.h:62
Definition 7zFile.h:28
Definition 7zTypes.h:203
Definition 7zTypes.h:171
Definition 7zTypes.h:186
Definition poolTests.c:28
size_t size
Definition platform.h:559
char name[NAME_LEN_MAX+1]
Name of the filter.
Definition string_conversion.c:450