Home | History | Annotate | Download | only in oscl_html
      1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
      2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
      3 <title>Oscl_File class Reference</title>
      4 <link href="doxygen.css" rel="stylesheet" type="text/css">
      5 </head><body>
      6 <!-- Generated by Doxygen 1.2.18 -->
      7 <center>
      8 <a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
      9 <hr><h1>Oscl_File Class Reference<br>
     10 <small>
     11 [<a class="el" href="group__osclio.html">OSCL IO</a>]</small>
     12 </h1><code>#include &lt;<a class="el" href="oscl__file__io_8h-source.html">oscl_file_io.h</a>&gt;</code>
     13 <p>
     14 <p>Inheritance diagram for Oscl_File:
     15 <p><center><img src="classOscl__File.png" usemap="#Oscl_File_map" border="0" alt=""></center>
     16 <map name="Oscl_File_map">
     17 <area href="classHeapBase.html" alt="HeapBase" shape="rect" coords="0,56,103,80">
     18 <area href="class__OsclHeapBase.html" alt="_OsclHeapBase" shape="rect" coords="0,0,103,24">
     19 </map>
     20 <table border=0 cellpadding=0 cellspacing=0>
     21 <tr><td></td></tr>
     22 <tr><td colspan=2><br><h2>Public Types</h2></td></tr>
     23 <tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#s11">seek_type</a> { <a class="el" href="classOscl__File.html#s11s0">SEEKSET</a>, 
     24 <a class="el" href="classOscl__File.html#s11s1">SEEKCUR</a>, 
     25 <a class="el" href="classOscl__File.html#s11s2">SEEKEND</a>
     26  }</td></tr>
     27 <tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#s12">mode_type</a> { <br>
     28 &nbsp;&nbsp;<a class="el" href="classOscl__File.html#s12s3">MODE_READ</a> =       0x0001, 
     29 <a class="el" href="classOscl__File.html#s12s4">MODE_READWRITE</a> =  0x0002, 
     30 <a class="el" href="classOscl__File.html#s12s5">MODE_APPEND</a> =     0x0004, 
     31 <a class="el" href="classOscl__File.html#s12s6">MODE_BINARY</a> =     0x0008, 
     32 <br>
     33 &nbsp;&nbsp;<a class="el" href="classOscl__File.html#s12s7">MODE_TEXT</a> =       0x0010, 
     34 <a class="el" href="classOscl__File.html#s12s8">MODE_READ_PLUS</a> =   0x0020
     35 <br>
     36  }</td></tr>
     37 <tr><td nowrap align=right valign=top>enum &nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#s13">TSymbianAccessMode</a> { <a class="el" href="classOscl__File.html#s13s9">ESymbianAccessMode_Rfile</a> =  0, 
     38 <a class="el" href="classOscl__File.html#s13s10">ESymbianAccessMode_RfileBuf</a> =  1
     39  }</td></tr>
     40 <tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
     41 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a0">Oscl_File</a> ()</td></tr>
     42 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a1">Oscl_File</a> (uint32 aCacheSize)</td></tr>
     43 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a2">Oscl_File</a> (uint32 aCacheSize, <a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> *aFileHandle)</td></tr>
     44 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a3">~Oscl_File</a> ()</td></tr>
     45 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a4">SetPVCacheSize</a> (uint32 aSize)</td></tr>
     46 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a5">SetNativeAccessMode</a> (uint32 aMode)</td></tr>
     47 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a6">SetNativeBufferSize</a> (int32 aSize)</td></tr>
     48 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a7">SetAsyncReadBufferSize</a> (uint32 aSize)</td></tr>
     49 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a8">SetFileHandle</a> (<a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> *aHandle)</td></tr>
     50 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a9">Open</a> (const char *filename, uint32 mode, <a class="el" href="classOscl__FileServer.html">Oscl_FileServer</a> &amp;fileserv)</td></tr>
     51 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a10">Open</a> (const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *filename, uint32 mode, <a class="el" href="classOscl__FileServer.html">Oscl_FileServer</a> &amp;fileserv)</td></tr>
     52 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a11">Read</a> (<a class="el" href="group__osclbase.html#a25">OsclAny</a> *buffer, uint32 size, uint32 numelements)</td></tr>
     53 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF uint32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a12">Write</a> (const <a class="el" href="group__osclbase.html#a25">OsclAny</a> *buffer, uint32 size, uint32 numelements)</td></tr>
     54 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a13">Seek</a> (<a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a> offset, <a class="el" href="classOscl__File.html#s11">seek_type</a> origin)</td></tr>
     55 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a>&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a14">Tell</a> ()</td></tr>
     56 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a15">Close</a> ()</td></tr>
     57 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a16">Flush</a> ()</td></tr>
     58 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a17">EndOfFile</a> ()</td></tr>
     59 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a18">GetError</a> ()</td></tr>
     60 <tr><td nowrap align=right valign=top><a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> *&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a19">Handle</a> ()</td></tr>
     61 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF <a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a>&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a20">Size</a> ()</td></tr>
     62 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a21">SetLoggingEnable</a> (bool aEnable)</td></tr>
     63 <tr><td nowrap align=right valign=top>OSCL_IMPORT_REF void&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#a22">SetSummaryStatsLoggingEnable</a> (bool aEnable)</td></tr>
     64 <tr><td colspan=2><br><h2>Friends</h2></td></tr>
     65 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#l0">OsclFileCache</a></td></tr>
     66 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#l1">asyncfilereadwrite_test</a></td></tr>
     67 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#l2">largeasyncfilereadwrite_test</a></td></tr>
     68 <tr><td nowrap align=right valign=top>class&nbsp;</td><td valign=bottom><a class="el" href="classOscl__File.html#l3">asyncfilereadcancel_test</a></td></tr>
     69 </table>
     70 <hr><h2>Member Enumeration Documentation</h2>
     71 <a name="s12" doxytag="Oscl_File::mode_type"></a><p>
     72 <table width="100%" cellpadding="2" cellspacing="0" border="0">
     73   <tr>
     74     <td class="md">
     75       <table cellpadding="0" cellspacing="0" border="0">
     76         <tr>
     77           <td class="md" nowrap valign="top"> enum Oscl_File::mode_type
     78       </table>
     79     </td>
     80   </tr>
     81 </table>
     82 <table cellspacing=5 cellpadding=0 border=0>
     83   <tr>
     84     <td>
     85       &nbsp;
     86     </td>
     87     <td>
     88 
     89 <p>
     90 <dl compact><dt><b>Enumeration values: </b></dt><dd>
     91 <table border=0 cellspacing=2 cellpadding=0>
     92 <tr><td valign=top><em><a name="s12s3" doxytag="MODE_READ"></a><em>MODE_READ</em></em>&nbsp;</td><td>
     93 Opens a file for reading. The file must exist. </td></tr>
     94 <tr><td valign=top><em><a name="s12s4" doxytag="MODE_READWRITE"></a><em>MODE_READWRITE</em></em>&nbsp;</td><td>
     95 Opens the file for reading and writing. If the file exists, its contents will be overwritten unless APPEND mode is specified. If the file does not exist, it will be created. </td></tr>
     96 <tr><td valign=top><em><a name="s12s5" doxytag="MODE_APPEND"></a><em>MODE_APPEND</em></em>&nbsp;</td><td>
     97 Specifies all write operations to occur at the end of the file. The file pointer can be moved with the Seek command, but will always be moved to the end of the file for write commands. </td></tr>
     98 <tr><td valign=top><em><a name="s12s6" doxytag="MODE_BINARY"></a><em>MODE_BINARY</em></em>&nbsp;</td><td>
     99 Opens the file in 'binary' mode. This is the default. </td></tr>
    100 <tr><td valign=top><em><a name="s12s7" doxytag="MODE_TEXT"></a><em>MODE_TEXT</em></em>&nbsp;</td><td>
    101 Opens the file in 'text' mode. The default mode is 'binary'. </td></tr>
    102 <tr><td valign=top><em><a name="s12s8" doxytag="MODE_READ_PLUS"></a><em>MODE_READ_PLUS</em></em>&nbsp;</td><td>
    103 Open a file for reading and writing. The file must exist. The default mode is 'binary'. </td></tr>
    104 </table>
    105 </dl>
    106     </td>
    107   </tr>
    108 </table>
    109 <a name="s11" doxytag="Oscl_File::seek_type"></a><p>
    110 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    111   <tr>
    112     <td class="md">
    113       <table cellpadding="0" cellspacing="0" border="0">
    114         <tr>
    115           <td class="md" nowrap valign="top"> enum Oscl_File::seek_type
    116       </table>
    117     </td>
    118   </tr>
    119 </table>
    120 <table cellspacing=5 cellpadding=0 border=0>
    121   <tr>
    122     <td>
    123       &nbsp;
    124     </td>
    125     <td>
    126 
    127 <p>
    128 <dl compact><dt><b>Enumeration values: </b></dt><dd>
    129 <table border=0 cellspacing=2 cellpadding=0>
    130 <tr><td valign=top><em><a name="s11s0" doxytag="SEEKSET"></a><em>SEEKSET</em></em>&nbsp;</td><td>
    131 Beginning of file </td></tr>
    132 <tr><td valign=top><em><a name="s11s1" doxytag="SEEKCUR"></a><em>SEEKCUR</em></em>&nbsp;</td><td>
    133 Current position of file pointer </td></tr>
    134 <tr><td valign=top><em><a name="s11s2" doxytag="SEEKEND"></a><em>SEEKEND</em></em>&nbsp;</td><td>
    135 End of file </td></tr>
    136 </table>
    137 </dl>
    138     </td>
    139   </tr>
    140 </table>
    141 <a name="s13" doxytag="Oscl_File::TSymbianAccessMode"></a><p>
    142 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    143   <tr>
    144     <td class="md">
    145       <table cellpadding="0" cellspacing="0" border="0">
    146         <tr>
    147           <td class="md" nowrap valign="top"> enum Oscl_File::TSymbianAccessMode
    148       </table>
    149     </td>
    150   </tr>
    151 </table>
    152 <table cellspacing=5 cellpadding=0 border=0>
    153   <tr>
    154     <td>
    155       &nbsp;
    156     </td>
    157     <td>
    158 
    159 <p>
    160 Defines mode options for SetNativeAccessMode on Symbian. <dl compact><dt><b>Enumeration values: </b></dt><dd>
    161 <table border=0 cellspacing=2 cellpadding=0>
    162 <tr><td valign=top><em><a name="s13s9" doxytag="ESymbianAccessMode_Rfile"></a><em>ESymbianAccessMode_Rfile</em></em>&nbsp;</td><td>
    163 </td></tr>
    164 <tr><td valign=top><em><a name="s13s10" doxytag="ESymbianAccessMode_RfileBuf"></a><em>ESymbianAccessMode_RfileBuf</em></em>&nbsp;</td><td>
    165 </td></tr>
    166 </table>
    167 </dl>
    168     </td>
    169   </tr>
    170 </table>
    171 <hr><h2>Constructor &amp; Destructor Documentation</h2>
    172 <a name="a0" doxytag="Oscl_File::Oscl_File"></a><p>
    173 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    174   <tr>
    175     <td class="md">
    176       <table cellpadding="0" cellspacing="0" border="0">
    177         <tr>
    178           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF Oscl_File::Oscl_File </td>
    179           <td class="md" valign="top">(&nbsp;</td>
    180           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    181           <td class="md" valign="top">)&nbsp;</td>
    182           <td class="md" nowrap></td>
    183         </tr>
    184 
    185       </table>
    186     </td>
    187   </tr>
    188 </table>
    189 <table cellspacing=5 cellpadding=0 border=0>
    190   <tr>
    191     <td>
    192       &nbsp;
    193     </td>
    194     <td>
    195 
    196 <p>
    197 Constructor     </td>
    198   </tr>
    199 </table>
    200 <a name="a1" doxytag="Oscl_File::Oscl_File"></a><p>
    201 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    202   <tr>
    203     <td class="md">
    204       <table cellpadding="0" cellspacing="0" border="0">
    205         <tr>
    206           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF Oscl_File::Oscl_File </td>
    207           <td class="md" valign="top">(&nbsp;</td>
    208           <td class="md" nowrap valign="top">uint32&nbsp;</td>
    209           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aCacheSize</em>          </td>
    210           <td class="md" valign="top">)&nbsp;</td>
    211           <td class="md" nowrap></td>
    212         </tr>
    213 
    214       </table>
    215     </td>
    216   </tr>
    217 </table>
    218 <table cellspacing=5 cellpadding=0 border=0>
    219   <tr>
    220     <td>
    221       &nbsp;
    222     </td>
    223     <td>
    224 
    225 <p>
    226 Deprecated Constructor, present for back-compatibility. <dl compact><dt><b>Parameters: </b></dt><dd>
    227 <table border=0 cellspacing=2 cellpadding=0>
    228 <tr><td valign=top><em>aCacheSize:</em>&nbsp;</td><td>
    229 sets native buffer size, and when pv cache is enabled, also sets pv cache size. </td></tr>
    230 </table>
    231 </dl>    </td>
    232   </tr>
    233 </table>
    234 <a name="a2" doxytag="Oscl_File::Oscl_File"></a><p>
    235 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    236   <tr>
    237     <td class="md">
    238       <table cellpadding="0" cellspacing="0" border="0">
    239         <tr>
    240           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF Oscl_File::Oscl_File </td>
    241           <td class="md" valign="top">(&nbsp;</td>
    242           <td class="md" nowrap valign="top">uint32&nbsp;</td>
    243           <td class="mdname" nowrap>&nbsp; <em>aCacheSize</em>, </td>
    244         </tr>
    245         <tr>
    246           <td></td>
    247           <td></td>
    248           <td class="md" nowrap><a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> *&nbsp;</td>
    249           <td class="mdname" nowrap>&nbsp; <em>aFileHandle</em></td>
    250         </tr>
    251         <tr>
    252           <td></td>
    253           <td class="md">)&nbsp;</td>
    254           <td class="md" colspan="2"></td>
    255         </tr>
    256 
    257       </table>
    258     </td>
    259   </tr>
    260 </table>
    261 <table cellspacing=5 cellpadding=0 border=0>
    262   <tr>
    263     <td>
    264       &nbsp;
    265     </td>
    266     <td>
    267 
    268 <p>
    269 Deprecated Constructor, present for back-compatibility. <dl compact><dt><b>Parameters: </b></dt><dd>
    270 <table border=0 cellspacing=2 cellpadding=0>
    271 <tr><td valign=top><em>aCacheSize:</em>&nbsp;</td><td>
    272 sets native buffer size, and when pv cache is enabled, also sets pv cache size. </td></tr>
    273 <tr><td valign=top><em>aFileHandle:</em>&nbsp;</td><td>
    274 open file handle. </td></tr>
    275 </table>
    276 </dl>    </td>
    277   </tr>
    278 </table>
    279 <a name="a3" doxytag="Oscl_File::~Oscl_File"></a><p>
    280 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    281   <tr>
    282     <td class="md">
    283       <table cellpadding="0" cellspacing="0" border="0">
    284         <tr>
    285           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF Oscl_File::~Oscl_File </td>
    286           <td class="md" valign="top">(&nbsp;</td>
    287           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    288           <td class="md" valign="top">)&nbsp;</td>
    289           <td class="md" nowrap></td>
    290         </tr>
    291 
    292       </table>
    293     </td>
    294   </tr>
    295 </table>
    296 <table cellspacing=5 cellpadding=0 border=0>
    297   <tr>
    298     <td>
    299       &nbsp;
    300     </td>
    301     <td>
    302 
    303 <p>
    304 Destructor     </td>
    305   </tr>
    306 </table>
    307 <hr><h2>Member Function Documentation</h2>
    308 <a name="a15" doxytag="Oscl_File::Close"></a><p>
    309 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    310   <tr>
    311     <td class="md">
    312       <table cellpadding="0" cellspacing="0" border="0">
    313         <tr>
    314           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::Close </td>
    315           <td class="md" valign="top">(&nbsp;</td>
    316           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    317           <td class="md" valign="top">)&nbsp;</td>
    318           <td class="md" nowrap></td>
    319         </tr>
    320 
    321       </table>
    322     </td>
    323   </tr>
    324 </table>
    325 <table cellspacing=5 cellpadding=0 border=0>
    326   <tr>
    327     <td>
    328       &nbsp;
    329     </td>
    330     <td>
    331 
    332 <p>
    333 The File Close operation Closes the file after flushing any remaining data in the buffers.
    334 <p>
    335 Note: If the file object was opened with an external file handle, then Close will simply flush the file. The file will remain open.
    336 <p>
    337 <dl compact><dt><b>Returns: </b></dt><dd>
    338 returns 0 if successful, and a non-zero value otherwise </dl>    </td>
    339   </tr>
    340 </table>
    341 <a name="a17" doxytag="Oscl_File::EndOfFile"></a><p>
    342 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    343   <tr>
    344     <td class="md">
    345       <table cellpadding="0" cellspacing="0" border="0">
    346         <tr>
    347           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::EndOfFile </td>
    348           <td class="md" valign="top">(&nbsp;</td>
    349           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    350           <td class="md" valign="top">)&nbsp;</td>
    351           <td class="md" nowrap></td>
    352         </tr>
    353 
    354       </table>
    355     </td>
    356   </tr>
    357 </table>
    358 <table cellspacing=5 cellpadding=0 border=0>
    359   <tr>
    360     <td>
    361       &nbsp;
    362     </td>
    363     <td>
    364 
    365 <p>
    366 The File EOF(end of file) operation returns a nonzero value after the first read operation that attempts to read past the end of the file
    367 <p>
    368 <dl compact><dt><b>Returns: </b></dt><dd>
    369 </dl>    </td>
    370   </tr>
    371 </table>
    372 <a name="a16" doxytag="Oscl_File::Flush"></a><p>
    373 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    374   <tr>
    375     <td class="md">
    376       <table cellpadding="0" cellspacing="0" border="0">
    377         <tr>
    378           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::Flush </td>
    379           <td class="md" valign="top">(&nbsp;</td>
    380           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    381           <td class="md" valign="top">)&nbsp;</td>
    382           <td class="md" nowrap></td>
    383         </tr>
    384 
    385       </table>
    386     </td>
    387   </tr>
    388 </table>
    389 <table cellspacing=5 cellpadding=0 border=0>
    390   <tr>
    391     <td>
    392       &nbsp;
    393     </td>
    394     <td>
    395 
    396 <p>
    397 The File Flush operation On an output stream OSCL_FileFlush causes any buffered but unwritten data to be written to the file.
    398 <p>
    399 <dl compact><dt><b>Returns: </b></dt><dd>
    400 returns 0 if successful, and a non-zero value otherwise </dl>    </td>
    401   </tr>
    402 </table>
    403 <a name="a18" doxytag="Oscl_File::GetError"></a><p>
    404 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    405   <tr>
    406     <td class="md">
    407       <table cellpadding="0" cellspacing="0" border="0">
    408         <tr>
    409           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::GetError </td>
    410           <td class="md" valign="top">(&nbsp;</td>
    411           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    412           <td class="md" valign="top">)&nbsp;</td>
    413           <td class="md" nowrap></td>
    414         </tr>
    415 
    416       </table>
    417     </td>
    418   </tr>
    419 </table>
    420 <table cellspacing=5 cellpadding=0 border=0>
    421   <tr>
    422     <td>
    423       &nbsp;
    424     </td>
    425     <td>
    426 
    427 <p>
    428 The File Error operation If no error has occurred on stream, returns 0. Otherwise, it returns a nonzero value
    429 <p>
    430 <dl compact><dt><b>Returns: </b></dt><dd>
    431 </dl>    </td>
    432   </tr>
    433 </table>
    434 <a name="a19" doxytag="Oscl_File::Handle"></a><p>
    435 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    436   <tr>
    437     <td class="md">
    438       <table cellpadding="0" cellspacing="0" border="0">
    439         <tr>
    440           <td class="md" nowrap valign="top"> <a class="el" href="classOsclFileHandle.html">OsclFileHandle</a>* Oscl_File::Handle </td>
    441           <td class="md" valign="top">(&nbsp;</td>
    442           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    443           <td class="md" valign="top">)&nbsp;</td>
    444           <td class="md" nowrap><code> [inline]</code></td>
    445         </tr>
    446 
    447       </table>
    448     </td>
    449   </tr>
    450 </table>
    451 <table cellspacing=5 cellpadding=0 border=0>
    452   <tr>
    453     <td>
    454       &nbsp;
    455     </td>
    456     <td>
    457 
    458 <p>
    459 Retrieve the file handle.
    460 <p>
    461 <dl compact><dt><b>Returns: </b></dt><dd>
    462 file handle </dl>    </td>
    463   </tr>
    464 </table>
    465 <a name="a10" doxytag="Oscl_File::Open"></a><p>
    466 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    467   <tr>
    468     <td class="md">
    469       <table cellpadding="0" cellspacing="0" border="0">
    470         <tr>
    471           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::Open </td>
    472           <td class="md" valign="top">(&nbsp;</td>
    473           <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a32">oscl_wchar</a> *&nbsp;</td>
    474           <td class="mdname" nowrap>&nbsp; <em>filename</em>, </td>
    475         </tr>
    476         <tr>
    477           <td></td>
    478           <td></td>
    479           <td class="md" nowrap>uint32&nbsp;</td>
    480           <td class="mdname" nowrap>&nbsp; <em>mode</em>, </td>
    481         </tr>
    482         <tr>
    483           <td></td>
    484           <td></td>
    485           <td class="md" nowrap><a class="el" href="classOscl__FileServer.html">Oscl_FileServer</a> &amp;&nbsp;</td>
    486           <td class="mdname" nowrap>&nbsp; <em>fileserv</em></td>
    487         </tr>
    488         <tr>
    489           <td></td>
    490           <td class="md">)&nbsp;</td>
    491           <td class="md" colspan="2"></td>
    492         </tr>
    493 
    494       </table>
    495     </td>
    496   </tr>
    497 </table>
    498 <table cellspacing=5 cellpadding=0 border=0>
    499   <tr>
    500     <td>
    501       &nbsp;
    502     </td>
    503     <td>
    504 
    505 <p>
    506 Opens a file.
    507 <p>
    508 Note: when an external file handle is used, Open will attach to the file handle and initialize cacheing features, but will not do a native file open.<dl compact><dt><b>Parameters: </b></dt><dd>
    509 <table border=0 cellspacing=2 cellpadding=0>
    510 <tr><td valign=top><em>filename</em>&nbsp;</td><td>
    511 name of file to open (Unicode) </td></tr>
    512 <tr><td valign=top><em>mode</em>&nbsp;</td><td>
    513 combination of open mode flags </td></tr>
    514 <tr><td valign=top><em>fileserv</em>&nbsp;</td><td>
    515 fileserver to use</td></tr>
    516 </table>
    517 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    518 returns 0 if successful and a non-zero value otherwise </dl>    </td>
    519   </tr>
    520 </table>
    521 <a name="a9" doxytag="Oscl_File::Open"></a><p>
    522 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    523   <tr>
    524     <td class="md">
    525       <table cellpadding="0" cellspacing="0" border="0">
    526         <tr>
    527           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::Open </td>
    528           <td class="md" valign="top">(&nbsp;</td>
    529           <td class="md" nowrap valign="top">const char *&nbsp;</td>
    530           <td class="mdname" nowrap>&nbsp; <em>filename</em>, </td>
    531         </tr>
    532         <tr>
    533           <td></td>
    534           <td></td>
    535           <td class="md" nowrap>uint32&nbsp;</td>
    536           <td class="mdname" nowrap>&nbsp; <em>mode</em>, </td>
    537         </tr>
    538         <tr>
    539           <td></td>
    540           <td></td>
    541           <td class="md" nowrap><a class="el" href="classOscl__FileServer.html">Oscl_FileServer</a> &amp;&nbsp;</td>
    542           <td class="mdname" nowrap>&nbsp; <em>fileserv</em></td>
    543         </tr>
    544         <tr>
    545           <td></td>
    546           <td class="md">)&nbsp;</td>
    547           <td class="md" colspan="2"></td>
    548         </tr>
    549 
    550       </table>
    551     </td>
    552   </tr>
    553 </table>
    554 <table cellspacing=5 cellpadding=0 border=0>
    555   <tr>
    556     <td>
    557       &nbsp;
    558     </td>
    559     <td>
    560 
    561 <p>
    562 Opens a file.
    563 <p>
    564 Note: when an external file handle is used, Open will attach to the file handle and initialize cacheing features, but will not do a native file open.<dl compact><dt><b>Parameters: </b></dt><dd>
    565 <table border=0 cellspacing=2 cellpadding=0>
    566 <tr><td valign=top><em>filename</em>&nbsp;</td><td>
    567 name of file to open (Utf8) </td></tr>
    568 <tr><td valign=top><em>mode</em>&nbsp;</td><td>
    569 combination of open mode flags </td></tr>
    570 <tr><td valign=top><em>fileserv</em>&nbsp;</td><td>
    571 fileserver to use</td></tr>
    572 </table>
    573 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    574 returns 0 if successful and a non-zero value otherwise </dl>    </td>
    575   </tr>
    576 </table>
    577 <a name="a11" doxytag="Oscl_File::Read"></a><p>
    578 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    579   <tr>
    580     <td class="md">
    581       <table cellpadding="0" cellspacing="0" border="0">
    582         <tr>
    583           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 Oscl_File::Read </td>
    584           <td class="md" valign="top">(&nbsp;</td>
    585           <td class="md" nowrap valign="top"><a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
    586           <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
    587         </tr>
    588         <tr>
    589           <td></td>
    590           <td></td>
    591           <td class="md" nowrap>uint32&nbsp;</td>
    592           <td class="mdname" nowrap>&nbsp; <em>size</em>, </td>
    593         </tr>
    594         <tr>
    595           <td></td>
    596           <td></td>
    597           <td class="md" nowrap>uint32&nbsp;</td>
    598           <td class="mdname" nowrap>&nbsp; <em>numelements</em></td>
    599         </tr>
    600         <tr>
    601           <td></td>
    602           <td class="md">)&nbsp;</td>
    603           <td class="md" colspan="2"></td>
    604         </tr>
    605 
    606       </table>
    607     </td>
    608   </tr>
    609 </table>
    610 <table cellspacing=5 cellpadding=0 border=0>
    611   <tr>
    612     <td>
    613       &nbsp;
    614     </td>
    615     <td>
    616 
    617 <p>
    618 The File Read operation Reads from the file into the buffer a maximum of 'numelements' of size 'size'.<dl compact><dt><b>Parameters: </b></dt><dd>
    619 <table border=0 cellspacing=2 cellpadding=0>
    620 <tr><td valign=top><em>buffer</em>&nbsp;</td><td>
    621 pointer to buffer of type void </td></tr>
    622 <tr><td valign=top><em>size</em>&nbsp;</td><td>
    623 element size in bytes </td></tr>
    624 <tr><td valign=top><em>numelements</em>&nbsp;</td><td>
    625 max number of elements to read</td></tr>
    626 </table>
    627 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    628 returns the number of full elements actually read, which may be less than count if an error occurs or if the end of the file is encountered before reaching count. Use the CheckEndOfFile or GetError function to distinguish a read error from an end-of-file condition. </dl>    </td>
    629   </tr>
    630 </table>
    631 <a name="a13" doxytag="Oscl_File::Seek"></a><p>
    632 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    633   <tr>
    634     <td class="md">
    635       <table cellpadding="0" cellspacing="0" border="0">
    636         <tr>
    637           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::Seek </td>
    638           <td class="md" valign="top">(&nbsp;</td>
    639           <td class="md" nowrap valign="top"><a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a>&nbsp;</td>
    640           <td class="mdname" nowrap>&nbsp; <em>offset</em>, </td>
    641         </tr>
    642         <tr>
    643           <td></td>
    644           <td></td>
    645           <td class="md" nowrap><a class="el" href="classOscl__File.html#s11">seek_type</a>&nbsp;</td>
    646           <td class="mdname" nowrap>&nbsp; <em>origin</em></td>
    647         </tr>
    648         <tr>
    649           <td></td>
    650           <td class="md">)&nbsp;</td>
    651           <td class="md" colspan="2"></td>
    652         </tr>
    653 
    654       </table>
    655     </td>
    656   </tr>
    657 </table>
    658 <table cellspacing=5 cellpadding=0 border=0>
    659   <tr>
    660     <td>
    661       &nbsp;
    662     </td>
    663     <td>
    664 
    665 <p>
    666 The File Seek operation Sets the position for file pointer<dl compact><dt><b>Parameters: </b></dt><dd>
    667 <table border=0 cellspacing=2 cellpadding=0>
    668 <tr><td valign=top><em>offset</em>&nbsp;</td><td>
    669 offset from the specified origin. </td></tr>
    670 <tr><td valign=top><em>origin</em>&nbsp;</td><td>
    671 starting point</td></tr>
    672 </table>
    673 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    674 returns 0 on success, and a non-zero value otherwise </dl>    </td>
    675   </tr>
    676 </table>
    677 <a name="a7" doxytag="Oscl_File::SetAsyncReadBufferSize"></a><p>
    678 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    679   <tr>
    680     <td class="md">
    681       <table cellpadding="0" cellspacing="0" border="0">
    682         <tr>
    683           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_File::SetAsyncReadBufferSize </td>
    684           <td class="md" valign="top">(&nbsp;</td>
    685           <td class="md" nowrap valign="top">uint32&nbsp;</td>
    686           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aSize</em>          </td>
    687           <td class="md" valign="top">)&nbsp;</td>
    688           <td class="md" nowrap></td>
    689         </tr>
    690 
    691       </table>
    692     </td>
    693   </tr>
    694 </table>
    695 <table cellspacing=5 cellpadding=0 border=0>
    696   <tr>
    697     <td>
    698       &nbsp;
    699     </td>
    700     <td>
    701 
    702 <p>
    703 SetAsyncReadBufferSize configures the asynchronous background read function. May not be available on all platforms.
    704 <p>
    705 This should be called before opening the file. If used when the file is open, the option will not take effect until the next Open.
    706 <p>
    707 Note: if asynchronous read is not available on the platform, this call will have no effect.<dl compact><dt><b>Parameters: </b></dt><dd>
    708 <table border=0 cellspacing=2 cellpadding=0>
    709 <tr><td valign=top><em>aSize:</em>&nbsp;</td><td>
    710 buffer size in bytes. Zero disables the feature. </td></tr>
    711 </table>
    712 </dl>    </td>
    713   </tr>
    714 </table>
    715 <a name="a8" doxytag="Oscl_File::SetFileHandle"></a><p>
    716 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    717   <tr>
    718     <td class="md">
    719       <table cellpadding="0" cellspacing="0" border="0">
    720         <tr>
    721           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF int32 Oscl_File::SetFileHandle </td>
    722           <td class="md" valign="top">(&nbsp;</td>
    723           <td class="md" nowrap valign="top"><a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> *&nbsp;</td>
    724           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aHandle</em>          </td>
    725           <td class="md" valign="top">)&nbsp;</td>
    726           <td class="md" nowrap></td>
    727         </tr>
    728 
    729       </table>
    730     </td>
    731   </tr>
    732 </table>
    733 <table cellspacing=5 cellpadding=0 border=0>
    734   <tr>
    735     <td>
    736       &nbsp;
    737     </td>
    738     <td>
    739 
    740 <p>
    741 SetFileHandle adds an open file handle to the Oscl_File object. The Oscl_File object will use that handle to access the file.
    742 <p>
    743 This call is not available when the Oscl_File object is already open.
    744 <p>
    745 Note: This feature is used in Symbian with the MMF framework. The MMF framework provides an open RFile handle to access content. When using RFileBuf access mode with an RFile handle, the RFileBuf will be attached to the open RFile handle.
    746 <p>
    747 To use the external file handle, the caller starts with a native file handle to an open file. The caller must wrap the native file handle in an <a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> object, pass the <a class="el" href="classOsclFileHandle.html">OsclFileHandle</a> pointer to SetFileHandle, call <a class="el" href="classOscl__File.html#a9">Oscl_File::Open</a>, then proceed to use the Oscl_File object, finally calling <a class="el" href="classOscl__File.html#a15">Oscl_File::Close</a>. In this usage mode, <a class="el" href="classOscl__File.html#a9">Oscl_File::Open</a> and <a class="el" href="classOscl__File.html#a15">Oscl_File::Close</a> do not actually call native file open and close. It is assumed that the caller will close the original native file handle after usage is complete.<dl compact><dt><b>Parameters: </b></dt><dd>
    748 <table border=0 cellspacing=2 cellpadding=0>
    749 <tr><td valign=top><em>aHandle:</em>&nbsp;</td><td>
    750 container for an open file handle. </td></tr>
    751 </table>
    752 </dl><dl compact><dt><b>Returns: </b></dt><dd>
    753 returns 0 if successful, non-zero if error. </dl>    </td>
    754   </tr>
    755 </table>
    756 <a name="a21" doxytag="Oscl_File::SetLoggingEnable"></a><p>
    757 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    758   <tr>
    759     <td class="md">
    760       <table cellpadding="0" cellspacing="0" border="0">
    761         <tr>
    762           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_File::SetLoggingEnable </td>
    763           <td class="md" valign="top">(&nbsp;</td>
    764           <td class="md" nowrap valign="top">bool&nbsp;</td>
    765           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aEnable</em>          </td>
    766           <td class="md" valign="top">)&nbsp;</td>
    767           <td class="md" nowrap></td>
    768         </tr>
    769 
    770       </table>
    771     </td>
    772   </tr>
    773 </table>
    774 <table cellspacing=5 cellpadding=0 border=0>
    775   <tr>
    776     <td>
    777       &nbsp;
    778     </td>
    779     <td>
    780 
    781 <p>
    782 SetLoggingEnable configures the <a class="el" href="classPVLogger.html">PVLogger</a> output for this file. This will enable full logging of each API entry and exit using the logger object "Oscl_File", plus full logging of native operation entry &amp; exit using logger object "<a class="el" href="classOsclNativeFile.html">OsclNativeFile</a>".<dl compact><dt><b>Parameters: </b></dt><dd>
    783 <table border=0 cellspacing=2 cellpadding=0>
    784 <tr><td valign=top><em>aEnable:</em>&nbsp;</td><td>
    785 true to enable, false to disable logging. </td></tr>
    786 </table>
    787 </dl>    </td>
    788   </tr>
    789 </table>
    790 <a name="a5" doxytag="Oscl_File::SetNativeAccessMode"></a><p>
    791 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    792   <tr>
    793     <td class="md">
    794       <table cellpadding="0" cellspacing="0" border="0">
    795         <tr>
    796           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_File::SetNativeAccessMode </td>
    797           <td class="md" valign="top">(&nbsp;</td>
    798           <td class="md" nowrap valign="top">uint32&nbsp;</td>
    799           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aMode</em>          </td>
    800           <td class="md" valign="top">)&nbsp;</td>
    801           <td class="md" nowrap></td>
    802         </tr>
    803 
    804       </table>
    805     </td>
    806   </tr>
    807 </table>
    808 <table cellspacing=5 cellpadding=0 border=0>
    809   <tr>
    810     <td>
    811       &nbsp;
    812     </td>
    813     <td>
    814 
    815 <p>
    816 SetNativeAccessMode allows switching between different native file access modes, when available.
    817 <p>
    818 Note: for For Symbian, use the TSymbianAccessMode values to choose the mode. If multiple access modes are not available on the platform, this call will have no effect.<dl compact><dt><b>Parameters: </b></dt><dd>
    819 <table border=0 cellspacing=2 cellpadding=0>
    820 <tr><td valign=top><em>aMode:</em>&nbsp;</td><td>
    821 access mode. </td></tr>
    822 </table>
    823 </dl>    </td>
    824   </tr>
    825 </table>
    826 <a name="a6" doxytag="Oscl_File::SetNativeBufferSize"></a><p>
    827 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    828   <tr>
    829     <td class="md">
    830       <table cellpadding="0" cellspacing="0" border="0">
    831         <tr>
    832           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_File::SetNativeBufferSize </td>
    833           <td class="md" valign="top">(&nbsp;</td>
    834           <td class="md" nowrap valign="top">int32&nbsp;</td>
    835           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aSize</em>          </td>
    836           <td class="md" valign="top">)&nbsp;</td>
    837           <td class="md" nowrap></td>
    838         </tr>
    839 
    840       </table>
    841     </td>
    842   </tr>
    843 </table>
    844 <table cellspacing=5 cellpadding=0 border=0>
    845   <tr>
    846     <td>
    847       &nbsp;
    848     </td>
    849     <td>
    850 
    851 <p>
    852 SetNativeBufferSize configures the native file buffering feature, when available.
    853 <p>
    854 This should be called before opening the file. If used when the file is open, the option will not take effect until the next Open.
    855 <p>
    856 Note: For Symbian, this sets the RFileBuf cache size. If native buffing is not available on the platform, this call will have no effect.<dl compact><dt><b>Parameters: </b></dt><dd>
    857 <table border=0 cellspacing=2 cellpadding=0>
    858 <tr><td valign=top><em>aSize:</em>&nbsp;</td><td>
    859 native buffer size in bytes. Zero disables the feature. </td></tr>
    860 </table>
    861 </dl>    </td>
    862   </tr>
    863 </table>
    864 <a name="a4" doxytag="Oscl_File::SetPVCacheSize"></a><p>
    865 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    866   <tr>
    867     <td class="md">
    868       <table cellpadding="0" cellspacing="0" border="0">
    869         <tr>
    870           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_File::SetPVCacheSize </td>
    871           <td class="md" valign="top">(&nbsp;</td>
    872           <td class="md" nowrap valign="top">uint32&nbsp;</td>
    873           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aSize</em>          </td>
    874           <td class="md" valign="top">)&nbsp;</td>
    875           <td class="md" nowrap></td>
    876         </tr>
    877 
    878       </table>
    879     </td>
    880   </tr>
    881 </table>
    882 <table cellspacing=5 cellpadding=0 border=0>
    883   <tr>
    884     <td>
    885       &nbsp;
    886     </td>
    887     <td>
    888 
    889 <p>
    890 SetPVCacheSize configures the read/write cache.
    891 <p>
    892 This should be called before opening the file. If used when the file is open, the option will not take effect until the next Open.<dl compact><dt><b>Parameters: </b></dt><dd>
    893 <table border=0 cellspacing=2 cellpadding=0>
    894 <tr><td valign=top><em>aSize:</em>&nbsp;</td><td>
    895 cache size in bytes. Zero disables the cache. </td></tr>
    896 </table>
    897 </dl>    </td>
    898   </tr>
    899 </table>
    900 <a name="a22" doxytag="Oscl_File::SetSummaryStatsLoggingEnable"></a><p>
    901 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    902   <tr>
    903     <td class="md">
    904       <table cellpadding="0" cellspacing="0" border="0">
    905         <tr>
    906           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF void Oscl_File::SetSummaryStatsLoggingEnable </td>
    907           <td class="md" valign="top">(&nbsp;</td>
    908           <td class="md" nowrap valign="top">bool&nbsp;</td>
    909           <td class="mdname1" valign="top" nowrap>&nbsp; <em>aEnable</em>          </td>
    910           <td class="md" valign="top">)&nbsp;</td>
    911           <td class="md" nowrap></td>
    912         </tr>
    913 
    914       </table>
    915     </td>
    916   </tr>
    917 </table>
    918 <table cellspacing=5 cellpadding=0 border=0>
    919   <tr>
    920     <td>
    921       &nbsp;
    922     </td>
    923     <td>
    924 
    925 <p>
    926 SetSummaryStatsLoggingEnable configures the <a class="el" href="classPVLogger.html">PVLogger</a> output for this file. This will enable summary statistics logging only, using the logger object "<a class="el" href="classOsclFileStats.html">OsclFileStats</a>".<dl compact><dt><b>Parameters: </b></dt><dd>
    927 <table border=0 cellspacing=2 cellpadding=0>
    928 <tr><td valign=top><em>aEnable:</em>&nbsp;</td><td>
    929 true to enable, false to disable stats logging. </td></tr>
    930 </table>
    931 </dl>    </td>
    932   </tr>
    933 </table>
    934 <a name="a20" doxytag="Oscl_File::Size"></a><p>
    935 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    936   <tr>
    937     <td class="md">
    938       <table cellpadding="0" cellspacing="0" border="0">
    939         <tr>
    940           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a> Oscl_File::Size </td>
    941           <td class="md" valign="top">(&nbsp;</td>
    942           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    943           <td class="md" valign="top">)&nbsp;</td>
    944           <td class="md" nowrap></td>
    945         </tr>
    946 
    947       </table>
    948     </td>
    949   </tr>
    950 </table>
    951 <table cellspacing=5 cellpadding=0 border=0>
    952   <tr>
    953     <td>
    954       &nbsp;
    955     </td>
    956     <td>
    957 
    958 <p>
    959 Get the file size in bytes.
    960 <p>
    961 <dl compact><dt><b>Returns: </b></dt><dd>
    962 - The size of the file, or -1 on error. </dl>    </td>
    963   </tr>
    964 </table>
    965 <a name="a14" doxytag="Oscl_File::Tell"></a><p>
    966 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    967   <tr>
    968     <td class="md">
    969       <table cellpadding="0" cellspacing="0" border="0">
    970         <tr>
    971           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF <a class="el" href="osclconfig__io_8h.html#a48">TOsclFileOffset</a> Oscl_File::Tell </td>
    972           <td class="md" valign="top">(&nbsp;</td>
    973           <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
    974           <td class="md" valign="top">)&nbsp;</td>
    975           <td class="md" nowrap></td>
    976         </tr>
    977 
    978       </table>
    979     </td>
    980   </tr>
    981 </table>
    982 <table cellspacing=5 cellpadding=0 border=0>
    983   <tr>
    984     <td>
    985       &nbsp;
    986     </td>
    987     <td>
    988 
    989 <p>
    990 The File Tell operation Returns the current file position for file specified by fp     </td>
    991   </tr>
    992 </table>
    993 <a name="a12" doxytag="Oscl_File::Write"></a><p>
    994 <table width="100%" cellpadding="2" cellspacing="0" border="0">
    995   <tr>
    996     <td class="md">
    997       <table cellpadding="0" cellspacing="0" border="0">
    998         <tr>
    999           <td class="md" nowrap valign="top"> OSCL_IMPORT_REF uint32 Oscl_File::Write </td>
   1000           <td class="md" valign="top">(&nbsp;</td>
   1001           <td class="md" nowrap valign="top">const <a class="el" href="group__osclbase.html#a25">OsclAny</a> *&nbsp;</td>
   1002           <td class="mdname" nowrap>&nbsp; <em>buffer</em>, </td>
   1003         </tr>
   1004         <tr>
   1005           <td></td>
   1006           <td></td>
   1007           <td class="md" nowrap>uint32&nbsp;</td>
   1008           <td class="mdname" nowrap>&nbsp; <em>size</em>, </td>
   1009         </tr>
   1010         <tr>
   1011           <td></td>
   1012           <td></td>
   1013           <td class="md" nowrap>uint32&nbsp;</td>
   1014           <td class="mdname" nowrap>&nbsp; <em>numelements</em></td>
   1015         </tr>
   1016         <tr>
   1017           <td></td>
   1018           <td class="md">)&nbsp;</td>
   1019           <td class="md" colspan="2"></td>
   1020         </tr>
   1021 
   1022       </table>
   1023     </td>
   1024   </tr>
   1025 </table>
   1026 <table cellspacing=5 cellpadding=0 border=0>
   1027   <tr>
   1028     <td>
   1029       &nbsp;
   1030     </td>
   1031     <td>
   1032 
   1033 <p>
   1034 The File Write operation Writes from the buffer 'numelements' objects of size 'size'<dl compact><dt><b>Parameters: </b></dt><dd>
   1035 <table border=0 cellspacing=2 cellpadding=0>
   1036 <tr><td valign=top><em>buffer</em>&nbsp;</td><td>
   1037 pointer to buffer of type void </td></tr>
   1038 <tr><td valign=top><em>size</em>&nbsp;</td><td>
   1039 element size in bytes </td></tr>
   1040 <tr><td valign=top><em>numelements</em>&nbsp;</td><td>
   1041 number of elements to write</td></tr>
   1042 </table>
   1043 </dl><dl compact><dt><b>Returns: </b></dt><dd>
   1044 The number of elements written </dl>    </td>
   1045   </tr>
   1046 </table>
   1047 <hr><h2>Friends And Related Function Documentation</h2>
   1048 <a name="l3" doxytag="Oscl_File::asyncfilereadcancel_test"></a><p>
   1049 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1050   <tr>
   1051     <td class="md">
   1052       <table cellpadding="0" cellspacing="0" border="0">
   1053         <tr>
   1054           <td class="md" nowrap valign="top"> friend class asyncfilereadcancel_test<code> [friend]</code>
   1055       </table>
   1056     </td>
   1057   </tr>
   1058 </table>
   1059 <table cellspacing=5 cellpadding=0 border=0>
   1060   <tr>
   1061     <td>
   1062       &nbsp;
   1063     </td>
   1064     <td>
   1065 
   1066 <p>
   1067     </td>
   1068   </tr>
   1069 </table>
   1070 <a name="l1" doxytag="Oscl_File::asyncfilereadwrite_test"></a><p>
   1071 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1072   <tr>
   1073     <td class="md">
   1074       <table cellpadding="0" cellspacing="0" border="0">
   1075         <tr>
   1076           <td class="md" nowrap valign="top"> friend class asyncfilereadwrite_test<code> [friend]</code>
   1077       </table>
   1078     </td>
   1079   </tr>
   1080 </table>
   1081 <table cellspacing=5 cellpadding=0 border=0>
   1082   <tr>
   1083     <td>
   1084       &nbsp;
   1085     </td>
   1086     <td>
   1087 
   1088 <p>
   1089     </td>
   1090   </tr>
   1091 </table>
   1092 <a name="l2" doxytag="Oscl_File::largeasyncfilereadwrite_test"></a><p>
   1093 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1094   <tr>
   1095     <td class="md">
   1096       <table cellpadding="0" cellspacing="0" border="0">
   1097         <tr>
   1098           <td class="md" nowrap valign="top"> friend class largeasyncfilereadwrite_test<code> [friend]</code>
   1099       </table>
   1100     </td>
   1101   </tr>
   1102 </table>
   1103 <table cellspacing=5 cellpadding=0 border=0>
   1104   <tr>
   1105     <td>
   1106       &nbsp;
   1107     </td>
   1108     <td>
   1109 
   1110 <p>
   1111     </td>
   1112   </tr>
   1113 </table>
   1114 <a name="l0" doxytag="Oscl_File::OsclFileCache"></a><p>
   1115 <table width="100%" cellpadding="2" cellspacing="0" border="0">
   1116   <tr>
   1117     <td class="md">
   1118       <table cellpadding="0" cellspacing="0" border="0">
   1119         <tr>
   1120           <td class="md" nowrap valign="top"> friend class OsclFileCache<code> [friend]</code>
   1121       </table>
   1122     </td>
   1123   </tr>
   1124 </table>
   1125 <table cellspacing=5 cellpadding=0 border=0>
   1126   <tr>
   1127     <td>
   1128       &nbsp;
   1129     </td>
   1130     <td>
   1131 
   1132 <p>
   1133     </td>
   1134   </tr>
   1135 </table>
   1136 <hr>The documentation for this class was generated from the following file:<ul>
   1137 <li><a class="el" href="oscl__file__io_8h-source.html">oscl_file_io.h</a></ul>
   1138 <hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
   1139 <address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
   1140 </small></address>
   1141 </body>
   1142 </html>
   1143