Symbian3/SDK/Source/GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385

<?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 xml:lang="en" id="GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98"><title>EZLib Interface</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>Symbian platform implements compression and decompression with the open 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 EZLib interfaces</title> <p>The EZLib interfaces accomodates the following libraries: </p> <ul><li id="GUID-E730EA7A-1C78-592D-AFB1-15BC4178E5FE"><p>ZLib : It is the original open source code, written in C and slightly modified to run on Symbian platform. </p> </li> <li id="GUID-C3AD9FDD-A3CA-50FE-B93D-75845C8E1F97"><p>EZLib : It consists of a direct interface to the original C API and a C++ wrapper round that same API. </p> <p>Earlier versions of EZLib are still supported in Symbian platform but are deprecated for new development. The current implementation is 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 C APIs with the functionality of ZLib version 1.2.3. </p> </li> <li id="GUID-7108B065-C9CD-5DC6-89CA-2F81F847BEF0"><p>ezlib.dll, a set of C++ APIs with the same functionality as the C APIs, packaged to offer different variations 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 different variations of the functionality. </p> </li> </ul> </section> <section id="GUID-2D4AD89D-501C-52DB-83E9-691F9FA86095"><title>How to select an EZLib interface</title> <p>DLLs are used to implement the EZLib interface features. </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 read from a zip archive you must use C++ and include ezip.dll because this functionality is specific to Symbian platform and is not part of the open source ZLib library. </p> </li> <li id="GUID-59EE6445-2DA3-5716-90BC-C2EE6DF4BE51"><p>If you are writing client applications to run purely on Symbian platform you must use C++. </p> </li> <li id="GUID-2E16494D-7DDE-5063-A3B0-640F359DF4D1"><p>If you are integrating an existing application which already interfaces to the open source version of zlib you must choose C. </p> </li> <li id="GUID-768ADF17-B2B1-5933-91ED-6E5759E14255"><p>If you are writing a cross-platform application to run on various platforms including Symbian platform you should probably choose C. </p> </li> <li id="GUID-915F6514-1421-53C8-B11C-0DC73C1B9C3D"><p>If you simply want the compression and decompression functionality without file input and output you should include ezlib.dll. This DLL excludes the API functions with names beginning in gz such as gzread() and gzwrite() supplying the I/O functionality known as gzio. Symbian platform which previously used EZlib does 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 input and output functionality you should choose libz.dll. However, use of this DLL entails memory and performance overheads so you should only use it if you definitely need the additional functionality. </p> </li> </ul> <p>The appropriate header file must be included in the application to implement your choice of DLL. </p> </section> </conbody><related-links><link href="GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita"><linktext>Zip Compression Library Overview</linktext> </link> <link href="GUID-84922B27-FDCF-56FD-91ED-5E0BFE3ED0E4.dita"><linktext>Compressing and Decompressing
                File - Zip Format </linktext> </link> <link href="GUID-548CC331-8E38-5627-A925-EA386BE90258.dita"><linktext>Compressing and Decompressing
                File - GZip Format </linktext> </link> <link href="GUID-C3086910-D7B4-5549-BF65-374C8B602E8F.dita"><linktext>Compressing and
                Decompressing Memory Streams </linktext> </link> <link href="GUID-FDDAF8E9-4CAB-5489-B578-A5362E2140C1.dita"><linktext>Decompressing File Archives</linktext> </link> </related-links></concept>