Symbian3/SDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Tue, 20 Jul 2010 12:00:49 +0100
changeset 13 48780e181b38
parent 7 51a74ef9ed63
permissions -rw-r--r--
Week 28 contribution of SDK documentation content. See release notes for details. Fixes bugs Bug 1897 and Bug 1522.

<?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
OS 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
OS 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>