harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From telli...@apache.org
Subject svn commit: r724734 [33/46] - in /harmony/standard/site: docs/externals/kernel_doc/ docs/externals/kernel_doc/html/ docs/externals/vm_doc/ docs/externals/vm_doc/html/ docs/subcomponents/classlibrary/ xdocs/subcomponents/classlibrary/
Date Tue, 09 Dec 2008 15:03:51 GMT
Added: harmony/standard/site/docs/externals/vm_doc/html/hyfile_8c.html
URL: http://svn.apache.org/viewvc/harmony/standard/site/docs/externals/vm_doc/html/hyfile_8c.html?rev=724734&view=auto
==============================================================================
--- harmony/standard/site/docs/externals/vm_doc/html/hyfile_8c.html (added)
+++ harmony/standard/site/docs/externals/vm_doc/html/hyfile_8c.html Tue Dec  9 07:03:45 2008
@@ -0,0 +1,1118 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Harmony Class Library Porting: modules/portlib/src/main/native/port/windows/hyfile.c File Reference</title>
+<link href="hydoxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.4 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<h1>modules/portlib/src/main/native/port/windows/hyfile.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+file 
+<p>
+
+<p>
+<code>#include &lt;windows.h&gt;</code><br>
+<code>#include &lt;sys/stat.h&gt;</code><br>
+<code>#include &lt;time.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="hyport_8h.html">hyport.h</a>&quot;</code><br>
+<code>#include &quot;portpriv.h&quot;</code><br>
+<code>#include &quot;hystdarg.h&quot;</code><br>
+<code>#include &quot;portnls.h&quot;</code><br>
+<code>#include &quot;ut_hyprt.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#65f801176f01777fc41e3cd0fca94165">convert_path_to_unicode</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path, wchar_t **pathW)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert UTF-8 encoded path to UTF-16 so it can be used as an argument to unicode versions of WinAPI fucntions.  <a href="#65f801176f01777fc41e3cd0fca94165"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#c1c5bb223f5daddf7f7973b11bfa98f7">hyfile_attr</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine whether path is a file or directory.  <a href="#c1c5bb223f5daddf7f7973b11bfa98f7"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#641af197727490488e304e46ef62b704">hyfile_close</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Closes a file descriptor.  <a href="#641af197727490488e304e46ef62b704"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#2f9ad14dcf5b0cda63c67dbc4c81364e">hyfile_error_message</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return an error message describing the last OS error that occurred.  <a href="#2f9ad14dcf5b0cda63c67dbc4c81364e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#245d0bd2c4d9f80063f91d1b9cdb2508">hyfile_findclose</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, UDATA findhandle)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the handle returned from <a class="el" href="hyfile_8c.html#35a83d7da68cf368e546d0850b7dd0db">hyfile_findfirst</a>.  <a href="#245d0bd2c4d9f80063f91d1b9cdb2508"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">UDATA VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#35a83d7da68cf368e546d0850b7dd0db">hyfile_findfirst</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path, char *resultbuf)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the first occurrence of a file identified by path.  <a href="#35a83d7da68cf368e546d0850b7dd0db"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#8f9c983f6474096d4e556fba153095a9">hyfile_findnext</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, UDATA findhandle, char *resultbuf)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find the next filename and path matching a given handle.  <a href="#8f9c983f6474096d4e556fba153095a9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_64 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#539ff5df8dd62831d4209b557e44968e">hyfile_lastmod</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the last modification time of the file path in milliseconds.  <a href="#539ff5df8dd62831d4209b557e44968e"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_64 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#74ab69eefa00324ea5527f2085bd83f9">hyfile_length</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Answer the length in bytes of the file.  <a href="#74ab69eefa00324ea5527f2085bd83f9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#54797baac90e7fce585dfa4b8f057053">is_device_name</a> (const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determines if the given file name is a reserved device name.  <a href="#54797baac90e7fce585dfa4b8f057053"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#b2ca260bec4b113ba97d36da31136fd4">hyfile_mkdir</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a directory.  <a href="#b2ca260bec4b113ba97d36da31136fd4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#e7b1b207e71ef9bac3e283f56cc78660">hyfile_move</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *pathExist, const char *pathNew)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Move the file pathExist to a new name pathNew.  <a href="#e7b1b207e71ef9bac3e283f56cc78660"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">IDATA VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#4064c8320a07d4ecf32d92e30ae0bd03">hyfile_open</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path, I_32 flags, I_32 mode)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a pathname into a file descriptor.  <a href="#4064c8320a07d4ecf32d92e30ae0bd03"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">IDATA VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#ed799f440b54c00318bfda545c23d4b2">hyfile_read</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, void *buf, IDATA nbytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read bytes from a file descriptor into a user provided buffer.  <a href="#ed799f440b54c00318bfda545c23d4b2"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_64 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#6e712b0a2e4a7b42be9b7207cf2fff8b">hyfile_seek</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, I_64 offset, I_32 whence)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Repositions the offset of the file descriptor to a given offset as per directive whence.  <a href="#6e712b0a2e4a7b42be9b7207cf2fff8b"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#a7899f6ef535c51bc00be189ec9e4794">hyfile_shutdown</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PortLibrary shutdown.  <a href="#a7899f6ef535c51bc00be189ec9e4794"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#3e8c715d786915276a0878303e3f5834">hyfile_startup</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PortLibrary startup.  <a href="#3e8c715d786915276a0878303e3f5834"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#c41d1569ccffe924a48bc221e4ac3475">hyfile_sync</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Synchronize a file's state with the state on disk.  <a href="#c41d1569ccffe924a48bc221e4ac3475"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#3536f598b69b4ecc697860d70fb9e92d">hyfile_unlink</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove a file from the file system.  <a href="#3536f598b69b4ecc697860d70fb9e92d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#41cb34d80b31322bd3c171070f3d64b4">hyfile_unlinkdir</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *path)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the trailing directory of the path.  <a href="#41cb34d80b31322bd3c171070f3d64b4"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#15b1bfae7432e10c74e8884b01dd75ba">hyfile_vprintf</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, const char *format, va_list args)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write to a file.  <a href="#15b1bfae7432e10c74e8884b01dd75ba"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">IDATA VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#a4d98fb3668d86c7f67dad318772c87f">hyfile_write</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, void *buf, IDATA nbytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write to a file.  <a href="#a4d98fb3668d86c7f67dad318772c87f"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#d8e4aa3d8909443041a5be8fe6aeeefe">hyfile_printf</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, const char *format,...)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write to a file.  <a href="#d8e4aa3d8909443041a5be8fe6aeeefe"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfile_8c.html#bef274beb18c0a8a21ee33b7caddc4c2">hyfile_set_length</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, I_64 newLength)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the length of a file to a specified value.  <a href="#bef274beb18c0a8a21ee33b7caddc4c2"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="65f801176f01777fc41e3cd0fca94165"></a><!-- doxytag: member="hyfile.c::convert_path_to_unicode" ref="65f801176f01777fc41e3cd0fca94165" args="(struct HyPortLibrary *portLibrary, const char *path, wchar_t **pathW)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void convert_path_to_unicode           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">wchar_t **&nbsp;</td>
+          <td class="paramname"> <em>pathW</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Convert UTF-8 encoded path to UTF-16 so it can be used as an argument to unicode versions of WinAPI fucntions. 
+<p>
+This function also converts all relative paths to absolute ones.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>UTF-8 encoded null-terminated path </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>pathW</em>&nbsp;</td><td>Pointer to wide characters array that contains converted path</td></tr>
+  </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Sets *pathW to null and returns if path cannot be converted </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c1c5bb223f5daddf7f7973b11bfa98f7"></a><!-- doxytag: member="hyfile.c::hyfile_attr" ref="c1c5bb223f5daddf7f7973b11bfa98f7" args="(struct HyPortLibrary *portLibrary, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_attr           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Determine whether path is a file or directory. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>file/path name being queried.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>EslsFile if a file, EslsDir if a directory, negative portable error code on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="641af197727490488e304e46ef62b704"></a><!-- doxytag: member="hyfile.c::hyfile_close" ref="641af197727490488e304e46ef62b704" args="(struct HyPortLibrary *portLibrary, IDATA fd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_close           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Closes a file descriptor. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="2f9ad14dcf5b0cda63c67dbc4c81364e"></a><!-- doxytag: member="hyfile.c::hyfile_error_message" ref="2f9ad14dcf5b0cda63c67dbc4c81364e" args="(struct HyPortLibrary *portLibrary)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">const char* VMCALL hyfile_error_message           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return an error message describing the last OS error that occurred. 
+<p>
+The last error returned is not thread safe, it may not be related to the operation that failed for this thread.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>error message describing the last OS error, may return NULL. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="245d0bd2c4d9f80063f91d1b9cdb2508"></a><!-- doxytag: member="hyfile.c::hyfile_findclose" ref="245d0bd2c4d9f80063f91d1b9cdb2508" args="(struct HyPortLibrary *portLibrary, UDATA findhandle)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void VMCALL hyfile_findclose           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">UDATA&nbsp;</td>
+          <td class="paramname"> <em>findhandle</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Close the handle returned from <a class="el" href="hyfile_8c.html#35a83d7da68cf368e546d0850b7dd0db">hyfile_findfirst</a>. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>findhandle</em>&nbsp;</td><td>Handle returned from <a class="el" href="hyfile_8c.html#35a83d7da68cf368e546d0850b7dd0db">hyfile_findfirst</a>. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="35a83d7da68cf368e546d0850b7dd0db"></a><!-- doxytag: member="hyfile.c::hyfile_findfirst" ref="35a83d7da68cf368e546d0850b7dd0db" args="(struct HyPortLibrary *portLibrary, const char *path, char *resultbuf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">UDATA VMCALL hyfile_findfirst           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>resultbuf</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find the first occurrence of a file identified by path. 
+<p>
+Answers a handle to be used in subsequent calls to <a class="el" href="hyfile_8c.html#8f9c983f6474096d4e556fba153095a9">hyfile_findnext</a> and <a class="el" href="hyfile_8c.html#245d0bd2c4d9f80063f91d1b9cdb2508">hyfile_findclose</a>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>file/path name being queried. </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>resultbuf</em>&nbsp;</td><td>filename and path matching path.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>valid handle on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="8f9c983f6474096d4e556fba153095a9"></a><!-- doxytag: member="hyfile.c::hyfile_findnext" ref="8f9c983f6474096d4e556fba153095a9" args="(struct HyPortLibrary *portLibrary, UDATA findhandle, char *resultbuf)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_findnext           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">UDATA&nbsp;</td>
+          <td class="paramname"> <em>findhandle</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>resultbuf</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Find the next filename and path matching a given handle. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>findhandle</em>&nbsp;</td><td>handle returned from <a class="el" href="hyfile_8c.html#35a83d7da68cf368e546d0850b7dd0db">hyfile_findfirst</a>. </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>resultbuf</em>&nbsp;</td><td>next filename and path matching findhandle.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure or if no matching entries. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="539ff5df8dd62831d4209b557e44968e"></a><!-- doxytag: member="hyfile.c::hyfile_lastmod" ref="539ff5df8dd62831d4209b557e44968e" args="(struct HyPortLibrary *portLibrary, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_64 VMCALL hyfile_lastmod           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Return the last modification time of the file path in milliseconds. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>file/path name being queried.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>last modification time on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="74ab69eefa00324ea5527f2085bd83f9"></a><!-- doxytag: member="hyfile.c::hyfile_length" ref="74ab69eefa00324ea5527f2085bd83f9" args="(struct HyPortLibrary *portLibrary, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_64 VMCALL hyfile_length           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Answer the length in bytes of the file. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>file/path name being queried.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Length in bytes of the file on success, negative portable error code on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b2ca260bec4b113ba97d36da31136fd4"></a><!-- doxytag: member="hyfile.c::hyfile_mkdir" ref="b2ca260bec4b113ba97d36da31136fd4" args="(struct HyPortLibrary *portLibrary, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_mkdir           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Create a directory. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>Directory to be created.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Assumes all components of path up to the last directory already exist. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="e7b1b207e71ef9bac3e283f56cc78660"></a><!-- doxytag: member="hyfile.c::hyfile_move" ref="e7b1b207e71ef9bac3e283f56cc78660" args="(struct HyPortLibrary *portLibrary, const char *pathExist, const char *pathNew)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_move           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>pathExist</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>pathNew</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Move the file pathExist to a new name pathNew. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pathExist</em>&nbsp;</td><td>The existing file name. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>pathNew</em>&nbsp;</td><td>The new file name.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4064c8320a07d4ecf32d92e30ae0bd03"></a><!-- doxytag: member="hyfile.c::hyfile_open" ref="4064c8320a07d4ecf32d92e30ae0bd03" args="(struct HyPortLibrary *portLibrary, const char *path, I_32 flags, I_32 mode)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">IDATA VMCALL hyfile_open           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">I_32&nbsp;</td>
+          <td class="paramname"> <em>flags</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">I_32&nbsp;</td>
+          <td class="paramname"> <em>mode</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Convert a pathname into a file descriptor. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>Name of the file to be opened. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>flags</em>&nbsp;</td><td>Portable file read/write attributes. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>mode</em>&nbsp;</td><td>Platform file permissions.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The file descriptor of the newly opened file, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="d8e4aa3d8909443041a5be8fe6aeeefe"></a><!-- doxytag: member="hyfile.c::hyfile_printf" ref="d8e4aa3d8909443041a5be8fe6aeeefe" args="(struct HyPortLibrary *portLibrary, IDATA fd, const char *format,...)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void VMCALL hyfile_printf           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>format</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">&nbsp;</td>
+          <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Write to a file. 
+<p>
+Writes formatted output to the file referenced by the file descriptor.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>File descriptor to write to </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>format</em>&nbsp;</td><td>The format string to be output. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>...</em>&nbsp;</td><td>arguments for format. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="ed799f440b54c00318bfda545c23d4b2"></a><!-- doxytag: member="hyfile.c::hyfile_read" ref="ed799f440b54c00318bfda545c23d4b2" args="(struct HyPortLibrary *portLibrary, IDATA fd, void *buf, IDATA nbytes)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">IDATA VMCALL hyfile_read           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Read bytes from a file descriptor into a user provided buffer. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor. </td></tr>
+    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>buf</em>&nbsp;</td><td>Buffer to read into. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nbytes</em>&nbsp;</td><td>Size of buffer.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes read, or -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6e712b0a2e4a7b42be9b7207cf2fff8b"></a><!-- doxytag: member="hyfile.c::hyfile_seek" ref="6e712b0a2e4a7b42be9b7207cf2fff8b" args="(struct HyPortLibrary *portLibrary, IDATA fd, I_64 offset, I_32 whence)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_64 VMCALL hyfile_seek           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">I_64&nbsp;</td>
+          <td class="paramname"> <em>offset</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">I_32&nbsp;</td>
+          <td class="paramname"> <em>whence</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Repositions the offset of the file descriptor to a given offset as per directive whence. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>offset</em>&nbsp;</td><td>The offset in the file to position to. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>whence</em>&nbsp;</td><td>Portable constant describing how to apply the offset.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>The resulting offset on success, -1 on failure. </dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>whence is one of HySeekSet (seek from beginning of file), HySeekCur (seek from current file pointer) or HySeekEnd (seek backwards from end of file). </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="bef274beb18c0a8a21ee33b7caddc4c2"></a><!-- doxytag: member="hyfile.c::hyfile_set_length" ref="bef274beb18c0a8a21ee33b7caddc4c2" args="(struct HyPortLibrary *portLibrary, IDATA fd, I_64 newLength)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_set_length           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">I_64&nbsp;</td>
+          <td class="paramname"> <em>newLength</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Set the length of a file to a specified value. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>newLength</em>&nbsp;</td><td>Length to be set</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, negative portable error code on failure </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a7899f6ef535c51bc00be189ec9e4794"></a><!-- doxytag: member="hyfile.c::hyfile_shutdown" ref="a7899f6ef535c51bc00be189ec9e4794" args="(struct HyPortLibrary *portLibrary)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void VMCALL hyfile_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+PortLibrary shutdown. 
+<p>
+This function is called during shutdown of the portLibrary. Any resources that were created by <a class="el" href="hyfile_8c.html#3e8c715d786915276a0878303e3f5834">hyfile_startup</a> should be destroyed here.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library</td></tr>
+  </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Most implementations will be empty. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3e8c715d786915276a0878303e3f5834"></a><!-- doxytag: member="hyfile.c::hyfile_startup" ref="3e8c715d786915276a0878303e3f5834" args="(struct HyPortLibrary *portLibrary)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_startup           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+PortLibrary startup. 
+<p>
+This function is called during startup of the portLibrary. Any resources that are required for the file operations may be created here. All resources created here should be destroyed in <a class="el" href="hyfile_8c.html#a7899f6ef535c51bc00be189ec9e4794">hyfile_shutdown</a>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, negative error code on failure. Error code values returned are <ul>
+<li>HYPORT_ERROR_STARTUP_FILE</li>
+</ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Most implementations will simply return success. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="c41d1569ccffe924a48bc221e4ac3475"></a><!-- doxytag: member="hyfile.c::hyfile_sync" ref="c41d1569ccffe924a48bc221e4ac3475" args="(struct HyPortLibrary *portLibrary, IDATA fd)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_sync           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Synchronize a file's state with the state on disk. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>The file descriptor.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3536f598b69b4ecc697860d70fb9e92d"></a><!-- doxytag: member="hyfile.c::hyfile_unlink" ref="3536f598b69b4ecc697860d70fb9e92d" args="(struct HyPortLibrary *portLibrary, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_unlink           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove a file from the file system. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>file/path name to remove.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="41cb34d80b31322bd3c171070f3d64b4"></a><!-- doxytag: member="hyfile.c::hyfile_unlinkdir" ref="41cb34d80b31322bd3c171070f3d64b4" args="(struct HyPortLibrary *portLibrary, const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hyfile_unlinkdir           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Remove the trailing directory of the path. 
+<p>
+If the path is a symbolic link to a directory, remove the symbolic link.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>directory name being removed.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="15b1bfae7432e10c74e8884b01dd75ba"></a><!-- doxytag: member="hyfile.c::hyfile_vprintf" ref="15b1bfae7432e10c74e8884b01dd75ba" args="(struct HyPortLibrary *portLibrary, IDATA fd, const char *format, va_list args)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void VMCALL hyfile_vprintf           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>format</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">va_list&nbsp;</td>
+          <td class="paramname"> <em>args</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Write to a file. 
+<p>
+Writes formatted output to the file referenced by the file descriptor.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>File descriptor to write. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>format</em>&nbsp;</td><td>The format String. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>args</em>&nbsp;</td><td>Variable argument list. </td></tr>
+  </table>
+</dl>
+
+</div>
+</div><p>
+<a class="anchor" name="a4d98fb3668d86c7f67dad318772c87f"></a><!-- doxytag: member="hyfile.c::hyfile_write" ref="a4d98fb3668d86c7f67dad318772c87f" args="(struct HyPortLibrary *portLibrary, IDATA fd, void *buf, IDATA nbytes)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">IDATA VMCALL hyfile_write           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Write to a file. 
+<p>
+Writes up to nbytes from the provided buffer to the file referenced by the file descriptor.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>File descriptor to write. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buf</em>&nbsp;</td><td>Buffer to be written. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nbytes</em>&nbsp;</td><td>Size of buffer.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes written on success, -1 on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="54797baac90e7fce585dfa4b8f057053"></a><!-- doxytag: member="hyfile.c::is_device_name" ref="54797baac90e7fce585dfa4b8f057053" args="(const char *path)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">int is_device_name           </td>
+          <td>(</td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>path</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Determines if the given file name is a reserved device name. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>path</em>&nbsp;</td><td>the path </td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>length of device name if given file name is a device name or 0 otherwise </dd></dl>
+
+</div>
+</div><p>
+<hr size="1">
+<address style="text-align: center;">
+  <small>
+    <p>Genereated on Tue Dec 9 14:12:59 2008 by Doxygen.</p>
+    <p>(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable. </p>
+  </small>
+</address>
+</body>
+</html>

Propchange: harmony/standard/site/docs/externals/vm_doc/html/hyfile_8c.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/standard/site/docs/externals/vm_doc/html/hyfiletext_8c.html
URL: http://svn.apache.org/viewvc/harmony/standard/site/docs/externals/vm_doc/html/hyfiletext_8c.html?rev=724734&view=auto
==============================================================================
--- harmony/standard/site/docs/externals/vm_doc/html/hyfiletext_8c.html (added)
+++ harmony/standard/site/docs/externals/vm_doc/html/hyfiletext_8c.html Tue Dec  9 07:03:45 2008
@@ -0,0 +1,199 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Harmony Class Library Porting: modules/portlib/src/main/native/port/windows/hyfiletext.c File Reference</title>
+<link href="hydoxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.4 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<h1>modules/portlib/src/main/native/port/windows/hyfiletext.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+file 
+<p>
+
+<p>
+<code>#include &lt;windows.h&gt;</code><br>
+<code>#include &quot;<a class="el" href="hyport_8h.html">hyport.h</a>&quot;</code><br>
+<code>#include &quot;utf8decode.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfiletext_8c.html#a74a85ccf6e232b4ee3ee74813ba8b03">hybuf_write_text</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, const char *buf, IDATA nbytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output the buffer onto the another buffer as text.  <a href="#a74a85ccf6e232b4ee3ee74813ba8b03"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">char *VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfiletext_8c.html#b727e0c66f7a4609baa584371d2ec96d">hyfile_read_text</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, char *buf, IDATA nbytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a line of text from the file into buf.  <a href="#b727e0c66f7a4609baa584371d2ec96d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">IDATA VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hyfiletext_8c.html#3824cba242c8fb9a933cfb97fd1b6d3e">hyfile_write_text</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, IDATA fd, const char *buf, IDATA nbytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Output the buffer onto the stream as text.  <a href="#3824cba242c8fb9a933cfb97fd1b6d3e"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a74a85ccf6e232b4ee3ee74813ba8b03"></a><!-- doxytag: member="hyfiletext.c::hybuf_write_text" ref="a74a85ccf6e232b4ee3ee74813ba8b03" args="(struct HyPortLibrary *portLibrary, const char *buf, IDATA nbytes)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* VMCALL hybuf_write_text           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Output the buffer onto the another buffer as text. 
+<p>
+The in buffer is a UTF8-encoded array of chars. It is converted to the appropriate platform encoding.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buf</em>&nbsp;</td><td>buffer of text to be converted. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nbytes</em>&nbsp;</td><td>size of buffer of text to be converted.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>buffer of converted to the appropriate platform encoding text. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="b727e0c66f7a4609baa584371d2ec96d"></a><!-- doxytag: member="hyfiletext.c::hyfile_read_text" ref="b727e0c66f7a4609baa584371d2ec96d" args="(struct HyPortLibrary *portLibrary, IDATA fd, char *buf, IDATA nbytes)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">char* VMCALL hyfile_read_text           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">char *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Read a line of text from the file into buf. 
+<p>
+Text is converted from the platform file encoding to UTF8. This is mostly equivalent to fgets in standard C.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>File descriptor. </td></tr>
+    <tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>buf</em>&nbsp;</td><td>Buffer for read in text. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nbytes</em>&nbsp;</td><td>Size of buffer.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>buf on success, NULL on failure. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="3824cba242c8fb9a933cfb97fd1b6d3e"></a><!-- doxytag: member="hyfiletext.c::hyfile_write_text" ref="3824cba242c8fb9a933cfb97fd1b6d3e" args="(struct HyPortLibrary *portLibrary, IDATA fd, const char *buf, IDATA nbytes)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">IDATA VMCALL hyfile_write_text           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>fd</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char *&nbsp;</td>
+          <td class="paramname"> <em>buf</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">IDATA&nbsp;</td>
+          <td class="paramname"> <em>nbytes</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Output the buffer onto the stream as text. 
+<p>
+The buffer is a UTF8-encoded array of chars. It is converted to the appropriate platform encoding.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fd</em>&nbsp;</td><td>the file descriptor. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>buf</em>&nbsp;</td><td>buffer of text to be output. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>nbytes</em>&nbsp;</td><td>size of buffer of text to be output.</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, negative error code on failure. </dd></dl>
+
+</div>
+</div><p>
+<hr size="1">
+<address style="text-align: center;">
+  <small>
+    <p>Genereated on Tue Dec 9 14:12:59 2008 by Doxygen.</p>
+    <p>(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable. </p>
+  </small>
+</address>
+</body>
+</html>

Propchange: harmony/standard/site/docs/externals/vm_doc/html/hyfiletext_8c.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: harmony/standard/site/docs/externals/vm_doc/html/hygp_8c.html
URL: http://svn.apache.org/viewvc/harmony/standard/site/docs/externals/vm_doc/html/hygp_8c.html?rev=724734&view=auto
==============================================================================
--- harmony/standard/site/docs/externals/vm_doc/html/hygp_8c.html (added)
+++ harmony/standard/site/docs/externals/vm_doc/html/hygp_8c.html Tue Dec  9 07:03:45 2008
@@ -0,0 +1,329 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+<title>Harmony Class Library Porting: modules/portlib/src/main/native/port/shared/hygp.c File Reference</title>
+<link href="hydoxygen.css" rel="stylesheet" type="text/css">
+<link href="tabs.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.5.4 -->
+<div class="tabs">
+  <ul>
+    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
+    <li><a href="modules.html"><span>Modules</span></a></li>
+    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
+    <li class="current"><a href="files.html"><span>Files</span></a></li>
+    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
+  </ul>
+</div>
+<h1>modules/portlib/src/main/native/port/shared/hygp.c File Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+Provides platform-neutral signal handling functions. 
+<p>
+The <a class="el" href="hygp_8c.html#985d194bb38bd85fda8356d2d709d182">hygp_register_handler</a> function is partially dependent on internal VM structures, and must be called with NULL as a third (userData) parameter. <br>
+<br>
+ 
+<p>
+<code>#include &quot;<a class="el" href="hyport_8h.html">hyport.h</a>&quot;</code><br>
+<code>#include &quot;hycomp.h&quot;</code><br>
+<code>#include &quot;gp.h&quot;</code><br>
+<table border="0" cellpadding="0" cellspacing="0">
+<tr><td></td></tr>
+<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">UDATA VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hygp_8c.html#4e6e359ed400f2b9ff9e5aaa11ef2ec9">hygp_protect</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, protected_fn fn, void *arg)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Kicks off the new thread by calling the function provided in protected_fn fn.  <a href="#4e6e359ed400f2b9ff9e5aaa11ef2ec9"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hygp_8c.html#985d194bb38bd85fda8356d2d709d182">hygp_register_handler</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, handler_fn fn, void *aUserData)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the function that is responsible for preserving/outputting the state of the vm and initiating a graceful shutdown resulting from a gp.  <a href="#985d194bb38bd85fda8356d2d709d182"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">U_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hygp_8c.html#a64060f367b0f3f8952d49b3ecc6ae6d">hygp_info</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, void *info, U_32 category, I_32 index, const char **name, void **value)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Provides the name and value, specified by category/index of the gp information in info.  <a href="#a64060f367b0f3f8952d49b3ecc6ae6d"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">U_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hygp_8c.html#81c5ceb80f4e74142260ba63f52ea988">hygp_info_count</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary, void *info, U_32 category)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the number of items that exist in the category specified, or zero if the category is undefined.  <a href="#81c5ceb80f4e74142260ba63f52ea988"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">void VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hygp_8c.html#022c3820f5fda71cb0bce1851063f051">hygp_shutdown</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PortLibrary shutdown.  <a href="#022c3820f5fda71cb0bce1851063f051"></a><br></td></tr>
+<tr><td class="memItemLeft" nowrap align="right" valign="top">I_32 VMCALL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="hygp_8c.html#6d7c1c48bf066779c961af44638dd6af">hygp_startup</a> (struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *portLibrary)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">PortLibrary startup.  <a href="#6d7c1c48bf066779c961af44638dd6af"></a><br></td></tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a64060f367b0f3f8952d49b3ecc6ae6d"></a><!-- doxytag: member="hygp.c::hygp_info" ref="a64060f367b0f3f8952d49b3ecc6ae6d" args="(struct HyPortLibrary *portLibrary, void *info, U_32 category, I_32 index, const char **name, void **value)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">U_32 VMCALL hygp_info           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>info</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">U_32&nbsp;</td>
+          <td class="paramname"> <em>category</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">I_32&nbsp;</td>
+          <td class="paramname"> <em>index</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">const char **&nbsp;</td>
+          <td class="paramname"> <em>name</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void **&nbsp;</td>
+          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Provides the name and value, specified by category/index of the gp information in info. 
+<p>
+Returns the kind of information found at category/index specified, or undefined if the category/index are invalid. The number of items in the category specified must equal the count <a class="el" href="hygp_8c.html#81c5ceb80f4e74142260ba63f52ea988">hygp_info_count</a> returns for that category.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>info</em>&nbsp;</td><td>struct containing all available signal information. Normally includes register values, name of module where crash occured and its base address. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>category</em>&nbsp;</td><td>the category of signal information that you are querying. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>index</em>&nbsp;</td><td>the index of the item in the specified category. The number of items for each category are defined in the sourceTemplate. </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>name</em>&nbsp;</td><td>the name of the item at the specified index. </td></tr>
+    <tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>value</em>&nbsp;</td><td>the value of the item at the specified index</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the kind of info at the specified index. For example, this allows the caller to determine whether the item placed in **value corresponds to a 32/64-bit integer or a pointer to a string.</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>The program counter and module name also have negative indexes as defined by HYGP_CONTROL_PC and HYGP_MODULE_NAME respectively. <p>
+Above allows the handler function registered in <a class="el" href="hygp_8c.html#985d194bb38bd85fda8356d2d709d182">hygp_register_handler</a> to distinguish (and use) them from the other gp items. <p>
+The caller is responsible for allocating and freeing any buffers used by **name, **value. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="81c5ceb80f4e74142260ba63f52ea988"></a><!-- doxytag: member="hygp.c::hygp_info_count" ref="81c5ceb80f4e74142260ba63f52ea988" args="(struct HyPortLibrary *portLibrary, void *info, U_32 category)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">U_32 VMCALL hygp_info_count           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>info</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">U_32&nbsp;</td>
+          <td class="paramname"> <em>category</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Returns the number of items that exist in the category specified, or zero if the category is undefined. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>info</em>&nbsp;</td><td>struct containing all available signal information. Normally includes register values, name of module where crash occured and its base address. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>category</em>&nbsp;</td><td>the category in which we want to find the number of items that exist.</td></tr>
+  </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Return value must agree with the number of items that <a class="el" href="hygp_8c.html#a64060f367b0f3f8952d49b3ecc6ae6d">hygp_info</a> makes available for the category specified. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="4e6e359ed400f2b9ff9e5aaa11ef2ec9"></a><!-- doxytag: member="hygp.c::hygp_protect" ref="4e6e359ed400f2b9ff9e5aaa11ef2ec9" args="(struct HyPortLibrary *portLibrary, protected_fn fn, void *arg)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">UDATA VMCALL hygp_protect           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">protected_fn&nbsp;</td>
+          <td class="paramname"> <em>fn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>arg</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Kicks off the new thread by calling the function provided in protected_fn fn. 
+<p>
+All threads spawned by the vm start here and all OS signals that will be handled by fn must be registered to the OS here. Upon receiving a signal from the OS, fn is responsible for calling the function specified in <a class="el" href="hygp_8c.html#985d194bb38bd85fda8356d2d709d182">hygp_register_handler</a> if it is determined that a shutdown is required.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fn</em>&nbsp;</td><td>the function that will be used to kick off the thread </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>arg</em>&nbsp;</td><td>arguments to protected_fn fn</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>the return value of the function provided in fn</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>it is a good idea to save the portLibrary in case a registered exception handler cannot be found </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="985d194bb38bd85fda8356d2d709d182"></a><!-- doxytag: member="hygp.c::hygp_register_handler" ref="985d194bb38bd85fda8356d2d709d182" args="(struct HyPortLibrary *portLibrary, handler_fn fn, void *aUserData)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void VMCALL hygp_register_handler           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">handler_fn&nbsp;</td>
+          <td class="paramname"> <em>fn</em>, </td>
+        </tr>
+        <tr>
+          <td class="paramkey"></td>
+          <td></td>
+          <td class="paramtype">void *&nbsp;</td>
+          <td class="paramname"> <em>aUserData</em></td><td>&nbsp;</td>
+        </tr>
+        <tr>
+          <td></td>
+          <td>)</td>
+          <td></td><td></td><td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+Sets the function that is responsible for preserving/outputting the state of the vm and initiating a graceful shutdown resulting from a gp. 
+<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fn</em>&nbsp;</td><td>function responsible for preserving/outputting the state of the vm and initiating a graceful shutdown resulting from a gp. </td></tr>
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>aUserData</em>&nbsp;</td><td>The HyJavaVM or NULL for non-HY consumers.</td></tr>
+  </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>vmGPHandler in gphandle.c is currently the only function used for handling gps. <p>
+fn is not called by the OS but by the gp handler function specified in the call to <a class="el" href="hygp_8c.html#4e6e359ed400f2b9ff9e5aaa11ef2ec9">hygp_protect</a> gp module <p>
+above occurs after the OS has passed a signal along to us and it is determined that a shutdown is required. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="022c3820f5fda71cb0bce1851063f051"></a><!-- doxytag: member="hygp.c::hygp_shutdown" ref="022c3820f5fda71cb0bce1851063f051" args="(struct HyPortLibrary *portLibrary)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">void VMCALL hygp_shutdown           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+PortLibrary shutdown. 
+<p>
+This function is called during shutdown of the portLibrary. Any resources that were created by <a class="el" href="hygp_8c.html#6d7c1c48bf066779c961af44638dd6af">hygp_startup</a> should be destroyed here.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library</td></tr>
+  </table>
+</dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Most implementations will be empty. </dd></dl>
+
+</div>
+</div><p>
+<a class="anchor" name="6d7c1c48bf066779c961af44638dd6af"></a><!-- doxytag: member="hygp.c::hygp_startup" ref="6d7c1c48bf066779c961af44638dd6af" args="(struct HyPortLibrary *portLibrary)" -->
+<div class="memitem">
+<div class="memproto">
+      <table class="memname">
+        <tr>
+          <td class="memname">I_32 VMCALL hygp_startup           </td>
+          <td>(</td>
+          <td class="paramtype">struct <a class="el" href="structHyPortLibrary.html">HyPortLibrary</a> *&nbsp;</td>
+          <td class="paramname"> <em>portLibrary</em>          </td>
+          <td>&nbsp;)&nbsp;</td>
+          <td width="100%"></td>
+        </tr>
+      </table>
+</div>
+<div class="memdoc">
+
+<p>
+PortLibrary startup. 
+<p>
+This function is called during startup of the portLibrary. Any resources that are required for the shared library operation may be created here. All resources created here should be destroyed in <a class="el" href="hygp_8c.html#022c3820f5fda71cb0bce1851063f051">hygp_shutdown</a>.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+  <table border="0" cellspacing="2" cellpadding="0">
+    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>portLibrary</em>&nbsp;</td><td>The port library</td></tr>
+  </table>
+</dl>
+<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, negative error code on failure. Error code values returned are <ul>
+<li>HYPORT_ERROR_STARTUP_GP</li>
+</ul>
+</dd></dl>
+<dl class="note" compact><dt><b>Note:</b></dt><dd>Most implementations will simply return success. </dd></dl>
+
+</div>
+</div><p>
+<hr size="1">
+<address style="text-align: center;">
+  <small>
+    <p>Genereated on Tue Dec 9 14:12:59 2008 by Doxygen.</p>
+    <p>(c) Copyright 2005, 2008 The Apache Software Foundation or its licensors, as applicable. </p>
+  </small>
+</address>
+</body>
+</html>

Propchange: harmony/standard/site/docs/externals/vm_doc/html/hygp_8c.html
------------------------------------------------------------------------------
    svn:eol-style = native



Mime
View raw message