Symbian3/PDK/Source/GUID-1CCFBCD1-543F-5C53-A1E7-594591BB5905.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 11 Mar 2010 18:02:22 +0000
changeset 3 46218c8b8afa
parent 1 25a17d01db0c
child 5 f345bda72bc4
permissions -rw-r--r--
week 10 bug fix submission (SF PDK version): Bug 1892, Bug 1897, Bug 1319. Also 3 or 4 documents were found to contain code blocks with SFL, which has been fixed. Partial fix for broken links, links to Forum Nokia, and the 'Symbian platform' terminology issues.

<?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-1CCFBCD1-543F-5C53-A1E7-594591BB5905" xml:lang="en"><title>How
to use CapImportCheck</title><prolog><metadata><keywords/></metadata></prolog><conbody>
<p><codeph>CapImportCheck</codeph> is a command line tool that allows you
to compare the capabilities of a binary file with the capabilities of the
binaries that may import that specific file. </p>
<p>To use <codeph>CapImportCheck</codeph>, you need to define the name and
location of the ROM log file, and the Symbian Capability List (<filepath>&lt;EPOCROOT&gt;\epoc32\include\e32capability.h</filepath>). </p>
<p>You also need to define the location of a file containing dependency data
for ROM log binaries. This data is generated as a text file by a tool called <codeph>ImportsAnalyser</codeph>,
provided with <codeph>CapImportCheck</codeph> (see below). This data is used
by <codeph>CapImportCheck</codeph> to determine which binaries may import
a given binary.</p>
<p>The results are presented in HTML format, but may also be printed to the
standard output.</p>
<section><title>Running ImportsAnalyser</title> <p><codeph>ImportsAnalyser</codeph> is
used to generate a mapping between a binary file and the binaries which import
it. This information is used by <codeph>CapImportCheck</codeph> to determine
dependency relationships between binaries in the ROM log.</p> <p><b>Command
line syntax</b> </p> <p>The command line syntax to be used when running <codeph>CapImportsAnalyser</codeph> is
shown below. </p> <p><codeph>&gt;ImportsAnalyser.pl –r myRom.log [–p pluginTable.pld]
[–D DependencyDataFile.txt] </codeph> </p> <p><b>Arguments</b> </p> <p>The
following arguments are used.</p> <table id="GUID-FCFDB3E7-4BE3-59D5-B1B8-593CE485F770">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <codeph>-r &lt;rom_log_file&gt;</codeph> </p> </entry>
<entry><p> The name and location of the ROM log file to be checked, in relation
to the directory where the tool is run from, for example <filepath>.\input\rom.log</filepath>.
This is mandatory.</p> </entry>
</row>
<row>
<entry><p> <codeph>-p &lt;plugin_table&gt;</codeph> </p> </entry>
<entry><p>The name of the <filepath>.pld</filepath> file containing plug-in
relationships. This may be found <filepath>&lt;EPOCROOT&gt;\epoc32\tools\CapTools\data</filepath>.
If no plug-in table is specified, no dynamic dependencies are generated.</p> </entry>
</row>
<row>
<entry><p><codeph>-D &lt;dependency_data_file&gt;</codeph> </p> </entry>
<entry><p>Defines the location of the output file containing dependency data.</p> </entry>
</row>
<row>
<entry><p><codeph>-h</codeph> </p> </entry>
<entry><p>Displays help information (optional).</p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Example</b> </p> <p>An example of how to use the <codeph>ImportsAnalyser</codeph> tool
is shown below:</p> <codeblock id="GUID-67B4385F-6292-5833-BF01-D6D92DF1E2FD" xml:space="preserve">&gt;ImportsAnalyser.pl -r .\input\rom.log -p plugintable.pld -D .input\depsData.txt</codeblock> </section>
<section><title>Running CapImportCheck</title> <p>Once the dependency data
has been generated, you can run <codeph>CapImportCheck</codeph>. Along with
the dependency data file, you also need to specify the name and location of
the ROM log file and the Symbian Capability list.</p> <p>You may also specify
a capability override file, listing capabilities to be used instead of the
capabilities of binaries found in the ROM log. </p> <p><b>Command line syntax</b> </p> <p>The
command line syntax to be used when running <codeph>CapImportCheck</codeph> is
shown below. </p> <p><codeph>&gt;CapImportCheck.pl -r &lt;rom_log_file&gt;  -s &lt;Symbian_capability_list&gt;
-D &lt;dependency_data_file&gt;  [-o &lt;override_file&gt;] [-R &lt;HTML_report&gt;]</codeph> </p> <p>Mandatory
arguments are <codeph>-r</codeph>, <codeph>-s</codeph> and <codeph>-D</codeph>.</p> <p><b>Arguments</b> </p> <p>The
following arguments are used.</p> <table id="GUID-7A42DC75-B9B6-5FDC-BEF9-AB68B6C9CBB6">
<tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
<tbody>
<row>
<entry><p> <codeph>-r &lt;rom_log_file&gt;</codeph> </p> </entry>
<entry><p> The name and location of the ROM log file to be checked, in relation
to the directory where the tool is run from, for example <filepath>.\input\rom.log</filepath>.
This is mandatory.</p> </entry>
</row>
<row>
<entry><p> <codeph>-s &lt;Symbian_capability_list&gt;</codeph> </p> </entry>
<entry><p>The name of the Symbian Capability List, listing all the capabilities
available to search, and their corresponding values. This is a header file
named <filepath>e32capability.h</filepath>, located within <filepath>&lt;EPOCROOT&gt;\epoc32\include</filepath>.
This flag is mandatory.</p> </entry>
</row>
<row>
<entry><p><codeph>-D &lt;dependency_data_file&gt;</codeph> </p> </entry>
<entry><p>Defines the location of the dependency data.</p> </entry>
</row>
<row>
<entry><p><codeph>-O &lt;override_file&gt;</codeph> </p> </entry>
<entry><p>Defines a text file containing a list of binaries and capabilities,
to be used instead of the ones found in the ROM log. This is optional. </p> <p>The
file may contain a list of modifications to the set of capabilities granted
to specified binaries. Capabilities can be added, removed or assigned, using
the following format:</p> <codeblock id="GUID-2DAF3E35-2A1A-562E-B8F2-851AA5C9FA13" xml:space="preserve">
agnmodel.dll +00000000 000000c0
agnmodel.dll -00000000 00808000
form.dll +00000000 0F80FFFF</codeblock> <p>where the first line specifies
that <filepath>agnmodel.dll</filepath> should be granted <codeph>c0</codeph> capabilities
in addition to any existing capabilities, and the second line specifies that
it should have its <codeph>808000</codeph> capabilities revoked. The third
line specifies that <filepath>form.dll</filepath> should have those exact
capabilities regardless of its existing capabilities.</p> </entry>
</row>
<row>
<entry><p><codeph>-R &lt;HTML_report&gt;</codeph> </p> </entry>
<entry><p>Defines the name of the HTML report to be generated in the working
directory. If not specified, the default name is <filepath>CapImportCheckReport.html</filepath>. </p> </entry>
</row>
<row>
<entry><p><codeph>-h</codeph> </p> </entry>
<entry><p>Displays help information (optional).</p> </entry>
</row>
</tbody>
</tgroup>
</table> <p><b>Example</b> </p> <p>An example of how to use the <codeph>CapImportCheck</codeph> tool
is shown below:</p> <codeblock id="GUID-4C707D85-3012-5097-8DB1-B521640CA3E0" xml:space="preserve">&gt;CapImportCheck.pl -r .\input\rom.log -s e32capability.h -D .input\depsData.txt -R results.html</codeblock> </section>
</conbody><related-links>
<link href="GUID-7387B16E-1978-5997-ACCB-BEBFD2609C86.dita"><linktext>CapImportCheck
 report - file format</linktext></link>
<link href="GUID-3C042957-E7C7-53EC-9397-E5650D2D61AA.dita"><linktext>CapSearch
Guide</linktext></link>
<link href="GUID-54E05FE1-1A71-5293-9FB5-E27D7DF2392B.dita"><linktext>CapCheck
Guide</linktext></link>
</related-links></concept>