annotate Modules/zlib/README @ 78069:a8aa77458e12 3.2

Add c_size_t and c_ssize_t to the ctypes summary table.
author Antoine Pitrou <solipsis@pitrou.net>
date Thu, 12 Jul 2012 20:31:50 +0200
parents 467019588fcc
children 224aa49f22f1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
1 ZLIB DATA COMPRESSION LIBRARY
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
2
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
3 zlib 1.2.5 is a general purpose data compression library. All the code is
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
4 thread safe. The data format used by the zlib library is described by RFCs
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
5 (Request for Comments) 1950 to 1952 in the files
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
6 http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
7 and rfc1952.txt (gzip format).
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
8
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
9 All functions of the compression library are documented in the file zlib.h
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
10 (volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
11 of the library is given in the file example.c which also tests that the library
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
12 is working correctly. Another example is given in the file minigzip.c. The
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
13 compression library itself is composed of all source files except example.c and
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
14 minigzip.c.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
15
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
16 To compile all files and run the test program, follow the instructions given at
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
17 the top of Makefile.in. In short "./configure; make test", and if that goes
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
18 well, "make install" should work for most flavors of Unix. For Windows, use one
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
19 of the special makefiles in win32/ or contrib/vstudio/ . For VMS, use
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
20 make_vms.com.
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
21
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
22 Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
23 <info@winimage.com> for the Windows DLL version. The zlib home page is
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
24 http://zlib.net/ . Before reporting a problem, please check this site to
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
25 verify that you have the latest version of zlib; otherwise get the latest
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
26 version and check whether the problem still exists or not.
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
27
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
28 PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help.
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
29
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
30 Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
31 issue of Dr. Dobb's Journal; a copy of the article is available at
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
32 http://marknelson.us/1997/01/01/zlib-engine/ .
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
33
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
34 The changes made in version 1.2.5 are documented in the file ChangeLog.
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
35
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
36 Unsupported third party contributions are provided in directory contrib/ .
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
37
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
38 zlib is available in Java using the java.util.zip package, documented at
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
39 http://java.sun.com/developer/technicalArticles/Programming/compression/ .
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
40
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
41 A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is available
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
42 at CPAN (Comprehensive Perl Archive Network) sites, including
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
43 http://search.cpan.org/~pmqs/IO-Compress-Zlib/ .
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
44
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
45 A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
46 available in Python 1.5 and later versions, see
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
47 http://www.python.org/doc/lib/module-zlib.html .
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
48
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
49 zlib is built into tcl: http://wiki.tcl.tk/4610 .
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
50
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
51 An experimental package to read and write files in .zip format, written on top
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
52 of zlib by Gilles Vollant <info@winimage.com>, is available in the
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
53 contrib/minizip directory of zlib.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
54
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
55
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
56 Notes for some targets:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
57
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
58 - For Windows DLL versions, please see win32/DLL_FAQ.txt
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
59
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
60 - For 64-bit Irix, deflate.c must be compiled without any optimization. With
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
61 -O, one libpng test fails. The test works in 32 bit mode (with the -n32
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
62 compiler flag). The compiler bug has been reported to SGI.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
63
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
64 - zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
65 when compiled with cc.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
66
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
67 - On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
68 necessary to get gzprintf working correctly. This is done by configure.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
69
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
70 - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
71 other compilers. Use "make test" to check your compiler.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
72
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
73 - gzdopen is not supported on RISCOS or BEOS.
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
74
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
75 - For PalmOs, see http://palmzlib.sourceforge.net/
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
76
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
77
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
78 Acknowledgments:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
79
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
80 The deflate format used by zlib was defined by Phil Katz. The deflate and
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
81 zlib specifications were written by L. Peter Deutsch. Thanks to all the
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
82 people who reported problems and suggested various improvements in zlib; they
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
83 are too numerous to cite here.
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
84
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
85 Copyright notice:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
86
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
87 (C) 1995-2010 Jean-loup Gailly and Mark Adler
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
88
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
89 This software is provided 'as-is', without any express or implied
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
90 warranty. In no event will the authors be held liable for any damages
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
91 arising from the use of this software.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
92
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
93 Permission is granted to anyone to use this software for any purpose,
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
94 including commercial applications, and to alter it and redistribute it
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
95 freely, subject to the following restrictions:
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
96
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
97 1. The origin of this software must not be misrepresented; you must not
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
98 claim that you wrote the original software. If you use this software
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
99 in a product, an acknowledgment in the product documentation would be
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
100 appreciated but is not required.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
101 2. Altered source versions must be plainly marked as such, and must not be
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
102 misrepresented as being the original software.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
103 3. This notice may not be removed or altered from any source distribution.
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
104
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
105 Jean-loup Gailly Mark Adler
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
106 jloup@gzip.org madler@alumni.caltech.edu
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
107
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
108 If you use the zlib library in a product, we would appreciate *not* receiving
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
109 lengthy legal documents to sign. The sources are provided for free but without
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
110 warranty of any kind. The library has been entirely written by Jean-loup
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
111 Gailly and Mark Adler; it does not include third-party code.
36186
81fa47d2d477 Import zlib into Python tree.
Martin v. Löwis <martin@v.loewis.de>
parents:
diff changeset
112
63336
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
113 If you redistribute modified sources, we would appreciate that you include in
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
114 the file ChangeLog history information documenting your changes. Please read
467019588fcc Import files from zlib 1.2.5.
Martin v. Löwis <martin@v.loewis.de>
parents: 42622
diff changeset
115 the FAQ for more information on the distribution of modified source versions.