.TH ZLIB 3 "20 January 1998"
.SH NAME
zlib \- compression/decompression library
.SH SYNOPSIS
[see
.I zlib.h
for full descripton]
.SH DESCRIPTION
The
.I zlib
library is a general purpose data compression library.
The code is reentrant (thread safe).
It provides in-memory compression and decompression functions,
including integrity checks of the uncompressed data.
This version of the library supports only one compression method (deflation)
but other algorithms will be added later and will have the same stream interface.
.LP
Compression can be done in a single step if the buffers are large enough
(for example if an input file is mmap'ed),
or can be done by repeated calls of the compression function.
In the latter case,
the application must provide more input and/or consume the output
(providing more output space) before each call.
.LP
The library also supports reading and writing files in
.I gzip
(.gz) format
with an interface similar to that of stdio.
.LP
The library does not install any signal handler. The decoder checks
the consistency of the compressed data, so the library should never
crash even in case of corrupted input.
.LP
All functions of the compression library are documented in the file
.IR zlib.h.
The distribution source includes examples of use of the library
the files
.I example.c
and
.IR minigzip.c .
.LP
A Java implementation of
.IR zlib
is available in the Java Development Kit 1.1
.IP
http://www.javasoft.com/products/JDK/1.1/docs/api/Package-java.util.zip.html
.LP
A Perl interface to
.IR zlib ,
written by Paul Marquess (pmarquess@bfsec.bt.co.uk)
is available at CPAN (Comprehensive Perl Archive Network) sites,
such as:
.IP
ftp://ftp.cis.ufl.edu/pub/perl/CPAN/modules/by-module/Compress/Compress-Zlib*
.LP
A Python interface to
.IR zlib
written by A.M. Kuchling <amk@magnet.com>
is available from the Python Software Association sites, such as:
.IP
ftp://ftp.python.org/pub/python/contrib/Encoding/zlib*.tar.gz
.SH "SEE ALSO"
Questions about zlib should be sent to:
.IP
zlib@quest.jpl.nasa.gov
or, if this fails, to the author addresses given below.
The zlib home page is:
.IP
http://www.cdrom.com/infozip/zlib/
.LP
The data format used by the zlib library is described by RFC
(Request for Comments) 1950 to 1952 in the files: 
.IP
ftp://ds.internic.net/rfc/rfc1950.txt (zlib format)
.br
rfc1951.txt (deflate format)
.br
rfc1952.txt (gzip format)
.LP
These documents are also available in other formats from:
.IP
ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
.SH AUTHORS
Version 1.0.7.
Copyright (C) 1995-1998 Jean-loup Gailly (jloup@gzip.org)
and Mark Adler (madler@alumni.caltech.edu).
.LP
This software is provided "as-is,"
without any express or implied warranty.
In no event will the authors be held liable for any damages
arising from the use of this software.
See the distribution directory with respect to requirements
governing redistribution.
The deflate format used by
.I zlib
was defined by Phil Katz.
The deflate and
.I zlib
specifications were written by Peter Deutsch.
Thanks to all the people who reported problems and suggested various
improvements in
.IR zlib ;
who are too numerous to cite here.
.LP
UNIX manual page by R. P. C. Rodgers,
U.S. National Library of Medicine (rodgers@nlm.nih.gov).
.\" end of man page
