Sophie

Sophie

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

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::Serial 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.html">Serial</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classost_1_1_serial-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ost::Serial Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>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> class is used as the base for all serial I/O services under APE.  
 <a href="classost_1_1_serial.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::Serial:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classost_1_1_serial.png" usemap="#ost::Serial_map" alt=""/>
  <map id="ost::Serial_map" name="ost::Serial_map">
<area href="classost_1_1_serial_port.html" title="The serial port is an internal class which is attached to and then serviced by a specified SerialServ..." alt="ost::SerialPort" shape="rect" coords="0,56,101,80"/>
<area href="classost_1_1_t_t_y_stream.html" title="TTY streams are used to represent serial connections that are fully &quot;streamable&quot; objects using C++ st..." alt="ost::TTYStream" shape="rect" coords="111,56,212,80"/>
<area href="classost_1_1_t_t_y_session.html" title="The TTYSession aggragates a TTYStream and a Common C++ Thread which is assumed to be the execution co..." alt="ost::TTYSession" shape="rect" coords="55,112,156,136"/>
<area href="classost_1_1ttystream.html" title="A more natural C++ &quot;ttystream&quot; class for use by non-threaded applications. " alt="ost::ttystream" shape="rect" coords="166,112,267,136"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a2f1bcf165447d5ed96093b6c8a346497"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269fc64928cd10bae2fe8a2eefab6303"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a54bdc2b3ce16dbf3542785ef69188f7c"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74fbabfe1dcbaebf6e484af11dd6d8b7"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1955d3954338199da7165a4beb7c9703"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a032e8d67ca5a8f64a5cd348e1cba423d"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7aab47de333eecc51d76a551dcd81db"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7acdd43b4d1766daa58bbb49352dd942"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><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:aa62d1da910fb5454abb936a1c1b362c7"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1afd56643caecf083babbffc5ed13b97"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7f91aed2cc1f843d8ece7200fe55df4"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1c79b3d42f3b21700f270c0300377ea"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set character size.  <a href="#ae1c79b3d42f3b21700f270c0300377ea">More...</a><br/></td></tr>
<tr class="separator:ae1c79b3d42f3b21700f270c0300377ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5aca9ba379188e65978eb04d298985ab"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set parity mode.  <a href="#a5aca9ba379188e65978eb04d298985ab">More...</a><br/></td></tr>
<tr class="separator:a5aca9ba379188e65978eb04d298985ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea4eb6923c07efe9c4be85f826c452e"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ce3b5a9498490a1cc753fb69f114c75"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set flow control.  <a href="#a5ce3b5a9498490a1cc753fb69f114c75">More...</a><br/></td></tr>
<tr class="separator:a5ce3b5a9498490a1cc753fb69f114c75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a420bf5d2edc4bf8bce52149afd7b0bfb"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae33c36f64a9debb8ac54712c31313938"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send the "break" signal.  <a href="#ae33c36f64a9debb8ac54712c31313938">More...</a><br/></td></tr>
<tr class="separator:ae33c36f64a9debb8ac54712c31313938"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac8d9a9eedecf7dc42f53e8c852e9e6d3"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d67fb60e34c7a725f4494adaa11c0c9"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6d478bbdac8593181fc64eb66106815"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80501f19b1e225c87f2de484b220f737"><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"><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"><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:aab0033a3ce6c142a4882f05187ff2749"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens the serial device.  <a href="#aab0033a3ce6c142a4882f05187ff2749">More...</a><br/></td></tr>
<tr class="separator:aab0033a3ce6c142a4882f05187ff2749"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab58a9efec4fffc41b7f0618734a549e0"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes the serial device.  <a href="#ab58a9efec4fffc41b7f0618734a549e0">More...</a><br/></td></tr>
<tr class="separator:ab58a9efec4fffc41b7f0618734a549e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7054a38f90bed8943c8bf4ac63b09da"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads from serial device.  <a href="#aa7054a38f90bed8943c8bf4ac63b09da">More...</a><br/></td></tr>
<tr class="separator:aa7054a38f90bed8943c8bf4ac63b09da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a5f8409773d746095a959e636c50e46"><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"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes to serial device.  <a href="#a0a5f8409773d746095a959e636c50e46">More...</a><br/></td></tr>
<tr class="separator:a0a5f8409773d746095a959e636c50e46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b2d756a0e1c789c4cb3c49e85f5a77b"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27ac2ed46bf90a4bab62ecbc19febb6"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d6cbc8147a6f77c01f3b2b7cb5a39d1"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb14afa31f6d737cabc0c336198c3d88"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d239a3a6ab2cb7253e3eb3fe0618bd3"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a024e1b908a4e77f392292a8fe5bb6236"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c5990d5a0f551835809a975a51fb985"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acda1f30842b905cb2d624332c58702be"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad70726a0a7513c758036ade5241a8ddd"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af318b426ad5f606f86b2c39bee5889b4"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64916fc49030cc114f4785ad4c33166d"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2cc577c5c283fa23edf6efeaf5617829"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab34bbb6966918cb639e1003b7c1f2cb1"><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"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a0f2dc5d07e275ab632df9630d4d7ad45"><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"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b974da21c9bdaf38d745c7cb533bd4c"><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"><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 <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> class is used as the base for all serial I/O services under APE. </p>
<p>A serial is a system serial port that is used either for line or packet based data input. <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 "streamable" in a derived form.</p>
<p>Common C++ serial I/O classes are used to manage serial devices and implement serial device protocols. From the point of view of Common C++, serial devices are supported by the underlying Posix specified "termios" call interface.</p>
<p>The serial I/O base class is used to hold a descriptor to a serial device and to provide an exception handling interface for all serial I/O classes. The base class is also used to specify serial I/O properties such as communication speed, flow control, data size, and parity. The "Serial" base class is not itself directly used in application development, however.</p>
<p>Common C++ <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> I/O is itself divided into two conceptual modes; frame oriented and line oriented I/O. Both frame and line oriented I/O makes use of the ability of the underlying tty driver to buffer data and return "ready" status from when select either a specified number of bytes or newline record has been reached by manipulating termios c_cc fields appropriately. This provides some advantage in that a given thread servicing a serial port can block and wait rather than have to continually poll or read each and every byte as soon as it appears at the serial port.</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 all serial I/O services. </dd></dl>
</div><h2 class="groupheader">Member Typedef Documentation</h2>
<a class="anchor" id="a1955d3954338199da7165a4beb7c9703"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> <a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">ost::Serial::Error</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a032e8d67ca5a8f64a5cd348e1cba423d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">Flow</a> <a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">ost::Serial::Flow</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="af7aab47de333eecc51d76a551dcd81db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">Parity</a> <a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">ost::Serial::Parity</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a7acdd43b4d1766daa58bbb49352dd942"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">Pending</a> <a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">ost::Serial::Pending</a></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">ost::Serial::Error</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a40d28eb35e78818af6d54350c3fd597d"></a>errSuccess</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497adea5750f4c5d011d5c543b373a2cf230"></a>errOpenNoTty</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497aef0ca060f94b5db0608bf3ceeaaedbee"></a>errOpenFailed</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a5fa6a9e68cb29ec15f600c22fb424c9a"></a>errSpeedInvalid</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a936c7e7aedb62d8c3654192f96b0c1b5"></a>errFlowInvalid</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497adc409d6ffee22d17e7646bfce2d50b8e"></a>errParityInvalid</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a280b96416b3ad39f1142f6918267bf5f"></a>errCharsizeInvalid</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a5b6b13043d4c239acbdbcfb0b53ece92"></a>errStopbitsInvalid</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a56ec86c7748b88f2e61e7cb2aa6313d0"></a>errOptionInvalid</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497aac71caec475b2c8e77061d486f000b04"></a>errResourceFailure</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a461e080df6f82ec6017226cba19a92b2"></a>errOutput</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a3f81ba432a4ff8864033a355bd1ffccd"></a>errInput</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497ac64e00c5dee4d6ac546856dc8135ccd9"></a>errTimeout</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a2f1bcf165447d5ed96093b6c8a346497a71b4964c5c550da322e19ae8fdb0b190"></a>errExtended</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a269fc64928cd10bae2fe8a2eefab6303"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">ost::Serial::Flow</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a269fc64928cd10bae2fe8a2eefab6303a200f49e5ec47a4060706a210148af629"></a>flowNone</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a269fc64928cd10bae2fe8a2eefab6303a40e097623df09f0aa335e2316eba1893"></a>flowSoft</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a269fc64928cd10bae2fe8a2eefab6303a7b1222095085ca00a08988a849c0d78f"></a>flowHard</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a269fc64928cd10bae2fe8a2eefab6303a74c00e3f9dd79bb8493f5fc87bd73b81"></a>flowBoth</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a54bdc2b3ce16dbf3542785ef69188f7c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">ost::Serial::Parity</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a54bdc2b3ce16dbf3542785ef69188f7cac6e7991c8940f35aed8d547ac1455e0c"></a>parityNone</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a54bdc2b3ce16dbf3542785ef69188f7cab31e527b4644ba0f4b08f14a016e54c2"></a>parityOdd</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a54bdc2b3ce16dbf3542785ef69188f7cac99c7fdd2af17159f785e878edd1f221"></a>parityEven</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="a74fbabfe1dcbaebf6e484af11dd6d8b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">ost::Serial::Pending</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="a74fbabfe1dcbaebf6e484af11dd6d8b7a252411555c5a7db1682c762f3acc5ad5"></a>pendingInput</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a74fbabfe1dcbaebf6e484af11dd6d8b7aa13e15f4121356d33e5b9c7485b6a6b5"></a>pendingOutput</em>&nbsp;</td><td class="fielddoc">
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="a74fbabfe1dcbaebf6e484af11dd6d8b7ad738f8c83dd497aeff2d639ba86bb84c"></a>pendingError</em>&nbsp;</td><td class="fielddoc">
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a2cc577c5c283fa23edf6efeaf5617829"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::Serial::Serial </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This allows later ttystream class to open and close a serial device. </p>

</div>
</div>
<a class="anchor" id="ab34bbb6966918cb639e1003b7c1f2cb1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">ost::Serial::Serial </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>A serial object may be constructed from a named file on the file system. </p>
<p>This named device must be "isatty()".</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>of file. </td></tr>
  </table>
  </dd>
</dl>

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

<p>The serial base class may be "thrown" as a result on an error, and the "catcher" may then choose to destory the object. </p>
<p>By assuring the socket base class is a virtual destructor, we can assure the full object is properly terminated. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="aa7054a38f90bed8943c8bf4ac63b09da"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ost::Serial::aRead </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>Data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>Length</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 class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Reads from serial device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Data</td><td>Point to character buffer to receive data. Buffers MUST be at least Length + 1 bytes in size. </td></tr>
    <tr><td class="paramname">Length</td><td><a class="el" href="classost_1_1_number.html" title="A number manipulation class. ">Number</a> of bytes to read. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0a5f8409773d746095a959e636c50e46"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int ost::Serial::aWrite </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>Data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const int&#160;</td>
          <td class="paramname"><em>Length</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 class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Writes to serial device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Data</td><td>Point to character buffer containing data to write. Buffers MUST </td></tr>
    <tr><td class="paramname">Length</td><td><a class="el" href="classost_1_1_number.html" title="A number manipulation class. ">Number</a> of bytes to write. </td></tr>
  </table>
  </dd>
</dl>

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

<p>Closes the serial device. </p>

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

<p>Used as the default destructor for ending serial I/O services. </p>
<p>It will restore the port to it's original state. </p>

</div>
</div>
<a class="anchor" id="a2b2d756a0e1c789c4cb3c49e85f5a77b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> ost::Serial::error </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a>&#160;</td>
          <td class="paramname"><em>error</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>errstr</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>This service is used to throw all serial errors which usually occur during the serial constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">error</td><td>defined serial error id. </td></tr>
    <tr><td class="paramname">errstr</td><td>string or message to optionally pass. </td></tr>
  </table>
  </dd>
</dl>

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

<p>This service is used to thow application defined serial errors where the application specific error code is a string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">err</td><td>string or message to pass. </td></tr>
  </table>
  </dd>
</dl>

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

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

<p>Used to flush the input waiting queue. </p>

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

<p>Used to flush any pending output data. </p>

</div>
</div>
<a class="anchor" id="ae6d478bbdac8593181fc64eb66106815"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::Serial::getBufferSize </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the "buffer" size for buffered operations. </p>
<p>This can be used when setting packet or line read modes to determine how many bytes to wait for in a given read call.</p>
<dl class="section return"><dt>Returns</dt><dd>number of bytes used for buffering. </dd></dl>

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

<p>Often used by a "catch" to fetch the last error of a thrown serial. </p>
<dl class="section return"><dt>Returns</dt><dd>error numbr of last Error. </dd></dl>

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

<p>Often used by a "catch" to fetch the user set error string of a thrown serial. </p>
<dl class="section return"><dt>Returns</dt><dd>string for error message. </dd></dl>

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

<p>Used to initialize a newly opened serial file handle. </p>
<p>You should set serial properties and DTR manually before first use. </p>

</div>
</div>
<a class="anchor" id="a80501f19b1e225c87f2de484b220f737"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool ost::Serial::isPending </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial.html#a74fbabfe1dcbaebf6e484af11dd6d8b7">Pending</a>&#160;</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>&#160;</td>
          <td class="paramname"><em>timeout</em> = <code><a class="el" href="thread_8h.html#a74f2d4c747bce0b8f7f7c1f48e651876">TIMEOUT_INF</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </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.</p>
<dl class="section return"><dt>Returns</dt><dd>true if ready, false if timeout. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pend</td><td>ready check to perform. </td></tr>
    <tr><td class="paramname">timeout</td><td>in milliseconds. </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented in <a class="el" href="classost_1_1_t_t_y_stream.html#a59694c06c96e9febb3b88cbd4984f4bf">ost::TTYStream</a>.</p>

</div>
</div>
<a class="anchor" id="aab0033a3ce6c142a4882f05187ff2749"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ost::Serial::open </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>fname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Opens the serial device. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fname</td><td>Pathname of device to open </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1afd56643caecf083babbffc5ed13b97"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html">Serial</a>&amp; ost::Serial::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classost_1_1_serial.html">Serial</a> &amp;&#160;</td>
          <td class="paramname"><em>from</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p><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. </p>

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

<p>Restore serial device to the original settings at time of open. </p>

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

<p>Send the "break" signal. </p>

</div>
</div>
<a class="anchor" id="ae1c79b3d42f3b21700f270c0300377ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> ost::Serial::setCharBits </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>bits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set character size. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bits</td><td>character size to use (usually 7 or 8). </td></tr>
  </table>
  </dd>
</dl>

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

<p>This method is used to turn the error handler on or off for "throwing" execptions by manipulating the thrown flag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">enable</td><td>true to enable handler. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5ce3b5a9498490a1cc753fb69f114c75"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> ost::Serial::setFlowControl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial.html#a269fc64928cd10bae2fe8a2eefab6303">Flow</a>&#160;</td>
          <td class="paramname"><em>flow</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set flow control. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">flow</td><td>control mode. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8d239a3a6ab2cb7253e3eb3fe0618bd3"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::Serial::setLineInput </td>
          <td>(</td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>newline</em> = <code>13</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char&#160;</td>
          <td class="paramname"><em>nl1</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set "line buffering" read mode and specifies the newline character to be used in seperating line records. </p>
<p>isPending can then be used to wait for an entire line of input.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newline</td><td>newline character. </td></tr>
    <tr><td class="paramname">nl1</td><td>EOL2 control character. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of conical input buffer. </dd></dl>

</div>
</div>
<a class="anchor" id="afb14afa31f6d737cabc0c336198c3d88"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::Serial::setPacketInput </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned char&#160;</td>
          <td class="paramname"><em>btimer</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set packet read mode and "size" of packet read buffer. </p>
<p>This sets VMIN to x. VTIM is normally set to "0" so that "isPending()" can wait for an entire packet rather than just the first byte.</p>
<dl class="section return"><dt>Returns</dt><dd>actual buffer size set. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">size</td><td>of packet read request. </td></tr>
    <tr><td class="paramname">btimer</td><td>optional inter-byte data packet timeout. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5aca9ba379188e65978eb04d298985ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> ost::Serial::setParity </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classost_1_1_serial.html#a54bdc2b3ce16dbf3542785ef69188f7c">Parity</a>&#160;</td>
          <td class="paramname"><em>parity</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set parity mode. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">parity</td><td>mode. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac7f91aed2cc1f843d8ece7200fe55df4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> ost::Serial::setSpeed </td>
          <td>(</td>
          <td class="paramtype">unsigned long&#160;</td>
          <td class="paramname"><em>speed</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set serial port speed for both input and output. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">speed</td><td>to select. 0 signifies modem "hang up". </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aeea4eb6923c07efe9c4be85f826c452e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classost_1_1_serial.html#a2f1bcf165447d5ed96093b6c8a346497">Error</a> ost::Serial::setStopBits </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>bits</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set number of stop bits. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on success. </dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">bits</td><td>stop bits. </td></tr>
  </table>
  </dd>
</dl>

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

<p>Set the DTR mode off momentarily. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">millisec</td><td>number of milliseconds. </td></tr>
  </table>
  </dd>
</dl>

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

<p>Used to wait until all output has been sent. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a class="anchor" id="a6b974da21c9bdaf38d745c7cb533bd4c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int ost::Serial::bufsize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="a0f2dc5d07e275ab632df9630d4d7ad45"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="serial_8h.html#a069bb8cb95b0528d5ce0304bb5561a40">HANDLE</a> ost::Serial::dev</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="afb17fb6c08d2405281f473a037891aaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool ost::Serial::linebuf</td>
        </tr>
      </table>
</div><div class="memdoc">

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

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="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>