Symbian3/SDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Wed, 31 Mar 2010 11:11:55 +0100
changeset 7 51a74ef9ed63
child 13 48780e181b38
permissions -rw-r--r--
Week 12 contribution of API Specs and fix SDK submission

<?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-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E" xml:lang="en"><title>File
locations</title><shortdesc>This topic gives the location for different file types.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
<section id="GUID-4A1719B9-BD5A-4D46-A196-E8447C144F91"><title>Pre-Symbian platform v9.0</title> <p>Application program files
must be located in directories with the form <filepath>\system\apps\&lt;program&gt;\</filepath>.
Initialisation and configuration files should be in the same directory, or
where the application is in ROM, in the equivalent directory on a writable
drive. </p> <p>Document files can be located in any directory <i>except</i> <filepath>\system\</filepath>,
and may be given any name: the system will not alter the capitalisation of
that name, and will not attempt to add or remove any extension. </p> <p>The
application architecture does not dictate the requirements for <i>all</i> files,
or even all file stores. For instance, an e-mail application is not document
based. An e-mail subsystem would store its messages in a directory structure
using special e-mail policies to implement inbox, outbox and folders. Normally,
this folder would be in a <filepath>\system\</filepath> directory. </p> </section>
<section id="GUID-C8E8AB80-4EE5-5593-8981-4A91A0111419"><title>Symbian platform
v9.0 and beyond</title> <p>The following table gives the location for different
file types. </p> <table id="GUID-9952EBEF-FCBC-585F-A9AD-D1CD2F8088BA">
<tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
<thead>
<row>
<entry>Location</entry>
<entry>Example file types</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><ul>
<li id="GUID-D669EB04-023C-5224-999D-9EE55E8EA7ED"><p>On the emulator (default): </p> <ul>
<li id="GUID-BEE962D9-B7DD-5B2B-91B3-125B16E414DC"><p> <filepath>epoc32\release\winscw\udeb\</filepath>  </p> </li>
<li id="GUID-52700062-ED55-525D-BC55-A10678FC97E6"><p> <filepath>epoc32\release\winscw\urel\</filepath>  </p> </li>
</ul> <p>On the emulator, e.g. for text notifiers: </p> <ul>
<li id="GUID-851A7FE9-54FE-5FEB-9F38-4B4F32EEDD53"><p> <filepath>\sys\bin\tnotifiers</filepath>  </p> </li>
</ul> </li>
<li id="GUID-726EA784-F425-5F5D-8837-33AA9244594E"><p>On the device: </p> <p> <filepath>\sys\bin\</filepath>  </p> </li>
</ul> </entry>
<entry><p> <filepath>.exe</filepath>, <filepath>.app</filepath>, </p> <p> <filepath>.dll</filepath>, <filepath>.ani</filepath>, </p> <p> <filepath>.ctl</filepath>, <filepath>.fep</filepath>, </p> <p> <filepath>.mdl</filepath>, <filepath>.csy</filepath>, </p> <p> <filepath>.ldd</filepath>, <filepath>.pdd</filepath>, </p> <p> <filepath>.prt</filepath>, </p> <p> <filepath>.ECOMIIC</filepath>, <filepath>.PLUGIN</filepath>  </p> </entry>
<entry><ul>
<li id="GUID-2C766E8B-EB9E-5BA5-9E86-B69D1412E3AD"><p>Location of all binaries </p> </li>
<li id="GUID-8443D832-175E-52DD-A190-2E4F0F86C02E"><p>The OS will refuse to
load any binary not in <filepath>\sys\bin\</filepath>  </p> </li>
<li id="GUID-6EF741B8-BA5E-592B-88AD-D74C18556797"><p>Code without <codeph>AllFiles</codeph> (or <codeph>TCB</codeph>)
capability will never be able to read (or write) anything under <filepath>\sys\</filepath>  </p> </li>
<li id="GUID-139E6964-311A-5B28-93A2-DABE9F176D1E"><p>Note that for the emulator
when <codeph>PlatSecEnforceSysBin</codeph> is enabled (in the <filepath>epoc.ini</filepath> file)
executables found under <filepath>\system</filepath> will not be able to be
loaded </p> </li>
</ul> </entry>
</row>
<row>
<entry><p> <filepath>\private\&lt;process SID&gt;\</filepath>  </p> </entry>
<entry><p> <filepath>.doc</filepath>, <filepath>.txt</filepath>, </p> <p> <filepath>.xml</filepath>, <filepath>.dat</filepath>, </p> <p> <filepath>.ini</filepath>, <filepath>.mbm</filepath>, </p> <p> <filepath>.rsc</filepath>  </p> </entry>
<entry><ul>
<li id="GUID-D3532BB0-FA8A-543F-90D2-FAF3A60D59FB"><p>Location of all private
data files (e.g. if the file is to be accessed only by the application itself) </p> </li>
<li id="GUID-9EC27287-26DC-5A60-AAB8-66CB9B542A3B"><p>The directory name under <filepath>\private</filepath> is
determined by the SecureId (SID) of the process. If a SID is not specified,
the <codeph>UID3</codeph> provided in the mmp file is used </p> </li>
<li id="GUID-4FFFABBD-F07E-5B02-932D-2CC014EED451"><p>Under the <filepath>\private</filepath> directory,
programs without the <codeph>AllFiles</codeph> capability will only ever be
able to see their own directory </p> </li>
</ul> </entry>
</row>
<row>
<entry><ul>
<li id="GUID-7FB0FDE3-CED7-5288-903C-9F4FE929B6FF"><p>Applications on the
emulator, or built into the ROM must provide registration files in: </p> <ul>
<li id="GUID-E684117A-273C-51A9-958E-E08446B8F454"><p> <filepath>\private\10003a3f\apps\</filepath>  </p> </li>
</ul> </li>
<li id="GUID-CBDD2344-0C22-5D27-B4C3-B14AC92ECF12"><p>Applications installed
via Software Install must provide registration files in: </p> <ul>
<li id="GUID-C2EFCAC2-2E85-5A61-BD77-B19F0BDE095F"><p> <filepath>\private\10003a3f\import\apps\</filepath>  </p> </li>
</ul> </li>
</ul> </entry>
<entry><p> <filepath>&lt;appname&gt;_reg.rsc</filepath>  </p> </entry>
<entry><ul>
<li id="GUID-44FA136E-CE01-55C1-AAE9-0B0C927A57FB"><p>The private system directory
for an application's registration file </p> </li>
<li id="GUID-2EF36F6C-2367-5407-AEEC-6B10D7F17CF7"><p>The directory must always
be on the same drive as the application </p> </li>
<li id="GUID-7138A905-C1D6-51AA-BFD1-8679D7157A35"><p>These paths are true
for both the emulator and target device </p> </li>
</ul> </entry>
</row>
<row>
<entry><p> <filepath>\resource\apps\</filepath>  </p> </entry>
<entry><p> <filepath>.rsc</filepath>, <filepath>.mbm</filepath>  </p> </entry>
<entry><ul>
<li id="GUID-13F15A62-D5EF-5473-B0FA-27000004212B"><p>Read access is allowed
by all </p> </li>
<li id="GUID-39C994D8-602B-5CD2-B68D-D9573CA3141D"><p>Write access only by
processes with <codeph>AllFiles</codeph> capability </p> </li>
</ul> </entry>
</row>
<row>
<entry><p> <filepath>\resource\plugins\</filepath>  </p> </entry>
<entry><p> <filepath>&lt;dllname&gt;.rsc</filepath>  </p> </entry>
<entry><ul>
<li id="GUID-58281D7D-4298-5C5E-9CAC-308B83DCF71F"><p>Specifically for ECom
registration resource files for ECom plugins </p> </li>
<li id="GUID-2C520ACF-9572-5041-A725-17431171455A"><p>Read access is allowed
by all </p> </li>
</ul> </entry>
</row>
<row>
<entry><p>Central Repository API </p> <p> <filepath>\private\&lt;process sid&gt;\</filepath>  </p> </entry>
<entry><p> <filepath>.txt</filepath>  </p> </entry>
<entry><ul>
<li id="GUID-8524D37A-8F26-55A4-91D1-D8C09C3ADFF8"><p>If the file is read/write-only,
and access to it needs controlling through capabilities, then use the Central
Repository API, not a file at all. </p> </li>
</ul> </entry>
</row>
</tbody>
</tgroup>
</table> </section>
</conbody></concept>