Symbian3/PDK/Source/GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Tue, 30 Mar 2010 11:56:28 +0100
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
permissions -rw-r--r--
Week 12 contribution of PDK documentation_content. See release notes for details. Fixes Bug 2054, Bug 1583, Bug 381, Bug 390, Bug 463, Bug 1897, Bug 344, Bug 1319, Bug 394, Bug 1520, Bug 1522, Bug 1892"

<?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>EZLib
Interface</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>The 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 the 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 by the 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 the 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 the 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 the 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. The 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>