1 unit PasZLib;
2
3 {$inline on}
4
5 interface
6
7 uses
8 zbase;
9
10 const
11 ZLIB_VERSION = '1.2';
12
13 type
14 { Compatibility types }
15 z_off_t = longint;
16
17 TInternalState = record
18 end;
19 PInternalState = ^TInternalstate;
20
21 TZStream = z_stream;
22 PZstream = ^TZStream;
23
24 gzFile = pointer;
25
26
27 const
28 Z_NO_FLUSH = 0;
29
30 Z_PARTIAL_FLUSH = 1;
31 Z_SYNC_FLUSH = 2;
32 Z_FULL_FLUSH = 3;
33 Z_FINISH = 4;
34
35 Z_OK = 0;
36 Z_STREAM_END = 1;
37 Z_NEED_DICT = 2;
38 Z_ERRNO = -(1);
39 Z_STREAM_ERROR = -(2);
40 Z_DATA_ERROR = -(3);
41 Z_MEM_ERROR = -(4);
42 Z_BUF_ERROR = -(5);
43 Z_VERSION_ERROR = -(6);
44
45 Z_NO_COMPRESSION = 0;
46 Z_BEST_SPEED = 1;
47 Z_BEST_COMPRESSION = 9;
48 Z_DEFAULT_COMPRESSION = -(1);
49
50 Z_FILTERED = 1;
51 Z_HUFFMAN_ONLY = 2;
52 Z_DEFAULT_STRATEGY = 0;
53
54 Z_BINARY = 0;
55 Z_ASCII = 1;
56 Z_UNKNOWN = 2;
57
58 Z_DEFLATED = 8;
59
60 Z_NULL = nil;
61
zlibVersionnull62 function zlibVersion:string;inline;
deflatenull63 function deflate(var strm:TZstream; flush:longint):longint;inline;
deflateEndnull64 function deflateEnd(var strm:TZstream):longint;inline;
inflatenull65 function inflate(var strm:TZstream; flush:longint):longint;inline;
inflateEndnull66 function inflateEnd(var strm:TZstream):longint;inline;
deflateSetDictionarynull67 function deflateSetDictionary(var strm:TZstream;dictionary : Pchar; dictLength:cardinal):longint;inline;
deflateCopynull68 function deflateCopy(var dest,source:TZstream):longint;inline;
deflateResetnull69 function deflateReset(var strm:TZstream):longint;inline;
deflateParamsnull70 function deflateParams(var strm:TZstream; level:longint; strategy:longint):longint;inline;
inflateSetDictionarynull71 function inflateSetDictionary(var strm:TZStream;dictionary : Pchar; dictLength:cardinal):longint;inline;
inflateSyncnull72 function inflateSync(var strm:TZStream):longint;inline;
inflateResetnull73 function inflateReset(var strm:TZStream):longint;inline;
compressnull74 function compress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
compress2null75 function compress2(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal; level:longint):longint;
uncompressnull76 function uncompress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
gzopennull77 function gzopen(path:Pchar; mode:Pchar):gzFile;inline;
gzsetparamsnull78 function gzsetparams(Thefile:gzFile; level:longint; strategy:longint):longint;inline;
gzreadnull79 function gzread(thefile:gzFile; buf : pointer; len:cardinal):longint;inline;
gzwritenull80 function gzwrite(thefile:gzFile; buf: pointer; len:cardinal):longint;inline;
gzputsnull81 function gzputs(thefile:gzFile; s:Pchar):longint;inline;
gzgetsnull82 function gzgets(thefile:gzFile; buf:Pchar; len:longint):Pchar;inline;
gzputcnull83 function gzputc(thefile:gzFile; c:char):longint;inline;
gzgetcnull84 function gzgetc(thefile:gzFile):char;inline;
gzflushnull85 function gzflush(thefile:gzFile; flush:longint):longint;inline;
gzseeknull86 function gzseek(thefile:gzFile; offset:z_off_t; whence:longint):z_off_t;inline;
gzrewindnull87 function gzrewind(thefile:gzFile):longint;inline;
gztellnull88 function gztell(thefile:gzFile):z_off_t;inline;
gzeofnull89 function gzeof(thefile:gzFile):longbool;inline;
gzclosenull90 function gzclose(thefile:gzFile):longint;inline;
gzerrornull91 function gzerror(thefile:gzFile; var errnum:smallint):string;inline;
adler32null92 function adler32(theadler:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
crc32null93 function crc32(thecrc:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
deflateInit_null94 function deflateInit_(var strm:TZStream; level:longint; version:Pchar; stream_size:longint):longint;inline;
inflateInit_null95 function inflateInit_(var strm:TZStream; version:Pchar; stream_size:longint):longint;inline;
deflateInit2_null96 function deflateInit2_(var strm:TZStream; level:longint; method:longint; windowBits:longint; memLevel:longint;strategy:longint; version:Pchar; stream_size:longint):longint;inline;
inflateInit2_null97 function inflateInit2_(var strm:TZStream; windowBits:longint; version:Pchar; stream_size:longint):longint;inline;
deflateInitnull98 function deflateInit(var strm:TZStream;level : longint) : longint;inline;
inflateInitnull99 function inflateInit(var strm:TZStream) : longint;inline;
deflateInit2null100 function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;inline;
inflateInit2null101 function inflateInit2(var strm:TZStream; windowBits : longint) : longint;inline;
zErrornull102 function zError(err:longint):string;inline;
inflateSyncPointnull103 function inflateSyncPoint(z:PZstream):longint;inline;
get_crc_tablenull104 function get_crc_table:pointer;inline;
105
106 implementation
107
108 uses
109 zdeflate,zinflate,zcompres,zuncompr,gzio,adler,crc;
110
zlibVersionnull111 function zlibVersion:string;inline;
112 begin
113 zlibversion:=zbase.zlibversion;
114 end;
115
deflatenull116 function deflate(var strm:TZstream; flush:longint):longint;inline;
117 begin
118 deflate:=zdeflate.deflate(strm,flush);
119 end;
120
deflateEndnull121 function deflateEnd(var strm:TZstream):longint;inline;
122 begin
123 deflateEnd:=zdeflate.deflateEnd(strm);
124 end;
125
inflatenull126 function inflate(var strm:TZstream; flush:longint):longint;inline;
127 begin
128 inflate:=zinflate.inflate(strm,flush);
129 end;
130
inflateEndnull131 function inflateEnd(var strm:TZstream):longint;inline;
132 begin
133 inflateEnd:=zinflate.inflateEnd(strm);
134 end;
135
deflateSetDictionarynull136 function deflateSetDictionary(var strm:TZstream;dictionary : Pchar; dictLength:cardinal):longint;inline;
137 begin
138 deflateSetDictionary:=zdeflate.deflateSetDictionary(strm,Pbyte(dictionary),dictlength);
139 end;
140
deflateCopynull141 function deflateCopy(var dest,source:TZstream):longint;inline;
142 begin
143 deflateCopy:=zdeflate.deflateCopy(@dest,@source);
144 end;
145
deflateResetnull146 function deflateReset(var strm:TZstream):longint;inline;
147 begin
148 deflateReset:=zdeflate.deflateReset(strm);
149 end;
150
deflateParamsnull151 function deflateParams(var strm:TZstream; level:longint; strategy:longint):longint;inline;
152 begin
153 deflateParams:=zdeflate.deflateParams(strm,level,strategy);
154 end;
155
inflateSetDictionarynull156 function inflateSetDictionary(var strm:TZStream;dictionary : Pchar; dictLength:cardinal):longint;inline;
157 begin
158 inflateSetDictionary:=zinflate.inflateSetDictionary(strm,Pbyte(dictionary),dictlength);
159 end;
160
inflateSyncnull161 function inflateSync(var strm:TZStream):longint;inline;
162 begin
163 inflateSync:=zinflate.inflateSync(strm);
164 end;
165
inflateResetnull166 function inflateReset(var strm:TZStream):longint;inline;
167 begin
168 inflateReset:=zinflate.inflateReset(strm);
169 end;
170
compressnull171 function compress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
172
173 type Pbytearray=^Tbytearray;
174 Tbytearray=array[0..0] of byte;
175
176 begin
177 compress:=zcompres.compress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
178 end;
179
compress2null180 function compress2(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal; level:longint):longint;
181
182 type Pbytearray=^Tbytearray;
183 Tbytearray=array[0..0] of byte;
184
185 begin
186 compress2:=zcompres.compress2(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen,level);
187 end;
188
uncompressnull189 function uncompress(dest:Pchar;var destLen:cardinal; source : Pchar; sourceLen:cardinal):longint;
190
191 type Pbytearray=^Tbytearray;
192 Tbytearray=array[0..0] of byte;
193
194 begin
195 uncompress:=zuncompr.uncompress(Pbyte(dest),destlen,Pbytearray(source)^,sourcelen);
196 end;
197
gzopennull198 function gzopen(path:Pchar; mode:Pchar):gzFile;inline;
199 begin
200 gzopen:=gzio.gzopen(path,mode);
201 end;
202
gzsetparamsnull203 function gzsetparams(Thefile:gzFile; level:longint; strategy:longint):longint;inline;
204 begin
205 gzsetparams:=gzio.gzsetparams(thefile,level,strategy);
206 end;
207
gzreadnull208 function gzread(thefile:gzFile; buf : pointer; len:cardinal):longint;inline;
209 begin
210 gzread:=gzio.gzread(thefile,buf,len);
211 end;
212
gzwritenull213 function gzwrite(thefile:gzFile; buf: pointer; len:cardinal):longint;inline;
214 begin
215 gzwrite:=gzio.gzwrite(thefile,buf,len);
216 end;
217
gzputsnull218 function gzputs(thefile:gzFile; s:Pchar):longint;inline;
219 begin
220 gzputs:=gzio.gzputs(thefile,s);
221 end;
222
gzgetsnull223 function gzgets(thefile:gzFile; buf:Pchar; len:longint):Pchar;inline;
224 begin
225 gzgets:=gzio.gzgets(thefile,buf,len);
226 end;
227
gzputcnull228 function gzputc(thefile:gzFile; c:char):longint;inline;
229 begin
230 gzputc:=gzio.gzputc(thefile,c);
231 end;
232
gzgetcnull233 function gzgetc(thefile:gzFile):char;inline;
234 begin
235 gzgetc:=chr(gzio.gzgetc(thefile));
236 end;
237
gzflushnull238 function gzflush(thefile:gzFile; flush:longint):longint;inline;
239 begin
240 gzflush:=gzio.gzflush(thefile,flush);
241 end;
242
gzseeknull243 function gzseek(thefile:gzFile; offset:z_off_t; whence:longint):z_off_t;inline;
244 begin
245 gzseek:=gzio.gzseek(thefile,offset,whence);
246 end;
247
gzrewindnull248 function gzrewind(thefile:gzFile):longint;inline;
249 begin
250 gzrewind:=gzio.gzrewind(thefile);
251 end;
252
gztellnull253 function gztell(thefile:gzFile):z_off_t;inline;
254 begin
255 gztell:=gzio.gztell(thefile);
256 end;
257
gzeofnull258 function gzeof(thefile:gzFile):longbool;inline;
259 begin
260 gzeof:=gzio.gzeof(thefile);
261 end;
262
gzclosenull263 function gzclose(thefile:gzFile):longint;inline;
264 begin
265 gzclose:=gzio.gzclose(thefile);
266 end;
267
gzerrornull268 function gzerror(thefile:gzFile; var errnum:smallint):string;inline;
269 begin
270 gzerror:=gzio.gzerror(thefile,errnum);
271 end;
272
adler32null273 function adler32(theadler:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
274 begin
275 adler32:=adler.adler32(theadler,Pbyte(buf),len);
276 end;
277
crc32null278 function crc32(thecrc:cardinal;buf : Pchar; len:cardinal):cardinal;inline;
279 begin
280 crc32:=crc.crc32(thecrc,Pbyte(buf),len);
281 end;
282
deflateInit_null283 function deflateInit_(var strm:TZStream; level:longint; version:Pchar; stream_size:longint):longint;inline;
284 begin
285 deflateInit_:=zdeflate.deflateInit_(@strm,level,version,stream_size);
286 end;
287
inflateInit_null288 function inflateInit_(var strm:TZStream; version:Pchar; stream_size:longint):longint;inline;
289 begin
290 inflateInit_:=zinflate.inflateInit_(@strm,version,stream_size);
291 end;
292
deflateInit2_null293 function deflateInit2_(var strm:TZStream; level:longint; method:longint; windowBits:longint; memLevel:longint;strategy:longint; version:Pchar; stream_size:longint):longint;inline;
294 begin
295 deflateInit2_:=zdeflate.deflateInit2_(strm,level,method,windowBits,memlevel,strategy,version,stream_size);
296 end;
297
inflateInit2_null298 function inflateInit2_(var strm:TZStream; windowBits:longint; version:Pchar; stream_size:longint):longint;inline;
299 begin
300 inflateInit2_:=zinflate.inflateInit2_(strm,windowBits,version,stream_size);
301 end;
302
deflateInitnull303 function deflateInit(var strm:TZStream;level : longint) : longint;inline;
304 begin
305 deflateInit:=zdeflate.deflateInit(strm,level);
306 end;
307
inflateInitnull308 function inflateInit(var strm:TZStream) : longint;inline;
309 begin
310 inflateInit:=zinflate.inflateInit(strm);
311 end;
312
deflateInit2null313 function deflateInit2(var strm:TZStream;level,method,windowBits,memLevel,strategy : longint) : longint;inline;
314 begin
315 deflateInit2:=zdeflate.deflateInit2(strm,level,method,windowbits,memlevel,strategy);
316 end;
317
inflateInit2null318 function inflateInit2(var strm:TZStream; windowBits : longint) : longint;inline;
319 begin
320 inflateInit2:=zinflate.inflateInit2_(strm,windowBits,ZLIB_VERSION,sizeof(TZStream));
321 end;
322
zErrornull323 function zError(err:longint):string;inline;
324 begin
325 zerror:=zbase.zerror(err);
326 end;
327
inflateSyncPointnull328 function inflateSyncPoint(z:PZstream):longint;inline;
329 begin
330 inflateSyncPoint:=zinflate.inflateSyncPoint(z^);
331 end;
332
get_crc_tablenull333 function get_crc_table:pointer;inline;
334 begin
335 get_crc_table:=crc.get_crc_table;
336 end;
337
338 end.
339