Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > cdd7d94a3ce70b4d55329ec01bf68100 > files > 386

lib64commoncpp-devel-1.8.0-4mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>GNU CommonC++: ost::TTYStream Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.6.3 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="classes.html"><span>Class&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="namespaceost.html">ost</a>::<a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a>
  </div>
</div>
<div class="contents">
<h1>ost::TTYStream Class Reference</h1><!-- doxytag: class="ost::TTYStream" --><!-- doxytag: inherits="ost::Serial" -->
<p>TTY streams are used to represent serial connections that are fully "streamable" objects using C++ stream classes and friends.  
<a href="#_details">More...</a></p>

<p><code>#include &lt;<a class="el" href="serial_8h_source.html">serial.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for ost::TTYStream:</div>
<div class="dynsection">
 <div class="center">
  <img src="classost_1_1_t_t_y_stream.png" usemap="#ost::TTYStream_map" alt=""/>
  <map id="ost::TTYStream_map" name="ost::TTYStream_map">
<area href="classost_1_1_serial.html" alt="ost::Serial" shape="rect" coords="55,0,156,24"/>
<area href="classost_1_1_t_t_y_session.html" alt="ost::TTYSession" shape="rect" coords="0,112,101,136"/>
<area href="classost_1_1ttystream.html" alt="ost::ttystream" shape="rect" coords="111,112,212,136"/>
</map>
 </div>
</div>

<p><a href="classost_1_1_t_t_y_stream-members.html">List of all members.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a8c9d3397e3250ede75a659103594befb">TTYStream</a> (const char *filename, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> to=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create and open a tty serial port.  <a href="#a8c9d3397e3250ede75a659103594befb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#af7367a91c7adc42f3d6d16f524e71aff">~TTYStream</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End the tty stream and cleanup.  <a href="#af7367a91c7adc42f3d6d16f524e71aff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a10ec50ecf62fb6c5cda903389d96d127">setTimeout</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> to)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the timeout control.  <a href="#a10ec50ecf62fb6c5cda903389d96d127"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a056469a50ef74e0885998f6254eef8e7">interactive</a> (bool flag)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set tty mode to buffered or "interactive".  <a href="#a056469a50ef74e0885998f6254eef8e7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#afd30bd70e73b573c1fd83a90bec64e27">sync</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Flushes the stream input and out buffers, writes pending output.  <a href="#afd30bd70e73b573c1fd83a90bec64e27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a59694c06c96e9febb3b88cbd4984f4bf">isPending</a> (<a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">Pending</a> pend, <a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> <a class="el" href="classost_1_1_t_t_y_stream.html#ada518ac8768e0e9336267f6f91846eb2">timeout</a>=TIMEOUT_INF)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the status of pending operations.  <a href="#a59694c06c96e9febb3b88cbd4984f4bf"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#aa2709f21498713e4091ba1cc6471bf35">TTYStream</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This constructor is used to derive "ttystream", a more C++ style version of the <a class="el" href="classost_1_1_t_t_y_stream.html" title="TTY streams are used to represent serial connections that are fully &quot;streamable&quot;...">TTYStream</a> class.  <a href="#aa2709f21498713e4091ba1cc6471bf35"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a83d30e56a2c603427ecf72cc113310ab">allocate</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to allocate the buffer space needed for iostream operations.  <a href="#a83d30e56a2c603427ecf72cc113310ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#ae8071fe31f6009c8c5f5018d8a285fda">endStream</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used to terminate the buffer space and clean up the tty connection.  <a href="#ae8071fe31f6009c8c5f5018d8a285fda"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#abb3276c12566b4dc4776efd3e1bee296">underflow</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This streambuf method is used to load the input buffer through the established tty serial port.  <a href="#abb3276c12566b4dc4776efd3e1bee296"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a5bb4dfdd526e44bf5873113191f6c198">uflow</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This streambuf method is used for doing unbuffered reads through the establish tty serial port when in interactive mode.  <a href="#a5bb4dfdd526e44bf5873113191f6c198"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#ac2534503380bf14d8fcee942461b396b">overflow</a> (int ch)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This streambuf method is used to write the output buffer through the established tty port.  <a href="#ac2534503380bf14d8fcee942461b396b"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a092b288b0699829784c318bceeb66b46">gbuf</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a05574ac3124042f6fd7d7126b7d2dbde">pbuf</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#ada518ac8768e0e9336267f6f91846eb2">timeout</a></td></tr>
<tr><td colspan="2"><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#ab6365240297776a647b61ce829e3f0b7">crlf</a> (<a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a> &amp;)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_t_t_y_stream.html#a975a537898714a55453793eaa2237c0d">lfcr</a> (<a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a> &amp;)</td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>TTY streams are used to represent serial connections that are fully "streamable" objects using C++ stream classes and friends. </p>
<p>The first application relevant serial I/O class is the <a class="el" href="classost_1_1_t_t_y_stream.html" title="TTY streams are used to represent serial connections that are fully &quot;streamable&quot;...">TTYStream</a> class. <a class="el" href="classost_1_1_t_t_y_stream.html" title="TTY streams are used to represent serial connections that are fully &quot;streamable&quot;...">TTYStream</a> offers a linearly buffered "streaming" I/O session with the serial device. Furthermore, traditional C++ "stream" operators (&lt;&lt; and &gt;&gt;) may be used with the serial device. A more "true" to ANSI C++ library format "ttystream" is also available, and this supports an "open" method in which one can pass initial serial device parameters immediately following the device name in a single string, as in "/dev/tty3a:9600,7,e,1", as an example.</p>
<p>The <a class="el" href="classost_1_1_t_t_y_session.html" title="The TTYSession aggragates a TTYStream and a Common C++ Thread which is assumed to...">TTYSession</a> aggragates a <a class="el" href="classost_1_1_t_t_y_stream.html" title="TTY streams are used to represent serial connections that are fully &quot;streamable&quot;...">TTYStream</a> and a Common C++ <a class="el" href="classost_1_1_thread.html" title="Every thread of execution in an application is created by instantiating an object...">Thread</a> which is assumed to be the execution context that will be used to perform actual I/O operations. This class is very anagolous to <a class="el" href="classost_1_1_t_c_p_session.html" title="The TCP session is used to primarily to represent a client connection that can be...">TCPSession</a>.</p>
<dl class="author"><dt><b>Author:</b></dt><dd>David Sugar &lt;<a href="mailto:dyfet@ostel.com">dyfet@ostel.com</a>&gt; streamable tty serial I/O class. </dd></dl>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aa2709f21498713e4091ba1cc6471bf35"></a><!-- doxytag: member="ost::TTYStream::TTYStream" ref="aa2709f21498713e4091ba1cc6471bf35" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TTYStream::TTYStream </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This constructor is used to derive "ttystream", a more C++ style version of the <a class="el" href="classost_1_1_t_t_y_stream.html" title="TTY streams are used to represent serial connections that are fully &quot;streamable&quot;...">TTYStream</a> class. </p>

</div>
</div>
<a class="anchor" id="a8c9d3397e3250ede75a659103594befb"></a><!-- doxytag: member="ost::TTYStream::TTYStream" ref="a8c9d3397e3250ede75a659103594befb" args="(const char *filename, timeout_t to=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">ost::TTYStream::TTYStream </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>to</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Create and open a tty serial port. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>filename</em>&nbsp;</td><td>char name of device to open. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>default timeout. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af7367a91c7adc42f3d6d16f524e71aff"></a><!-- doxytag: member="ost::TTYStream::~TTYStream" ref="af7367a91c7adc42f3d6d16f524e71aff" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual ost::TTYStream::~TTYStream </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>End the tty stream and cleanup. </p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a83d30e56a2c603427ecf72cc113310ab"></a><!-- doxytag: member="ost::TTYStream::allocate" ref="a83d30e56a2c603427ecf72cc113310ab" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TTYStream::allocate </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Used to allocate the buffer space needed for iostream operations. </p>
<p>This is based on MAX_INPUT. </p>

</div>
</div>
<a class="anchor" id="ae8071fe31f6009c8c5f5018d8a285fda"></a><!-- doxytag: member="ost::TTYStream::endStream" ref="ae8071fe31f6009c8c5f5018d8a285fda" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TTYStream::endStream </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Used to terminate the buffer space and clean up the tty connection. </p>
<p>This function is called by the destructor. </p>

</div>
</div>
<a class="anchor" id="a056469a50ef74e0885998f6254eef8e7"></a><!-- doxytag: member="ost::TTYStream::interactive" ref="a056469a50ef74e0885998f6254eef8e7" args="(bool flag)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TTYStream::interactive </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>flag</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set tty mode to buffered or "interactive". </p>
<p>When interactive, all streamed I/O is directly sent to the serial port immediately.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>flag</em>&nbsp;</td><td>bool set to true to make interactive. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a59694c06c96e9febb3b88cbd4984f4bf"></a><!-- doxytag: member="ost::TTYStream::isPending" ref="a59694c06c96e9febb3b88cbd4984f4bf" args="(Pending pend, timeout_t timeout=TIMEOUT_INF)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::TTYStream::isPending </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">Pending</a>&nbsp;</td>
          <td class="paramname"> <em>pend</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>timeout</em> = <code>TIMEOUT_INF</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the status of pending operations. </p>
<p>This can be used to examine if input or output is waiting, or if an error has occured on the serial device. If read buffer contains data then input is ready and if write buffer contains data it is first flushed then checked.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if ready, false if timeout. </dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pend</em>&nbsp;</td><td>ready check to perform. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>timeout</em>&nbsp;</td><td>in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classost_1_1_serial.html#a80501f19b1e225c87f2de484b220f737">ost::Serial</a>.</p>

</div>
</div>
<a class="anchor" id="ac2534503380bf14d8fcee942461b396b"></a><!-- doxytag: member="ost::TTYStream::overflow" ref="ac2534503380bf14d8fcee942461b396b" args="(int ch)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TTYStream::overflow </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>ch</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This streambuf method is used to write the output buffer through the established tty port. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>char to push through. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>char pushed through. </dd></dl>

</div>
</div>
<a class="anchor" id="a10ec50ecf62fb6c5cda903389d96d127"></a><!-- doxytag: member="ost::TTYStream::setTimeout" ref="a10ec50ecf62fb6c5cda903389d96d127" args="(timeout_t to)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::TTYStream::setTimeout </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&nbsp;</td>
          <td class="paramname"> <em>to</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the timeout control. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>to</em>&nbsp;</td><td>timeout to use. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afd30bd70e73b573c1fd83a90bec64e27"></a><!-- doxytag: member="ost::TTYStream::sync" ref="afd30bd70e73b573c1fd83a90bec64e27" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TTYStream::sync </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Flushes the stream input and out buffers, writes pending output. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>0 on success. </dd></dl>

</div>
</div>
<a class="anchor" id="a5bb4dfdd526e44bf5873113191f6c198"></a><!-- doxytag: member="ost::TTYStream::uflow" ref="a5bb4dfdd526e44bf5873113191f6c198" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TTYStream::uflow </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This streambuf method is used for doing unbuffered reads through the establish tty serial port when in interactive mode. </p>
<p>Also this method will handle proper use of buffers if not in interative mode.</p>
<dl class="return"><dt><b>Returns:</b></dt><dd>char from tty serial port, EOF also possible. </dd></dl>

</div>
</div>
<a class="anchor" id="abb3276c12566b4dc4776efd3e1bee296"></a><!-- doxytag: member="ost::TTYStream::underflow" ref="abb3276c12566b4dc4776efd3e1bee296" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int ost::TTYStream::underflow </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This streambuf method is used to load the input buffer through the established tty serial port. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>char from get buffer, EOF also possible. </dd></dl>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="ab6365240297776a647b61ce829e3f0b7"></a><!-- doxytag: member="ost::TTYStream::crlf" ref="ab6365240297776a647b61ce829e3f0b7" args="(TTYStream &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a>&amp; crlf </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a975a537898714a55453793eaa2237c0d"></a><!-- doxytag: member="ost::TTYStream::lfcr" ref="a975a537898714a55453793eaa2237c0d" args="(TTYStream &amp;)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a>&amp; lfcr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_t_t_y_stream.html">TTYStream</a> &amp;&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a092b288b0699829784c318bceeb66b46"></a><!-- doxytag: member="ost::TTYStream::gbuf" ref="a092b288b0699829784c318bceeb66b46" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* <a class="el" href="classost_1_1_t_t_y_stream.html#a092b288b0699829784c318bceeb66b46">ost::TTYStream::gbuf</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a05574ac3124042f6fd7d7126b7d2dbde"></a><!-- doxytag: member="ost::TTYStream::pbuf" ref="a05574ac3124042f6fd7d7126b7d2dbde" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char * <a class="el" href="classost_1_1_t_t_y_stream.html#a05574ac3124042f6fd7d7126b7d2dbde">ost::TTYStream::pbuf</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ada518ac8768e0e9336267f6f91846eb2"></a><!-- doxytag: member="ost::TTYStream::timeout" ref="ada518ac8768e0e9336267f6f91846eb2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> <a class="el" href="classost_1_1_t_t_y_stream.html#ada518ac8768e0e9336267f6f91846eb2">ost::TTYStream::timeout</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="serial_8h_source.html">serial.h</a></li>
</ul>
</div>
<hr class="footer"/><address style="text-align: right;"><small>Generated on Fri Mar 12 10:07:41 2010 for GNU CommonC++ by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.3 </small></address>
</body>
</html>