ZLib pour NewtonOS
- Introduction
- Téléchargement
- Documentation pour développeurs
- Licence d'utilisation et Notes
- Historique des changements
ZLib est une bibliothèque de compression/décompression écrite par Jean-loup Gailly & Mark Adler que j'ai partiellement portée sur NewtonOS. Les fonctions portées sont celles de base, si vous avez besoin de plus, contactez-moi.
Le paquet ne fait rien en soi, c'est une sorte de bibliothèque partagée. Le mécanisme mis en œuvre est celui des Units.
ZLib fournit une méthode de compression/décompression appelée deflate/inflate utilisée dans les archives zip (cependant ce n'est pas la seule méthode pour ces archives) et gz. Cette bibliothèque est aussi aujourd'hui utilisée dans de nombreux projets dont VNC, SSH, etc.
Il existe à ma connaissance trois logiciels utilisant la version Newton de ZLib:
- VNC de Steve Weyer, un client VNC (l'utilisation de la ZLib nécessite que le serveur gère aussi cette méthode de transmission de données)
- UnzipBMP de Steve Weyer, une ente pour Newtscape (la ZLib n'est efficace qu'avec les fichiers zip compressés en deflate, elle est inutile pour les données compressés en implode).
- Courier de Eckhart Köppen, un nouveau butineur léger (ZLib permet de décompresser les pages au vol).
|
|
ZLib 1.1 (archive pour Macintosh - paquet seulement) |
|
|
ZLib 1.1 (archive pour Macintosh - paquet, sources et fichiers pour développeurs) |
|
|
ZLib 1.1 (archive Zip - paquet seulement) |
Documentation pour développeurs
Les fonctions de la ZLib (originale) sont décrits là. La documentation pour développeurs de la version Newton est ici.
Licence d'utilisation et Notes
ZLib comprend essentiellement du code dont je ne suis pas l'auteur. La licence de la ZLib originale est assez libérale:
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).
J'ai pris la décision de distribuer le source de la ZLib avec mes changements et l'enveloppe pour appeler les fonctions depuis NewtonScript. Cependant, parce que la version Newton utilise le mécanisme des Units, j'ajoute les restrictions suivantes pour l'utilisation des sources comme du paquet:
- Le paquet ZLib tel que fourni ne doit en aucun cas être intégré à un autre paquet.
- Toute redistribution d'une version modifiée du paquet ZLib sans mon accord ne doit pas contenir "Kallisys", y compris comme signature et comme paramètre pour DeclareUnit et DefineUnit.
Je suis conscient que la licence ZLib perd la certification OSI avec mes ajouts. Si c'est un problème, soumettez-les à l'OSI. Je ne pense pas qu'ils soient contraires à la définition Open Source.
Notes concernant le source de la ZLib originale: les changements que j'ai dû faire pour être compilable par le Newton consistent à déclarer comme constantes toutes les variables globales constantes en pratique mais non déclarées ou partiellement déclarées comme telles. Par conséquent, le code source inclus dans l'archive pour développeurs peut ne pas compiler pour d'autres plateformes.
- 14/3/2002 1.1
- Passage à la version 1.1.4
- 4/11/2001 1.0
- Première publication du logiciel