Initial contribution of the Adaptation Documentation.
<?xml version="1.0" encoding="utf-8"?><!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --><!-- This component and the accompanying materials are made available under the terms of the License "Eclipse Public License v1.0" which accompanies this distribution, and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --><!-- Initial Contributors: Nokia Corporation - initial contribution.Contributors: --><!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"><concept id="GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98" xml:lang="en"><title>EZLibInterface</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>The Symbian platform implements compression and decompression with theopen source ZLib library, which uses dynamic Huffman encoding and LZ77 compression. </p><p>The user needs to know about the below: </p><ul><li id="GUID-54501213-E449-5554-BF69-2C5A9FAB5B69"><p><xref href="GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98.dita#GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98/GUID-E1C36B5E-1750-5225-92CC-CE9DF8D6C981">About EZLib interfaces</xref> </p> </li><li id="GUID-26FF852D-5F70-52D6-9C62-E406CA9138E5"><p><xref href="GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98.dita#GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98/GUID-2D4AD89D-501C-52DB-83E9-691F9FA86095">How to select an EZLib interface</xref> </p> </li></ul><section id="GUID-E1C36B5E-1750-5225-92CC-CE9DF8D6C981"><title>About EZLibinterfaces</title> <p>The EZLib interfaces accomodates the following libraries: </p> <ul><li id="GUID-E730EA7A-1C78-592D-AFB1-15BC4178E5FE"><p>ZLib : It is the originalopen source code, written in C and slightly modified to run on the Symbianplatform. </p> </li><li id="GUID-C3AD9FDD-A3CA-50FE-B93D-75845C8E1F97"><p>EZLib : It consistsof a direct interface to the original C API and a C++ wrapper round that sameAPI. </p> <p>Earlier versions of EZLib are still supported by the Symbianplatform but are deprecated for new development. The current implementationis backwards compatible with previous ones. </p> </li></ul> <p>EZLib consists of the following dlls: </p> <ul><li id="GUID-421EBE71-9F2E-57C8-9989-437781822668"><p>libz.dll, a set of CAPIs with the functionality of ZLib version 1.2.3. </p> </li><li id="GUID-7108B065-C9CD-5DC6-89CA-2F81F847BEF0"><p>ezlib.dll, a set ofC++ APIs with the same functionality as the C APIs, packaged to offer differentvariations of the functionality. </p> </li><li id="GUID-7445BFDB-D54E-5ED2-9081-5975709F7C98"><p>ezip.dll, a set of C++APIs with the same functionality as the C APIs, packaged to offer differentvariations of the functionality. </p> </li></ul> </section><section id="GUID-2D4AD89D-501C-52DB-83E9-691F9FA86095"><title>How to selectan EZLib interface</title> <p>DLLs are used to implement the EZLib interfacefeatures. </p> <p>Symbian Developers must therefore decide about the interfaces(C or C++) and DLLs to be used. </p> <ul><li id="GUID-0AB51ACE-999E-5EB2-BF67-443BD60F790B"><p>If you want to readfrom a zip archive you must use C++ and include ezip.dll because this functionalityis specific to the Symbian platform and is not part of the open source ZLiblibrary. </p> </li><li id="GUID-59EE6445-2DA3-5716-90BC-C2EE6DF4BE51"><p>If you are writing clientapplications to run purely on the Symbian platform you must use C++. </p> </li><li id="GUID-2E16494D-7DDE-5063-A3B0-640F359DF4D1"><p>If you are integratingan existing application which already interfaces to the open source versionof zlib you must choose C. </p> </li><li id="GUID-768ADF17-B2B1-5933-91ED-6E5759E14255"><p>If you are writing across-platform application to run on various platforms including the Symbianplatform you should probably choose C. </p> </li><li id="GUID-915F6514-1421-53C8-B11C-0DC73C1B9C3D"><p>If you simply want thecompression and decompression functionality without file input and outputyou should include ezlib.dll. This DLL excludes the API functions with namesbeginning in gz such as gzread() and gzwrite() supplying the I/O functionalityknown as gzio. The Symbian platform which previously used EZlibdoes not use gzio and you should chooose ezlib.dll when working with it. </p> </li><li id="GUID-9AB5CEB8-19FB-574E-B56E-E7312CF53815"><p>If you want gzio inputand output functionality you should choose libz.dll. However, use of thisDLL entails memory and performance overheads so you should only use it ifyou definitely need the additional functionality. </p> </li></ul> <p>The appropriate header file must be included in the application toimplement your choice of DLL. </p> </section></conbody><related-links><link href="GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita"><linktext>Zip CompressionLibrary Overview</linktext></link><link href="GUID-84922B27-FDCF-56FD-91ED-5E0BFE3ED0E4.dita"><linktext>Compressingand Decompressing File - Zip Format </linktext></link><link href="GUID-548CC331-8E38-5627-A925-EA386BE90258.dita"><linktext>Compressingand Decompressing File - GZip Format </linktext></link><link href="GUID-C3086910-D7B4-5549-BF65-374C8B602E8F.dita"><linktext>Compressingand Decompressing Memory Streams </linktext></link><link href="GUID-FDDAF8E9-4CAB-5489-B578-A5362E2140C1.dita"><linktext>DecompressingFile Archives</linktext></link></related-links></concept>