Sophie

Sophie

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

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

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

<p>The serial port is an internal class which is attached to and then serviced by a specified <a class="el" href="classost_1_1_serial_service.html" title="The SerialService is a thead service object that is meant to service attached serial ports...">SerialService</a> thread.  
 <a href="classost_1_1_serial_port.html#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::SerialPort:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_serial_port.png" usemap="#ost::SerialPort_map" alt=""/>
  <map id="ost::SerialPort_map" name="ost::SerialPort_map">
<area href="classost_1_1_serial.html" title="The Serial class is used as the base for all serial I/O services under APE. " alt="ost::Serial" shape="rect" coords="0,0,90,24"/>
<area href="classost_1_1_timer_port.html" title="Timer ports are used to provide synchronized timing events when managed under a &quot;service thread&quot; such..." alt="ost::TimerPort" shape="rect" coords="100,0,190,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aeb008981e1a1d2eff230b231c3ce5d9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#aeb008981e1a1d2eff230b231c3ce5d9c">setTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=0)</td></tr>
<tr class="memdesc:aeb008981e1a1d2eff230b231c3ce5d9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived setTimer to notify the service thread pool of changes in expected timeout.  <a href="#aeb008981e1a1d2eff230b231c3ce5d9c">More...</a><br/></td></tr>
<tr class="separator:aeb008981e1a1d2eff230b231c3ce5d9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4fa45b7494efbcd0c1b28a724f93b6b3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a4fa45b7494efbcd0c1b28a724f93b6b3">incTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout)</td></tr>
<tr class="memdesc:a4fa45b7494efbcd0c1b28a724f93b6b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Derived incTimer to notify the service thread pool of a change in expected timeout.  <a href="#a4fa45b7494efbcd0c1b28a724f93b6b3">More...</a><br/></td></tr>
<tr class="separator:a4fa45b7494efbcd0c1b28a724f93b6b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_serial"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_serial')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_serial.html">ost::Serial</a></td></tr>
<tr class="memitem:aa62d1da910fb5454abb936a1c1b362c7 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#aa62d1da910fb5454abb936a1c1b362c7">~Serial</a> ()</td></tr>
<tr class="memdesc:aa62d1da910fb5454abb936a1c1b362c7 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">The serial base class may be "thrown" as a result on an error, and the "catcher" may then choose to destory the object.  <a href="#aa62d1da910fb5454abb936a1c1b362c7">More...</a><br/></td></tr>
<tr class="separator:aa62d1da910fb5454abb936a1c1b362c7 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1afd56643caecf083babbffc5ed13b97 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html">Serial</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a1afd56643caecf083babbffc5ed13b97">operator=</a> (const <a class="el" href="classost_1_1_serial.html">Serial</a> &amp;from)</td></tr>
<tr class="memdesc:a1afd56643caecf083babbffc5ed13b97 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classost_1_1_serial.html" title="The Serial class is used as the base for all serial I/O services under APE. ">Serial</a> ports may also be duplecated by the assignment operator.  <a href="#a1afd56643caecf083babbffc5ed13b97">More...</a><br/></td></tr>
<tr class="separator:a1afd56643caecf083babbffc5ed13b97 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f91aed2cc1f843d8ece7200fe55df4 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ac7f91aed2cc1f843d8ece7200fe55df4">setSpeed</a> (unsigned long speed)</td></tr>
<tr class="memdesc:ac7f91aed2cc1f843d8ece7200fe55df4 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set serial port speed for both input and output.  <a href="#ac7f91aed2cc1f843d8ece7200fe55df4">More...</a><br/></td></tr>
<tr class="separator:ac7f91aed2cc1f843d8ece7200fe55df4 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c79b3d42f3b21700f270c0300377ea inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ae1c79b3d42f3b21700f270c0300377ea">setCharBits</a> (int bits)</td></tr>
<tr class="memdesc:ae1c79b3d42f3b21700f270c0300377ea inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set character size.  <a href="#ae1c79b3d42f3b21700f270c0300377ea">More...</a><br/></td></tr>
<tr class="separator:ae1c79b3d42f3b21700f270c0300377ea inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aca9ba379188e65978eb04d298985ab inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a5aca9ba379188e65978eb04d298985ab">setParity</a> (<a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">Parity</a> parity)</td></tr>
<tr class="memdesc:a5aca9ba379188e65978eb04d298985ab inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set parity mode.  <a href="#a5aca9ba379188e65978eb04d298985ab">More...</a><br/></td></tr>
<tr class="separator:a5aca9ba379188e65978eb04d298985ab inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea4eb6923c07efe9c4be85f826c452e inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#aeea4eb6923c07efe9c4be85f826c452e">setStopBits</a> (int bits)</td></tr>
<tr class="memdesc:aeea4eb6923c07efe9c4be85f826c452e inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set number of stop bits.  <a href="#aeea4eb6923c07efe9c4be85f826c452e">More...</a><br/></td></tr>
<tr class="separator:aeea4eb6923c07efe9c4be85f826c452e inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce3b5a9498490a1cc753fb69f114c75 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a5ce3b5a9498490a1cc753fb69f114c75">setFlowControl</a> (<a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">Flow</a> flow)</td></tr>
<tr class="memdesc:a5ce3b5a9498490a1cc753fb69f114c75 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flow control.  <a href="#a5ce3b5a9498490a1cc753fb69f114c75">More...</a><br/></td></tr>
<tr class="separator:a5ce3b5a9498490a1cc753fb69f114c75 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a420bf5d2edc4bf8bce52149afd7b0bfb inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a420bf5d2edc4bf8bce52149afd7b0bfb">toggleDTR</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> millisec)</td></tr>
<tr class="memdesc:a420bf5d2edc4bf8bce52149afd7b0bfb inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the DTR mode off momentarily.  <a href="#a420bf5d2edc4bf8bce52149afd7b0bfb">More...</a><br/></td></tr>
<tr class="separator:a420bf5d2edc4bf8bce52149afd7b0bfb inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae33c36f64a9debb8ac54712c31313938 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ae33c36f64a9debb8ac54712c31313938">sendBreak</a> (void)</td></tr>
<tr class="memdesc:ae33c36f64a9debb8ac54712c31313938 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send the "break" signal.  <a href="#ae33c36f64a9debb8ac54712c31313938">More...</a><br/></td></tr>
<tr class="separator:ae33c36f64a9debb8ac54712c31313938 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d9a9eedecf7dc42f53e8c852e9e6d3 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ac8d9a9eedecf7dc42f53e8c852e9e6d3">getErrorNumber</a> (void)</td></tr>
<tr class="memdesc:ac8d9a9eedecf7dc42f53e8c852e9e6d3 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Often used by a "catch" to fetch the last error of a thrown serial.  <a href="#ac8d9a9eedecf7dc42f53e8c852e9e6d3">More...</a><br/></td></tr>
<tr class="separator:ac8d9a9eedecf7dc42f53e8c852e9e6d3 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d67fb60e34c7a725f4494adaa11c0c9 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a0d67fb60e34c7a725f4494adaa11c0c9">getErrorString</a> (void)</td></tr>
<tr class="memdesc:a0d67fb60e34c7a725f4494adaa11c0c9 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Often used by a "catch" to fetch the user set error string of a thrown serial.  <a href="#a0d67fb60e34c7a725f4494adaa11c0c9">More...</a><br/></td></tr>
<tr class="separator:a0d67fb60e34c7a725f4494adaa11c0c9 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d478bbdac8593181fc64eb66106815 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ae6d478bbdac8593181fc64eb66106815">getBufferSize</a> (void)</td></tr>
<tr class="memdesc:ae6d478bbdac8593181fc64eb66106815 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the "buffer" size for buffered operations.  <a href="#ae6d478bbdac8593181fc64eb66106815">More...</a><br/></td></tr>
<tr class="separator:ae6d478bbdac8593181fc64eb66106815 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80501f19b1e225c87f2de484b220f737 inherit pub_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a80501f19b1e225c87f2de484b220f737">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> timeout=<a class="el" href="thread_8h.html#a74f2d4c747bce0b8f7f7c1f48e651876">TIMEOUT_INF</a>)</td></tr>
<tr class="memdesc:a80501f19b1e225c87f2de484b220f737 inherit pub_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the status of pending operations.  <a href="#a80501f19b1e225c87f2de484b220f737">More...</a><br/></td></tr>
<tr class="separator:a80501f19b1e225c87f2de484b220f737 inherit pub_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classost_1_1_timer_port"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classost_1_1_timer_port')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classost_1_1_timer_port.html">ost::TimerPort</a></td></tr>
<tr class="memitem:ad9ecc3aa1d6c62ac2e54e3e725d0c2c2 inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#ad9ecc3aa1d6c62ac2e54e3e725d0c2c2">TimerPort</a> ()</td></tr>
<tr class="memdesc:ad9ecc3aa1d6c62ac2e54e3e725d0c2c2 inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a timer, mark it as inactive, and set the initial "start" time to the creation time of the timer object.  <a href="#ad9ecc3aa1d6c62ac2e54e3e725d0c2c2">More...</a><br/></td></tr>
<tr class="separator:ad9ecc3aa1d6c62ac2e54e3e725d0c2c2 inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32b59a072fe60d94251a53579b3ca17f inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f">setTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout=0)</td></tr>
<tr class="memdesc:a32b59a072fe60d94251a53579b3ca17f inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a new start time for the object based on when this call is made and optionally activate the timer for a specified number of milliseconds.  <a href="#a32b59a072fe60d94251a53579b3ca17f">More...</a><br/></td></tr>
<tr class="separator:a32b59a072fe60d94251a53579b3ca17f inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2c732120c3bb09e8d38a87b7443906d inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#ab2c732120c3bb09e8d38a87b7443906d">incTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout)</td></tr>
<tr class="memdesc:ab2c732120c3bb09e8d38a87b7443906d inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a timeout based on the current time reference value either from object creation or the last <a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f" title="Set a new start time for the object based on when this call is made and optionally activate the timer...">setTimer()</a>.  <a href="#ab2c732120c3bb09e8d38a87b7443906d">More...</a><br/></td></tr>
<tr class="separator:ab2c732120c3bb09e8d38a87b7443906d inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86a366beb2159e41f5a1eb5daecf785b inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a86a366beb2159e41f5a1eb5daecf785b">decTimer</a> (<a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a> timeout)</td></tr>
<tr class="memdesc:a86a366beb2159e41f5a1eb5daecf785b inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adjust a timeout based on the current time reference value either from object creation or the last <a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f" title="Set a new start time for the object based on when this call is made and optionally activate the timer...">setTimer()</a>.  <a href="#a86a366beb2159e41f5a1eb5daecf785b">More...</a><br/></td></tr>
<tr class="separator:a86a366beb2159e41f5a1eb5daecf785b inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a309d9061cc2b48931dee1adbf3ff6a7e inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a309d9061cc2b48931dee1adbf3ff6a7e">sleepTimer</a> (void)</td></tr>
<tr class="memdesc:a309d9061cc2b48931dee1adbf3ff6a7e inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sleep until the current timer expires.  <a href="#a309d9061cc2b48931dee1adbf3ff6a7e">More...</a><br/></td></tr>
<tr class="separator:a309d9061cc2b48931dee1adbf3ff6a7e inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f473745a237d71219096c9a5b440445 inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a9f473745a237d71219096c9a5b440445">endTimer</a> (void)</td></tr>
<tr class="memdesc:a9f473745a237d71219096c9a5b440445 inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to "disable" the service thread from expiring the timer object.  <a href="#a9f473745a237d71219096c9a5b440445">More...</a><br/></td></tr>
<tr class="separator:a9f473745a237d71219096c9a5b440445 inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c8c5396ab12d69dd9048e88b0cb125c inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#a7c8c5396ab12d69dd9048e88b0cb125c">getTimer</a> (void) const </td></tr>
<tr class="memdesc:a7c8c5396ab12d69dd9048e88b0cb125c inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used by service threads to determine how much time remains before the timer expires based on a timeout specified in <a class="el" href="classost_1_1_timer_port.html#a32b59a072fe60d94251a53579b3ca17f" title="Set a new start time for the object based on when this call is made and optionally activate the timer...">setTimer()</a> or <a class="el" href="classost_1_1_timer_port.html#ab2c732120c3bb09e8d38a87b7443906d" title="Set a timeout based on the current time reference value either from object creation or the last setTi...">incTimer()</a>.  <a href="#a7c8c5396ab12d69dd9048e88b0cb125c">More...</a><br/></td></tr>
<tr class="separator:a7c8c5396ab12d69dd9048e88b0cb125c inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46e765c47dafaac921ed00b40b92018 inherit pub_methods_classost_1_1_timer_port"><td class="memItemLeft" align="right" valign="top"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_timer_port.html#ac46e765c47dafaac921ed00b40b92018">getElapsed</a> (void) const </td></tr>
<tr class="memdesc:ac46e765c47dafaac921ed00b40b92018 inherit pub_methods_classost_1_1_timer_port"><td class="mdescLeft">&#160;</td><td class="mdescRight">This is used to determine how much time has elapsed since a timer port setTimer benchmark time was initially set.  <a href="#ac46e765c47dafaac921ed00b40b92018">More...</a><br/></td></tr>
<tr class="separator:ac46e765c47dafaac921ed00b40b92018 inherit pub_methods_classost_1_1_timer_port"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8e281b17e996c4f5eb18bdbb9a0b3e4b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a8e281b17e996c4f5eb18bdbb9a0b3e4b">SerialPort</a> (<a class="el" href="classost_1_1_serial_service.html">SerialService</a> *svc, const char *name)</td></tr>
<tr class="memdesc:a8e281b17e996c4f5eb18bdbb9a0b3e4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a tty serial port for a named serial device.  <a href="#a8e281b17e996c4f5eb18bdbb9a0b3e4b">More...</a><br/></td></tr>
<tr class="separator:a8e281b17e996c4f5eb18bdbb9a0b3e4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c4a6f8cd51e17f153a0575c1036a8a5"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a1c4a6f8cd51e17f153a0575c1036a8a5">~SerialPort</a> ()</td></tr>
<tr class="memdesc:a1c4a6f8cd51e17f153a0575c1036a8a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disconnect the <a class="el" href="classost_1_1_serial.html" title="The Serial class is used as the base for all serial I/O services under APE. ">Serial</a> Port from the service pool thread and shutdown the port.  <a href="#a1c4a6f8cd51e17f153a0575c1036a8a5">More...</a><br/></td></tr>
<tr class="separator:a1c4a6f8cd51e17f153a0575c1036a8a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab12b5f15481bf49b32e76a740c61ae6c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#ab12b5f15481bf49b32e76a740c61ae6c">setDetectPending</a> (bool)</td></tr>
<tr class="memdesc:ab12b5f15481bf49b32e76a740c61ae6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate if the service thread should monitor pending data for us.  <a href="#ab12b5f15481bf49b32e76a740c61ae6c">More...</a><br/></td></tr>
<tr class="separator:ab12b5f15481bf49b32e76a740c61ae6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85cd2f84d0117820545694ff4e122912"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a85cd2f84d0117820545694ff4e122912">getDetectPending</a> (void) const </td></tr>
<tr class="memdesc:a85cd2f84d0117820545694ff4e122912"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current state of the DetectPending flag.  <a href="#a85cd2f84d0117820545694ff4e122912">More...</a><br/></td></tr>
<tr class="separator:a85cd2f84d0117820545694ff4e122912"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a247a1b23aa9b819dadd3f671f5cbbdb9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a247a1b23aa9b819dadd3f671f5cbbdb9">setDetectOutput</a> (bool)</td></tr>
<tr class="memdesc:a247a1b23aa9b819dadd3f671f5cbbdb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to indicate if output ready monitoring should be performed by the service thread.  <a href="#a247a1b23aa9b819dadd3f671f5cbbdb9">More...</a><br/></td></tr>
<tr class="separator:a247a1b23aa9b819dadd3f671f5cbbdb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeeb3b9dbdaaa73b0c2960d332f80207c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#aeeb3b9dbdaaa73b0c2960d332f80207c">getDetectOutput</a> (void) const </td></tr>
<tr class="memdesc:aeeb3b9dbdaaa73b0c2960d332f80207c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the current state of the DetectOutput flag.  <a href="#aeeb3b9dbdaaa73b0c2960d332f80207c">More...</a><br/></td></tr>
<tr class="separator:aeeb3b9dbdaaa73b0c2960d332f80207c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a0f7222d19dc7f97ebbd7fd471f39ac"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a5a0f7222d19dc7f97ebbd7fd471f39ac">expired</a> (void)</td></tr>
<tr class="memdesc:a5a0f7222d19dc7f97ebbd7fd471f39ac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread when the objects timer has expired.  <a href="#a5a0f7222d19dc7f97ebbd7fd471f39ac">More...</a><br/></td></tr>
<tr class="separator:a5a0f7222d19dc7f97ebbd7fd471f39ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47facdf73be726e440d39872130bf5b2"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a47facdf73be726e440d39872130bf5b2">pending</a> (void)</td></tr>
<tr class="memdesc:a47facdf73be726e440d39872130bf5b2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread when input data is pending for this tty port.  <a href="#a47facdf73be726e440d39872130bf5b2">More...</a><br/></td></tr>
<tr class="separator:a47facdf73be726e440d39872130bf5b2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac56f59989b9b11b094064e70eef6a681"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#ac56f59989b9b11b094064e70eef6a681">disconnect</a> (void)</td></tr>
<tr class="memdesc:ac56f59989b9b11b094064e70eef6a681"><td class="mdescLeft">&#160;</td><td class="mdescRight">Called by the service thread when an exception has occured such as a hangup.  <a href="#ac56f59989b9b11b094064e70eef6a681">More...</a><br/></td></tr>
<tr class="separator:ac56f59989b9b11b094064e70eef6a681"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ace6514780e229ea0ac7dff9778583e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#a2ace6514780e229ea0ac7dff9778583e">output</a> (void *buf, int len)</td></tr>
<tr class="memdesc:a2ace6514780e229ea0ac7dff9778583e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transmit "send" data to the serial port.  <a href="#a2ace6514780e229ea0ac7dff9778583e">More...</a><br/></td></tr>
<tr class="separator:a2ace6514780e229ea0ac7dff9778583e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc68b51175f68493f644af5f3a5d8985"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#afc68b51175f68493f644af5f3a5d8985">output</a> (void)</td></tr>
<tr class="memdesc:afc68b51175f68493f644af5f3a5d8985"><td class="mdescLeft">&#160;</td><td class="mdescRight">Perform when output is available for sending data.  <a href="#afc68b51175f68493f644af5f3a5d8985">More...</a><br/></td></tr>
<tr class="separator:afc68b51175f68493f644af5f3a5d8985"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb0db8bb689d4610e91ce81f68dfd590"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#aeb0db8bb689d4610e91ce81f68dfd590">input</a> (void *buf, int len)</td></tr>
<tr class="memdesc:aeb0db8bb689d4610e91ce81f68dfd590"><td class="mdescLeft">&#160;</td><td class="mdescRight">Receive "input" for pending data from the serial port.  <a href="#aeb0db8bb689d4610e91ce81f68dfd590">More...</a><br/></td></tr>
<tr class="separator:aeb0db8bb689d4610e91ce81f68dfd590"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classost_1_1_serial"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classost_1_1_serial')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classost_1_1_serial.html">ost::Serial</a></td></tr>
<tr class="memitem:aab0033a3ce6c142a4882f05187ff2749 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#aab0033a3ce6c142a4882f05187ff2749">open</a> (const char *fname)</td></tr>
<tr class="memdesc:aab0033a3ce6c142a4882f05187ff2749 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the serial device.  <a href="#aab0033a3ce6c142a4882f05187ff2749">More...</a><br/></td></tr>
<tr class="separator:aab0033a3ce6c142a4882f05187ff2749 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab58a9efec4fffc41b7f0618734a549e0 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ab58a9efec4fffc41b7f0618734a549e0">close</a> (void)</td></tr>
<tr class="memdesc:ab58a9efec4fffc41b7f0618734a549e0 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the serial device.  <a href="#ab58a9efec4fffc41b7f0618734a549e0">More...</a><br/></td></tr>
<tr class="separator:ab58a9efec4fffc41b7f0618734a549e0 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7054a38f90bed8943c8bf4ac63b09da inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#aa7054a38f90bed8943c8bf4ac63b09da">aRead</a> (char *Data, const int Length)</td></tr>
<tr class="memdesc:aa7054a38f90bed8943c8bf4ac63b09da inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads from serial device.  <a href="#aa7054a38f90bed8943c8bf4ac63b09da">More...</a><br/></td></tr>
<tr class="separator:aa7054a38f90bed8943c8bf4ac63b09da inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a5f8409773d746095a959e636c50e46 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a0a5f8409773d746095a959e636c50e46">aWrite</a> (const char *Data, const int Length)</td></tr>
<tr class="memdesc:a0a5f8409773d746095a959e636c50e46 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to serial device.  <a href="#a0a5f8409773d746095a959e636c50e46">More...</a><br/></td></tr>
<tr class="separator:a0a5f8409773d746095a959e636c50e46 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2d756a0e1c789c4cb3c49e85f5a77b inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a2b2d756a0e1c789c4cb3c49e85f5a77b">error</a> (<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> error, char *errstr=NULL)</td></tr>
<tr class="memdesc:a2b2d756a0e1c789c4cb3c49e85f5a77b inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">This service is used to throw all serial errors which usually occur during the serial constructor.  <a href="#a2b2d756a0e1c789c4cb3c49e85f5a77b">More...</a><br/></td></tr>
<tr class="separator:a2b2d756a0e1c789c4cb3c49e85f5a77b inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27ac2ed46bf90a4bab62ecbc19febb6 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#aa27ac2ed46bf90a4bab62ecbc19febb6">error</a> (char *err)</td></tr>
<tr class="memdesc:aa27ac2ed46bf90a4bab62ecbc19febb6 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">This service is used to thow application defined serial errors where the application specific error code is a string.  <a href="#aa27ac2ed46bf90a4bab62ecbc19febb6">More...</a><br/></td></tr>
<tr class="separator:aa27ac2ed46bf90a4bab62ecbc19febb6 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6cbc8147a6f77c01f3b2b7cb5a39d1 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a1d6cbc8147a6f77c01f3b2b7cb5a39d1">setError</a> (bool enable)</td></tr>
<tr class="memdesc:a1d6cbc8147a6f77c01f3b2b7cb5a39d1 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method is used to turn the error handler on or off for "throwing" execptions by manipulating the thrown flag.  <a href="#a1d6cbc8147a6f77c01f3b2b7cb5a39d1">More...</a><br/></td></tr>
<tr class="separator:a1d6cbc8147a6f77c01f3b2b7cb5a39d1 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb14afa31f6d737cabc0c336198c3d88 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#afb14afa31f6d737cabc0c336198c3d88">setPacketInput</a> (int size, unsigned char btimer=0)</td></tr>
<tr class="memdesc:afb14afa31f6d737cabc0c336198c3d88 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set packet read mode and "size" of packet read buffer.  <a href="#afb14afa31f6d737cabc0c336198c3d88">More...</a><br/></td></tr>
<tr class="separator:afb14afa31f6d737cabc0c336198c3d88 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d239a3a6ab2cb7253e3eb3fe0618bd3 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a8d239a3a6ab2cb7253e3eb3fe0618bd3">setLineInput</a> (char newline=13, char nl1=0)</td></tr>
<tr class="memdesc:a8d239a3a6ab2cb7253e3eb3fe0618bd3 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set "line buffering" read mode and specifies the newline character to be used in seperating line records.  <a href="#a8d239a3a6ab2cb7253e3eb3fe0618bd3">More...</a><br/></td></tr>
<tr class="separator:a8d239a3a6ab2cb7253e3eb3fe0618bd3 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a024e1b908a4e77f392292a8fe5bb6236 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a024e1b908a4e77f392292a8fe5bb6236">restore</a> (void)</td></tr>
<tr class="memdesc:a024e1b908a4e77f392292a8fe5bb6236 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Restore serial device to the original settings at time of open.  <a href="#a024e1b908a4e77f392292a8fe5bb6236">More...</a><br/></td></tr>
<tr class="separator:a024e1b908a4e77f392292a8fe5bb6236 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c5990d5a0f551835809a975a51fb985 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a1c5990d5a0f551835809a975a51fb985">flushInput</a> (void)</td></tr>
<tr class="memdesc:a1c5990d5a0f551835809a975a51fb985 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to flush the input waiting queue.  <a href="#a1c5990d5a0f551835809a975a51fb985">More...</a><br/></td></tr>
<tr class="separator:a1c5990d5a0f551835809a975a51fb985 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acda1f30842b905cb2d624332c58702be inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#acda1f30842b905cb2d624332c58702be">flushOutput</a> (void)</td></tr>
<tr class="memdesc:acda1f30842b905cb2d624332c58702be inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to flush any pending output data.  <a href="#acda1f30842b905cb2d624332c58702be">More...</a><br/></td></tr>
<tr class="separator:acda1f30842b905cb2d624332c58702be inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad70726a0a7513c758036ade5241a8ddd inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ad70726a0a7513c758036ade5241a8ddd">waitOutput</a> (void)</td></tr>
<tr class="memdesc:ad70726a0a7513c758036ade5241a8ddd inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to wait until all output has been sent.  <a href="#ad70726a0a7513c758036ade5241a8ddd">More...</a><br/></td></tr>
<tr class="separator:ad70726a0a7513c758036ade5241a8ddd inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af318b426ad5f606f86b2c39bee5889b4 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#af318b426ad5f606f86b2c39bee5889b4">endSerial</a> (void)</td></tr>
<tr class="memdesc:af318b426ad5f606f86b2c39bee5889b4 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used as the default destructor for ending serial I/O services.  <a href="#af318b426ad5f606f86b2c39bee5889b4">More...</a><br/></td></tr>
<tr class="separator:af318b426ad5f606f86b2c39bee5889b4 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64916fc49030cc114f4785ad4c33166d inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a64916fc49030cc114f4785ad4c33166d">initConfig</a> (void)</td></tr>
<tr class="memdesc:a64916fc49030cc114f4785ad4c33166d inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">Used to initialize a newly opened serial file handle.  <a href="#a64916fc49030cc114f4785ad4c33166d">More...</a><br/></td></tr>
<tr class="separator:a64916fc49030cc114f4785ad4c33166d inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cc577c5c283fa23edf6efeaf5617829 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a2cc577c5c283fa23edf6efeaf5617829">Serial</a> ()</td></tr>
<tr class="memdesc:a2cc577c5c283fa23edf6efeaf5617829 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">This allows later ttystream class to open and close a serial device.  <a href="#a2cc577c5c283fa23edf6efeaf5617829">More...</a><br/></td></tr>
<tr class="separator:a2cc577c5c283fa23edf6efeaf5617829 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab34bbb6966918cb639e1003b7c1f2cb1 inherit pro_methods_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#ab34bbb6966918cb639e1003b7c1f2cb1">Serial</a> (const char *name)</td></tr>
<tr class="memdesc:ab34bbb6966918cb639e1003b7c1f2cb1 inherit pro_methods_classost_1_1_serial"><td class="mdescLeft">&#160;</td><td class="mdescRight">A serial object may be constructed from a named file on the file system.  <a href="#ab34bbb6966918cb639e1003b7c1f2cb1">More...</a><br/></td></tr>
<tr class="separator:ab34bbb6966918cb639e1003b7c1f2cb1 inherit pro_methods_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:aa8c4721865365c59db66755ea23bc4fb"><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial_port.html#aa8c4721865365c59db66755ea23bc4fb">SerialService</a></td></tr>
<tr class="separator:aa8c4721865365c59db66755ea23bc4fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classost_1_1_serial"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classost_1_1_serial')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classost_1_1_serial.html">ost::Serial</a></td></tr>
<tr class="memitem:a2f1bcf165447d5ed96093b6c8a346497 inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> { <br/>
&#160;&#160;<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a40d28eb35e78818af6d54350c3fd597d">errSuccess</a> = 0, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497adea5750f4c5d011d5c543b373a2cf230">errOpenNoTty</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497aef0ca060f94b5db0608bf3ceeaaedbee">errOpenFailed</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a5fa6a9e68cb29ec15f600c22fb424c9a">errSpeedInvalid</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a936c7e7aedb62d8c3654192f96b0c1b5">errFlowInvalid</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497adc409d6ffee22d17e7646bfce2d50b8e">errParityInvalid</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a280b96416b3ad39f1142f6918267bf5f">errCharsizeInvalid</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a5b6b13043d4c239acbdbcfb0b53ece92">errStopbitsInvalid</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a56ec86c7748b88f2e61e7cb2aa6313d0">errOptionInvalid</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497aac71caec475b2c8e77061d486f000b04">errResourceFailure</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a461e080df6f82ec6017226cba19a92b2">errOutput</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a3f81ba432a4ff8864033a355bd1ffccd">errInput</a>, 
<br/>
&#160;&#160;<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497ac64e00c5dee4d6ac546856dc8135ccd9">errTimeout</a>, 
<a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497a71b4964c5c550da322e19ae8fdb0b190">errExtended</a>
<br/>
 }</td></tr>
<tr class="separator:a2f1bcf165447d5ed96093b6c8a346497 inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269fc64928cd10bae2fe8a2eefab6303 inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">Flow</a> { <a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303a200f49e5ec47a4060706a210148af629">flowNone</a>, 
<a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303a40e097623df09f0aa335e2316eba1893">flowSoft</a>, 
<a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303a7b1222095085ca00a08988a849c0d78f">flowHard</a>, 
<a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303a74c00e3f9dd79bb8493f5fc87bd73b81">flowBoth</a>
 }</td></tr>
<tr class="separator:a269fc64928cd10bae2fe8a2eefab6303 inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54bdc2b3ce16dbf3542785ef69188f7c inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">Parity</a> { <a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7cac6e7991c8940f35aed8d547ac1455e0c">parityNone</a>, 
<a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7cab31e527b4644ba0f4b08f14a016e54c2">parityOdd</a>, 
<a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7cac99c7fdd2af17159f785e878edd1f221">parityEven</a>
 }</td></tr>
<tr class="separator:a54bdc2b3ce16dbf3542785ef69188f7c inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74fbabfe1dcbaebf6e484af11dd6d8b7 inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">Pending</a> { <a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7a252411555c5a7db1682c762f3acc5ad5">pendingInput</a>, 
<a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7aa13e15f4121356d33e5b9c7485b6a6b5">pendingOutput</a>, 
<a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7ad738f8c83dd497aeff2d639ba86bb84c">pendingError</a>
 }</td></tr>
<tr class="separator:a74fbabfe1dcbaebf6e484af11dd6d8b7 inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1955d3954338199da7165a4beb7c9703 inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a1955d3954338199da7165a4beb7c9703">Error</a></td></tr>
<tr class="separator:a1955d3954338199da7165a4beb7c9703 inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a032e8d67ca5a8f64a5cd348e1cba423d inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">Flow</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a032e8d67ca5a8f64a5cd348e1cba423d">Flow</a></td></tr>
<tr class="separator:a032e8d67ca5a8f64a5cd348e1cba423d inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7aab47de333eecc51d76a551dcd81db inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">Parity</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#af7aab47de333eecc51d76a551dcd81db">Parity</a></td></tr>
<tr class="separator:af7aab47de333eecc51d76a551dcd81db inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7acdd43b4d1766daa58bbb49352dd942 inherit pub_types_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">Pending</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a7acdd43b4d1766daa58bbb49352dd942">Pending</a></td></tr>
<tr class="separator:a7acdd43b4d1766daa58bbb49352dd942 inherit pub_types_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_attribs_classost_1_1_serial"><td colspan="2" onclick="javascript:toggleInherit('pro_attribs_classost_1_1_serial')"><img src="closed.png" alt="-"/>&#160;Protected Attributes inherited from <a class="el" href="classost_1_1_serial.html">ost::Serial</a></td></tr>
<tr class="memitem:a0f2dc5d07e275ab632df9630d4d7ad45 inherit pro_attribs_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top"><a class="el" href="serial_8h.html#a069bb8cb95b0528d5ce0304bb5561a40">HANDLE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a0f2dc5d07e275ab632df9630d4d7ad45">dev</a></td></tr>
<tr class="separator:a0f2dc5d07e275ab632df9630d4d7ad45 inherit pro_attribs_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b974da21c9bdaf38d745c7cb533bd4c inherit pro_attribs_classost_1_1_serial"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classost_1_1_serial.html#a6b974da21c9bdaf38d745c7cb533bd4c">bufsize</a></td></tr>
<tr class="separator:a6b974da21c9bdaf38d745c7cb533bd4c inherit pro_attribs_classost_1_1_serial"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The serial port is an internal class which is attached to and then serviced by a specified <a class="el" href="classost_1_1_serial_service.html" title="The SerialService is a thead service object that is meant to service attached serial ports...">SerialService</a> thread. </p>
<p>Derived versions of this class offer specific functionality such as serial integration protocols.</p>
<p>The TTYPort and TTYService classes are used to form thread-pool serviced serial I/O protocol sets. These can be used when one has a large number of serial devices to manage, and a single (or limited number of) thread(s) can then be used to service the tty port objects present. Each tty port supports a timer control and several virtual methods that the service thread can call when events occur. This model provides for "callback" event management, whereby the service thread performs a "callback" into the port object when events occur. Specific events supported include the expiration of a TTYPort timer, pending input data waiting to be read, and "sighup" connection breaks.</p>
<dl class="section author"><dt>Author</dt><dd>David Sugar <a href="#" onclick="location.href='mai'+'lto:'+'dyf'+'et'+'@os'+'te'+'l.c'+'om'; return false;">dyfet<span style="display: none;">.nosp@m.</span>@ost<span style="display: none;">.nosp@m.</span>el.co<span style="display: none;">.nosp@m.</span>m</a> base class for thread pool serviced serial I/O. </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a8e281b17e996c4f5eb18bdbb9a0b3e4b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::SerialPort::SerialPort </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial_service.html">SerialService</a> *&#160;</td>
          <td class="paramname"><em>svc</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct a tty serial port for a named serial device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">svc</td><td>pool thread object. </td></tr>
    <tr><td class="paramname">name</td><td>of tty port. </td></tr>
  </table>
  </dd>
</dl>

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

<p>Disconnect the <a class="el" href="classost_1_1_serial.html" title="The Serial class is used as the base for all serial I/O services under APE. ">Serial</a> Port from the service pool thread and shutdown the port. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac56f59989b9b11b094064e70eef6a681"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void ost::SerialPort::disconnect </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Called by the service thread when an exception has occured such as a hangup. </p>

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

<p>Called by the service thread when the objects timer has expired. </p>

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

<p>Get the current state of the DetectOutput flag. </p>

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

<p>Get the current state of the DetectPending flag. </p>

</div>
</div>
<a class="anchor" id="a4fa45b7494efbcd0c1b28a724f93b6b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SerialPort::incTimer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timeout</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Derived incTimer to notify the service thread pool of a change in expected timeout. </p>
<p>This allows <a class="el" href="classost_1_1_serial_service.html" title="The SerialService is a thead service object that is meant to service attached serial ports...">SerialService</a> to reschedule all timers. </p>

</div>
</div>
<a class="anchor" id="aeb0db8bb689d4610e91ce81f68dfd590"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::SerialPort::input </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Receive "input" for pending data from the serial port. </p>
<p>This is not a public member since it's meant to support internal protocols rather than direct external access to the device.</p>
<dl class="section return"><dt>Returns</dt><dd>number of bytes received. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>address of buffer to input. </td></tr>
    <tr><td class="paramname">len</td><td>of input buffer used. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2ace6514780e229ea0ac7dff9778583e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::SerialPort::output </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>len</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Transmit "send" data to the serial port. </p>
<p>This is not public since it's meant to support internal protocols rather than direct public access to the device.</p>
<dl class="section return"><dt>Returns</dt><dd>number of bytes send. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">buf</td><td>address of buffer to send. </td></tr>
    <tr><td class="paramname">len</td><td>of bytes to send. </td></tr>
  </table>
  </dd>
</dl>

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

<p>Perform when output is available for sending data. </p>

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

<p>Called by the service thread when input data is pending for this tty port. </p>
<p>Effected by setPacketInput and by setLineInput. </p>

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

<p>Used to indicate if output ready monitoring should be performed by the service thread. </p>

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

<p>Used to indicate if the service thread should monitor pending data for us. </p>

</div>
</div>
<a class="anchor" id="aeb008981e1a1d2eff230b231c3ce5d9c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ost::SerialPort::setTimer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="thread_8h.html#af412159e5cef839836a5e7b19ee75d1c">timeout_t</a>&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Derived setTimer to notify the service thread pool of changes in expected timeout. </p>
<p>This allows <a class="el" href="classost_1_1_serial_service.html" title="The SerialService is a thead service object that is meant to service attached serial ports...">SerialService</a> to reschedule all timers.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">timeout</td><td>in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a class="anchor" id="aa8c4721865365c59db66755ea23bc4fb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="classost_1_1_serial_service.html">SerialService</a></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </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><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 17 2013 23:24:57 for GNU CommonC++ by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.5
</small></address>
</body>
</html>