Kallisys
Latest News

07/16/2007:
[Newton] Einstein becomes OpenEinstein

05/31/2006:
[Newton] Einstein Platform 2006.6

01/14/2006:
[Newton] WWNC 2006

06/04/2005:
[Newton] einstein em UP2

05/26/2005:
[Mac] toolserver(1) 1.2

Cette page en français  This page in English About language detection 
Valid HTML 4.01!  Valid CSS!  Triple-A WCAG logo 

Package icon ZLib for NewtonOS

Introduction

ZLib is a library to compress/uncompress data written by Jean-loup Gailly & Mark Adler which I partially ported to NewtonOS. The ported functions are the basic functions, if you need more, contact me.

The package doesn't do anything alone, it's a kind of shared library. The mechanism involved is the Units mechanism.

ZLib offers a compression/decompression method called inflate/deflate used in Zip archives (however, it's not the only method used in these archives) and gz archives. This library is also used today in a lot of projects including VNC, SSH, etc.

AFAIK, there are currently three programs using the Newton port of ZLib:

  • Steve Weyer's VNC, a VNC client (the use of the ZLib requires that the server also uses this method to transmit data)
  • Steve Weyer's UnzipBMP, a Newtscape plug-in (the ZLib is only useful with deflate compressed zip files, it's useless with implode-compressed data).
  • Eckhart Köppen's Courier, a new light web browser (ZLib is used to uncompress pages on the fly).

Download

.sit.hqx file

ZLib 1.1 (MacOS archive - package only)

.sit.hqx file

ZLib 1.1 (MacOS archive - package, sources and developer files)

.zip file

ZLib 1.1 (Zip archive - package only)

Developer Documentation

The original ZLib APIs are described there. The Newton ZLib developer documentation is here.

User license and Notes

ZLib mostly includes code I haven't written. The ZLib license is quite liberal:

  zlib.h -- interface of the 'zlib' general purpose compression library
  version 1.1.4, March 11th, 2002

  Copyright (C) 1995-2002 Jean-loup Gailly and Mark Adler

  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.

  Permission is granted to anyone to use this software for any purpose,
  including commercial applications, and to alter it and redistribute it
  freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not
     claim that you wrote the original software. If you use this software
     in a product, an acknowledgment in the product documentation would be
     appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be
     misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

  Jean-loup Gailly        Mark Adler
  jloup@gzip.org          madler@alumni.caltech.edu


  The data format used by the zlib library is described by RFCs (Request for
  Comments) 1950 to 1952 in the files ftp://ds.internic.net/rfc/rfc1950.txt
  (zlib format), rfc1951.txt (deflate format) and rfc1952.txt (gzip format).

I decided to distribute the source of the ZLib with my changes and the NewtonScript wrappers. However, because the Newton version uses the Unit mechanism, I add the following restrictions to the use of the source code and the package:

  • The ZLib package in its released form shall not be included into another package.
  • Any redistribution of a modified version of the ZLib package without my agreement shall not include "Kallisys", including as a signature and for the DeclareUnit and DefineUnit parameters.

I realize that the ZLib license loses its Open Source certification from the OSI with my addenda. If it's a problem, just submit it to the OSI. I don't think they violate the Open Source definition.

Notes concerning the source code of the original ZLib: the changes I had to do to be compilable for NewtonOS were basically to declare as const every global variable practically used as constants but not declared or partially declared as such. As a consequence, the source code included in the developer archive may not be compilable for other targets.

Change History

  • 3/14/2002 1.1
    • Update to release 1.1.4
  • 11/4/2001 1.0
    • Initial release of the software