<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>Crystal Space 1.2.1: csPhysicalFile Class Reference (Crystal Space 1.2.1 Public API Reference)</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <table border="0" cellpadding="0" cellspacing="0" width="100%" class="head"> <tr height="59"> <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td> <td class="head"><h2>Public API Reference</h2></td> </tr> <tr height="11"> <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td> </tr> </table> <div class="content"> <!-- Generated by Doxygen 1.5.3 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="classes.html"><span>Classes</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <h1>csPhysicalFile Class Reference</h1><!-- doxytag: class="csPhysicalFile" --><!-- doxytag: inherits="scfImplementation1< csPhysicalFile, iFile >" -->An implementation of the abstract <a class="el" href="structiFile.html" title="A replacement for FILE type in the virtual file space.">iFile</a> interface for real files within the physical filesystem. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="physfile_8h-source.html">csutil/physfile.h</a>></code> <p> <div class="dynheader"> Inheritance diagram for csPhysicalFile:</div> <div class="dynsection"> <p><center><img src="classcsPhysicalFile__inherit__graph.png" border="0" usemap="#csPhysicalFile__inherit__map" alt="Inheritance graph"></center> <map name="csPhysicalFile__inherit__map"> <area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\< csPhysicalFile, iFile \>" alt="" coords="72,161,368,188"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\< csPhysicalFile \>" alt="" coords="5,84,261,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="273,7,329,33"><area shape="rect" href="structiFile.html" title="A replacement for FILE type in the virtual file space." alt="" coords="285,84,328,111"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="23,7,244,33"></map> <center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div> <p> <a href="classcsPhysicalFile-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#3401ae3ad0abae373dacab4ba222b151">AtEOF</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return true if at end of buffer. <a href="#3401ae3ad0abae373dacab4ba222b151"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#00faf6c6c02640400ce4fa4affd9c5dd">csPhysicalFile</a> (FILE *, bool take_ownership, char const *<a class="el" href="classcsPhysicalFile.html#ab5abd7e7c9c7432f46b7fc9ccc66367">path</a>=0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct from an existing FILE*. <a href="#00faf6c6c02640400ce4fa4affd9c5dd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#8e079967ad15f542c9d0917a92d24ad3">csPhysicalFile</a> (char const *<a class="el" href="classcsPhysicalFile.html#ab5abd7e7c9c7432f46b7fc9ccc66367">path</a>, char const *mode)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Construct from a filename using fopen() access flags (i.e. <a href="#8e079967ad15f542c9d0917a92d24ad3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#54db1b8e06d2052ef8ccd6e79f699ab4">Flush</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flush the stream. <a href="#54db1b8e06d2052ef8ccd6e79f699ab4"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classcsPtr.html">csPtr</a><br> < <a class="el" href="structiDataBuffer.html">iDataBuffer</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#354114912f66ca387233678eed9230f3">GetAllData</a> (bool nullterm=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get entire file data in one go. <a href="#354114912f66ca387233678eed9230f3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual char const * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#47042151625f5adf1fb93fc5d6103d46">GetName</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the path used to construct the object, or "#csPhysicalFile" if no path was given when constructed from an existing FILE*. <a href="#47042151625f5adf1fb93fc5d6103d46"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#a14eb2c802069e4873282fe926927b3c">GetPos</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query current cursor position,. <a href="#a14eb2c802069e4873282fe926927b3c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#41b8f1cf3656e48169e9ce2e3258ad4e">GetSize</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query file size. <a href="#41b8f1cf3656e48169e9ce2e3258ad4e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#e72b1738a6790dc09b5a1a48d248e22e">GetStatus</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check (and clear) file last error status. <a href="#e72b1738a6790dc09b5a1a48d248e22e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#3c42887b6321353c86c0f90171cfb0e2">Read</a> (char *buffer, size_t nbytes)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Read data from file. <a href="#3c42887b6321353c86c0f90171cfb0e2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#a619cec9b6dfbaa32679ee398f610052">SetPos</a> (size_t)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set current cursor position. <a href="#a619cec9b6dfbaa32679ee398f610052"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#e94489794fea57bcc3051df2a1f93643">Write</a> (char const *data, size_t nbytes)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Write data to buffer. <a href="#e94489794fea57bcc3051df2a1f93643"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#a6de9831bd1b8c62d2f646b65a7057ab">~csPhysicalFile</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#a6de9831bd1b8c62d2f646b65a7057ab"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a2419a8cdb58a3ab9c8cac5a58b85184"></a><!-- doxytag: member="csPhysicalFile::fp" ref="a2419a8cdb58a3ab9c8cac5a58b85184" args="" --> FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#a2419a8cdb58a3ab9c8cac5a58b85184">fp</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6602748842eab233c02d992023b679a4"></a><!-- doxytag: member="csPhysicalFile::last_error" ref="6602748842eab233c02d992023b679a4" args="" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#6602748842eab233c02d992023b679a4">last_error</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="efb654b559f5a2da2c3068b69286afe3"></a><!-- doxytag: member="csPhysicalFile::owner" ref="efb654b559f5a2da2c3068b69286afe3" args="" --> bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#efb654b559f5a2da2c3068b69286afe3">owner</a></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ab5abd7e7c9c7432f46b7fc9ccc66367"></a><!-- doxytag: member="csPhysicalFile::path" ref="ab5abd7e7c9c7432f46b7fc9ccc66367" args="" --> <a class="el" href="classcsString.html">csString</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classcsPhysicalFile.html#ab5abd7e7c9c7432f46b7fc9ccc66367">path</a></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> An implementation of the abstract <a class="el" href="structiFile.html" title="A replacement for FILE type in the virtual file space.">iFile</a> interface for real files within the physical filesystem. <p>Definition at line <a class="el" href="physfile_8h-source.html#l00037">37</a> of file <a class="el" href="physfile_8h-source.html">physfile.h</a>.</p> <hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="8e079967ad15f542c9d0917a92d24ad3"></a><!-- doxytag: member="csPhysicalFile::csPhysicalFile" ref="8e079967ad15f542c9d0917a92d24ad3" args="(char const *path, char const *mode)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">csPhysicalFile::csPhysicalFile </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"> <em>path</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char const * </td> <td class="paramname"> <em>mode</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Construct from a filename using fopen() access flags (i.e. <p> "r", "rb", "w+", etc.). It is usually a good idea to open files in binary mode (i.e. "rb, "wb", etc.). This ensures that operations on "number of bytes" operate as expected. For instance, requesting 10 bytes with <a class="el" href="classcsPhysicalFile.html#3c42887b6321353c86c0f90171cfb0e2" title="Read data from file.">Read()</a> will return 10 bytes in binary mode (assuming end-of-file has not been reached), whereas in text mode, fewer bytes might be returned (if line terminators of the form CFLF have been collapsed to LF at read time). </div> </div><p> <a class="anchor" name="00faf6c6c02640400ce4fa4affd9c5dd"></a><!-- doxytag: member="csPhysicalFile::csPhysicalFile" ref="00faf6c6c02640400ce4fa4affd9c5dd" args="(FILE *, bool take_ownership, char const *path=0)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">csPhysicalFile::csPhysicalFile </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>take_ownership</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">char const * </td> <td class="paramname"> <em>path</em> = <code>0</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Construct from an existing FILE*. <p> If take_ownership is true, the FILE* will be closed via fclose() when the <a class="el" href="classcsPhysicalFile.html" title="An implementation of the abstract iFile interface for real files within the physical...">csPhysicalFile</a> is destroyed. The optional path argument is used only to seed the stored name for use by the <a class="el" href="classcsPhysicalFile.html#47042151625f5adf1fb93fc5d6103d46" title="Returns the path used to construct the object, or "#csPhysicalFile" if...">GetName()</a> method. If not supplied, then an opaque, essentially meaningless name is returned by <a class="el" href="classcsPhysicalFile.html#47042151625f5adf1fb93fc5d6103d46" title="Returns the path used to construct the object, or "#csPhysicalFile" if...">GetName()</a>. It is usually a good idea to open files in binary mode (i.e. "rb, "wb", etc.). This ensures that operations on "number of bytes" operate as expected. For instance, requesting 10 bytes with <a class="el" href="classcsPhysicalFile.html#3c42887b6321353c86c0f90171cfb0e2" title="Read data from file.">Read()</a> will return 10 bytes in binary mode (assuming end-of-file has not been reached), whereas in text mode, fewer bytes might be returned (if line terminators of the form CFLF have been collapsed to LF at read time). </div> </div><p> <a class="anchor" name="a6de9831bd1b8c62d2f646b65a7057ab"></a><!-- doxytag: member="csPhysicalFile::~csPhysicalFile" ref="a6de9831bd1b8c62d2f646b65a7057ab" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual csPhysicalFile::~csPhysicalFile </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="3401ae3ad0abae373dacab4ba222b151"></a><!-- doxytag: member="csPhysicalFile::AtEOF" ref="3401ae3ad0abae373dacab4ba222b151" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csPhysicalFile::AtEOF </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Return true if at end of buffer. <p> <p>Implements <a class="el" href="structiFile.html#f1da4c6ef65ca75360d134b0cd047dc9">iFile</a>.</p> </div> </div><p> <a class="anchor" name="54db1b8e06d2052ef8ccd6e79f699ab4"></a><!-- doxytag: member="csPhysicalFile::Flush" ref="54db1b8e06d2052ef8ccd6e79f699ab4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void csPhysicalFile::Flush </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Flush the stream. <p> <p>Implements <a class="el" href="structiFile.html#eae974e73b0c49bf22d6c11c4c4f5eb2">iFile</a>.</p> </div> </div><p> <a class="anchor" name="354114912f66ca387233678eed9230f3"></a><!-- doxytag: member="csPhysicalFile::GetAllData" ref="354114912f66ca387233678eed9230f3" args="(bool nullterm=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classcsPtr.html">csPtr</a><<a class="el" href="structiDataBuffer.html">iDataBuffer</a>> csPhysicalFile::GetAllData </td> <td>(</td> <td class="paramtype">bool </td> <td class="paramname"> <em>nullterm</em> = <code>false</code> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get entire file data in one go. <p> Creates a copy of the data, so changing the file won't affect any buffers previously returned by this function. Be aware that, for large files, this can allocate a significant amount of memory. If nullterm is true, then a null terminator is appended to the returned data. <p>Implements <a class="el" href="structiFile.html#8b4612b4492382cf2d4f17dd4bbf364e">iFile</a>.</p> </div> </div><p> <a class="anchor" name="47042151625f5adf1fb93fc5d6103d46"></a><!-- doxytag: member="csPhysicalFile::GetName" ref="47042151625f5adf1fb93fc5d6103d46" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual char const* csPhysicalFile::GetName </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the path used to construct the object, or "#csPhysicalFile" if no path was given when constructed from an existing FILE*. <p> <p>Implements <a class="el" href="structiFile.html#0d39996448ca1794faa2bdf58d6b186b">iFile</a>.</p> </div> </div><p> <a class="anchor" name="a14eb2c802069e4873282fe926927b3c"></a><!-- doxytag: member="csPhysicalFile::GetPos" ref="a14eb2c802069e4873282fe926927b3c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t csPhysicalFile::GetPos </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Query current cursor position,. <p> <p>Implements <a class="el" href="structiFile.html#63192d4c90e269feef6075d8c7f81efb">iFile</a>.</p> </div> </div><p> <a class="anchor" name="41b8f1cf3656e48169e9ce2e3258ad4e"></a><!-- doxytag: member="csPhysicalFile::GetSize" ref="41b8f1cf3656e48169e9ce2e3258ad4e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t csPhysicalFile::GetSize </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Query file size. <p> <p>Implements <a class="el" href="structiFile.html#184c528adfec25f53545fe9271ff374b">iFile</a>.</p> </div> </div><p> <a class="anchor" name="e72b1738a6790dc09b5a1a48d248e22e"></a><!-- doxytag: member="csPhysicalFile::GetStatus" ref="e72b1738a6790dc09b5a1a48d248e22e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual int csPhysicalFile::GetStatus </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Check (and clear) file last error status. <p> <p>Implements <a class="el" href="structiFile.html#a0f33b299c54426c60d5ce7d9f1db8de">iFile</a>.</p> </div> </div><p> <a class="anchor" name="3c42887b6321353c86c0f90171cfb0e2"></a><!-- doxytag: member="csPhysicalFile::Read" ref="3c42887b6321353c86c0f90171cfb0e2" args="(char *buffer, size_t nbytes)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t csPhysicalFile::Read </td> <td>(</td> <td class="paramtype">char * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>nbytes</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Read data from file. <p> <p>Implements <a class="el" href="structiFile.html#23a8ceeaf85b15241acd3ef2f98b78d4">iFile</a>.</p> </div> </div><p> <a class="anchor" name="a619cec9b6dfbaa32679ee398f610052"></a><!-- doxytag: member="csPhysicalFile::SetPos" ref="a619cec9b6dfbaa32679ee398f610052" args="(size_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool csPhysicalFile::SetPos </td> <td>(</td> <td class="paramtype">size_t </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Set current cursor position. <p> <p>Implements <a class="el" href="structiFile.html#411c083eb2f6745a7fa0fe15f598ad0b">iFile</a>.</p> </div> </div><p> <a class="anchor" name="e94489794fea57bcc3051df2a1f93643"></a><!-- doxytag: member="csPhysicalFile::Write" ref="e94489794fea57bcc3051df2a1f93643" args="(char const *data, size_t nbytes)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual size_t csPhysicalFile::Write </td> <td>(</td> <td class="paramtype">char const * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>nbytes</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Write data to buffer. <p> <p>Implements <a class="el" href="structiFile.html#73a0d4bf182d42deb70e9982c3b17af7">iFile</a>.</p> </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li>csutil/<a class="el" href="physfile_8h-source.html">physfile.h</a></ul> <hr size="1"><address><small>Generated for Crystal Space 1.2.1 by <a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 </small></address> </div></body> </html>