fast_excel 0.1.4 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +5 -2
- data/Makefile +14 -0
- data/README.md +7 -2
- data/Rakefile +10 -0
- data/extconf.rb +0 -0
- data/fast_excel.gemspec +3 -1
- data/lib/fast_excel/binding.rb +3 -7
- data/lib/rubygems_plugin.rb +3 -0
- data/libxlsxwriter/.gitignore +49 -0
- data/libxlsxwriter/.indent.pro +125 -0
- data/libxlsxwriter/.travis.yml +25 -0
- data/libxlsxwriter/CONTRIBUTING.md +226 -0
- data/libxlsxwriter/Changes.txt +557 -0
- data/libxlsxwriter/LICENSE.txt +89 -0
- data/libxlsxwriter/Makefile +156 -0
- data/libxlsxwriter/Readme.md +78 -0
- data/libxlsxwriter/cocoapods/libxlsxwriter-umbrella.h +30 -0
- data/libxlsxwriter/cocoapods/libxlsxwriter.modulemap +7 -0
- data/libxlsxwriter/include/xlsxwriter/app.h +79 -0
- data/libxlsxwriter/include/xlsxwriter/chart.h +3476 -0
- data/libxlsxwriter/include/xlsxwriter/common.h +372 -0
- data/libxlsxwriter/include/xlsxwriter/content_types.h +74 -0
- data/libxlsxwriter/include/xlsxwriter/core.h +51 -0
- data/libxlsxwriter/include/xlsxwriter/custom.h +52 -0
- data/libxlsxwriter/include/xlsxwriter/drawing.h +111 -0
- data/libxlsxwriter/include/xlsxwriter/format.h +1214 -0
- data/libxlsxwriter/include/xlsxwriter/hash_table.h +76 -0
- data/libxlsxwriter/include/xlsxwriter/packager.h +80 -0
- data/libxlsxwriter/include/xlsxwriter/relationships.h +77 -0
- data/libxlsxwriter/include/xlsxwriter/shared_strings.h +83 -0
- data/libxlsxwriter/include/xlsxwriter/styles.h +77 -0
- data/libxlsxwriter/include/xlsxwriter/theme.h +47 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/ioapi.h +214 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/queue.h +694 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/tmpfileplus.h +53 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/tree.h +801 -0
- data/libxlsxwriter/include/xlsxwriter/third_party/zip.h +375 -0
- data/libxlsxwriter/include/xlsxwriter/utility.h +166 -0
- data/libxlsxwriter/include/xlsxwriter/workbook.h +757 -0
- data/libxlsxwriter/include/xlsxwriter/worksheet.h +2641 -0
- data/libxlsxwriter/include/xlsxwriter/xmlwriter.h +178 -0
- data/libxlsxwriter/include/xlsxwriter.h +23 -0
- data/libxlsxwriter/lib/.gitignore +0 -0
- data/libxlsxwriter/libxlsxwriter.podspec +47 -0
- data/libxlsxwriter/src/Makefile +130 -0
- data/libxlsxwriter/src/app.c +443 -0
- data/libxlsxwriter/src/chart.c +6346 -0
- data/libxlsxwriter/src/content_types.c +345 -0
- data/libxlsxwriter/src/core.c +293 -0
- data/libxlsxwriter/src/custom.c +224 -0
- data/libxlsxwriter/src/drawing.c +746 -0
- data/libxlsxwriter/src/format.c +729 -0
- data/libxlsxwriter/src/hash_table.c +223 -0
- data/libxlsxwriter/src/packager.c +948 -0
- data/libxlsxwriter/src/relationships.c +245 -0
- data/libxlsxwriter/src/shared_strings.c +266 -0
- data/libxlsxwriter/src/styles.c +1088 -0
- data/libxlsxwriter/src/theme.c +348 -0
- data/libxlsxwriter/src/utility.c +515 -0
- data/libxlsxwriter/src/workbook.c +1930 -0
- data/libxlsxwriter/src/worksheet.c +5022 -0
- data/libxlsxwriter/src/xmlwriter.c +355 -0
- data/libxlsxwriter/third_party/minizip/Makefile +44 -0
- data/libxlsxwriter/third_party/minizip/Makefile.am +45 -0
- data/libxlsxwriter/third_party/minizip/Makefile.orig +25 -0
- data/libxlsxwriter/third_party/minizip/MiniZip64_Changes.txt +6 -0
- data/libxlsxwriter/third_party/minizip/MiniZip64_info.txt +74 -0
- data/libxlsxwriter/third_party/minizip/README.txt +5 -0
- data/libxlsxwriter/third_party/minizip/configure.ac +32 -0
- data/libxlsxwriter/third_party/minizip/crypt.h +131 -0
- data/libxlsxwriter/third_party/minizip/ioapi.c +247 -0
- data/libxlsxwriter/third_party/minizip/ioapi.h +208 -0
- data/libxlsxwriter/third_party/minizip/iowin32.c +456 -0
- data/libxlsxwriter/third_party/minizip/iowin32.h +28 -0
- data/libxlsxwriter/third_party/minizip/make_vms.com +25 -0
- data/libxlsxwriter/third_party/minizip/miniunz.c +660 -0
- data/libxlsxwriter/third_party/minizip/miniunzip.1 +63 -0
- data/libxlsxwriter/third_party/minizip/minizip.1 +46 -0
- data/libxlsxwriter/third_party/minizip/minizip.c +520 -0
- data/libxlsxwriter/third_party/minizip/minizip.pc.in +12 -0
- data/libxlsxwriter/third_party/minizip/mztools.c +291 -0
- data/libxlsxwriter/third_party/minizip/mztools.h +37 -0
- data/libxlsxwriter/third_party/minizip/unzip.c +2125 -0
- data/libxlsxwriter/third_party/minizip/unzip.h +437 -0
- data/libxlsxwriter/third_party/minizip/zip.c +2007 -0
- data/libxlsxwriter/third_party/minizip/zip.h +367 -0
- data/libxlsxwriter/third_party/tmpfileplus/Makefile +42 -0
- data/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.c +342 -0
- data/libxlsxwriter/third_party/tmpfileplus/tmpfileplus.h +53 -0
- data/libxlsxwriter/version.txt +1 -0
- metadata +89 -6
- data/binaries/libxlsxwriter-alpine.so +0 -0
- data/binaries/libxlsxwriter-darwin.dylib +0 -0
- data/binaries/libxlsxwriter-glibc.so +0 -0
@@ -0,0 +1,437 @@
|
|
1
|
+
/* unzip.h -- IO for uncompress .zip files using zlib
|
2
|
+
Version 1.1, February 14h, 2010
|
3
|
+
part of the MiniZip project - ( http://www.winimage.com/zLibDll/minizip.html )
|
4
|
+
|
5
|
+
Copyright (C) 1998-2010 Gilles Vollant (minizip) ( http://www.winimage.com/zLibDll/minizip.html )
|
6
|
+
|
7
|
+
Modifications of Unzip for Zip64
|
8
|
+
Copyright (C) 2007-2008 Even Rouault
|
9
|
+
|
10
|
+
Modifications for Zip64 support on both zip and unzip
|
11
|
+
Copyright (C) 2009-2010 Mathias Svensson ( http://result42.com )
|
12
|
+
|
13
|
+
For more info read MiniZip_info.txt
|
14
|
+
|
15
|
+
---------------------------------------------------------------------------------
|
16
|
+
|
17
|
+
Condition of use and distribution are the same than zlib :
|
18
|
+
|
19
|
+
This software is provided 'as-is', without any express or implied
|
20
|
+
warranty. In no event will the authors be held liable for any damages
|
21
|
+
arising from the use of this software.
|
22
|
+
|
23
|
+
Permission is granted to anyone to use this software for any purpose,
|
24
|
+
including commercial applications, and to alter it and redistribute it
|
25
|
+
freely, subject to the following restrictions:
|
26
|
+
|
27
|
+
1. The origin of this software must not be misrepresented; you must not
|
28
|
+
claim that you wrote the original software. If you use this software
|
29
|
+
in a product, an acknowledgment in the product documentation would be
|
30
|
+
appreciated but is not required.
|
31
|
+
2. Altered source versions must be plainly marked as such, and must not be
|
32
|
+
misrepresented as being the original software.
|
33
|
+
3. This notice may not be removed or altered from any source distribution.
|
34
|
+
|
35
|
+
---------------------------------------------------------------------------------
|
36
|
+
|
37
|
+
Changes
|
38
|
+
|
39
|
+
See header of unzip64.c
|
40
|
+
|
41
|
+
*/
|
42
|
+
|
43
|
+
#ifndef _unz64_H
|
44
|
+
#define _unz64_H
|
45
|
+
|
46
|
+
#ifdef __cplusplus
|
47
|
+
extern "C" {
|
48
|
+
#endif
|
49
|
+
|
50
|
+
#ifndef _ZLIB_H
|
51
|
+
#include "zlib.h"
|
52
|
+
#endif
|
53
|
+
|
54
|
+
#ifndef _ZLIBIOAPI_H
|
55
|
+
#include "ioapi.h"
|
56
|
+
#endif
|
57
|
+
|
58
|
+
#ifdef HAVE_BZIP2
|
59
|
+
#include "bzlib.h"
|
60
|
+
#endif
|
61
|
+
|
62
|
+
#define Z_BZIP2ED 12
|
63
|
+
|
64
|
+
#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP)
|
65
|
+
/* like the STRICT of WIN32, we define a pointer that cannot be converted
|
66
|
+
from (void*) without cast */
|
67
|
+
typedef struct TagunzFile__ { int unused; } unzFile__;
|
68
|
+
typedef unzFile__ *unzFile;
|
69
|
+
#else
|
70
|
+
typedef voidp unzFile;
|
71
|
+
#endif
|
72
|
+
|
73
|
+
|
74
|
+
#define UNZ_OK (0)
|
75
|
+
#define UNZ_END_OF_LIST_OF_FILE (-100)
|
76
|
+
#define UNZ_ERRNO (Z_ERRNO)
|
77
|
+
#define UNZ_EOF (0)
|
78
|
+
#define UNZ_PARAMERROR (-102)
|
79
|
+
#define UNZ_BADZIPFILE (-103)
|
80
|
+
#define UNZ_INTERNALERROR (-104)
|
81
|
+
#define UNZ_CRCERROR (-105)
|
82
|
+
|
83
|
+
/* tm_unz contain date/time info */
|
84
|
+
typedef struct tm_unz_s
|
85
|
+
{
|
86
|
+
uInt tm_sec; /* seconds after the minute - [0,59] */
|
87
|
+
uInt tm_min; /* minutes after the hour - [0,59] */
|
88
|
+
uInt tm_hour; /* hours since midnight - [0,23] */
|
89
|
+
uInt tm_mday; /* day of the month - [1,31] */
|
90
|
+
uInt tm_mon; /* months since January - [0,11] */
|
91
|
+
uInt tm_year; /* years - [1980..2044] */
|
92
|
+
} tm_unz;
|
93
|
+
|
94
|
+
/* unz_global_info structure contain global data about the ZIPfile
|
95
|
+
These data comes from the end of central dir */
|
96
|
+
typedef struct unz_global_info64_s
|
97
|
+
{
|
98
|
+
ZPOS64_T number_entry; /* total number of entries in
|
99
|
+
the central dir on this disk */
|
100
|
+
uLong size_comment; /* size of the global comment of the zipfile */
|
101
|
+
} unz_global_info64;
|
102
|
+
|
103
|
+
typedef struct unz_global_info_s
|
104
|
+
{
|
105
|
+
uLong number_entry; /* total number of entries in
|
106
|
+
the central dir on this disk */
|
107
|
+
uLong size_comment; /* size of the global comment of the zipfile */
|
108
|
+
} unz_global_info;
|
109
|
+
|
110
|
+
/* unz_file_info contain information about a file in the zipfile */
|
111
|
+
typedef struct unz_file_info64_s
|
112
|
+
{
|
113
|
+
uLong version; /* version made by 2 bytes */
|
114
|
+
uLong version_needed; /* version needed to extract 2 bytes */
|
115
|
+
uLong flag; /* general purpose bit flag 2 bytes */
|
116
|
+
uLong compression_method; /* compression method 2 bytes */
|
117
|
+
uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
|
118
|
+
uLong crc; /* crc-32 4 bytes */
|
119
|
+
ZPOS64_T compressed_size; /* compressed size 8 bytes */
|
120
|
+
ZPOS64_T uncompressed_size; /* uncompressed size 8 bytes */
|
121
|
+
uLong size_filename; /* filename length 2 bytes */
|
122
|
+
uLong size_file_extra; /* extra field length 2 bytes */
|
123
|
+
uLong size_file_comment; /* file comment length 2 bytes */
|
124
|
+
|
125
|
+
uLong disk_num_start; /* disk number start 2 bytes */
|
126
|
+
uLong internal_fa; /* internal file attributes 2 bytes */
|
127
|
+
uLong external_fa; /* external file attributes 4 bytes */
|
128
|
+
|
129
|
+
tm_unz tmu_date;
|
130
|
+
} unz_file_info64;
|
131
|
+
|
132
|
+
typedef struct unz_file_info_s
|
133
|
+
{
|
134
|
+
uLong version; /* version made by 2 bytes */
|
135
|
+
uLong version_needed; /* version needed to extract 2 bytes */
|
136
|
+
uLong flag; /* general purpose bit flag 2 bytes */
|
137
|
+
uLong compression_method; /* compression method 2 bytes */
|
138
|
+
uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
|
139
|
+
uLong crc; /* crc-32 4 bytes */
|
140
|
+
uLong compressed_size; /* compressed size 4 bytes */
|
141
|
+
uLong uncompressed_size; /* uncompressed size 4 bytes */
|
142
|
+
uLong size_filename; /* filename length 2 bytes */
|
143
|
+
uLong size_file_extra; /* extra field length 2 bytes */
|
144
|
+
uLong size_file_comment; /* file comment length 2 bytes */
|
145
|
+
|
146
|
+
uLong disk_num_start; /* disk number start 2 bytes */
|
147
|
+
uLong internal_fa; /* internal file attributes 2 bytes */
|
148
|
+
uLong external_fa; /* external file attributes 4 bytes */
|
149
|
+
|
150
|
+
tm_unz tmu_date;
|
151
|
+
} unz_file_info;
|
152
|
+
|
153
|
+
extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1,
|
154
|
+
const char* fileName2,
|
155
|
+
int iCaseSensitivity));
|
156
|
+
/*
|
157
|
+
Compare two filename (fileName1,fileName2).
|
158
|
+
If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
|
159
|
+
If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
|
160
|
+
or strcasecmp)
|
161
|
+
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
|
162
|
+
(like 1 on Unix, 2 on Windows)
|
163
|
+
*/
|
164
|
+
|
165
|
+
|
166
|
+
extern unzFile ZEXPORT unzOpen OF((const char *path));
|
167
|
+
extern unzFile ZEXPORT unzOpen64 OF((const void *path));
|
168
|
+
/*
|
169
|
+
Open a Zip file. path contain the full pathname (by example,
|
170
|
+
on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer
|
171
|
+
"zlib/zlib113.zip".
|
172
|
+
If the zipfile cannot be opened (file don't exist or in not valid), the
|
173
|
+
return value is NULL.
|
174
|
+
Else, the return value is a unzFile Handle, usable with other function
|
175
|
+
of this unzip package.
|
176
|
+
the "64" function take a const void* pointer, because the path is just the
|
177
|
+
value passed to the open64_file_func callback.
|
178
|
+
Under Windows, if UNICODE is defined, using fill_fopen64_filefunc, the path
|
179
|
+
is a pointer to a wide unicode string (LPCTSTR is LPCWSTR), so const char*
|
180
|
+
does not describe the reality
|
181
|
+
*/
|
182
|
+
|
183
|
+
|
184
|
+
extern unzFile ZEXPORT unzOpen2 OF((const char *path,
|
185
|
+
zlib_filefunc_def* pzlib_filefunc_def));
|
186
|
+
/*
|
187
|
+
Open a Zip file, like unzOpen, but provide a set of file low level API
|
188
|
+
for read/write the zip file (see ioapi.h)
|
189
|
+
*/
|
190
|
+
|
191
|
+
extern unzFile ZEXPORT unzOpen2_64 OF((const void *path,
|
192
|
+
zlib_filefunc64_def* pzlib_filefunc_def));
|
193
|
+
/*
|
194
|
+
Open a Zip file, like unz64Open, but provide a set of file low level API
|
195
|
+
for read/write the zip file (see ioapi.h)
|
196
|
+
*/
|
197
|
+
|
198
|
+
extern int ZEXPORT unzClose OF((unzFile file));
|
199
|
+
/*
|
200
|
+
Close a ZipFile opened with unzOpen.
|
201
|
+
If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
|
202
|
+
these files MUST be closed with unzCloseCurrentFile before call unzClose.
|
203
|
+
return UNZ_OK if there is no problem. */
|
204
|
+
|
205
|
+
extern int ZEXPORT unzGetGlobalInfo OF((unzFile file,
|
206
|
+
unz_global_info *pglobal_info));
|
207
|
+
|
208
|
+
extern int ZEXPORT unzGetGlobalInfo64 OF((unzFile file,
|
209
|
+
unz_global_info64 *pglobal_info));
|
210
|
+
/*
|
211
|
+
Write info about the ZipFile in the *pglobal_info structure.
|
212
|
+
No preparation of the structure is needed
|
213
|
+
return UNZ_OK if there is no problem. */
|
214
|
+
|
215
|
+
|
216
|
+
extern int ZEXPORT unzGetGlobalComment OF((unzFile file,
|
217
|
+
char *szComment,
|
218
|
+
uLong uSizeBuf));
|
219
|
+
/*
|
220
|
+
Get the global comment string of the ZipFile, in the szComment buffer.
|
221
|
+
uSizeBuf is the size of the szComment buffer.
|
222
|
+
return the number of byte copied or an error code <0
|
223
|
+
*/
|
224
|
+
|
225
|
+
|
226
|
+
/***************************************************************************/
|
227
|
+
/* Unzip package allow you browse the directory of the zipfile */
|
228
|
+
|
229
|
+
extern int ZEXPORT unzGoToFirstFile OF((unzFile file));
|
230
|
+
/*
|
231
|
+
Set the current file of the zipfile to the first file.
|
232
|
+
return UNZ_OK if there is no problem
|
233
|
+
*/
|
234
|
+
|
235
|
+
extern int ZEXPORT unzGoToNextFile OF((unzFile file));
|
236
|
+
/*
|
237
|
+
Set the current file of the zipfile to the next file.
|
238
|
+
return UNZ_OK if there is no problem
|
239
|
+
return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
|
240
|
+
*/
|
241
|
+
|
242
|
+
extern int ZEXPORT unzLocateFile OF((unzFile file,
|
243
|
+
const char *szFileName,
|
244
|
+
int iCaseSensitivity));
|
245
|
+
/*
|
246
|
+
Try locate the file szFileName in the zipfile.
|
247
|
+
For the iCaseSensitivity signification, see unzStringFileNameCompare
|
248
|
+
|
249
|
+
return value :
|
250
|
+
UNZ_OK if the file is found. It becomes the current file.
|
251
|
+
UNZ_END_OF_LIST_OF_FILE if the file is not found
|
252
|
+
*/
|
253
|
+
|
254
|
+
|
255
|
+
/* ****************************************** */
|
256
|
+
/* Ryan supplied functions */
|
257
|
+
/* unz_file_info contain information about a file in the zipfile */
|
258
|
+
typedef struct unz_file_pos_s
|
259
|
+
{
|
260
|
+
uLong pos_in_zip_directory; /* offset in zip file directory */
|
261
|
+
uLong num_of_file; /* # of file */
|
262
|
+
} unz_file_pos;
|
263
|
+
|
264
|
+
extern int ZEXPORT unzGetFilePos(
|
265
|
+
unzFile file,
|
266
|
+
unz_file_pos* file_pos);
|
267
|
+
|
268
|
+
extern int ZEXPORT unzGoToFilePos(
|
269
|
+
unzFile file,
|
270
|
+
unz_file_pos* file_pos);
|
271
|
+
|
272
|
+
typedef struct unz64_file_pos_s
|
273
|
+
{
|
274
|
+
ZPOS64_T pos_in_zip_directory; /* offset in zip file directory */
|
275
|
+
ZPOS64_T num_of_file; /* # of file */
|
276
|
+
} unz64_file_pos;
|
277
|
+
|
278
|
+
extern int ZEXPORT unzGetFilePos64(
|
279
|
+
unzFile file,
|
280
|
+
unz64_file_pos* file_pos);
|
281
|
+
|
282
|
+
extern int ZEXPORT unzGoToFilePos64(
|
283
|
+
unzFile file,
|
284
|
+
const unz64_file_pos* file_pos);
|
285
|
+
|
286
|
+
/* ****************************************** */
|
287
|
+
|
288
|
+
extern int ZEXPORT unzGetCurrentFileInfo64 OF((unzFile file,
|
289
|
+
unz_file_info64 *pfile_info,
|
290
|
+
char *szFileName,
|
291
|
+
uLong fileNameBufferSize,
|
292
|
+
void *extraField,
|
293
|
+
uLong extraFieldBufferSize,
|
294
|
+
char *szComment,
|
295
|
+
uLong commentBufferSize));
|
296
|
+
|
297
|
+
extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file,
|
298
|
+
unz_file_info *pfile_info,
|
299
|
+
char *szFileName,
|
300
|
+
uLong fileNameBufferSize,
|
301
|
+
void *extraField,
|
302
|
+
uLong extraFieldBufferSize,
|
303
|
+
char *szComment,
|
304
|
+
uLong commentBufferSize));
|
305
|
+
/*
|
306
|
+
Get Info about the current file
|
307
|
+
if pfile_info!=NULL, the *pfile_info structure will contain somes info about
|
308
|
+
the current file
|
309
|
+
if szFileName!=NULL, the filemane string will be copied in szFileName
|
310
|
+
(fileNameBufferSize is the size of the buffer)
|
311
|
+
if extraField!=NULL, the extra field information will be copied in extraField
|
312
|
+
(extraFieldBufferSize is the size of the buffer).
|
313
|
+
This is the Central-header version of the extra field
|
314
|
+
if szComment!=NULL, the comment string of the file will be copied in szComment
|
315
|
+
(commentBufferSize is the size of the buffer)
|
316
|
+
*/
|
317
|
+
|
318
|
+
|
319
|
+
/** Addition for GDAL : START */
|
320
|
+
|
321
|
+
extern ZPOS64_T ZEXPORT unzGetCurrentFileZStreamPos64 OF((unzFile file));
|
322
|
+
|
323
|
+
/** Addition for GDAL : END */
|
324
|
+
|
325
|
+
|
326
|
+
/***************************************************************************/
|
327
|
+
/* for reading the content of the current zipfile, you can open it, read data
|
328
|
+
from it, and close it (you can close it before reading all the file)
|
329
|
+
*/
|
330
|
+
|
331
|
+
extern int ZEXPORT unzOpenCurrentFile OF((unzFile file));
|
332
|
+
/*
|
333
|
+
Open for reading data the current file in the zipfile.
|
334
|
+
If there is no error, the return value is UNZ_OK.
|
335
|
+
*/
|
336
|
+
|
337
|
+
extern int ZEXPORT unzOpenCurrentFilePassword OF((unzFile file,
|
338
|
+
const char* password));
|
339
|
+
/*
|
340
|
+
Open for reading data the current file in the zipfile.
|
341
|
+
password is a crypting password
|
342
|
+
If there is no error, the return value is UNZ_OK.
|
343
|
+
*/
|
344
|
+
|
345
|
+
extern int ZEXPORT unzOpenCurrentFile2 OF((unzFile file,
|
346
|
+
int* method,
|
347
|
+
int* level,
|
348
|
+
int raw));
|
349
|
+
/*
|
350
|
+
Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
|
351
|
+
if raw==1
|
352
|
+
*method will receive method of compression, *level will receive level of
|
353
|
+
compression
|
354
|
+
note : you can set level parameter as NULL (if you did not want known level,
|
355
|
+
but you CANNOT set method parameter as NULL
|
356
|
+
*/
|
357
|
+
|
358
|
+
extern int ZEXPORT unzOpenCurrentFile3 OF((unzFile file,
|
359
|
+
int* method,
|
360
|
+
int* level,
|
361
|
+
int raw,
|
362
|
+
const char* password));
|
363
|
+
/*
|
364
|
+
Same than unzOpenCurrentFile, but open for read raw the file (not uncompress)
|
365
|
+
if raw==1
|
366
|
+
*method will receive method of compression, *level will receive level of
|
367
|
+
compression
|
368
|
+
note : you can set level parameter as NULL (if you did not want known level,
|
369
|
+
but you CANNOT set method parameter as NULL
|
370
|
+
*/
|
371
|
+
|
372
|
+
|
373
|
+
extern int ZEXPORT unzCloseCurrentFile OF((unzFile file));
|
374
|
+
/*
|
375
|
+
Close the file in zip opened with unzOpenCurrentFile
|
376
|
+
Return UNZ_CRCERROR if all the file was read but the CRC is not good
|
377
|
+
*/
|
378
|
+
|
379
|
+
extern int ZEXPORT unzReadCurrentFile OF((unzFile file,
|
380
|
+
voidp buf,
|
381
|
+
unsigned len));
|
382
|
+
/*
|
383
|
+
Read bytes from the current file (opened by unzOpenCurrentFile)
|
384
|
+
buf contain buffer where data must be copied
|
385
|
+
len the size of buf.
|
386
|
+
|
387
|
+
return the number of byte copied if somes bytes are copied
|
388
|
+
return 0 if the end of file was reached
|
389
|
+
return <0 with error code if there is an error
|
390
|
+
(UNZ_ERRNO for IO error, or zLib error for uncompress error)
|
391
|
+
*/
|
392
|
+
|
393
|
+
extern z_off_t ZEXPORT unztell OF((unzFile file));
|
394
|
+
|
395
|
+
extern ZPOS64_T ZEXPORT unztell64 OF((unzFile file));
|
396
|
+
/*
|
397
|
+
Give the current position in uncompressed data
|
398
|
+
*/
|
399
|
+
|
400
|
+
extern int ZEXPORT unzeof OF((unzFile file));
|
401
|
+
/*
|
402
|
+
return 1 if the end of file was reached, 0 elsewhere
|
403
|
+
*/
|
404
|
+
|
405
|
+
extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file,
|
406
|
+
voidp buf,
|
407
|
+
unsigned len));
|
408
|
+
/*
|
409
|
+
Read extra field from the current file (opened by unzOpenCurrentFile)
|
410
|
+
This is the local-header version of the extra field (sometimes, there is
|
411
|
+
more info in the local-header version than in the central-header)
|
412
|
+
|
413
|
+
if buf==NULL, it return the size of the local extra field
|
414
|
+
|
415
|
+
if buf!=NULL, len is the size of the buffer, the extra header is copied in
|
416
|
+
buf.
|
417
|
+
the return value is the number of bytes copied in buf, or (if <0)
|
418
|
+
the error code
|
419
|
+
*/
|
420
|
+
|
421
|
+
/***************************************************************************/
|
422
|
+
|
423
|
+
/* Get the current file offset */
|
424
|
+
extern ZPOS64_T ZEXPORT unzGetOffset64 (unzFile file);
|
425
|
+
extern uLong ZEXPORT unzGetOffset (unzFile file);
|
426
|
+
|
427
|
+
/* Set the current file offset */
|
428
|
+
extern int ZEXPORT unzSetOffset64 (unzFile file, ZPOS64_T pos);
|
429
|
+
extern int ZEXPORT unzSetOffset (unzFile file, uLong pos);
|
430
|
+
|
431
|
+
|
432
|
+
|
433
|
+
#ifdef __cplusplus
|
434
|
+
}
|
435
|
+
#endif
|
436
|
+
|
437
|
+
#endif /* _unz64_H */
|