readme.txt revision 1.1
11.1Schristos
21.1SchristosThis directory contains a Pascal (Delphi, Kylix) interface to the
31.1Schristoszlib data compression library.
41.1Schristos
51.1Schristos
61.1SchristosDirectory listing
71.1Schristos=================
81.1Schristos
91.1Schristoszlibd32.mak     makefile for Borland C++
101.1Schristosexample.pas     usage example of zlib
111.1Schristoszlibpas.pas     the Pascal interface to zlib
121.1Schristosreadme.txt      this file
131.1Schristos
141.1Schristos
151.1SchristosCompatibility notes
161.1Schristos===================
171.1Schristos
181.1Schristos- Although the name "zlib" would have been more normal for the
191.1Schristos  zlibpas unit, this name is already taken by Borland's ZLib unit.
201.1Schristos  This is somehow unfortunate, because that unit is not a genuine
211.1Schristos  interface to the full-fledged zlib functionality, but a suite of
221.1Schristos  class wrappers around zlib streams.  Other essential features,
231.1Schristos  such as checksums, are missing.
241.1Schristos  It would have been more appropriate for that unit to have a name
251.1Schristos  like "ZStreams", or something similar.
261.1Schristos
271.1Schristos- The C and zlib-supplied types int, uInt, long, uLong, etc. are
281.1Schristos  translated directly into Pascal types of similar sizes (Integer,
291.1Schristos  LongInt, etc.), to avoid namespace pollution.  In particular,
301.1Schristos  there is no conversion of unsigned int into a Pascal unsigned
311.1Schristos  integer.  The Word type is non-portable and has the same size
321.1Schristos  (16 bits) both in a 16-bit and in a 32-bit environment, unlike
331.1Schristos  Integer.  Even if there is a 32-bit Cardinal type, there is no
341.1Schristos  real need for unsigned int in zlib under a 32-bit environment.
351.1Schristos
361.1Schristos- Except for the callbacks, the zlib function interfaces are
371.1Schristos  assuming the calling convention normally used in Pascal
381.1Schristos  (__pascal for DOS and Windows16, __fastcall for Windows32).
391.1Schristos  Since the cdecl keyword is used, the old Turbo Pascal does
401.1Schristos  not work with this interface.
411.1Schristos
421.1Schristos- The gz* function interfaces are not translated, to avoid
431.1Schristos  interfacing problems with the C runtime library.  Besides,
441.1Schristos    gzprintf(gzFile file, const char *format, ...)
451.1Schristos  cannot be translated into Pascal.
461.1Schristos
471.1Schristos
481.1SchristosLegal issues
491.1Schristos============
501.1Schristos
511.1SchristosThe zlibpas interface is:
521.1Schristos  Copyright (C) 1995-2003 Jean-loup Gailly and Mark Adler.
531.1Schristos  Copyright (C) 1998 by Bob Dellaca.
541.1Schristos  Copyright (C) 2003 by Cosmin Truta.
551.1Schristos
561.1SchristosThe example program is:
571.1Schristos  Copyright (C) 1995-2003 by Jean-loup Gailly.
581.1Schristos  Copyright (C) 1998,1999,2000 by Jacques Nomssi Nzali.
591.1Schristos  Copyright (C) 2003 by Cosmin Truta.
601.1Schristos
611.1Schristos  This software is provided 'as-is', without any express or implied
621.1Schristos  warranty.  In no event will the author be held liable for any damages
631.1Schristos  arising from the use of this software.
641.1Schristos
651.1Schristos  Permission is granted to anyone to use this software for any purpose,
661.1Schristos  including commercial applications, and to alter it and redistribute it
671.1Schristos  freely, subject to the following restrictions:
681.1Schristos
691.1Schristos  1. The origin of this software must not be misrepresented; you must not
701.1Schristos     claim that you wrote the original software. If you use this software
711.1Schristos     in a product, an acknowledgment in the product documentation would be
721.1Schristos     appreciated but is not required.
731.1Schristos  2. Altered source versions must be plainly marked as such, and must not be
741.1Schristos     misrepresented as being the original software.
751.1Schristos  3. This notice may not be removed or altered from any source distribution.
761.1Schristos
77