Symbian3/PDK/Source/GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 12 80ef3a206772
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-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E"><title>File locations</title><prolog><metadata><keywords/></metadata></prolog><conbody><section><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>
    12 <concept id="GUID-54E62386-E4DB-55C3-BA9A-FFB7BFE6703E" xml:lang="en"><title>File
       
    13 locations</title><shortdesc>This topic gives the location for different file types.</shortdesc><prolog><metadata><keywords/></metadata></prolog><conbody>
       
    14 <section id="GUID-4A1719B9-BD5A-4D46-A196-E8447C144F91"><title>Pre-Symbian platform v9.0</title> <p>Application program files
       
    15 must be located in directories with the form <filepath>\system\apps\&lt;program&gt;\</filepath>.
       
    16 Initialisation and configuration files should be in the same directory, or
       
    17 where the application is in ROM, in the equivalent directory on a writable
       
    18 drive. </p> <p>Document files can be located in any directory <i>except</i> <filepath>\system\</filepath>,
       
    19 and may be given any name: the system will not alter the capitalisation of
       
    20 that name, and will not attempt to add or remove any extension. </p> <p>The
       
    21 application architecture does not dictate the requirements for <i>all</i> files,
       
    22 or even all file stores. For instance, an e-mail application is not document
       
    23 based. An e-mail subsystem would store its messages in a directory structure
       
    24 using special e-mail policies to implement inbox, outbox and folders. Normally,
       
    25 this folder would be in a <filepath>\system\</filepath> directory. </p> </section>
       
    26 <section id="GUID-C8E8AB80-4EE5-5593-8981-4A91A0111419"><title>Symbian platform
       
    27 v9.0 and beyond</title> <p>The following table gives the location for different
       
    28 file types. </p> <table id="GUID-9952EBEF-FCBC-585F-A9AD-D1CD2F8088BA">
       
    29 <tgroup cols="3"><colspec colname="col0"/><colspec colname="col1"/><colspec colname="col2"/>
       
    30 <thead>
       
    31 <row>
       
    32 <entry>Location</entry>
       
    33 <entry>Example file types</entry>
       
    34 <entry>Description</entry>
       
    35 </row>
       
    36 </thead>
       
    37 <tbody>
       
    38 <row>
       
    39 <entry><ul>
       
    40 <li id="GUID-D669EB04-023C-5224-999D-9EE55E8EA7ED"><p>On the emulator (default): </p> <ul>
       
    41 <li id="GUID-BEE962D9-B7DD-5B2B-91B3-125B16E414DC"><p> <filepath>epoc32\release\winscw\udeb\</filepath>  </p> </li>
       
    42 <li id="GUID-52700062-ED55-525D-BC55-A10678FC97E6"><p> <filepath>epoc32\release\winscw\urel\</filepath>  </p> </li>
       
    43 </ul> <p>On the emulator, e.g. for text notifiers: </p> <ul>
       
    44 <li id="GUID-851A7FE9-54FE-5FEB-9F38-4B4F32EEDD53"><p> <filepath>\sys\bin\tnotifiers</filepath>  </p> </li>
       
    45 </ul> </li>
       
    46 <li id="GUID-726EA784-F425-5F5D-8837-33AA9244594E"><p>On the device: </p> <p> <filepath>\sys\bin\</filepath>  </p> </li>
       
    47 </ul> </entry>
       
    48 <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>
       
    49 <entry><ul>
       
    50 <li id="GUID-2C766E8B-EB9E-5BA5-9E86-B69D1412E3AD"><p>Location of all binaries </p> </li>
       
    51 <li id="GUID-8443D832-175E-52DD-A190-2E4F0F86C02E"><p>The OS will refuse to
       
    52 load any binary not in <filepath>\sys\bin\</filepath>  </p> </li>
       
    53 <li id="GUID-6EF741B8-BA5E-592B-88AD-D74C18556797"><p>Code without <codeph>AllFiles</codeph> (or <codeph>TCB</codeph>)
       
    54 capability will never be able to read (or write) anything under <filepath>\sys\</filepath>  </p> </li>
       
    55 <li id="GUID-139E6964-311A-5B28-93A2-DABE9F176D1E"><p>Note that for the emulator
       
    56 when <codeph>PlatSecEnforceSysBin</codeph> is enabled (in the <filepath>epoc.ini</filepath> file)
       
    57 executables found under <filepath>\system</filepath> will not be able to be
       
    58 loaded </p> </li>
       
    59 </ul> </entry>
       
    60 </row>
       
    61 <row>
       
    62 <entry><p> <filepath>\private\&lt;process SID&gt;\</filepath>  </p> </entry>
       
    63 <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>
       
    64 <entry><ul>
       
    65 <li id="GUID-D3532BB0-FA8A-543F-90D2-FAF3A60D59FB"><p>Location of all private
       
    66 data files (e.g. if the file is to be accessed only by the application itself) </p> </li>
       
    67 <li id="GUID-9EC27287-26DC-5A60-AAB8-66CB9B542A3B"><p>The directory name under <filepath>\private</filepath> is
       
    68 determined by the SecureId (SID) of the process. If a SID is not specified,
       
    69 the <codeph>UID3</codeph> provided in the mmp file is used </p> </li>
       
    70 <li id="GUID-4FFFABBD-F07E-5B02-932D-2CC014EED451"><p>Under the <filepath>\private</filepath> directory,
       
    71 programs without the <codeph>AllFiles</codeph> capability will only ever be
       
    72 able to see their own directory </p> </li>
       
    73 </ul> </entry>
       
    74 </row>
       
    75 <row>
       
    76 <entry><ul>
       
    77 <li id="GUID-7FB0FDE3-CED7-5288-903C-9F4FE929B6FF"><p>Applications on the
       
    78 emulator, or built into the ROM must provide registration files in: </p> <ul>
       
    79 <li id="GUID-E684117A-273C-51A9-958E-E08446B8F454"><p> <filepath>\private\10003a3f\apps\</filepath>  </p> </li>
       
    80 </ul> </li>
       
    81 <li id="GUID-CBDD2344-0C22-5D27-B4C3-B14AC92ECF12"><p>Applications installed
       
    82 via Software Install must provide registration files in: </p> <ul>
       
    83 <li id="GUID-C2EFCAC2-2E85-5A61-BD77-B19F0BDE095F"><p> <filepath>\private\10003a3f\import\apps\</filepath>  </p> </li>
       
    84 </ul> </li>
       
    85 </ul> </entry>
       
    86 <entry><p> <filepath>&lt;appname&gt;_reg.rsc</filepath>  </p> </entry>
       
    87 <entry><ul>
       
    88 <li id="GUID-44FA136E-CE01-55C1-AAE9-0B0C927A57FB"><p>The private system directory
       
    89 for an application's registration file </p> </li>
       
    90 <li id="GUID-2EF36F6C-2367-5407-AEEC-6B10D7F17CF7"><p>The directory must always
       
    91 be on the same drive as the application </p> </li>
       
    92 <li id="GUID-7138A905-C1D6-51AA-BFD1-8679D7157A35"><p>These paths are true
       
    93 for both the emulator and target device </p> </li>
       
    94 </ul> </entry>
       
    95 </row>
       
    96 <row>
       
    97 <entry><p> <filepath>\resource\apps\</filepath>  </p> </entry>
       
    98 <entry><p> <filepath>.rsc</filepath>, <filepath>.mbm</filepath>  </p> </entry>
       
    99 <entry><ul>
       
   100 <li id="GUID-13F15A62-D5EF-5473-B0FA-27000004212B"><p>Read access is allowed
       
   101 by all </p> </li>
       
   102 <li id="GUID-39C994D8-602B-5CD2-B68D-D9573CA3141D"><p>Write access only by
       
   103 processes with <codeph>AllFiles</codeph> capability </p> </li>
       
   104 </ul> </entry>
       
   105 </row>
       
   106 <row>
       
   107 <entry><p> <filepath>\resource\plugins\</filepath>  </p> </entry>
       
   108 <entry><p> <filepath>&lt;dllname&gt;.rsc</filepath>  </p> </entry>
       
   109 <entry><ul>
       
   110 <li id="GUID-58281D7D-4298-5C5E-9CAC-308B83DCF71F"><p>Specifically for ECom
       
   111 registration resource files for ECom plugins </p> </li>
       
   112 <li id="GUID-2C520ACF-9572-5041-A725-17431171455A"><p>Read access is allowed
       
   113 by all </p> </li>
       
   114 </ul> </entry>
       
   115 </row>
       
   116 <row>
       
   117 <entry><p>Central Repository API </p> <p> <filepath>\private\&lt;process sid&gt;\</filepath>  </p> </entry>
       
   118 <entry><p> <filepath>.txt</filepath>  </p> </entry>
       
   119 <entry><ul>
       
   120 <li id="GUID-8524D37A-8F26-55A4-91D1-D8C09C3ADFF8"><p>If the file is read/write-only,
       
   121 and access to it needs controlling through capabilities, then use the Central
       
   122 Repository API, not a file at all. </p> </li>
       
   123 </ul> </entry>
       
   124 </row>
       
   125 </tbody>
       
   126 </tgroup>
       
   127 </table> </section>
       
   128 </conbody></concept>