Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > b293cf61b174f6cb974e48c9096dc9b3 > files > 269

lib64commoncpp-devel-1.8.1-7.mga4.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>GNU CommonC++: ost::RandomFile Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">GNU CommonC++
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceost.html">ost</a></li><li class="navelem"><a class="el" href="classost_1_1_random_file.html">RandomFile</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#related">Related Functions</a> &#124;
<a href="classost_1_1_random_file-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::RandomFile Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>The purpose of this class is to define a base class for low level random file access that is portable between Win32 and Posix systems.  
 <a href="classost_1_1_random_file.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="file_8h_source.html">file.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::RandomFile:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_random_file.png" usemap="#ost::RandomFile_map" alt=""/>
  <map id="ost::RandomFile_map" name="ost::RandomFile_map">
<area href="classost_1_1_mutex.html" title="The Mutex class is used to protect a section of code so that at any given time only a single thread c..." alt="ost::Mutex" shape="rect" coords="55,0,156,24"/>
<area href="classost_1_1_file.html" alt="ost::File" shape="rect" coords="166,0,267,24"/>
<area href="classost_1_1_mapped_file.html" title="Create and map a disk file into memory. " alt="ost::MappedFile" shape="rect" coords="0,112,101,136"/>
<area href="classost_1_1_shared_file.html" title="This class defines a database I/O file service that can be shared by multiple processes. " alt="ost::SharedFile" shape="rect" coords="111,112,212,136"/>
<area href="classost_1_1_thread_file.html" title="This class defines a database I/O file service that can be shared by multiple threads. " alt="ost::ThreadFile" shape="rect" coords="222,112,323,136"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ae88353b07b9a470a4bfb83f3880d11c6"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#ae88353b07b9a470a4bfb83f3880d11c6">~RandomFile</a> ()</td></tr>
<tr class="memdesc:ae88353b07b9a470a4bfb83f3880d11c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroy a random access file or it's derived class.  <a href="#ae88353b07b9a470a4bfb83f3880d11c6">More...</a><br/></td></tr>
<tr class="separator:ae88353b07b9a470a4bfb83f3880d11c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99c99374d066bb3ccc04e6469df6c737"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a99c99374d066bb3ccc04e6469df6c737">initial</a> (void)</td></tr>
<tr class="memdesc:a99c99374d066bb3ccc04e6469df6c737"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method should be called right after a <a class="el" href="classost_1_1_random_file.html" title="The purpose of this class is to define a base class for low level random file access that is portable...">RandomFile</a> derived object has been created.  <a href="#a99c99374d066bb3ccc04e6469df6c737">More...</a><br/></td></tr>
<tr class="separator:a99c99374d066bb3ccc04e6469df6c737"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed24526ff016216a57a179dfa7c1a70e"><td class="memItemLeft" align="right" valign="top">off_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#aed24526ff016216a57a179dfa7c1a70e">getCapacity</a> (void)</td></tr>
<tr class="memdesc:aed24526ff016216a57a179dfa7c1a70e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get current file capacity.  <a href="#aed24526ff016216a57a179dfa7c1a70e">More...</a><br/></td></tr>
<tr class="separator:aed24526ff016216a57a179dfa7c1a70e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae78c71b1e3fab5861bc9fdae595829a7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#ae78c71b1e3fab5861bc9fdae595829a7">restart</a> (void)</td></tr>
<tr class="memdesc:ae78c71b1e3fab5861bc9fdae595829a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is commonly used to close and re-open an existing database.  <a href="#ae78c71b1e3fab5861bc9fdae595829a7">More...</a><br/></td></tr>
<tr class="separator:ae78c71b1e3fab5861bc9fdae595829a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c6b37d6c510619a3988eb2024e5596e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a4c6b37d6c510619a3988eb2024e5596e">getErrorNumber</a> (void)</td></tr>
<tr class="memdesc:a4c6b37d6c510619a3988eb2024e5596e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return current error id.  <a href="#a4c6b37d6c510619a3988eb2024e5596e">More...</a><br/></td></tr>
<tr class="separator:a4c6b37d6c510619a3988eb2024e5596e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a161d0a323f1493fb241537c780ea50d3"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a161d0a323f1493fb241537c780ea50d3">getErrorString</a> (void)</td></tr>
<tr class="memdesc:a161d0a323f1493fb241537c780ea50d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return current error string.  <a href="#a161d0a323f1493fb241537c780ea50d3">More...</a><br/></td></tr>
<tr class="separator:a161d0a323f1493fb241537c780ea50d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6efd8f7cd9f643c9986a1b4bb537240"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#ac6efd8f7cd9f643c9986a1b4bb537240">operator!</a> (void)</td></tr>
<tr class="separator:ac6efd8f7cd9f643c9986a1b4bb537240"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:abf33cf415283a29f6e81edcacd101178"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#abf33cf415283a29f6e81edcacd101178">RandomFile</a> (const char *name=NULL)</td></tr>
<tr class="memdesc:abf33cf415283a29f6e81edcacd101178"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create an unopened random access file.  <a href="#abf33cf415283a29f6e81edcacd101178">More...</a><br/></td></tr>
<tr class="separator:abf33cf415283a29f6e81edcacd101178"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe157c3a2b21bc1d914885b3df8f61e7"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#afe157c3a2b21bc1d914885b3df8f61e7">RandomFile</a> (const <a class="el" href="classost_1_1_random_file.html">RandomFile</a> &amp;rf)</td></tr>
<tr class="memdesc:afe157c3a2b21bc1d914885b3df8f61e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default copy constructor.  <a href="#afe157c3a2b21bc1d914885b3df8f61e7">More...</a><br/></td></tr>
<tr class="separator:afe157c3a2b21bc1d914885b3df8f61e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa82c1311e24dd37063c05629c29d51e6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#aa82c1311e24dd37063c05629c29d51e6">error</a> (<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> errid, char *errstr=NULL)</td></tr>
<tr class="memdesc:aa82c1311e24dd37063c05629c29d51e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Post an error event.  <a href="#aa82c1311e24dd37063c05629c29d51e6">More...</a><br/></td></tr>
<tr class="separator:aa82c1311e24dd37063c05629c29d51e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92df85d985d4fd0f4b272742243db7da"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a92df85d985d4fd0f4b272742243db7da">error</a> (char *err)</td></tr>
<tr class="memdesc:a92df85d985d4fd0f4b272742243db7da"><td class="mdescLeft">&#160;</td><td class="mdescRight">Post an extended string error message.  <a href="#a92df85d985d4fd0f4b272742243db7da">More...</a><br/></td></tr>
<tr class="separator:a92df85d985d4fd0f4b272742243db7da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8205a0d1592268c7de8212c7c5d38b1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#af8205a0d1592268c7de8212c7c5d38b1">setError</a> (bool enable)</td></tr>
<tr class="memdesc:af8205a0d1592268c7de8212c7c5d38b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to enable or disable throwing of exceptions on errors.  <a href="#af8205a0d1592268c7de8212c7c5d38b1">More...</a><br/></td></tr>
<tr class="separator:af8205a0d1592268c7de8212c7c5d38b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc54d7bb92ff3d5856c89bdf146d27fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#acc54d7bb92ff3d5856c89bdf146d27fa">setCompletion</a> (<a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32">Complete</a> mode)</td></tr>
<tr class="memdesc:acc54d7bb92ff3d5856c89bdf146d27fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to set file completion modes.  <a href="#acc54d7bb92ff3d5856c89bdf146d27fa">More...</a><br/></td></tr>
<tr class="separator:acc54d7bb92ff3d5856c89bdf146d27fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a429480dd369c4058a8af0cc8ec91866a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a429480dd369c4058a8af0cc8ec91866a">setTemporary</a> (bool enable)</td></tr>
<tr class="memdesc:a429480dd369c4058a8af0cc8ec91866a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to set the temporary attribute for the file.  <a href="#a429480dd369c4058a8af0cc8ec91866a">More...</a><br/></td></tr>
<tr class="separator:a429480dd369c4058a8af0cc8ec91866a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76af824e4cd76326652b6d84af1651b9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118">Attr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a76af824e4cd76326652b6d84af1651b9">initialize</a> (void)</td></tr>
<tr class="memdesc:a76af824e4cd76326652b6d84af1651b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is used to initialize a newly created file as indicated by the "initial" flag.  <a href="#a76af824e4cd76326652b6d84af1651b9">More...</a><br/></td></tr>
<tr class="separator:a76af824e4cd76326652b6d84af1651b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0013f73f6551540a4d8acb2f53092d2d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a0013f73f6551540a4d8acb2f53092d2d">final</a> (void)</td></tr>
<tr class="memdesc:a0013f73f6551540a4d8acb2f53092d2d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the file.  <a href="#a0013f73f6551540a4d8acb2f53092d2d">More...</a><br/></td></tr>
<tr class="separator:a0013f73f6551540a4d8acb2f53092d2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_mutex"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_mutex')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_mutex.html">ost::Mutex</a></td></tr>
<tr class="memitem:a22e6ce5d9d8d209dac70e39310459202 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a22e6ce5d9d8d209dac70e39310459202">Mutex</a> (const char *name=NULL)</td></tr>
<tr class="memdesc:a22e6ce5d9d8d209dac70e39310459202 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">The mutex is always initialized as a recursive entity.  <a href="#a22e6ce5d9d8d209dac70e39310459202">More...</a><br/></td></tr>
<tr class="separator:a22e6ce5d9d8d209dac70e39310459202 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ccc1c2e7278d8adc47fd728706c33a8 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a5ccc1c2e7278d8adc47fd728706c33a8">~Mutex</a> ()</td></tr>
<tr class="memdesc:a5ccc1c2e7278d8adc47fd728706c33a8 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destroying the mutex removes any system resources associated with it.  <a href="#a5ccc1c2e7278d8adc47fd728706c33a8">More...</a><br/></td></tr>
<tr class="separator:a5ccc1c2e7278d8adc47fd728706c33a8 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abed8b05b63f9cdd2c9ca1f92081b1a8a inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#abed8b05b63f9cdd2c9ca1f92081b1a8a">nameMutex</a> (const char *name)</td></tr>
<tr class="memdesc:abed8b05b63f9cdd2c9ca1f92081b1a8a inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable setting of mutex name for deadlock debug.  <a href="#abed8b05b63f9cdd2c9ca1f92081b1a8a">More...</a><br/></td></tr>
<tr class="separator:abed8b05b63f9cdd2c9ca1f92081b1a8a inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adc1471d0c2114e5c49e1fe7152448378 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#adc1471d0c2114e5c49e1fe7152448378">enterMutex</a> (void)</td></tr>
<tr class="memdesc:adc1471d0c2114e5c49e1fe7152448378 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Entering a <a class="el" href="classost_1_1_mutex.html" title="The Mutex class is used to protect a section of code so that at any given time only a single thread c...">Mutex</a> locks the mutex for the current thread.  <a href="#adc1471d0c2114e5c49e1fe7152448378">More...</a><br/></td></tr>
<tr class="separator:adc1471d0c2114e5c49e1fe7152448378 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aecb516325583e432bf2bf7e4b565f6f6 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#aecb516325583e432bf2bf7e4b565f6f6">enter</a> (void)</td></tr>
<tr class="memdesc:aecb516325583e432bf2bf7e4b565f6f6 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Future abi will use enter/leave/test members.  <a href="#aecb516325583e432bf2bf7e4b565f6f6">More...</a><br/></td></tr>
<tr class="separator:aecb516325583e432bf2bf7e4b565f6f6 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6aaecac9c95d31a5862014d7f1afe73 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#ab6aaecac9c95d31a5862014d7f1afe73">leave</a> (void)</td></tr>
<tr class="memdesc:ab6aaecac9c95d31a5862014d7f1afe73 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Future abi will use enter/leave/test members.  <a href="#ab6aaecac9c95d31a5862014d7f1afe73">More...</a><br/></td></tr>
<tr class="separator:ab6aaecac9c95d31a5862014d7f1afe73 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1ff5454b2c9b55790c4bf33f751704c inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#ac1ff5454b2c9b55790c4bf33f751704c">test</a> (void)</td></tr>
<tr class="memdesc:ac1ff5454b2c9b55790c4bf33f751704c inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Future abi will use enter/leave/test members.  <a href="#ac1ff5454b2c9b55790c4bf33f751704c">More...</a><br/></td></tr>
<tr class="separator:ac1ff5454b2c9b55790c4bf33f751704c inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa46b490ac92017ef89980b0020bff8c0 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#aa46b490ac92017ef89980b0020bff8c0">tryEnterMutex</a> (void)</td></tr>
<tr class="memdesc:aa46b490ac92017ef89980b0020bff8c0 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tries to lock the mutex for the current thread.  <a href="#aa46b490ac92017ef89980b0020bff8c0">More...</a><br/></td></tr>
<tr class="separator:aa46b490ac92017ef89980b0020bff8c0 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a403208d275c4c7b8087a40259b0cb0f3 inherit pro_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a403208d275c4c7b8087a40259b0cb0f3">leaveMutex</a> (void)</td></tr>
<tr class="memdesc:a403208d275c4c7b8087a40259b0cb0f3 inherit pro_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Leaving a mutex frees that mutex for use by another thread.  <a href="#a403208d275c4c7b8087a40259b0cb0f3">More...</a><br/></td></tr>
<tr class="separator:a403208d275c4c7b8087a40259b0cb0f3 inherit pro_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:abc91558a45f6d8c78165625e01addc0c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#abc91558a45f6d8c78165625e01addc0c">fd</a></td></tr>
<tr class="separator:abc91558a45f6d8c78165625e01addc0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36f63b4d57f5f789f4ec3cade258ceba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271">Access</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a36f63b4d57f5f789f4ec3cade258ceba">access</a></td></tr>
<tr class="separator:a36f63b4d57f5f789f4ec3cade258ceba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a564788b0bea48ae7ea0155a5bf01be31"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a564788b0bea48ae7ea0155a5bf01be31">pathname</a></td></tr>
<tr class="separator:a564788b0bea48ae7ea0155a5bf01be31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8260decf1cb2104013163b8982f19408"><td class="memItemLeft" >struct {</td></tr>
<tr class="memitem:ace4bd5fed488f3b576cb2ce76c9a4b7b"><td class="memItemLeft" >&#160;&#160;&#160;unsigned&#160;&#160;&#160;<a class="el" href="classost_1_1_random_file.html#aeda3247665dcab25eadc6c1cda60f035">count</a>: 16</td></tr>
<tr class="separator:ace4bd5fed488f3b576cb2ce76c9a4b7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b6de6ca92ba93a3a1cfe6ecdb87b5ff"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_random_file.html#a289ffc07e73dcb9498f94bbf4fba850e">thrown</a>: 1</td></tr>
<tr class="separator:a6b6de6ca92ba93a3a1cfe6ecdb87b5ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93e3a8e48141080e69872f27babab3d3"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_random_file.html#af02ec49a4e28eeb3eefd76926ff18857">initial</a>: 1</td></tr>
<tr class="separator:a93e3a8e48141080e69872f27babab3d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a407f682c72b3c24582470057e6e7623b"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_random_file.html#a7b1672a1fbe2f99bee46abd9f725a3ef">immediate</a>: 1</td></tr>
<tr class="separator:a407f682c72b3c24582470057e6e7623b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9ed2de1ba5ee5806b1060d09ff10dc7c"><td class="memItemLeft" >&#160;&#160;&#160;bool&#160;&#160;&#160;<a class="el" href="classost_1_1_random_file.html#a73521e78146eebab7d971975ee909739">temp</a>: 1</td></tr>
<tr class="separator:a9ed2de1ba5ee5806b1060d09ff10dc7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8260decf1cb2104013163b8982f19408"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a8260decf1cb2104013163b8982f19408">flags</a></td></tr>
<tr class="separator:a8260decf1cb2104013163b8982f19408"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="related"></a>
Related Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p>(Note that these are not member functions.) </p>
</td></tr>
<tr class="memitem:a53ba9695ddea1583753004db938fa631"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a53ba9695ddea1583753004db938fa631">isDir</a> (const char *path)</td></tr>
<tr class="separator:a53ba9695ddea1583753004db938fa631"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac25c8ba76b0412251d209292768db1b4"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#ac25c8ba76b0412251d209292768db1b4">isFile</a> (const char *path)</td></tr>
<tr class="separator:ac25c8ba76b0412251d209292768db1b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaaed88405b79b6913bae1483c15bb46f"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#aaaed88405b79b6913bae1483c15bb46f">isDevice</a> (const char *path)</td></tr>
<tr class="separator:aaaed88405b79b6913bae1483c15bb46f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45b667dac523788084f05447ce10c9b6"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a45b667dac523788084f05447ce10c9b6">canAccess</a> (const char *path)</td></tr>
<tr class="separator:a45b667dac523788084f05447ce10c9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5e2c1d709a2eb2f9301bcff74594997"><td class="memItemLeft" align="right" valign="top">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#ac5e2c1d709a2eb2f9301bcff74594997">canModify</a> (const char *path)</td></tr>
<tr class="separator:ac5e2c1d709a2eb2f9301bcff74594997"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52af42981942dcbecaa13657fc4b3095"><td class="memItemLeft" align="right" valign="top">time_t <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a52af42981942dcbecaa13657fc4b3095">lastModified</a> (const char *path)</td></tr>
<tr class="separator:a52af42981942dcbecaa13657fc4b3095"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5618d9c5f79d0b7d3a82fac1eb02b84d"><td class="memItemLeft" align="right" valign="top">time_t <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_random_file.html#a5618d9c5f79d0b7d3a82fac1eb02b84d">lastAccessed</a> (const char *path)</td></tr>
<tr class="separator:a5618d9c5f79d0b7d3a82fac1eb02b84d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classost_1_1_file"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classost_1_1_file')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classost_1_1_file.html">ost::File</a></td></tr>
<tr class="memitem:a726c26bbd45c9cb0701267a2824284e6 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a207f3271e4132a03ed5624a6a5651c17">errSuccess</a> = 0, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a050d0e79c2ca5edf7f84c575e2957381">errNotOpened</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6af8f7b5e5ffd0e724131dcb83efafd3d3">errMapFailed</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6aee14627c63cab2530066a5a1b6421f71">errInitFailed</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6aa13e658bd29adfdbfccea54a74f212a7">errOpenDenied</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a40eaf2e7f3bdbb5aa380e183c35b253d">errOpenFailed</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a599eb6e10a9d34070a71ff55e5e05b86">errOpenInUse</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a797c9f9fb59f3f2d69a325c02c69d747">errReadInterrupted</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6aab30228d37127f636e8296ef55ecccaf">errReadIncomplete</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a4ad81d1cd9c7eda8ec6a655f3373bd98">errReadFailure</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a1d1fde6a839bd8d41fd9b5ac98d86cb3">errWriteInterrupted</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6acdce746373598e52b2407bc020a3f8d1">errWriteIncomplete</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6acc1148cc886b1181e0471d634a644f5f">errWriteFailure</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6abaa5f9bfe8d250ade4133bc81406b4fc">errLockFailure</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a9e9eef24fce1e9691b483fae652e5fc0">errExtended</a>
<br/>
 }</td></tr>
<tr class="separator:a726c26bbd45c9cb0701267a2824284e6 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af371cd81457b88328c08c4501f5e8271 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271">Access</a> { <a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271acb2f610b0ba650697c1b68ae59c49a5d">accessReadOnly</a> = O_RDONLY, 
<a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271a47fddcbc2462202862402f50dbd42459">accessWriteOnly</a> = O_WRONLY, 
<a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271ae6776a9332be29f0ae3426d7f5d91a60">accessReadWrite</a> = O_RDWR
 }</td></tr>
<tr class="separator:af371cd81457b88328c08c4501f5e8271 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b12e2068a433de7f63427b549d9772d inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772d">Open</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da4c5bc3b0beded5891dcc40d2cb2b24f6">openReadOnly</a> = O_RDONLY, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772dad682d89e71a5dd3ac438c9d981ca3112">openWriteOnly</a> = O_WRONLY, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da4bf20ddd12a0cde912fd16662db49c49">openReadWrite</a> = O_RDWR, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da18ac77d351475d57ef12fc35e3f5c2ae">openAppend</a> = O_WRONLY | O_APPEND, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772dac7a180ce2eb4c708da93bc085ff83f9b">openSync</a> = O_RDWR, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da758de2e4063c9ae6306409c117809321">openTruncate</a> = O_RDWR | O_TRUNC
<br/>
 }</td></tr>
<tr class="separator:a8b12e2068a433de7f63427b549d9772d inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2d644ff1e3bff4611e73f5526081118 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118">Attr</a> { <a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118a792916179434c95ed8e62da29e46749a">attrInvalid</a> = 0, 
<a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118afb6d21af5bf0e8dfa64bbc4de94494ef">attrPrivate</a> = 0400 | 0200, 
<a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118ada5cbe9786424b3c652078c95d4ac5d3">attrGroup</a> = attrPrivate | 0040 | 0020, 
<a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118a572c71d829d969de792943d543067371">attrPublic</a> = attrGroup | 0004 | 0002
 }</td></tr>
<tr class="separator:ae2d644ff1e3bff4611e73f5526081118 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19532855f2541003a0a2240e1310b6a3 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3">Mapping</a> { <a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3a2630a8cb91de2acc9e4e606bbd062a59">mappedRead</a> = accessReadOnly, 
<a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3a38cb595821ce2e154fef758c44cdaec4">mappedWrite</a> = accessWriteOnly, 
<a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3a7347e2b33a199b520bc98dc136e4231f">mappedReadWrite</a> = accessReadWrite
 }</td></tr>
<tr class="separator:a19532855f2541003a0a2240e1310b6a3 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81c533fbe84167e862768a396ff30e32 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32">Complete</a> { <a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32a1f7d50166d07b59cfa213e0a1686018f">completionImmediate</a>, 
<a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32af26018fa0614b8f02af5c87cdcf1299b">completionDelayed</a>, 
<a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32a0c2349e20e5133814955099a6408b9d8">completionDeferred</a>
 }</td></tr>
<tr class="separator:a81c533fbe84167e862768a396ff30e32 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65e9af20a431154c8d8a811d4c58bde inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#ac65e9af20a431154c8d8a811d4c58bde">Error</a></td></tr>
<tr class="separator:ac65e9af20a431154c8d8a811d4c58bde inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb89129e6b212f038cfbf591a791a48e inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271">Access</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#abb89129e6b212f038cfbf591a791a48e">Access</a></td></tr>
<tr class="separator:abb89129e6b212f038cfbf591a791a48e inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eedef07455f1487e2988d229ff8e2a7 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772d">Open</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a4eedef07455f1487e2988d229ff8e2a7">Open</a></td></tr>
<tr class="separator:a4eedef07455f1487e2988d229ff8e2a7 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec7dcd0857559c7b77fa1e5c7b8790be inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118">Attr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#aec7dcd0857559c7b77fa1e5c7b8790be">Attr</a></td></tr>
<tr class="separator:aec7dcd0857559c7b77fa1e5c7b8790be inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2afa7c4439dca397c91c687a2d7f7401 inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32">Complete</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a2afa7c4439dca397c91c687a2d7f7401">Complete</a></td></tr>
<tr class="separator:a2afa7c4439dca397c91c687a2d7f7401 inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a885985da266aee847c7ba6f85dddc17c inherit pub_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3">Mapping</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a885985da266aee847c7ba6f85dddc17c">Mapping</a></td></tr>
<tr class="separator:a885985da266aee847c7ba6f85dddc17c inherit pub_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classost_1_1_file"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classost_1_1_file')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classost_1_1_file.html">ost::File</a></td></tr>
<tr class="memitem:a6c9a8831142dd5060e2b431a81605b6d inherit pub_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a6c9a8831142dd5060e2b431a81605b6d">getExtension</a> (const char *path)</td></tr>
<tr class="separator:a6c9a8831142dd5060e2b431a81605b6d inherit pub_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6884f6587a477c318c9ac0c7a2d9320f inherit pub_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a6884f6587a477c318c9ac0c7a2d9320f">getFilename</a> (const char *path)</td></tr>
<tr class="separator:a6884f6587a477c318c9ac0c7a2d9320f inherit pub_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7fcfba131d605a8190a640116b3bf4 inherit pub_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a4a7fcfba131d605a8190a640116b3bf4">getFilename</a> (const char *path, char *buffer, size_t size=64)</td></tr>
<tr class="separator:a4a7fcfba131d605a8190a640116b3bf4 inherit pub_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3ac9d69ffbe1b30dc1bf4357f168271 inherit pub_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#ae3ac9d69ffbe1b30dc1bf4357f168271">getDirname</a> (const char *path, char *buffer, size_t size=256)</td></tr>
<tr class="separator:ae3ac9d69ffbe1b30dc1bf4357f168271 inherit pub_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093e1edfe42e027f5d7b1f7ce05e24ce inherit pub_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a093e1edfe42e027f5d7b1f7ce05e24ce">getRealpath</a> (const char *path, char *buffer, size_t size=256)</td></tr>
<tr class="separator:a093e1edfe42e027f5d7b1f7ce05e24ce inherit pub_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_types_classost_1_1_file"><td colspan="2" onclick="javascript:toggleInherit('pro_types_classost_1_1_file')"><img src="closed.png" alt="-"/>&#160;Protected Types inherited from <a class="el" href="classost_1_1_file.html">ost::File</a></td></tr>
<tr class="memitem:a26a3ba9122edf9c1ce67dbff918a7302 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structost_1_1_file_1_1__fcb.html">ost::File::_fcb</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a26a3ba9122edf9c1ce67dbff918a7302">fcb_t</a></td></tr>
<tr class="separator:a26a3ba9122edf9c1ce67dbff918a7302 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a726c26bbd45c9cb0701267a2824284e6 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a207f3271e4132a03ed5624a6a5651c17">errSuccess</a> = 0, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a050d0e79c2ca5edf7f84c575e2957381">errNotOpened</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6af8f7b5e5ffd0e724131dcb83efafd3d3">errMapFailed</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6aee14627c63cab2530066a5a1b6421f71">errInitFailed</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6aa13e658bd29adfdbfccea54a74f212a7">errOpenDenied</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a40eaf2e7f3bdbb5aa380e183c35b253d">errOpenFailed</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a599eb6e10a9d34070a71ff55e5e05b86">errOpenInUse</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a797c9f9fb59f3f2d69a325c02c69d747">errReadInterrupted</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6aab30228d37127f636e8296ef55ecccaf">errReadIncomplete</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a4ad81d1cd9c7eda8ec6a655f3373bd98">errReadFailure</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a1d1fde6a839bd8d41fd9b5ac98d86cb3">errWriteInterrupted</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6acdce746373598e52b2407bc020a3f8d1">errWriteIncomplete</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6acc1148cc886b1181e0471d634a644f5f">errWriteFailure</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6abaa5f9bfe8d250ade4133bc81406b4fc">errLockFailure</a>, 
<a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6a9e9eef24fce1e9691b483fae652e5fc0">errExtended</a>
<br/>
 }</td></tr>
<tr class="separator:a726c26bbd45c9cb0701267a2824284e6 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af371cd81457b88328c08c4501f5e8271 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271">Access</a> { <a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271acb2f610b0ba650697c1b68ae59c49a5d">accessReadOnly</a> = O_RDONLY, 
<a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271a47fddcbc2462202862402f50dbd42459">accessWriteOnly</a> = O_WRONLY, 
<a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271ae6776a9332be29f0ae3426d7f5d91a60">accessReadWrite</a> = O_RDWR
 }</td></tr>
<tr class="separator:af371cd81457b88328c08c4501f5e8271 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b12e2068a433de7f63427b549d9772d inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772d">Open</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da4c5bc3b0beded5891dcc40d2cb2b24f6">openReadOnly</a> = O_RDONLY, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772dad682d89e71a5dd3ac438c9d981ca3112">openWriteOnly</a> = O_WRONLY, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da4bf20ddd12a0cde912fd16662db49c49">openReadWrite</a> = O_RDWR, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da18ac77d351475d57ef12fc35e3f5c2ae">openAppend</a> = O_WRONLY | O_APPEND, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772dac7a180ce2eb4c708da93bc085ff83f9b">openSync</a> = O_RDWR, 
<a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772da758de2e4063c9ae6306409c117809321">openTruncate</a> = O_RDWR | O_TRUNC
<br/>
 }</td></tr>
<tr class="separator:a8b12e2068a433de7f63427b549d9772d inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae2d644ff1e3bff4611e73f5526081118 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118">Attr</a> { <a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118a792916179434c95ed8e62da29e46749a">attrInvalid</a> = 0, 
<a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118afb6d21af5bf0e8dfa64bbc4de94494ef">attrPrivate</a> = 0400 | 0200, 
<a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118ada5cbe9786424b3c652078c95d4ac5d3">attrGroup</a> = attrPrivate | 0040 | 0020, 
<a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118a572c71d829d969de792943d543067371">attrPublic</a> = attrGroup | 0004 | 0002
 }</td></tr>
<tr class="separator:ae2d644ff1e3bff4611e73f5526081118 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19532855f2541003a0a2240e1310b6a3 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3">Mapping</a> { <a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3a2630a8cb91de2acc9e4e606bbd062a59">mappedRead</a> = accessReadOnly, 
<a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3a38cb595821ce2e154fef758c44cdaec4">mappedWrite</a> = accessWriteOnly, 
<a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3a7347e2b33a199b520bc98dc136e4231f">mappedReadWrite</a> = accessReadWrite
 }</td></tr>
<tr class="separator:a19532855f2541003a0a2240e1310b6a3 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81c533fbe84167e862768a396ff30e32 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32">Complete</a> { <a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32a1f7d50166d07b59cfa213e0a1686018f">completionImmediate</a>, 
<a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32af26018fa0614b8f02af5c87cdcf1299b">completionDelayed</a>, 
<a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32a0c2349e20e5133814955099a6408b9d8">completionDeferred</a>
 }</td></tr>
<tr class="separator:a81c533fbe84167e862768a396ff30e32 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac65e9af20a431154c8d8a811d4c58bde inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#ac65e9af20a431154c8d8a811d4c58bde">Error</a></td></tr>
<tr class="separator:ac65e9af20a431154c8d8a811d4c58bde inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb89129e6b212f038cfbf591a791a48e inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271">Access</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#abb89129e6b212f038cfbf591a791a48e">Access</a></td></tr>
<tr class="separator:abb89129e6b212f038cfbf591a791a48e inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4eedef07455f1487e2988d229ff8e2a7 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a8b12e2068a433de7f63427b549d9772d">Open</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a4eedef07455f1487e2988d229ff8e2a7">Open</a></td></tr>
<tr class="separator:a4eedef07455f1487e2988d229ff8e2a7 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec7dcd0857559c7b77fa1e5c7b8790be inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118">Attr</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#aec7dcd0857559c7b77fa1e5c7b8790be">Attr</a></td></tr>
<tr class="separator:aec7dcd0857559c7b77fa1e5c7b8790be inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2afa7c4439dca397c91c687a2d7f7401 inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32">Complete</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a2afa7c4439dca397c91c687a2d7f7401">Complete</a></td></tr>
<tr class="separator:a2afa7c4439dca397c91c687a2d7f7401 inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a885985da266aee847c7ba6f85dddc17c inherit pro_types_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_file.html#a19532855f2541003a0a2240e1310b6a3">Mapping</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a885985da266aee847c7ba6f85dddc17c">Mapping</a></td></tr>
<tr class="separator:a885985da266aee847c7ba6f85dddc17c inherit pro_types_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classost_1_1_mutex"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classost_1_1_mutex')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classost_1_1_mutex.html">ost::Mutex</a></td></tr>
<tr class="memitem:a83b66f786e344b5192a3993d319aa735 inherit pro_static_methods_classost_1_1_mutex"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_mutex.html#a83b66f786e344b5192a3993d319aa735">setDebug</a> (bool mode)</td></tr>
<tr class="memdesc:a83b66f786e344b5192a3993d319aa735 inherit pro_static_methods_classost_1_1_mutex"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable or disable deadlock debugging.  <a href="#a83b66f786e344b5192a3993d319aa735">More...</a><br/></td></tr>
<tr class="separator:a83b66f786e344b5192a3993d319aa735 inherit pro_static_methods_classost_1_1_mutex"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classost_1_1_file"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classost_1_1_file')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classost_1_1_file.html">ost::File</a></td></tr>
<tr class="memitem:a6c9a8831142dd5060e2b431a81605b6d inherit pro_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a6c9a8831142dd5060e2b431a81605b6d">getExtension</a> (const char *path)</td></tr>
<tr class="separator:a6c9a8831142dd5060e2b431a81605b6d inherit pro_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6884f6587a477c318c9ac0c7a2d9320f inherit pro_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a6884f6587a477c318c9ac0c7a2d9320f">getFilename</a> (const char *path)</td></tr>
<tr class="separator:a6884f6587a477c318c9ac0c7a2d9320f inherit pro_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a7fcfba131d605a8190a640116b3bf4 inherit pro_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a4a7fcfba131d605a8190a640116b3bf4">getFilename</a> (const char *path, char *buffer, size_t size=64)</td></tr>
<tr class="separator:a4a7fcfba131d605a8190a640116b3bf4 inherit pro_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3ac9d69ffbe1b30dc1bf4357f168271 inherit pro_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#ae3ac9d69ffbe1b30dc1bf4357f168271">getDirname</a> (const char *path, char *buffer, size_t size=256)</td></tr>
<tr class="separator:ae3ac9d69ffbe1b30dc1bf4357f168271 inherit pro_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a093e1edfe42e027f5d7b1f7ce05e24ce inherit pro_static_methods_classost_1_1_file"><td class="memItemLeft" align="right" valign="top">static char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_file.html#a093e1edfe42e027f5d7b1f7ce05e24ce">getRealpath</a> (const char *path, char *buffer, size_t size=256)</td></tr>
<tr class="separator:a093e1edfe42e027f5d7b1f7ce05e24ce inherit pro_static_methods_classost_1_1_file"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The purpose of this class is to define a base class for low level random file access that is portable between Win32 and Posix systems. </p>
<p>This class is a foundation both for optimized thread shared and traditional locked file access that is commonly used to build database services, rather than the standard C++ streaming file classes.</p>
<dl class="section author"><dt>Author</dt><dd>David Sugar <a href="#" onclick="location.href='mai'+'lto:'+'dyf'+'et'+'@os'+'te'+'l.c'+'om'; return false;">dyfet<span style="display: none;">.nosp@m.</span>@ost<span style="display: none;">.nosp@m.</span>el.co<span style="display: none;">.nosp@m.</span>m</a> Portable random disk file access. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abf33cf415283a29f6e81edcacd101178"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::RandomFile::RandomFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em> = <code>NULL</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Create an unopened random access file. </p>

</div>
</div>
<a class="anchor" id="afe157c3a2b21bc1d914885b3df8f61e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::RandomFile::RandomFile </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_random_file.html">RandomFile</a> &amp;&#160;</td>
          <td class="paramname"><em>rf</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default copy constructor. </p>

</div>
</div>
<a class="anchor" id="ae88353b07b9a470a4bfb83f3880d11c6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::RandomFile::~RandomFile </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destroy a random access file or it's derived class. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aa82c1311e24dd37063c05629c29d51e6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> ost::RandomFile::error </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a>&#160;</td>
          <td class="paramname"><em>errid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>errstr</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Post an error event. </p>
<dl class="section return"><dt>Returns</dt><dd>error code. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">errid</td><td>error code. </td></tr>
    <tr><td class="paramname">errstr</td><td>error message string. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a92df85d985d4fd0f4b272742243db7da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> ost::RandomFile::error </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>err</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Post an extended string error message. </p>
<dl class="section return"><dt>Returns</dt><dd>errExtended. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err</td><td>error string. </td></tr>
  </table>
  </dd>
</dl>

<p>References <a class="el" href="namespaceost.html#a61faeec2dc6ec946dc3e98979bd93124">ost::error()</a>.</p>

</div>
</div>
<a class="anchor" id="a0013f73f6551540a4d8acb2f53092d2d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::RandomFile::final </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Close the file. </p>

</div>
</div>
<a class="anchor" id="aed24526ff016216a57a179dfa7c1a70e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">off_t ost::RandomFile::getCapacity </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get current file capacity. </p>
<dl class="section return"><dt>Returns</dt><dd>total file size. </dd></dl>

</div>
</div>
<a class="anchor" id="a4c6b37d6c510619a3988eb2024e5596e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> ost::RandomFile::getErrorNumber </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return current error id. </p>
<dl class="section return"><dt>Returns</dt><dd>last error identifier set. </dd></dl>

</div>
</div>
<a class="anchor" id="a161d0a323f1493fb241537c780ea50d3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char* ost::RandomFile::getErrorString </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return current error string. </p>
<dl class="section return"><dt>Returns</dt><dd>last error string set. </dd></dl>

</div>
</div>
<a class="anchor" id="a99c99374d066bb3ccc04e6469df6c737"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::RandomFile::initial </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This method should be called right after a <a class="el" href="classost_1_1_random_file.html" title="The purpose of this class is to define a base class for low level random file access that is portable...">RandomFile</a> derived object has been created. </p>
<p>This method will invoke initialize if the object is newly created, and set file access permissions appropriately.</p>
<dl class="section return"><dt>Returns</dt><dd>true if file had to be initialized. </dd></dl>

</div>
</div>
<a class="anchor" id="a76af824e4cd76326652b6d84af1651b9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classost_1_1_file.html#ae2d644ff1e3bff4611e73f5526081118">Attr</a> ost::RandomFile::initialize </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is used to initialize a newly created file as indicated by the "initial" flag. </p>
<p>This method also returns the file access permissions that should be associated with the file. This method should never be called directly, but is instead used to impliment the "Initial" method. Typically one would use this to build an empty database shell when a previously empty database file is created.</p>
<dl class="section return"><dt>Returns</dt><dd>access, or attrInvalid if should be removed. </dd></dl>

</div>
</div>
<a class="anchor" id="ac6efd8f7cd9f643c9986a1b4bb537240"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::RandomFile::operator! </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae78c71b1e3fab5861bc9fdae595829a7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> ost::RandomFile::restart </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This method is commonly used to close and re-open an existing database. </p>
<p>This may be used when the database has been unlinked and an external process provides a new one to use. </p>

<p>Reimplemented in <a class="el" href="classost_1_1_shared_file.html#a254c43de705b9ad9f5d24536b6cff1e0">ost::SharedFile</a>, and <a class="el" href="classost_1_1_thread_file.html#a634eeae5f8e783d26e484046344a0556">ost::ThreadFile</a>.</p>

</div>
</div>
<a class="anchor" id="acc54d7bb92ff3d5856c89bdf146d27fa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_file.html#a726c26bbd45c9cb0701267a2824284e6">Error</a> ost::RandomFile::setCompletion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_file.html#a81c533fbe84167e862768a396ff30e32">Complete</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to set file completion modes. </p>
<dl class="section return"><dt>Returns</dt><dd>errSuccess if okay. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mode</td><td>completion mode. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af8205a0d1592268c7de8212c7c5d38b1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::RandomFile::setError </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to enable or disable throwing of exceptions on errors. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>true if errors will be thrown. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a429480dd369c4058a8af0cc8ec91866a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::RandomFile::setTemporary </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>enable</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Used to set the temporary attribute for the file. </p>
<p>Temporary files are automatically deleted when closed.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>true for marking as temporary. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="a45b667dac523788084f05447ce10c9b6"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> canAccess </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac5e2c1d709a2eb2f9301bcff74594997"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> canModify </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aaaed88405b79b6913bae1483c15bb46f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> isDevice </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a53ba9695ddea1583753004db938fa631"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> isDir </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ac25c8ba76b0412251d209292768db1b4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> isFile </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a5618d9c5f79d0b7d3a82fac1eb02b84d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">time_t <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> lastAccessed </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a52af42981942dcbecaa13657fc4b3095"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">time_t <a class="el" href="config_8h.html#ad10ef148ba8327bd530fc6c32c1e181c">__EXPORT</a> lastModified </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>path</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">related</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a36f63b4d57f5f789f4ec3cade258ceba"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_file.html#af371cd81457b88328c08c4501f5e8271">Access</a> ost::RandomFile::access</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="aeda3247665dcab25eadc6c1cda60f035"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned ost::RandomFile::count</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="abc91558a45f6d8c78165625e01addc0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::RandomFile::fd</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a8260decf1cb2104013163b8982f19408"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct { ... }   ost::RandomFile::flags</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7b1672a1fbe2f99bee46abd9f725a3ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::RandomFile::immediate</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af02ec49a4e28eeb3eefd76926ff18857"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::RandomFile::initial</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a564788b0bea48ae7ea0155a5bf01be31"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">char* ost::RandomFile::pathname</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a73521e78146eebab7d971975ee909739"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::RandomFile::temp</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a289ffc07e73dcb9498f94bbf4fba850e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::RandomFile::thrown</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="file_8h_source.html">file.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:57 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>