OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [zlib/] [contrib/] [minizip/] [zip.h] - Blame information for rev 849

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 745 jeremybenn
/* zip.h -- IO for compress .zip files using zlib
2
   Version 1.01e, February 12th, 2005
3
 
4
   Copyright (C) 1998-2005 Gilles Vollant
5
 
6
   This unzip package allow creates .ZIP file, compatible with PKZip 2.04g
7
     WinZip, InfoZip tools and compatible.
8
   Multi volume ZipFile (span) are not supported.
9
   Encryption compatible with pkzip 2.04g only supported
10
   Old compressions used by old PKZip 1.x are not supported
11
 
12
  For uncompress .zip file, look at unzip.h
13
 
14
 
15
   I WAIT FEEDBACK at mail info@winimage.com
16
   Visit also http://www.winimage.com/zLibDll/unzip.html for evolution
17
 
18
   Condition of use and distribution are the same than zlib :
19
 
20
  This software is provided 'as-is', without any express or implied
21
  warranty.  In no event will the authors be held liable for any damages
22
  arising from the use of this software.
23
 
24
  Permission is granted to anyone to use this software for any purpose,
25
  including commercial applications, and to alter it and redistribute it
26
  freely, subject to the following restrictions:
27
 
28
  1. The origin of this software must not be misrepresented; you must not
29
     claim that you wrote the original software. If you use this software
30
     in a product, an acknowledgment in the product documentation would be
31
     appreciated but is not required.
32
  2. Altered source versions must be plainly marked as such, and must not be
33
     misrepresented as being the original software.
34
  3. This notice may not be removed or altered from any source distribution.
35
 
36
 
37
*/
38
 
39
/* for more info about .ZIP format, see
40
      http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip
41
      http://www.info-zip.org/pub/infozip/doc/
42
   PkWare has also a specification at :
43
      ftp://ftp.pkware.com/probdesc.zip
44
*/
45
 
46
#ifndef _zip_H
47
#define _zip_H
48
 
49
#ifdef __cplusplus
50
extern "C" {
51
#endif
52
 
53
#ifndef _ZLIB_H
54
#include "zlib.h"
55
#endif
56
 
57
#ifndef _ZLIBIOAPI_H
58
#include "ioapi.h"
59
#endif
60
 
61
#if defined(STRICTZIP) || defined(STRICTZIPUNZIP)
62
/* like the STRICT of WIN32, we define a pointer that cannot be converted
63
    from (void*) without cast */
64
typedef struct TagzipFile__ { int unused; } zipFile__;
65
typedef zipFile__ *zipFile;
66
#else
67
typedef voidp zipFile;
68
#endif
69
 
70
#define ZIP_OK                          (0)
71
#define ZIP_EOF                         (0)
72
#define ZIP_ERRNO                       (Z_ERRNO)
73
#define ZIP_PARAMERROR                  (-102)
74
#define ZIP_BADZIPFILE                  (-103)
75
#define ZIP_INTERNALERROR               (-104)
76
 
77
#ifndef DEF_MEM_LEVEL
78
#  if MAX_MEM_LEVEL >= 8
79
#    define DEF_MEM_LEVEL 8
80
#  else
81
#    define DEF_MEM_LEVEL  MAX_MEM_LEVEL
82
#  endif
83
#endif
84
/* default memLevel */
85
 
86
/* tm_zip contain date/time info */
87
typedef struct tm_zip_s
88
{
89
    uInt tm_sec;            /* seconds after the minute - [0,59] */
90
    uInt tm_min;            /* minutes after the hour - [0,59] */
91
    uInt tm_hour;           /* hours since midnight - [0,23] */
92
    uInt tm_mday;           /* day of the month - [1,31] */
93
    uInt tm_mon;            /* months since January - [0,11] */
94
    uInt tm_year;           /* years - [1980..2044] */
95
} tm_zip;
96
 
97
typedef struct
98
{
99
    tm_zip      tmz_date;       /* date in understandable format           */
100
    uLong       dosDate;       /* if dos_date == 0, tmu_date is used      */
101
/*    uLong       flag;        */   /* general purpose bit flag        2 bytes */
102
 
103
    uLong       internal_fa;    /* internal file attributes        2 bytes */
104
    uLong       external_fa;    /* external file attributes        4 bytes */
105
} zip_fileinfo;
106
 
107
typedef const char* zipcharpc;
108
 
109
 
110
#define APPEND_STATUS_CREATE        (0)
111
#define APPEND_STATUS_CREATEAFTER   (1)
112
#define APPEND_STATUS_ADDINZIP      (2)
113
 
114
extern zipFile ZEXPORT zipOpen OF((const char *pathname, int append));
115
/*
116
  Create a zipfile.
117
     pathname contain on Windows XP a filename like "c:\\zlib\\zlib113.zip" or on
118
       an Unix computer "zlib/zlib113.zip".
119
     if the file pathname exist and append==APPEND_STATUS_CREATEAFTER, the zip
120
       will be created at the end of the file.
121
         (useful if the file contain a self extractor code)
122
     if the file pathname exist and append==APPEND_STATUS_ADDINZIP, we will
123
       add files in existing zip (be sure you don't add file that doesn't exist)
124
     If the zipfile cannot be opened, the return value is NULL.
125
     Else, the return value is a zipFile Handle, usable with other function
126
       of this zip package.
127
*/
128
 
129
/* Note : there is no delete function into a zipfile.
130
   If you want delete file into a zipfile, you must open a zipfile, and create another
131
   Of couse, you can use RAW reading and writing to copy the file you did not want delte
132
*/
133
 
134
extern zipFile ZEXPORT zipOpen2 OF((const char *pathname,
135
                                   int append,
136
                                   zipcharpc* globalcomment,
137
                                   zlib_filefunc_def* pzlib_filefunc_def));
138
 
139
extern int ZEXPORT zipOpenNewFileInZip OF((zipFile file,
140
                       const char* filename,
141
                       const zip_fileinfo* zipfi,
142
                       const void* extrafield_local,
143
                       uInt size_extrafield_local,
144
                       const void* extrafield_global,
145
                       uInt size_extrafield_global,
146
                       const char* comment,
147
                       int method,
148
                       int level));
149
/*
150
  Open a file in the ZIP for writing.
151
  filename : the filename in zip (if NULL, '-' without quote will be used
152
  *zipfi contain supplemental information
153
  if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
154
    contains the extrafield data the the local header
155
  if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
156
    contains the extrafield data the the local header
157
  if comment != NULL, comment contain the comment string
158
  method contain the compression method (0 for store, Z_DEFLATED for deflate)
159
  level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
160
*/
161
 
162
 
163
extern int ZEXPORT zipOpenNewFileInZip2 OF((zipFile file,
164
                                            const char* filename,
165
                                            const zip_fileinfo* zipfi,
166
                                            const void* extrafield_local,
167
                                            uInt size_extrafield_local,
168
                                            const void* extrafield_global,
169
                                            uInt size_extrafield_global,
170
                                            const char* comment,
171
                                            int method,
172
                                            int level,
173
                                            int raw));
174
 
175
/*
176
  Same than zipOpenNewFileInZip, except if raw=1, we write raw file
177
 */
178
 
179
extern int ZEXPORT zipOpenNewFileInZip3 OF((zipFile file,
180
                                            const char* filename,
181
                                            const zip_fileinfo* zipfi,
182
                                            const void* extrafield_local,
183
                                            uInt size_extrafield_local,
184
                                            const void* extrafield_global,
185
                                            uInt size_extrafield_global,
186
                                            const char* comment,
187
                                            int method,
188
                                            int level,
189
                                            int raw,
190
                                            int windowBits,
191
                                            int memLevel,
192
                                            int strategy,
193
                                            const char* password,
194
                                            uLong crcForCtypting));
195
 
196
/*
197
  Same than zipOpenNewFileInZip2, except
198
    windowBits,memLevel,,strategy : see parameter strategy in deflateInit2
199
    password : crypting password (NULL for no crypting)
200
    crcForCtypting : crc of file to compress (needed for crypting)
201
 */
202
 
203
 
204
extern int ZEXPORT zipWriteInFileInZip OF((zipFile file,
205
                       const void* buf,
206
                       unsigned len));
207
/*
208
  Write data in the zipfile
209
*/
210
 
211
extern int ZEXPORT zipCloseFileInZip OF((zipFile file));
212
/*
213
  Close the current file in the zipfile
214
*/
215
 
216
extern int ZEXPORT zipCloseFileInZipRaw OF((zipFile file,
217
                                            uLong uncompressed_size,
218
                                            uLong crc32));
219
/*
220
  Close the current file in the zipfile, for fiel opened with
221
    parameter raw=1 in zipOpenNewFileInZip2
222
  uncompressed_size and crc32 are value for the uncompressed size
223
*/
224
 
225
extern int ZEXPORT zipClose OF((zipFile file,
226
                const char* global_comment));
227
/*
228
  Close the zipfile
229
*/
230
 
231
#ifdef __cplusplus
232
}
233
#endif
234
 
235
#endif /* _zip_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.