Symbian3/SDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita
changeset 7 51a74ef9ed63
child 8 ae94777fff8f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Symbian3/SDK/Source/GUID-3314123F-205D-5E05-9041-DB9836B7812B.dita	Wed Mar 31 11:11:55 2010 +0100
@@ -0,0 +1,55 @@
+<?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-3314123F-205D-5E05-9041-DB9836B7812B" xml:lang="en"><title>File
+Access Example: Accessing the File System Using P.I.P.S.</title><prolog><metadata><keywords/></metadata></prolog><conbody>
+<p>This example application shows, using a P.I.P.S. (P.I.P.S. Is POSIX on
+the Symbian platform) program, the restrictions on file access that are imposed
+by the Symbian platform Security model. </p>
+<p>It shows that programs can access their own directories, but
+cannot, without platform security capabilities not available to ordinary programs,
+access the directories of other programs, or the system binary directory <filepath>sys/bin</filepath>. </p>
+<p>This example defines an executable file with no platform security capabilities.
+The program first creates its own secure directory that it can write to and
+read from. It then attempts to use a file in a private directory of another
+program, and then in <filepath>sys/bin</filepath>, and shows that these attempts
+are denied. </p>
+<section id="GUID-820F9B58-8877-414B-A18B-B591F6D67158"><title>Download</title> <p>Click
+on the following link to download the example: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/zips/guid-2dae3cca-f112-4219-8f7c-6c48682d1f28.zip" scope="external">FileAccessExample.zip</xref></p><p>Click: <xref href="guid-6013a680-57f9-415b-8851-c4fa63356636/guid-2dae3cca-f112-4219-8f7c-6c48682d1f28.html" scope="peer">browse</xref> to view the example code. </p> </section>
+<section id="GUID-3EAFEC43-CFDA-4E3D-8ACD-E3AAE48BE97D"><title>Description</title> <p>The
+following sections provide more information about the steps that the example
+performs. </p> <p><b> Create a secure directory</b> </p> <p>The example creates
+an empty secure directory for the program by using the <xref href="GUID-5EA72F64-E826-3B15-9468-902BD57F6AA7.dita"><apiname>mkdir()</apiname></xref> function. </p> <p>This
+empty secure directory is created in <filepath>C:\private\E80000C9</filepath>,
+as 0xE80000C9 is a unique identifier for the program (as specified by the
+third UID in its project file). </p></section>
+<section id="GUID-D9F306FF-D14E-4BCC-BAE6-55804F31CA0D"> <p><b>Write and read
+a file in the private directory </b> </p> <p>The example writes and reads
+a file in the secure directory using the <xref href="GUID-64886CC6-072F-3542-855A-5D733FC761E8.dita"><apiname>fopen()</apiname></xref> and other
+file stream functions. </p> <p><b> Write and read a file in the private directory
+of another program </b> </p> <p>The example attempts to write and read a file
+in the secure directory of another program. </p> <p>The <xref href="GUID-64886CC6-072F-3542-855A-5D733FC761E8.dita"><apiname>fopen()</apiname></xref> function
+is expected to return <codeph>NULL</codeph>, indicating that access is not
+possible, as the program has insufficient platform security capabilities. </p><p><b> Write
+and read a file in the sys/bin directory</b> </p> <p>The example attempts
+to write and read a file in the system's <filepath>sys/bin</filepath> directory,
+where program binaries are stored. </p> <p>Again, the <xref href="GUID-64886CC6-072F-3542-855A-5D733FC761E8.dita"><apiname>fopen()</apiname></xref> function
+is expected to return <codeph>NULL</codeph>, indicating that access is not
+possible, as the program has insufficient platform security capabilities. </p> </section>
+<section id="GUID-EB4F71F2-D55D-43C5-B55F-F211D170056F"><title>Related APIs</title><p><xref href="GUID-5EA72F64-E826-3B15-9468-902BD57F6AA7.dita"><apiname>mkdir()</apiname></xref></p><p><xref href="GUID-64886CC6-072F-3542-855A-5D733FC761E8.dita"><apiname>fopen()</apiname></xref></p></section>
+<section id="GUID-81AA0C7F-5D43-4EFB-9DD0-4A8A79922576"><title>Build</title> <p>The <xref href="GUID-3100800B-B2F7-50EF-BD4C-3C345ECCB2A5.dita">Symbian build process</xref> describes
+how to build this example application. </p> <p>The example builds an executable
+called <filepath>fileaccessexample.exe</filepath> in the standard locations. </p> <p>To
+run the example, start <filepath>fileaccessexample.exe</filepath> from the
+file system or from your IDE. After launching the executable, depending on
+the emulator you are using, you may need to navigate away from the application
+launcher or shell screen to view the console. </p> </section>
+</conbody></concept>
\ No newline at end of file