summaryrefslogtreecommitdiff
path: root/sys/src/cmd/python/Doc/lib/libzlib.tex
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
committercinap_lenrek <cinap_lenrek@localhost>2011-05-03 11:25:13 +0000
commit458120dd40db6b4df55a4e96b650e16798ef06a0 (patch)
tree8f82685be24fef97e715c6f5ca4c68d34d5074ee /sys/src/cmd/python/Doc/lib/libzlib.tex
parent3a742c699f6806c1145aea5149bf15de15a0afd7 (diff)
add hg and python
Diffstat (limited to 'sys/src/cmd/python/Doc/lib/libzlib.tex')
-rw-r--r--sys/src/cmd/python/Doc/lib/libzlib.tex197
1 files changed, 197 insertions, 0 deletions
diff --git a/sys/src/cmd/python/Doc/lib/libzlib.tex b/sys/src/cmd/python/Doc/lib/libzlib.tex
new file mode 100644
index 000000000..876f8c0f7
--- /dev/null
+++ b/sys/src/cmd/python/Doc/lib/libzlib.tex
@@ -0,0 +1,197 @@
+\section{\module{zlib} ---
+ Compression compatible with \program{gzip}}
+
+\declaremodule{builtin}{zlib}
+\modulesynopsis{Low-level interface to compression and decompression
+ routines compatible with \program{gzip}.}
+
+
+For applications that require data compression, the functions in this
+module allow compression and decompression, using the zlib library.
+The zlib library has its own home page at \url{http://www.zlib.net}.
+There are known incompatibilities between the Python module and
+versions of the zlib library earlier than 1.1.3; 1.1.3 has a security
+vulnerability, so we recommend using 1.1.4 or later.
+
+zlib's functions have many options and often need to be used in a
+particular order. This documentation doesn't attempt to cover all of
+the permutations; consult the zlib manual at
+\url{http://www.zlib.net/manual.html} for authoritative information.
+
+The available exception and functions in this module are:
+
+\begin{excdesc}{error}
+ Exception raised on compression and decompression errors.
+\end{excdesc}
+
+
+\begin{funcdesc}{adler32}{string\optional{, value}}
+ Computes a Adler-32 checksum of \var{string}. (An Adler-32
+ checksum is almost as reliable as a CRC32 but can be computed much
+ more quickly.) If \var{value} is present, it is used as the
+ starting value of the checksum; otherwise, a fixed default value is
+ used. This allows computing a running checksum over the
+ concatenation of several input strings. The algorithm is not
+ cryptographically strong, and should not be used for
+ authentication or digital signatures. Since the algorithm is
+ designed for use as a checksum algorithm, it is not suitable for
+ use as a general hash algorithm.
+\end{funcdesc}
+
+\begin{funcdesc}{compress}{string\optional{, level}}
+ Compresses the data in \var{string}, returning a string contained
+ compressed data. \var{level} is an integer from \code{1} to
+ \code{9} controlling the level of compression; \code{1} is fastest
+ and produces the least compression, \code{9} is slowest and produces
+ the most. The default value is \code{6}. Raises the
+ \exception{error} exception if any error occurs.
+\end{funcdesc}
+
+\begin{funcdesc}{compressobj}{\optional{level}}
+ Returns a compression object, to be used for compressing data streams
+ that won't fit into memory at once. \var{level} is an integer from
+ \code{1} to \code{9} controlling the level of compression; \code{1} is
+ fastest and produces the least compression, \code{9} is slowest and
+ produces the most. The default value is \code{6}.
+\end{funcdesc}
+
+\begin{funcdesc}{crc32}{string\optional{, value}}
+ Computes a CRC (Cyclic Redundancy Check)%
+ \index{Cyclic Redundancy Check}
+ \index{checksum!Cyclic Redundancy Check}
+ checksum of \var{string}. If
+ \var{value} is present, it is used as the starting value of the
+ checksum; otherwise, a fixed default value is used. This allows
+ computing a running checksum over the concatenation of several
+ input strings. The algorithm is not cryptographically strong, and
+ should not be used for authentication or digital signatures. Since
+ the algorithm is designed for use as a checksum algorithm, it is not
+ suitable for use as a general hash algorithm.
+\end{funcdesc}
+
+\begin{funcdesc}{decompress}{string\optional{, wbits\optional{, bufsize}}}
+ Decompresses the data in \var{string}, returning a string containing
+ the uncompressed data. The \var{wbits} parameter controls the size of
+ the window buffer. If \var{bufsize} is given, it is used as the
+ initial size of the output buffer. Raises the \exception{error}
+ exception if any error occurs.
+
+The absolute value of \var{wbits} is the base two logarithm of the
+size of the history buffer (the ``window size'') used when compressing
+data. Its absolute value should be between 8 and 15 for the most
+recent versions of the zlib library, larger values resulting in better
+compression at the expense of greater memory usage. The default value
+is 15. When \var{wbits} is negative, the standard
+\program{gzip} header is suppressed; this is an undocumented feature
+of the zlib library, used for compatibility with \program{unzip}'s
+compression file format.
+
+\var{bufsize} is the initial size of the buffer used to hold
+decompressed data. If more space is required, the buffer size will be
+increased as needed, so you don't have to get this value exactly
+right; tuning it will only save a few calls to \cfunction{malloc()}. The
+default size is 16384.
+
+\end{funcdesc}
+
+\begin{funcdesc}{decompressobj}{\optional{wbits}}
+ Returns a decompression object, to be used for decompressing data
+ streams that won't fit into memory at once. The \var{wbits}
+ parameter controls the size of the window buffer.
+\end{funcdesc}
+
+Compression objects support the following methods:
+
+\begin{methoddesc}[Compress]{compress}{string}
+Compress \var{string}, returning a string containing compressed data
+for at least part of the data in \var{string}. This data should be
+concatenated to the output produced by any preceding calls to the
+\method{compress()} method. Some input may be kept in internal buffers
+for later processing.
+\end{methoddesc}
+
+\begin{methoddesc}[Compress]{flush}{\optional{mode}}
+All pending input is processed, and a string containing the remaining
+compressed output is returned. \var{mode} can be selected from the
+constants \constant{Z_SYNC_FLUSH}, \constant{Z_FULL_FLUSH}, or
+\constant{Z_FINISH}, defaulting to \constant{Z_FINISH}. \constant{Z_SYNC_FLUSH} and
+\constant{Z_FULL_FLUSH} allow compressing further strings of data, while
+\constant{Z_FINISH} finishes the compressed stream and
+prevents compressing any more data. After calling
+\method{flush()} with \var{mode} set to \constant{Z_FINISH}, the
+\method{compress()} method cannot be called again; the only realistic
+action is to delete the object.
+\end{methoddesc}
+
+\begin{methoddesc}[Compress]{copy}{}
+Returns a copy of the compression object. This can be used to efficiently
+compress a set of data that share a common initial prefix.
+\versionadded{2.5}
+\end{methoddesc}
+
+Decompression objects support the following methods, and two attributes:
+
+\begin{memberdesc}{unused_data}
+A string which contains any bytes past the end of the compressed data.
+That is, this remains \code{""} until the last byte that contains
+compression data is available. If the whole string turned out to
+contain compressed data, this is \code{""}, the empty string.
+
+The only way to determine where a string of compressed data ends is by
+actually decompressing it. This means that when compressed data is
+contained part of a larger file, you can only find the end of it by
+reading data and feeding it followed by some non-empty string into a
+decompression object's \method{decompress} method until the
+\member{unused_data} attribute is no longer the empty string.
+\end{memberdesc}
+
+\begin{memberdesc}{unconsumed_tail}
+A string that contains any data that was not consumed by the last
+\method{decompress} call because it exceeded the limit for the
+uncompressed data buffer. This data has not yet been seen by the zlib
+machinery, so you must feed it (possibly with further data
+concatenated to it) back to a subsequent \method{decompress} method
+call in order to get correct output.
+\end{memberdesc}
+
+
+\begin{methoddesc}[Decompress]{decompress}{string\optional{, max_length}}
+Decompress \var{string}, returning a string containing the
+uncompressed data corresponding to at least part of the data in
+\var{string}. This data should be concatenated to the output produced
+by any preceding calls to the
+\method{decompress()} method. Some of the input data may be preserved
+in internal buffers for later processing.
+
+If the optional parameter \var{max_length} is supplied then the return value
+will be no longer than \var{max_length}. This may mean that not all of the
+compressed input can be processed; and unconsumed data will be stored
+in the attribute \member{unconsumed_tail}. This string must be passed
+to a subsequent call to \method{decompress()} if decompression is to
+continue. If \var{max_length} is not supplied then the whole input is
+decompressed, and \member{unconsumed_tail} is an empty string.
+\end{methoddesc}
+
+\begin{methoddesc}[Decompress]{flush}{\optional{length}}
+All pending input is processed, and a string containing the remaining
+uncompressed output is returned. After calling \method{flush()}, the
+\method{decompress()} method cannot be called again; the only realistic
+action is to delete the object.
+
+The optional parameter \var{length} sets the initial size of the
+output buffer.
+\end{methoddesc}
+
+\begin{methoddesc}[Decompress]{copy}{}
+Returns a copy of the decompression object. This can be used to save the
+state of the decompressor midway through the data stream in order to speed up
+random seeks into the stream at a future point.
+\versionadded{2.5}
+\end{methoddesc}
+
+\begin{seealso}
+ \seemodule{gzip}{Reading and writing \program{gzip}-format files.}
+ \seeurl{http://www.zlib.net}{The zlib library home page.}
+ \seeurl{http://www.zlib.net/manual.html}{The zlib manual explains
+ the semantics and usage of the library's many functions.}
+\end{seealso}