Symbian3/PDK/Source/GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 14 578be2adaf3e
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    12 <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
    12 <concept id="GUID-017A0B4C-3FC2-5CFD-9D81-6A5ABF982D98" xml:lang="en"><title>EZLib
    13                 File - Zip Format </linktext> </link> <link href="GUID-548CC331-8E38-5627-A925-EA386BE90258.dita"><linktext>Compressing and Decompressing
    13 Interface</title><prolog><metadata><keywords/></metadata></prolog><conbody>
    14                 File - GZip Format </linktext> </link> <link href="GUID-C3086910-D7B4-5549-BF65-374C8B602E8F.dita"><linktext>Compressing and
    14 <p>The Symbian platform implements compression and decompression with the
    15                 Decompressing Memory Streams </linktext> </link> <link href="GUID-FDDAF8E9-4CAB-5489-B578-A5362E2140C1.dita"><linktext>Decompressing File Archives</linktext> </link> </related-links></concept>
    15 open source ZLib library, which uses dynamic Huffman encoding and LZ77 compression. </p>
       
    16 <p>The user needs to know about the below: </p>
       
    17 <ul>
       
    18 <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>
       
    19 <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>
       
    20 </ul>
       
    21 <section id="GUID-E1C36B5E-1750-5225-92CC-CE9DF8D6C981"><title>About EZLib
       
    22 interfaces</title> <p>The EZLib interfaces accomodates the following libraries: </p> <ul>
       
    23 <li id="GUID-E730EA7A-1C78-592D-AFB1-15BC4178E5FE"><p>ZLib : It is the original
       
    24 open source code, written in C and slightly modified to run on the Symbian
       
    25 platform. </p> </li>
       
    26 <li id="GUID-C3AD9FDD-A3CA-50FE-B93D-75845C8E1F97"><p>EZLib : It consists
       
    27 of a direct interface to the original C API and a C++ wrapper round that same
       
    28 API. </p> <p>Earlier versions of EZLib are still supported by the Symbian
       
    29 platform but are deprecated for new development. The current implementation
       
    30 is backwards compatible with previous ones. </p> </li>
       
    31 </ul> <p>EZLib consists of the following dlls: </p> <ul>
       
    32 <li id="GUID-421EBE71-9F2E-57C8-9989-437781822668"><p>libz.dll, a set of C
       
    33 APIs with the functionality of ZLib version 1.2.3. </p> </li>
       
    34 <li id="GUID-7108B065-C9CD-5DC6-89CA-2F81F847BEF0"><p>ezlib.dll, a set of
       
    35 C++ APIs with the same functionality as the C APIs, packaged to offer different
       
    36 variations of the functionality. </p> </li>
       
    37 <li id="GUID-7445BFDB-D54E-5ED2-9081-5975709F7C98"><p>ezip.dll, a set of C++
       
    38 APIs with the same functionality as the C APIs, packaged to offer different
       
    39 variations of the functionality. </p> </li>
       
    40 </ul> </section>
       
    41 <section id="GUID-2D4AD89D-501C-52DB-83E9-691F9FA86095"><title>How to select
       
    42 an EZLib interface</title> <p>DLLs are used to implement the EZLib interface
       
    43 features. </p> <p>Symbian Developers must therefore decide about the interfaces
       
    44 (C or C++) and DLLs to be used. </p> <ul>
       
    45 <li id="GUID-0AB51ACE-999E-5EB2-BF67-443BD60F790B"><p>If you want to read
       
    46 from a zip archive you must use C++ and include ezip.dll because this functionality
       
    47 is specific to the Symbian platform and is not part of the open source ZLib
       
    48 library. </p> </li>
       
    49 <li id="GUID-59EE6445-2DA3-5716-90BC-C2EE6DF4BE51"><p>If you are writing client
       
    50 applications to run purely on the Symbian platform you must use C++. </p> </li>
       
    51 <li id="GUID-2E16494D-7DDE-5063-A3B0-640F359DF4D1"><p>If you are integrating
       
    52 an existing application which already interfaces to the open source version
       
    53 of zlib you must choose C. </p> </li>
       
    54 <li id="GUID-768ADF17-B2B1-5933-91ED-6E5759E14255"><p>If you are writing a
       
    55 cross-platform application to run on various platforms including the Symbian
       
    56 platform you should probably choose C. </p> </li>
       
    57 <li id="GUID-915F6514-1421-53C8-B11C-0DC73C1B9C3D"><p>If you simply want the
       
    58 compression and decompression functionality without file input and output
       
    59 you should include ezlib.dll. This DLL excludes the API functions with names
       
    60 beginning in gz such as gzread() and gzwrite() supplying the I/O functionality
       
    61 known as gzio. The Symbian platform which previously used EZlib
       
    62 does not use gzio and you should chooose ezlib.dll when working with it. </p> </li>
       
    63 <li id="GUID-9AB5CEB8-19FB-574E-B56E-E7312CF53815"><p>If you want gzio input
       
    64 and output functionality you should choose libz.dll. However, use of this
       
    65 DLL entails memory and performance overheads so you should only use it if
       
    66 you definitely need the additional functionality. </p> </li>
       
    67 </ul> <p>The appropriate header file must be included in the application to
       
    68 implement your choice of DLL. </p> </section>
       
    69 </conbody><related-links>
       
    70 <link href="GUID-4BEFF7BA-2A39-5601-919E-22AF08D06023.dita"><linktext>Zip Compression
       
    71 Library Overview</linktext></link>
       
    72 <link href="GUID-84922B27-FDCF-56FD-91ED-5E0BFE3ED0E4.dita"><linktext>Compressing
       
    73 and Decompressing                 File - Zip Format </linktext></link>
       
    74 <link href="GUID-548CC331-8E38-5627-A925-EA386BE90258.dita"><linktext>Compressing
       
    75 and Decompressing                 File - GZip Format </linktext></link>
       
    76 <link href="GUID-C3086910-D7B4-5549-BF65-374C8B602E8F.dita"><linktext>Compressing
       
    77 and                 Decompressing Memory Streams </linktext></link>
       
    78 <link href="GUID-FDDAF8E9-4CAB-5489-B578-A5362E2140C1.dita"><linktext>Decompressing
       
    79 File Archives</linktext></link>
       
    80 </related-links></concept>