Adaptation/GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA.dita
changeset 15 307f4279f433
equal deleted inserted replaced
14:578be2adaf3e 15:307f4279f433
       
     1 <?xml version="1.0" encoding="utf-8"?>
       
     2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
       
     3 <!-- This component and the accompanying materials are made available under the terms of the License 
       
     4 "Eclipse Public License v1.0" which accompanies this distribution, 
       
     5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
       
     6 <!-- Initial Contributors:
       
     7     Nokia Corporation - initial contribution.
       
     8 Contributors: 
       
     9 -->
       
    10 <!DOCTYPE concept
       
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
       
    12 <concept id="GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA" xml:lang="en"><title>Keyword reference (D-F)</title><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    13 <p>This page lists the keywords starting from D to F. </p>
       
    14 <section id="GUID-D3FA449B-0A87-4739-991C-6C59C6DEEC71"><title>data-align</title><codeblock xml:space="preserve">data-align = &lt;hex-number&gt;</codeblock><p><i>rombuild
       
    15 only</i></p><p>This keyword specifies the alignment for the executable's
       
    16 data. It indicates the start address of a data segment that must be
       
    17 aligned to a specified value.</p><p><b>Note</b>: The
       
    18 inclusion of <codeph>data-align</codeph> keyword in an OBY file does
       
    19 not increase the size of ROM image.</p></section>
       
    20 <section id="GUID-DF3AEED2-A9D0-5176-B4E5-63F73262BE07"><title>datapagingoverride</title> <codeblock id="GUID-76519D8D-65AA-5553-87D6-70BDBA94F6CB" xml:space="preserve">datapagingoverride [NOPAGING | ALWAYSPAGE | DEFAULTUNPAGED | DEFAULTPAGED]</codeblock> <p> <i>rombuild and rofsbuild </i>  </p> <p>If the <codeph>datapagingoverride</codeph> keyword is spe,cified in an OBY file, it overrides the configuration
       
    21 for data paging for the executable files defined in OBY file. This
       
    22 keyword takes a single argument, which can be one of the possible
       
    23 values listed in <xref href="GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A.dita#GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A/GUID-20A2663B-FE05-5E0A-ACF9-669EDDC8317C">codepagingoverride</xref>. </p> </section>
       
    24 <section id="GUID-7DAC5804-0A03-5098-836A-2DB2CDB6F5D4"><title>datapagingpolicy</title> <codeblock id="GUID-F3A5F40B-2FF3-54FE-91A4-EDA247D184DE" xml:space="preserve">datapagingpolicy [NOPAGING | ALWAYSPAGE | DEFAULTUNPAGED | DEFAULTPAGED]</codeblock> <p> <i>rombuild and rofsbuild </i>  </p> <p>This overrides the default
       
    25 settings for data paging and the settings from all the <xref href="GUID-85B33746-074D-5B54-ACF4-1B1620D48FF6.dita#GUID-85B33746-074D-5B54-ACF4-1B1620D48FF6/GUID-08CFF2B1-63CC-5358-AD13-B4152A83B640">previous levels</xref>. </p> <p>This keyword takes a single argument,
       
    26 which can be one of the possible values listed in <xref href="GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A.dita#GUID-B9698943-0D4E-5B18-B7E4-448A0E21876A/GUID-20A2663B-FE05-5E0A-ACF9-669EDDC8317C">codepagingoverride</xref>. </p> </section>
       
    27 <section id="GUID-23851F44-7FAC-5B99-8D15-44099A61A4E4"><title>data[[HWVD]]</title> <codeblock id="GUID-BF169545-15DE-5044-8800-880DD16C301C" xml:space="preserve">data[[HWVD]] = &lt;source-file&gt; &lt;destination-file&gt; [File-attribute-list]
       
    28 </codeblock> <p> <i>rombuild and rofsbuild</i>  </p> <p>A file that
       
    29 is copied from its source location into the ROM without any processing. </p> <p>Note that the HWVD is optional but, if specified, must be enclosed
       
    30 within square brackets. </p> </section>
       
    31 <section id="GUID-2F0E6FDC-4822-5FFF-9D7A-E2E25E088945"><title>dataaddress</title> <codeblock id="GUID-D060AFCC-0D79-5C8E-9D16-49883DE78C94" xml:space="preserve">dataaddress = &lt;hex-address&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Linear address of data/bss chunks
       
    32 for all executables except the Kernel. </p> </section>
       
    33 <section id="GUID-EAD738DD-C0D5-5437-926D-8F567B78EDB2"><title>datadriveimagename</title> <codeblock id="GUID-CEA1CE42-50FD-5E49-8EB7-E6EBDAE3D090" xml:space="preserve">datadriveimagename = &lt;image name&gt;</codeblock> <p> <i> ROFSBUILD only</i>  </p> <p>Specifies the name of the data
       
    34 drive image. </p> </section>
       
    35 <section id="GUID-DD194603-EF11-5119-944B-399844BE8FF6"><title>DATA_IMAGE</title> <codeblock id="GUID-266AF2AA-32D1-5226-83DF-EEC3BE30645E" xml:space="preserve">DATA_IMAGE &lt;id&gt; &lt;name&gt; [size=&lt;partition size&gt;] [FAT16 | FAT32] [compress | no-compress]</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Defines a data drive image. </p> <p>This is a data drive configuration feature. There is no limitation
       
    36 for the number of data drive images that can be defined for an internal
       
    37 media. </p> <table id="GUID-00ED8A80-B25C-50FB-83CB-CEA1D97D5872">
       
    38 <tgroup cols="2"><colspec colname="col0"/><colspec colname="col1"/>
       
    39 <tbody>
       
    40 <row>
       
    41 <entry><p> <codeph>id</codeph>  </p> </entry>
       
    42 <entry><p>A value to identify the data drive image. </p> </entry>
       
    43 </row>
       
    44 <row>
       
    45 <entry><p> <codeph>name</codeph>  </p> </entry>
       
    46 <entry><p>A name suitable as a suffix for the data drive image, IBY
       
    47 and logs. </p> </entry>
       
    48 </row>
       
    49 <row>
       
    50 <entry><p> <codeph>size = &lt;partition size&gt;</codeph>  </p> </entry>
       
    51 <entry><p>Defines the size of the data drive image that has to be
       
    52 generated. </p> </entry>
       
    53 </row>
       
    54 <row>
       
    55 <entry><p> <codeph>compress</codeph>  </p> </entry>
       
    56 <entry><p>Compresses files in the image. If not specified, no compression
       
    57 is the default behaviour. </p> </entry>
       
    58 </row>
       
    59 </tbody>
       
    60 </tgroup>
       
    61 </table> <p>To mark a file for inclusion in a data drive it is prefixed
       
    62 with the keyword DATA_IMAGE. For example: </p> <codeblock id="GUID-5BC759DE-15ED-547B-8011-B0ED471D4520" xml:space="preserve">DATA_IMAGE[2] fatname size=16000000 fat16 -compress</codeblock> <p>The above information can also be included using '{' '}' braces,
       
    63 for example: </p> <codeblock id="GUID-26C953FA-7885-55D1-A404-FE6DA2BD3A84" xml:space="preserve">DATA_IMAGE[2]
       
    64     {
       
    65     dataimagename=fatname
       
    66     compress
       
    67     dataimagefilesystem=fat16
       
    68     dataimagesize=16000000    
       
    69     }
       
    70       </codeblock> </section>
       
    71 <section id="GUID-3C7B6900-5190-540B-8B17-F0BCE7FCB1DB"><title> dataimagefilesystem</title> <codeblock id="GUID-C65978B7-63E7-513D-8733-F63062BED849" xml:space="preserve">dataimagefilesystem = &lt;FAT16 | FAT32&gt;</codeblock> <p> <i>BUILDROM and ROFSBUILD only</i>  </p> <p>Specifies the file
       
    72 system type of the datadrive image. If this is not specified then
       
    73 by default <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita">BUILDROM</xref> sets the image file system as fat16. </p> </section>
       
    74 <section id="GUID-F15BB2C7-6773-5636-B329-4789AFEC809C"><title>dataimagename</title> <codeblock id="GUID-921E43DC-BCF6-59C5-9C29-6280E5ABF128" xml:space="preserve">dataimagename = &lt;image name&gt;</codeblock> <p> <i> ROFSBUILD only</i>  </p> <p>Specifies the name of the datadrive
       
    75 image. If this is not specified then by default <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita">BUILDROM</xref> sets
       
    76 the image name as <b>dataimagex</b>, where x is the image index. </p> </section>
       
    77 <section id="GUID-C0E3CB31-93F9-548F-BAD1-54D04F719504"><title> dataimagesize</title> <codeblock id="GUID-BD29E016-BC13-5D0B-9CC6-39B7288C2EE9" xml:space="preserve">dataimagesize = &lt;size in bytes&gt;</codeblock> <p> <i>ROFSBUILD only</i>  </p> <p>Specifies the maximum size of
       
    78 a data drive image. The default size is the size of the data drive
       
    79 folder. </p> </section>
       
    80 <section id="GUID-A3DA2415-FAF3-56D9-9598-6A3E615C2248"><title>DEFAULT_LANGUAGE</title> <codeblock id="GUID-37A5F46F-9A43-51D5-A141-E617EC540002" xml:space="preserve">DEFAULT_LANGUAGE NN</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Localisation support. Specifies
       
    81 the default language as a Symbian 2-digit code. This keyword should
       
    82 only be used once. </p> </section>
       
    83 <section id="GUID-06D8C5BB-5FFD-5A49-98FC-C5F133C0C126"><title>DEFINE</title> <codeblock id="GUID-8C60E867-2372-5823-ACB5-E336E99BC009" xml:space="preserve">DEFINE &lt;name&gt; &lt;replacement&gt;</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Performs textual substitution.
       
    84 All subsequent instances of &lt;name&gt; are replaced by &lt;replacement&gt;. </p> <p>Notes: </p> <ul>
       
    85 <li id="GUID-82C80198-2F51-5D7C-84DB-F398F09FE9E5"><p>There is no
       
    86 UNDEFINE facility, and substitutions are applied in an unspecified
       
    87 order </p> </li>
       
    88 <li id="GUID-31FA7AC7-4615-57B5-8AF7-A289E0734792"><p>The C++ preprocessor
       
    89 cannot be used conveniently because it inserts whitespace around substituted
       
    90 text. </p> </li>
       
    91 </ul> </section>
       
    92 <section id="GUID-5A5348CB-1562-5C05-857D-C3F3EEDB51D7"><title>device[[HWVD]]</title> <codeblock id="GUID-12D1F89D-7E21-5FE0-8037-6B9E1516400C" xml:space="preserve">device[[HWVD]] = &lt;source-file&gt; &lt;destination-image-file&gt; [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i>  </p> <p>Defines kernel-mode logical or
       
    93 physical device drivers, which can have global data. The address of
       
    94 this data is generated by <codeph>rombuild</codeph>. </p> <p>Note
       
    95 that the <codeph>HWVD</codeph> is optional but, if specified, must
       
    96 be enclosed within square brackets. </p> </section>
       
    97 <section id="GUID-35E198AB-4B68-55C1-B6FB-471E743412DD"><title>dll[[HWVD]]</title> <codeblock id="GUID-BA573051-4702-5D15-B9D1-83E69B35F34E" xml:space="preserve">dll[[HWVD]] = &lt;source-file&gt; &lt;destination-image-file&gt; [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i>  </p> <p>Specifies an executable file whose
       
    98 entry point must be called. </p> </section>
       
    99 <section id="GUID-28C6642D-FBA6-5FD4-A8A5-BE761F71FBB6"><title>debugport</title> <codeblock id="GUID-260500B6-DF9D-58C8-B2C5-9EEBCEFD8281" xml:space="preserve">debugport = &lt;32bit-number&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Specifies the destination port
       
   100 for Kernel and Bootstrap traces. </p> <p> <codeph>rombuild</codeph> stores the value in the ROM header. Each ASSP is free to interpret
       
   101 the debug port as it pleases, for example, as a serial port number
       
   102 or as an I/O base address. The default value is -1. </p> </section>
       
   103 <section id="GUID-0F63B6BF-5F9B-54A6-9109-D8661D365E5D"><title>defaultstackreserve</title> <codeblock id="GUID-58808242-D04B-5EB0-A2C8-0BD552976C3D" xml:space="preserve">defaultstackreserve = &lt;default stack reserve&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Specifies the maximum size of
       
   104 the stack. </p> </section>
       
   105 <section id="GUID-F6F5BB84-ED0A-578F-88E5-26017E303C8E"><title>demandpagingconfig</title> <codeblock id="GUID-E2E8D89C-EE12-57F6-8F96-EBB170F74BC6" xml:space="preserve">demandpagingconfig &lt;MinLivePages&gt; &lt;MaxLivePages&gt; &lt;YoungOldPageRatio&gt; &lt;NANDPageReadDelay&gt; &lt;NANDPageReadCPUOverhead&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Specifies settings for demand
       
   106 paging enabled ROM. </p> <p>This keyword takes four arguments, which
       
   107 are described below: </p> <ul>
       
   108 <li id="GUID-36F11698-0AE0-5EE1-974F-6649441B8068"><p> <codeph>MinLivePages</codeph>: This is the minimim number of RAM pages to reserve for the paging
       
   109 system.The number must be at least equal to 2*(YoungOldPageRatio+1).
       
   110 If a smaller number is specified, a number equal to this formula is
       
   111 used instead. </p> <p>For example, the <codeph>YoungOldPageRatio</codeph> is 3 and <codeph>MinLivePages</codeph> is set to 5. According to
       
   112 the formula 2*(YoungOldPageRatio+1), the minimum number of live pages
       
   113 must be 8, but the number specified is 5. So the minimum number is
       
   114 set to 8. </p> </li>
       
   115 <li id="GUID-4363D4F0-29B4-528A-A8C0-6AD33EC38E8D"><p> <codeph>MaxLivePages</codeph>: The maximum number of RAM pages the paging system may use. The
       
   116 number must be greater than or equal to <codeph>MinLivePages</codeph>. On a production system the number is always set to maximum (32767).
       
   117 However, low values may be used to test the effects of low free RAM. </p> </li>
       
   118 <li id="GUID-5B7A3BAC-74C2-53F0-BB42-A780C2039A95"><p> <codeph>YoungOldPageRatio</codeph>: The ratio of young to old pages maintained by the system. For this
       
   119 purpose, the paging system maintains a list of live pages, which is
       
   120 again split into two sub-lists: a list of young pages, and a list
       
   121 of old pages in the system. The paging system uses <codeph>YoungOldPageRatio</codeph> to maintain the relative sizes of these two lists. </p> <p>For example,
       
   122 let us assume that the ratio is R, the number of young pages is N<sub>y</sub> and the number of old pages is N<sub>o</sub>. If N<sub>y</sub> &gt; RN<sub>o</sub>, a page is taken from the end of the young pages
       
   123 list and placed at the start of the old pages list. This process is
       
   124 called aging. </p> </li>
       
   125 <li id="GUID-F83C2062-8417-5A80-A842-6402B5AB3AFD"><p> <codeph>NANDPageReadDelay</codeph>: The delay in microseconds, between initiating a page read operation
       
   126 and completing it. During this delay, other threads in the system
       
   127 may use the CPU. </p> </li>
       
   128 <li id="GUID-FC3B5DDD-72EF-52CD-BD65-5CFAE8C23C22"><p> <codeph>NANDPageReadCPUOverhead</codeph>: The CPU instruction execution time in microseconds, to setup and
       
   129 process a page read operation. During this delay, the CPU is busy
       
   130 and is not accessible by other threads. </p> </li>
       
   131 </ul> <p> <b>Note</b>: All the above listed attributes are limited
       
   132 to the value range 0-32767. </p> </section>
       
   133 <section id="GUID-8F9F15ED-B972-517E-91E3-F58657324A31"><title>dlldatatop</title> <codeblock id="GUID-F20FD3D8-BB27-5EBA-9A19-EE4BFC0F6BB5" xml:space="preserve">dlldatatop = &lt;address of data region&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Specifies the top of the DLL data
       
   134 region. </p> </section>
       
   135 <section id="GUID-E7D77979-190A-5BB4-90A3-00E3C022A6E5"><title>ECHO</title> <codeblock id="GUID-18383190-BB88-535F-8841-624E15B8445A" xml:space="preserve">ECHO &lt;anything at all&gt;</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Prints the rest of the line following
       
   136 the ECHO keyword to standard output. </p> </section>
       
   137 <section id="GUID-92EAD7F7-6524-57BF-9417-B455AF469C7A"><title>__ECOM_PLUGIN</title> <codeblock id="GUID-3C774FDB-5DB0-5FE1-94E1-F6E368E04FB8" xml:space="preserve">__ECOM_PLUGIN(&lt;local build directory&gt;, &lt;rom binary directory&gt;, &lt;local epoc32\data\Z directory&gt;, &lt;rom resources directory&gt;, &lt;DLL filename&gt;, &lt;resource filename&gt;)</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Specifies an ECom plug-in, consisting
       
   138 of an implementation DLL and an ECom registration resource file, to
       
   139 include in ROM. </p> <p>Symbian platform code does not use this keyword
       
   140 directly. Instead, it uses the macro <codeph>ECOM_PLUGIN</codeph>,
       
   141 defined in <codeph>\epoc32\rom\include\header.iby</codeph>, which
       
   142 allows the plug-in to be specified more briefly, in the following
       
   143 form: </p> <codeblock id="GUID-323952F5-34D9-585A-8623-082A7567FD3D" xml:space="preserve">ECOM_PLUGIN(&lt;DLL name&gt;,&lt;resource file name&gt;)</codeblock> <p>For example: </p> <codeblock id="GUID-B7B37728-A4C2-5DD0-B6E3-8F45272CC157" xml:space="preserve">ECOM_PLUGIN(foo.dll,12345abc.rsc)</codeblock> <p>Note that the resource file name is specified using the <codeph>&lt;DLL-uid&gt;.rsc</codeph> format. </p> <p>Use of this keyword allows <codeph>BUILDROM</codeph> to perform special handling of ECom plug-ins. In
       
   144 particular, it allows <codeph>BUILDROM</codeph> optionally to create
       
   145 a static plug-in information (SPI) file, which contains all the resource
       
   146 registration files for ROM-based plug-ins. This allows ECom to be
       
   147 more efficient, as it can use the SPI file to find all ROM-based plug-ins
       
   148 and not have to scan the file system for them. BUILDROM implements
       
   149 this using the <xref href="GUID-6843109A-1567-5287-9AFF-3AE5E80334AF.dita#GUID-6843109A-1567-5287-9AFF-3AE5E80334AF/GUID-04F39AC1-3947-5C80-90BB-55CDF4D34571">spidata</xref> keyword. </p> <p>Note that as part of the ROM creation
       
   150 process, it is possible to add support for multiple languages. This
       
   151 affects how ECom resource files are specified by BUILDROM: </p> <ul>
       
   152 <li id="GUID-96C7FC54-5652-5CCC-9CAA-DC8F485B57CA"><p>If an SPI file
       
   153 is being created the <codeph>ECOM_PLUGIN</codeph> lines are processed
       
   154 at an intermediate BUILDROM stage to produce: </p> <codeblock id="GUID-64381884-1F25-515B-9149-5124BC3CADCD" xml:space="preserve">spidata=MULTI_LINGUIFY( EXT sourcename destname ) &lt;spi-id&gt; &lt;target-spi-dir&gt;</codeblock> <p>During the BUILDROM localisation stage these lines become: </p> <codeblock id="GUID-CA8D9809-F375-5056-A919-D69E59A1C263" xml:space="preserve">spidata = &lt;source-file&gt; &lt;original-destination-file&gt; &lt;spi-id&gt; &lt;target-spi-dir&gt;</codeblock> <p>where <codeph>&lt;spi-id&gt;</codeph> has the extension .SPI for
       
   155 the default language, and the extension .S<varname>nn</varname> for
       
   156 all other language codes <varname>nn</varname>. This means that if
       
   157 multiple languages are being included in the ROM image there is an
       
   158 SPI file for each included language. </p> </li>
       
   159 <li id="GUID-63C3444C-F760-5F1E-A932-C8F0CEA5EA2D"><p>If an SPI file
       
   160 is not being created <codeph>ECOM_PLUGIN</codeph> lines are processed
       
   161 an intermediate BUILDROM stage to produce: </p> <codeblock id="GUID-C32115C6-CEB4-5A5F-9240-35368276F645" xml:space="preserve">data=MULTI_LINGUIFY( EXT sourcename destname )</codeblock> <p>During the BUILDROM localisation stage these lines become: </p> <p> <codeph>data=sourcename.Enn destname.EXT</codeph> for the default
       
   162 language code </p> <p> <codeph>data=sourcename.Enn destname.Enn</codeph> for all other language codes <varname>nn</varname>. </p> </li>
       
   163 </ul> </section>
       
   164 <section id="GUID-7FB63AF4-EEAF-538E-8E55-95CC6CA9091B"><title>EPOCROOT</title> <codeblock id="GUID-AEA1E441-8DEC-5F45-9BE3-E8147F1F73B4" xml:space="preserve">EPOCROOT</codeblock> <p> <i>BUILDROM only</i>  </p> <p>A pre-defined substitution. This
       
   165 is replaced with the value of the EPOCROOT environment variable. </p> <p>Note that there is no UNDEFINE facility, and substitutions are
       
   166 applied in an unspecified order. </p> </section>
       
   167 <section id="GUID-14316103-95C6-50A2-A15C-4980979EBCF2"><title>epocwrapper</title> <codeblock id="GUID-0A447659-7A3A-55BF-B86E-86644CCF0648" xml:space="preserve">epocwrapper</codeblock> <p> <i>rombuild only</i>  </p> <p>Indicates that a Symbian platform
       
   168 ROM wrapper is required </p> </section>
       
   169 <section id="GUID-1756F49A-2609-52C1-AC31-6CC0B2306069"><title>ERROR</title> <codeblock id="GUID-07B567F3-84A2-5ACD-939E-F6E2C1BFEB93" xml:space="preserve">ERROR &lt;anything at all&gt;</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Prints the rest of the line following
       
   170 the ERROR keyword to standard output, and reports the source file
       
   171 name and the line number. In addition, it causes <codeph>BUILDROM</codeph> to terminate without attempting to create the ROM image(s). </p> </section>
       
   172 <section id="GUID-1374D944-1C79-5C23-B972-1B0BABA09450"><title>exattrib</title> <codeblock id="GUID-7B7E6EFC-1E48-5D92-ABBC-8041AB4F5936" xml:space="preserve">exattrib=U</codeblock> <p> <i>ROFSBUILD only</i>  </p> <p>This keyword is used with the <xref href="GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA.dita#GUID-A27BD4D8-8B0E-57C8-9C15-736109297DEA/GUID-23851F44-7FAC-5B99-8D15-44099A61A4E4">data</xref> keyword to specify an additional attribute for the file
       
   173 being included in the ROM image. This attribute enables the file server
       
   174 to append the ROFS mounting information in the format, <codeph>file.ext[&lt;mount_id&gt;-00]</codeph> when registering the file. </p> <p>The following example shows how
       
   175 this keyword is used to set the attribute for a text file, which is
       
   176 copied to the ROM image: </p> <codeblock id="GUID-947FF981-CA3C-5D63-93FE-17AF4ECE5C89" xml:space="preserve">data=EPOCROOT##epoc32\rom\rofstest\hello8.txt Exattrib\test1.txt exattrib=U
       
   177 </codeblock> <p>Assuming that the <filepath>test1.txt</filepath> file
       
   178 is in the ROFS image and is the first one to be mounted by the file
       
   179 server, the file is included in the ROM image in the following format: </p> <codeblock id="GUID-2A1E6F77-9E14-5606-86C0-A73E11387B55" xml:space="preserve">z:\Exattrib\test1.txt[01-00]</codeblock> </section>
       
   180 <section id="GUID-B46B421D-4237-5053-BF27-66EA64EFAD92"><title>EXCLUDE_FEATURE</title> <codeblock id="GUID-DA793DC7-DB78-5EDF-A03E-B2516845DAA7" xml:space="preserve">EXCLUDE_FEATURE &lt;feature name&gt; [ SF &lt;status flags&gt; ]  [ UD &lt;user data&gt; ] </codeblock> <p>Where <codeph>&lt;feature&gt;</codeph> is either the feature name
       
   181 or a feature uid value. </p> <p> <b>Note</b>: The space between the <codeph>keyword FEATURE</codeph> and <codeph>&lt;feature name&gt;</codeph> is
       
   182 optional. </p> <p> <codeph>&lt;status flags&gt;</codeph> is a 32 bit
       
   183 hex number indicating the status flags of the feature. Each bit in
       
   184 the status flag signifies the following: </p> <table id="GUID-69260F1E-5EEA-520B-83DD-38BF980AA7C2">
       
   185 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/>
       
   186 <colspec colname="col2"/>
       
   187 <thead>
       
   188 <row>
       
   189 <entry>Bit</entry>
       
   190 <entry>Flag Name</entry>
       
   191 <entry>Value</entry>
       
   192 </row>
       
   193 </thead>
       
   194 <tbody>
       
   195 <row>
       
   196 <entry><p>0 </p> </entry>
       
   197 <entry><p>Supported </p> </entry>
       
   198 <entry><p>If the bit is set the feature is included, else the feature
       
   199 is excluded. </p> </entry>
       
   200 </row>
       
   201 <row>
       
   202 <entry><p>1</p> </entry>
       
   203 <entry><p>Upgradeable </p> </entry>
       
   204 <entry><p>This bit is reserved for future use. It will be used to
       
   205 upgrade a feature which is already associated to the device. </p> </entry>
       
   206 </row>
       
   207 <row>
       
   208 <entry><p>2</p> </entry>
       
   209 <entry><p>Modifiable </p> </entry>
       
   210 <entry><p>If the bit is set the feature is modified at run-time. The
       
   211 default flag values for such a feature are defined in a ROM image
       
   212 obey file. </p> </entry>
       
   213 </row>
       
   214 <row>
       
   215 <entry><p>3</p> </entry>
       
   216 <entry><p>Blacklisted </p> </entry>
       
   217 <entry><p>If the bit is set the feature is blacklisted, and cannot
       
   218 be changed at run-time. It signifies that if the feature appears in
       
   219 subsequent data files or plug-in info, it would be ignored. </p> <p>It also prevents a feature from being upgraded and it can never be
       
   220 changed/ overridden. If a feature is blacklisted, its upgradeable
       
   221 flag is not set. </p> </entry>
       
   222 </row>
       
   223 <row>
       
   224 <entry><p>4</p> </entry>
       
   225 <entry><p>Uninitialised </p> </entry>
       
   226 <entry><p>If the bit is set the flag supported state is not initialised
       
   227 at build-time, and it is initialised at run-time by system software. </p> <p>To set the supported flag of a specific feature, perform a runtime
       
   228 call to <codeph>RFeatureControl</codeph>. </p> </entry>
       
   229 </row>
       
   230 <row>
       
   231 <entry><p>5</p> </entry>
       
   232 <entry><p>Persisted </p> </entry>
       
   233 <entry><p>If the bit is set the flag value is preserved across reboot
       
   234 or system turn off period. </p> </entry>
       
   235 </row>
       
   236 <row>
       
   237 <entry><p>6-31 </p> </entry>
       
   238 <entry><p>Reserved </p> </entry>
       
   239 <entry><p>These bits are reserved for future use. </p> </entry>
       
   240 </row>
       
   241 </tbody>
       
   242 </tgroup>
       
   243 </table> <p> <codeph>&lt;user data&gt;</codeph> is a 32 bit hex number
       
   244 indicating the user data value associated with the feature. </p> <p> <i>BUILDROM only</i>  </p> <p>The <b>EXCLUDE_FEATURE</b> keyword
       
   245 is used to mark a feature as excluded. </p> </section>
       
   246 <section id="GUID-1D8AC4CF-8EDA-538B-8A74-5A55CCDEE2AB"><title>extension[[HWVD]]</title> <codeblock id="GUID-26B88CD3-6BEB-5CCD-8BA4-5659295BAA65" xml:space="preserve">extension[[HWVD]] = &lt;source-file&gt; &lt;destination-image-file&gt; [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i>  </p> <p>Defines a kernel-mode DLL that
       
   247 can have global data, the address of which is generated by <codeph>rombuild</codeph>. Extension files are connected together in a linked
       
   248 list, which allows the Kernel to load the extensions at boot time
       
   249 before the ROM file system is available. </p> <p>Note that the <codeph>HWVD</codeph> is optional but, if specified, must be enclosed within
       
   250 square brackets. </p> </section>
       
   251 <section id="GUID-1E15B489-2FF4-5C14-90B2-0EE66CBB7F7F"><title>extensionrofs</title> <codeblock id="GUID-30CBD9F3-B021-5A26-9C00-5BFC470BFE1C" xml:space="preserve">extensionrofs</codeblock> <p> <i>rofsbuild only</i>  </p> <p>Marks the start of the definition
       
   252 of an optional extension ROFS. </p> </section>
       
   253 <section id="GUID-7780C1D5-92C0-58D1-9953-7231A760546E"><title>extensionrofsname</title> <codeblock id="GUID-8AE6D48E-5202-5B2F-9BC7-535325A771AE" xml:space="preserve">extensionrofsname = &lt;filename&gt;</codeblock> <p> <i>rofsbuild only</i>  </p> <p>Defines the name of the ROFS
       
   254 extension image. </p> <p>Any new files added after this keyword will
       
   255 appear in the extension. The files in the core can be renamed, hidden,
       
   256 and aliased by using the other keywords. </p> </section>
       
   257 <section id="GUID-0BDDFFBC-C045-5A1A-8DEC-7FBF6AEFFC64"><title>extensionrom</title> <codeblock id="GUID-E0D850A0-0B91-5A4C-B904-2AC8196BDFC3" xml:space="preserve">extensionrom = &lt;rom-file-name&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>This marks the start of an extension
       
   258 ROM section. A filename of "*" can be specified, which means use the
       
   259 file name specified on the <xref href="GUID-43852F38-4841-5E6F-927B-A38ED4424F0C.dita#GUID-43852F38-4841-5E6F-927B-A38ED4424F0C/GUID-29BEF45C-2361-5245-9184-0261B99B6FB1">romname</xref> keyword in a rom-information-statement </p> </section>
       
   260 <section id="GUID-A71135A8-C6A6-50DB-8081-8CCD5B6AC0CB"><title>externaltool</title> <codeblock id="GUID-4A76182B-1A07-5C3B-8403-59C9F7910873" xml:space="preserve">externaltool=&lt;toolname&gt;</codeblock> <p> <i>BUILDROM only</i>  </p> <p>Used for invoking external tools
       
   261 through the IBY file keyword externaltool, specifying the list of
       
   262 toolnames each seperated by a comma. <codeph>externaltool=toolname1,
       
   263 toolname2,... toolnameN</codeph>  </p> <p>The same invocation can
       
   264 be achieved alternatively by using <xref href="GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463.dita#GUID-E4447BEF-33D2-5099-BCC1-C72FBB3B0463/GUID-3E50F8DA-36D3-5E3D-B229-F841EF4AC47D">BUILDROM</xref> command-line option <codeph>-e&lt;toolname&gt;.</codeph>  </p> </section>
       
   265 <section id="GUID-1D289928-36B0-55D6-A061-7D01C6E5802A"><title>fattable</title> <codeblock id="GUID-7F17C3F3-4CF9-5268-BCFB-4B2B99F7464B" xml:space="preserve">fattable=&lt;number of FAT tables&gt;</codeblock> <p> <i>rofsbuild only</i>  </p> <p>Configures the number of FAT
       
   266 tables for the file system in the data-drive image. </p> </section>
       
   267 <section id="GUID-AA809069-1D03-5578-8409-314DD3D27FD5"><title>FEATURE</title> <codeblock id="GUID-216E30B1-1105-5E89-87C8-A2BF1FBE7FC2" xml:space="preserve">FEATURE &lt;feature name&gt; [ SF &lt;status flags&gt; ]  [ UD &lt;user data&gt; ]</codeblock> <p>Where <codeph>&lt;feature&gt;</codeph> is either the feature name
       
   268 or the feature uid value. </p> <p> <b>Note</b>: The space between
       
   269 the <codeph>keyword FEATURE</codeph> and <codeph>&lt;feature name&gt;</codeph> is optional. </p> <p> <codeph>&lt;status flags&gt;</codeph> is a 32
       
   270 bit hex number indicating the status flags of the feature. Each bit
       
   271 in the status flag signifies the following: </p> <table id="GUID-CDA5C906-4B45-5BCF-9923-37D7FF042BF0">
       
   272 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/>
       
   273 <colspec colname="col2"/>
       
   274 <thead>
       
   275 <row>
       
   276 <entry>Bit</entry>
       
   277 <entry>Flag Name</entry>
       
   278 <entry>Value</entry>
       
   279 </row>
       
   280 </thead>
       
   281 <tbody>
       
   282 <row>
       
   283 <entry><p>0 </p> </entry>
       
   284 <entry><p>Supported </p> </entry>
       
   285 <entry><p>If the bit is set the feature is included, else the feature
       
   286 is excluded. </p> </entry>
       
   287 </row>
       
   288 <row>
       
   289 <entry><p>1</p> </entry>
       
   290 <entry><p>Upgradeable </p> </entry>
       
   291 <entry><p>This bit is reserved for future use. It will be used to
       
   292 upgrade a feature which is already associated to the device. </p> </entry>
       
   293 </row>
       
   294 <row>
       
   295 <entry><p>2</p> </entry>
       
   296 <entry><p>Modifiable </p> </entry>
       
   297 <entry><p>If the bit is set the feature is modified at run-time. The
       
   298 default flag values for such a feature are defined in a ROM image
       
   299 obey file. </p> </entry>
       
   300 </row>
       
   301 <row>
       
   302 <entry><p>3</p> </entry>
       
   303 <entry><p>Blacklisted </p> </entry>
       
   304 <entry><p>If the bit is set the feature is blacklisted, and cannot
       
   305 be changed at run-time. It signifies that if the feature appears in
       
   306 subsequent data files or plug-in info, it would be ignored. </p> <p>It also prevents a feature from being upgraded and it can never be
       
   307 changed/ overridden. If a feature is blacklisted, its upgradeable
       
   308 flag is not set. </p> </entry>
       
   309 </row>
       
   310 <row>
       
   311 <entry><p>4</p> </entry>
       
   312 <entry><p>Uninitialised </p> </entry>
       
   313 <entry><p>If the bit is set the flag supported state is not initialised
       
   314 at build-time, and it is initialised at run-time by system software. </p> <p>To set the supported flag of a specific feature, perform a runtime
       
   315 call to <codeph>RFeatureControl</codeph>. </p> </entry>
       
   316 </row>
       
   317 <row>
       
   318 <entry><p>5</p> </entry>
       
   319 <entry><p>Persisted </p> </entry>
       
   320 <entry><p>If the bit is set the flag value is preserved across reboot
       
   321 or system turn off period. </p> </entry>
       
   322 </row>
       
   323 <row>
       
   324 <entry><p>6-31 </p> </entry>
       
   325 <entry><p>Reserved </p> </entry>
       
   326 <entry><p>These bits are reserved for future use. </p> </entry>
       
   327 </row>
       
   328 </tbody>
       
   329 </tgroup>
       
   330 </table> <p> <codeph>&lt;user data&gt;</codeph> is a 32 bit hex number
       
   331 indicating the user data value associated with the feature. </p> <p> <i>BUILDROM only</i>  </p> <p>The <b>FEATURE</b> keyword is used
       
   332 to mark a feature as included. </p> </section>
       
   333 <section id="GUID-ECDEA52A-1357-5173-AA80-4E34A83A4511"><title>file[[HWVD]]</title> <codeblock id="GUID-7196504A-CE79-5EC6-BA7E-9E6F6F1FCDBE" xml:space="preserve">file[[HWVD]] = &lt;source-file&gt; &lt;destination-image-file&gt; [File-attribute-list] [Override-Attribute-list] [paged | unpaged]</codeblock> <p> <i>rombuild and rofsbuild</i>  </p> <p>A standard executable
       
   334 file, for example, a <filepath>.exe</filepath> or a <codeph>.dll</codeph>, in PE format or E32 image format. Executable files are stripped
       
   335 of their relocation information prior to being stored in the ROM.
       
   336 The relocation information is not necessary in the ROM because all
       
   337 files are executed in place with an address that is determined at
       
   338 ROM build time. Use the modifiers <codeph>paged</codeph> and <codeph>unpaged</codeph> to specify whether to page the executables or not.
       
   339 You can also use the <filepath>MMP</filepath> file keywords <codeph>paged</codeph> and <codeph>unpaged</codeph> to specify whether to
       
   340 page an executable or not. </p> <p>For example, the following entry
       
   341 in the Obey file provides the source and destination locations of
       
   342 the file <filepath>MyLibrary.dll</filepath> and marks the DLL as <codeph>unpaged</codeph>. </p> <codeblock id="GUID-E2AE0C0E-E2A8-5ADF-9F12-96F21D5F34D3" xml:space="preserve">file=ABI_DIR\DEBUG_DIR\MyLibrary.dll   \sys\bin\MyLibrary.dll   unpaged</codeblock> <p>Notes: </p> <ul>
       
   343 <li id="GUID-8B7F564E-445C-5E30-BF66-6A54A96AF6C1"><p>the <codeph>HWVD</codeph> is optional but, if specified, must be enclosed within
       
   344 square brackets. </p> </li>
       
   345 <li id="GUID-8BA09533-EE23-597A-A294-4977B50362B1"><p>the information
       
   346 required to relocate the file is not preserved; this keyword provides
       
   347 a fully resolved uncompressed file. </p> </li>
       
   348 </ul> </section>
       
   349 <section id="GUID-B4C3E29E-9E4A-565E-B9EC-B078894521B6"><title>filecompressnone</title> <codeblock id="GUID-29E83E81-9DEB-5E2B-979E-749DFE444762" xml:space="preserve">filecompressnone=\Epoc32\release\&lt;platform&gt;&lt;build&gt;&lt;target directory&gt;&lt;source file&gt; &lt;destination file&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Doesn't compress the resulting
       
   350 ROM image. </p> <p>For example: </p> <codeblock id="GUID-0AC7EA96-8B92-56B9-8D62-23EDA26F2A6F" xml:space="preserve">filecompressnone=\epoc32\release\ARMV\UREL\TEST\RUNTEST.EXE    sys\bin\RUNTEST.EXE</codeblock> </section>
       
   351 <section id="GUID-5B670D2C-9295-556A-BF56-B1018EB79CCE"><title>filecompressinflate</title> <codeblock id="GUID-E0C7D396-3E1B-5C7E-979A-C0C949308542" xml:space="preserve">filecompressinflate=\Epoc32\release\&lt;platform&gt;&lt;build&gt;&lt;target directory&gt;&lt;source file&gt; &lt;destination file&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Compresses the resulting ROM image
       
   352 using the Deflate, Huffman+LZ77 algorithm. </p> <p>For example: </p> <codeblock id="GUID-9D881B0E-1B8A-5914-A28F-9DCBE499E11E" xml:space="preserve">filecompressinflate=\epoc32\release\ARMV\UREL\TEST\RUNTEST.EXE    sys\bin\RUNTEST.EXE</codeblock> </section>
       
   353 <section id="GUID-6003A5F3-0537-53DF-BEC4-13D310FD944D"><title>filecompressbytepair</title> <codeblock id="GUID-051F3506-C0AD-5C30-ABAA-AC7BD46E0925" xml:space="preserve">filecompressbytepair=\Epoc32\release\&lt;platform&gt;&lt;build&gt;&lt;target directory&gt;&lt;source file&gt; &lt;destination file&gt;</codeblock> <p> <i>rombuild only</i>  </p> <p>Compresses the resulting ROM image
       
   354 using the bytepair algorithm. </p> <p>For example: </p> <codeblock id="GUID-BB37B728-0A9A-5C19-9978-005C3BD3BF7F" xml:space="preserve">filecompressbytepair=\epoc32\release\ARMV\UREL\TEST\RUNTEST.EXE    sys\bin\RUNTEST.EXE</codeblock> </section>
       
   355 <section id="GUID-B9B523ED-4D61-5EBF-9EFC-C47F8FA78C80"><title>filecompress[[HWVD]]</title> <codeblock id="GUID-30AAFC4F-7AD6-5E36-9CF3-4280D36FFA9B" xml:space="preserve">filecompress[[HWVD]] = &lt;source-file&gt; &lt;destination-file&gt; [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i>  </p> <p>An XIP (execute-in-place) executable
       
   356 to be loaded into the ROM in compressed format. Note that the information
       
   357 required to relocate the file is preserved. </p> </section>
       
   358 <section id="GUID-9CAD6F80-7817-56E6-BB06-DB70B0A1EBF1"><title>fileuncompress[[HWVD]]</title> <codeblock id="GUID-A7B40C3C-8D7A-5EC7-96E4-4E7B5398DB07" xml:space="preserve">fileuncompress[[HWVD]] = &lt;source-file&gt; &lt;destination-file&gt; [File-attribute-list] [Override-Attribute-list]</codeblock> <p> <i>rombuild only</i>  </p> <p>XIP (execute-in-place) executable
       
   359 to be loaded into the ROM uncompressed format. Note that the information
       
   360 required to relocate the file is preserved. </p> </section>
       
   361 <section id="GUID-37403D0E-65E7-5998-A568-CC5839B7ACDC"><title>fixed</title> <codeblock id="GUID-6232741F-FCA0-5E29-9287-D34B03D66822" xml:space="preserve">fixed</codeblock> <p> <i>rombuild only</i>  </p> <p>This executable is loaded as a
       
   362 fixed address process, and has its data fixed in kernel space (high
       
   363 memory). The data of normal executables is paged in and out of low
       
   364 memory as the executable runs. Fixing a chosen subset of the system
       
   365 servers saves context switch time, and speeds execution considerably. </p> </section>
       
   366 <section id="GUID-F594BE86-6FFD-4939-B8B9-5DC45C24607C"><title>formatversion</title><p><codeblock xml:space="preserve">formatversion= &lt;format version&gt;</codeblock></p><p>Specifies the SMR image format version. This value is checked by
       
   367 the SMR consumers (such as HCR) at runtime to ensure code compatibility
       
   368 with image or data format.</p></section>
       
   369 </conbody></concept>