summaryrefslogtreecommitdiff
path: root/zlib.h
diff options
context:
space:
mode:
Diffstat (limited to 'zlib.h')
-rw-r--r--zlib.h102
1 files changed, 54 insertions, 48 deletions
diff --git a/zlib.h b/zlib.h
index d27173d..56ad7f7 100644
--- a/zlib.h
+++ b/zlib.h
@@ -1,5 +1,5 @@
1/* zlib.h -- interface of the 'zlib' general purpose compression library 1/* zlib.h -- interface of the 'zlib' general purpose compression library
2 version 0.93 June 25th, 1995. 2 version 0.94, Aug 13th, 1995.
3 3
4 Copyright (C) 1995 Jean-loup Gailly and Mark Adler 4 Copyright (C) 1995 Jean-loup Gailly and Mark Adler
5 5
@@ -28,7 +28,7 @@
28 28
29#include "zconf.h" 29#include "zconf.h"
30 30
31#define ZLIB_VERSION "0.93" 31#define ZLIB_VERSION "0.94"
32 32
33/* 33/*
34 The 'zlib' compression library provides in-memory compression and 34 The 'zlib' compression library provides in-memory compression and
@@ -49,22 +49,22 @@
49 (providing more output space) before each call. 49 (providing more output space) before each call.
50*/ 50*/
51 51
52typedef voidp (*alloc_func) __P((voidp opaque, uInt items, uInt size)); 52typedef voidp (*alloc_func) OF((voidp opaque, uInt items, uInt size));
53typedef void (*free_func) __P((voidp opaque, voidp address)); 53typedef void (*free_func) OF((voidp opaque, voidp address));
54 54
55struct internal_state; 55struct internal_state;
56 56
57typedef struct z_stream_s { 57typedef struct z_stream_s {
58 Byte *next_in; /* next input byte */ 58 Bytef *next_in; /* next input byte */
59 uInt avail_in; /* number of bytes available at next_in */ 59 uInt avail_in; /* number of bytes available at next_in */
60 uLong total_in; /* total nb of input bytes read so far */ 60 uLong total_in; /* total nb of input bytes read so far */
61 61
62 Byte *next_out; /* next output byte should be put there */ 62 Bytef *next_out; /* next output byte should be put there */
63 uInt avail_out; /* remaining free space at next_out */ 63 uInt avail_out; /* remaining free space at next_out */
64 uLong total_out; /* total nb of bytes output so far */ 64 uLong total_out; /* total nb of bytes output so far */
65 65
66 char *msg; /* last error message, NULL if no error */ 66 char *msg; /* last error message, NULL if no error */
67 struct internal_state *state; /* not visible by applications */ 67 struct internal_state FAR *state; /* not visible by applications */
68 68
69 alloc_func zalloc; /* used to allocate the internal state */ 69 alloc_func zalloc; /* used to allocate the internal state */
70 free_func zfree; /* used to free the internal state */ 70 free_func zfree; /* used to free the internal state */
@@ -145,7 +145,7 @@ extern char *zlib_version;
145 145
146 /* basic functions */ 146 /* basic functions */
147 147
148extern int deflateInit __P((z_stream *strm, int level)); 148extern int deflateInit OF((z_stream *strm, int level));
149/* 149/*
150 Initializes the internal stream state for compression. The fields 150 Initializes the internal stream state for compression. The fields
151 zalloc, zfree and opaque must be initialized before by the caller. 151 zalloc, zfree and opaque must be initialized before by the caller.
@@ -164,7 +164,7 @@ extern int deflateInit __P((z_stream *strm, int level));
164*/ 164*/
165 165
166 166
167extern int deflate __P((z_stream *strm, int flush)); 167extern int deflate OF((z_stream *strm, int flush));
168/* 168/*
169 Performs one or both of the following actions: 169 Performs one or both of the following actions:
170 170
@@ -195,7 +195,10 @@ extern int deflate __P((z_stream *strm, int flush));
195 is useful to allow the decompressor to synchronize if one compressed block 195 is useful to allow the decompressor to synchronize if one compressed block
196 has been damaged (see inflateSync below). Flushing degrades compression and 196 has been damaged (see inflateSync below). Flushing degrades compression and
197 so should be used only when necessary. Using Z_FULL_FLUSH too often can 197 so should be used only when necessary. Using Z_FULL_FLUSH too often can
198 seriously degrade the compression. 198 seriously degrade the compression. If deflate returns with avail_out == 0,
199 this function must be called again with the same value of the flush
200 parameter and more output space (updated avail_out), until the flush is
201 complete (deflate returns with non-zero avail_out).
199 202
200 If the parameter flush is set to Z_FINISH, all pending input is processed, 203 If the parameter flush is set to Z_FINISH, all pending input is processed,
201 all pending output is flushed and deflate returns with Z_STREAM_END if there 204 all pending output is flushed and deflate returns with Z_STREAM_END if there
@@ -223,7 +226,7 @@ extern int deflate __P((z_stream *strm, int flush));
223*/ 226*/
224 227
225 228
226extern int deflateEnd __P((z_stream *strm)); 229extern int deflateEnd OF((z_stream *strm));
227/* 230/*
228 All dynamically allocated data structures for this stream are freed. 231 All dynamically allocated data structures for this stream are freed.
229 This function discards any unprocessed input and does not flush any 232 This function discards any unprocessed input and does not flush any
@@ -235,11 +238,11 @@ extern int deflateEnd __P((z_stream *strm));
235*/ 238*/
236 239
237 240
238extern int inflateInit __P((z_stream *strm)); 241extern int inflateInit OF((z_stream *strm));
239/* 242/*
240 Initializes the internal stream state for decompression. The fields 243 Initializes the internal stream state for decompression. The fields
241 zalloc and zfree must be initialized before by the caller. If zalloc and 244 zalloc and zfree must be initialized before by the caller. If zalloc and
242 zfree are set to Z_NULL, deflateInit updates them to use default allocation 245 zfree are set to Z_NULL, inflateInit updates them to use default allocation
243 functions. 246 functions.
244 247
245 inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not 248 inflateInit returns Z_OK if success, Z_MEM_ERROR if there was not
@@ -249,7 +252,7 @@ extern int inflateInit __P((z_stream *strm));
249*/ 252*/
250 253
251 254
252extern int inflate __P((z_stream *strm, int flush)); 255extern int inflate OF((z_stream *strm, int flush));
253/* 256/*
254 Performs one or both of the following actions: 257 Performs one or both of the following actions:
255 258
@@ -260,7 +263,7 @@ extern int inflate __P((z_stream *strm, int flush));
260 263
261 - Provide more output starting at next_out and update next_out and avail_out 264 - Provide more output starting at next_out and update next_out and avail_out
262 accordingly. inflate() always provides as much output as possible 265 accordingly. inflate() always provides as much output as possible
263 (until no more input data or no more space in the output buffer). 266 (until there is no more input data or no more space in the output buffer).
264 267
265 Before the call of inflate(), the application should ensure that at least 268 Before the call of inflate(), the application should ensure that at least
266 one of the actions is possible, by providing more input and/or consuming 269 one of the actions is possible, by providing more input and/or consuming
@@ -282,7 +285,9 @@ extern int inflate __P((z_stream *strm, int flush));
282 output is flushed; avail_out must be large enough to hold all the 285 output is flushed; avail_out must be large enough to hold all the
283 uncompressed data. (The size of the uncompressed data may have been saved 286 uncompressed data. (The size of the uncompressed data may have been saved
284 by the compressor for this purpose.) The next operation on this stream must 287 by the compressor for this purpose.) The next operation on this stream must
285 be inflateEnd to deallocate the decompression state. 288 be inflateEnd to deallocate the decompression state. The use of Z_FINISH
289 is never required, but can be used to inform inflate that a faster routine
290 may be used for the single inflate() call.
286 291
287 inflate() returns Z_OK if some progress has been made (more input 292 inflate() returns Z_OK if some progress has been made (more input
288 processed or more output produced), Z_STREAM_END if the end of the 293 processed or more output produced), Z_STREAM_END if the end of the
@@ -296,7 +301,7 @@ extern int inflate __P((z_stream *strm, int flush));
296*/ 301*/
297 302
298 303
299extern int inflateEnd __P((z_stream *strm)); 304extern int inflateEnd OF((z_stream *strm));
300/* 305/*
301 All dynamically allocated data structures for this stream are freed. 306 All dynamically allocated data structures for this stream are freed.
302 This function discards any unprocessed input and does not flush any 307 This function discards any unprocessed input and does not flush any
@@ -313,12 +318,12 @@ extern int inflateEnd __P((z_stream *strm));
313 The following functions are needed only in some special applications. 318 The following functions are needed only in some special applications.
314*/ 319*/
315 320
316extern int deflateInit2 __P((z_stream *strm, 321extern int deflateInit2 OF((z_stream *strm,
317 int level, 322 int level,
318 int method, 323 int method,
319 int windowBits, 324 int windowBits,
320 int memLevel, 325 int memLevel,
321 int strategy)); 326 int strategy));
322/* 327/*
323 This is another version of deflateInit with more compression options. The 328 This is another version of deflateInit with more compression options. The
324 fields next_in, zalloc and zfree must be initialized before by the caller. 329 fields next_in, zalloc and zfree must be initialized before by the caller.
@@ -368,8 +373,8 @@ extern int deflateInit2 __P((z_stream *strm,
368 deflate(). 373 deflate().
369*/ 374*/
370 375
371extern int deflateCopy __P((z_stream *dest, 376extern int deflateCopy OF((z_stream *dest,
372 z_stream *source)); 377 z_stream *source));
373/* 378/*
374 Sets the destination stream as a complete copy of the source stream. If 379 Sets the destination stream as a complete copy of the source stream. If
375 the source stream is using an application-supplied history buffer, a new 380 the source stream is using an application-supplied history buffer, a new
@@ -391,7 +396,7 @@ extern int deflateCopy __P((z_stream *dest,
391 destination. 396 destination.
392*/ 397*/
393 398
394extern int deflateReset __P((z_stream *strm)); 399extern int deflateReset OF((z_stream *strm));
395/* 400/*
396 This function is equivalent to deflateEnd followed by deflateInit, 401 This function is equivalent to deflateEnd followed by deflateInit,
397 but does not free and reallocate all the internal compression state. 402 but does not free and reallocate all the internal compression state.
@@ -402,8 +407,8 @@ extern int deflateReset __P((z_stream *strm));
402 stream state was inconsistent (such as zalloc or state being NULL). 407 stream state was inconsistent (such as zalloc or state being NULL).
403*/ 408*/
404 409
405extern int inflateInit2 __P((z_stream *strm, 410extern int inflateInit2 OF((z_stream *strm,
406 int windowBits)); 411 int windowBits));
407/* 412/*
408 This is another version of inflateInit with more compression options. The 413 This is another version of inflateInit with more compression options. The
409 fields next_out, zalloc and zfree must be initialized before by the caller. 414 fields next_out, zalloc and zfree must be initialized before by the caller.
@@ -431,11 +436,11 @@ extern int inflateInit2 __P((z_stream *strm,
431 inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was 436 inflateInit2 returns Z_OK if success, Z_MEM_ERROR if there was
432 not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as 437 not enough memory, Z_STREAM_ERROR if a parameter is invalid (such as
433 windowBits < 8). msg is set to null if there is no error message. 438 windowBits < 8). msg is set to null if there is no error message.
434 inflateInit2 does not perform any compression: this will be done by 439 inflateInit2 does not perform any decompression: this will be done by
435 inflate(). 440 inflate().
436*/ 441*/
437 442
438extern int inflateSync __P((z_stream *strm)); 443extern int inflateSync OF((z_stream *strm));
439/* 444/*
440 Skips invalid compressed data until the special marker (see deflate() 445 Skips invalid compressed data until the special marker (see deflate()
441 above) can be found, or until all available input is skipped. No output 446 above) can be found, or until all available input is skipped. No output
@@ -450,7 +455,7 @@ extern int inflateSync __P((z_stream *strm));
450 until success or end of the input data. 455 until success or end of the input data.
451*/ 456*/
452 457
453extern int inflateReset __P((z_stream *strm)); 458extern int inflateReset OF((z_stream *strm));
454/* 459/*
455 This function is equivalent to inflateEnd followed by inflateInit, 460 This function is equivalent to inflateEnd followed by inflateInit,
456 but does not free and reallocate all the internal decompression state. 461 but does not free and reallocate all the internal decompression state.
@@ -471,8 +476,8 @@ extern int inflateReset __P((z_stream *strm));
471 utility functions can easily be modified if you need special options. 476 utility functions can easily be modified if you need special options.
472*/ 477*/
473 478
474extern int compress __P((Byte *dest, uLong *destLen, 479extern int compress OF((Bytef *dest, uLongf *destLen,
475 Byte *source, uLong sourceLen)); 480 Bytef *source, uLong sourceLen));
476/* 481/*
477 Compresses the source buffer into the destination buffer. sourceLen is 482 Compresses the source buffer into the destination buffer. sourceLen is
478 the byte length of the source buffer. Upon entry, destLen is the total 483 the byte length of the source buffer. Upon entry, destLen is the total
@@ -486,8 +491,8 @@ extern int compress __P((Byte *dest, uLong *destLen,
486 buffer. 491 buffer.
487*/ 492*/
488 493
489extern int uncompress __P((Byte *dest, uLong *destLen, 494extern int uncompress OF((Bytef *dest, uLongf *destLen,
490 Byte *source, uLong sourceLen)); 495 Bytef *source, uLong sourceLen));
491/* 496/*
492 Decompresses the source buffer into the destination buffer. sourceLen is 497 Decompresses the source buffer into the destination buffer. sourceLen is
493 the byte length of the source buffer. Upon entry, destLen is the total 498 the byte length of the source buffer. Upon entry, destLen is the total
@@ -505,21 +510,21 @@ extern int uncompress __P((Byte *dest, uLong *destLen,
505*/ 510*/
506 511
507 512
508typedef voidp gzFile; 513typedef voidnp gzFile;
509 514
510extern gzFile gzopen __P((char *path, char *mode)); 515extern gzFile gzopen OF((char *path, char *mode));
511/* 516/*
512 Opens a gzip (.gz) file for reading or writing. The mode parameter 517 Opens a gzip (.gz) file for reading or writing. The mode parameter
513 is as in fopen ("rb" or "wb"). gzopen can also be used to read a file 518 is as in fopen ("rb" or "wb") but can also include a compression level
514 which is not in gzip format; in this case gzread will directly read from 519 ("wb9"). gzopen can be used to read a file which is not in gzip format;
515 the file without decompression. 520 in this case gzread will directly read from the file without decompression.
516 gzopen returns NULL if the file could not be opened or if there was 521 gzopen returns NULL if the file could not be opened or if there was
517 insufficient memory to allocate the (de)compression state; errno 522 insufficient memory to allocate the (de)compression state; errno
518 can be checked to distinguish the two cases (if errno is zero, the 523 can be checked to distinguish the two cases (if errno is zero, the
519 zlib error is Z_MEM_ERROR). 524 zlib error is Z_MEM_ERROR).
520*/ 525*/
521 526
522extern gzFile gzdopen __P((int fd, char *mode)); 527extern gzFile gzdopen OF((int fd, char *mode));
523/* 528/*
524 gzdopen() associates a gzFile with the file descriptor fd. File 529 gzdopen() associates a gzFile with the file descriptor fd. File
525 descriptors are obtained from calls like open, dup, creat, or pipe. 530 descriptors are obtained from calls like open, dup, creat, or pipe.
@@ -528,7 +533,7 @@ extern gzFile gzdopen __P((int fd, char *mode));
528 the (de)compression state. 533 the (de)compression state.
529*/ 534*/
530 535
531extern int gzread __P((gzFile file, voidp buf, unsigned len)); 536extern int gzread OF((gzFile file, voidnp buf, unsigned len));
532/* 537/*
533 Reads the given number of uncompressed bytes from the compressed file. 538 Reads the given number of uncompressed bytes from the compressed file.
534 If the input file was not in gzip format, gzread copies the given number 539 If the input file was not in gzip format, gzread copies the given number
@@ -536,14 +541,14 @@ extern int gzread __P((gzFile file, voidp buf, unsigned len));
536 gzread returns the number of uncompressed bytes actually read (0 for 541 gzread returns the number of uncompressed bytes actually read (0 for
537 end of file, -1 for error). */ 542 end of file, -1 for error). */
538 543
539extern int gzwrite __P((gzFile file, voidp buf, unsigned len)); 544extern int gzwrite OF((gzFile file, voidnp buf, unsigned len));
540/* 545/*
541 Writes the given number of uncompressed bytes into the compressed file. 546 Writes the given number of uncompressed bytes into the compressed file.
542 gzwrite returns the number of uncompressed bytes actually written 547 gzwrite returns the number of uncompressed bytes actually written
543 (0 in case of error). 548 (0 in case of error).
544*/ 549*/
545 550
546extern int gzflush __P((gzFile file, int flush)); 551extern int gzflush OF((gzFile file, int flush));
547/* 552/*
548 Flushes all pending output into the compressed file. The parameter 553 Flushes all pending output into the compressed file. The parameter
549 flush is as in the deflate() function. The return value is the zlib 554 flush is as in the deflate() function. The return value is the zlib
@@ -553,14 +558,14 @@ extern int gzflush __P((gzFile file, int flush));
553 degrade compression. 558 degrade compression.
554*/ 559*/
555 560
556extern int gzclose __P((gzFile file)); 561extern int gzclose OF((gzFile file));
557/* 562/*
558 Flushes all pending output if necessary, closes the compressed file 563 Flushes all pending output if necessary, closes the compressed file
559 and deallocates all the (de)compression state. The return value is the zlib 564 and deallocates all the (de)compression state. The return value is the zlib
560 error number (see function gzerror below). 565 error number (see function gzerror below).
561*/ 566*/
562 567
563extern char* gzerror __P((gzFile file, int *errnum)); 568extern char* gzerror OF((gzFile file, int *errnum));
564/* 569/*
565 Returns the error message for the last error which occurred on the 570 Returns the error message for the last error which occurred on the
566 given compressed file. errnum is set to zlib error number. If an 571 given compressed file. errnum is set to zlib error number. If an
@@ -577,7 +582,8 @@ extern char* gzerror __P((gzFile file, int *errnum));
577 compression library. 582 compression library.
578*/ 583*/
579 584
580extern uLong adler32 __P((uLong adler, Byte *buf, uInt len)); 585extern uLong adler32 OF((uLong adler, Bytef *buf, uInt len));
586
581/* 587/*
582 Update a running Adler-32 checksum with the bytes buf[0..len-1] and 588 Update a running Adler-32 checksum with the bytes buf[0..len-1] and
583 return the updated checksum. If buf is NULL, this function returns 589 return the updated checksum. If buf is NULL, this function returns
@@ -593,7 +599,7 @@ extern uLong adler32 __P((uLong adler, Byte *buf, uInt len));
593 if (adler != original_adler) error(); 599 if (adler != original_adler) error();
594*/ 600*/
595 601
596extern uLong crc32 __P((uLong crc, Byte *buf, uInt len)); 602extern uLong crc32 OF((uLong crc, Bytef *buf, uInt len));
597/* 603/*
598 Update a running crc with the bytes buf[0..len-1] and return the updated 604 Update a running crc with the bytes buf[0..len-1] and return the updated
599 crc. If buf is NULL, this function returns the required initial value 605 crc. If buf is NULL, this function returns the required initial value