source: projects/punch-card/punch-card-editor/src/libs/qextserialport/html/classPosix__QextSerialPort.html @ 53

Last change on this file since 53 was 53, checked in by sven, 14 years ago

Punch Card Editor, ongoing development

  • Extended new Deck interface, expanding the undo framework
  • Implemented editor changes via undo framework
  • revised the menu and toolbar actions and structure (now dynamic construction at deck load time), implemented undo viewer
  • Started implementation of device driver framework in menu
  • Embedded the Qextserialport library (http://qextserialport.sourceforge.net/)
  • Started the Documation M200 Client device driver (well, just created the directory structure and qmake project file infrastructure)
  • At the current state, the complete project compiles :-)

Statistics: About 3500 Lines of code (without libqextserialport)

-- sven @ workstation

  • Property svn:executable set to *
File size: 185.6 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>QextSerialPort: Posix_QextSerialPort Class Reference</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5<link href="tabs.css" rel="stylesheet" type="text/css">
6</head><body>
7<!-- Generated by Doxygen 1.4.7 -->
8<div class="tabs">
9  <ul>
10    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
11    <li id="current"><a href="classes.html"><span>Classes</span></a></li>
12    <li><a href="files.html"><span>Files</span></a></li>
13  </ul></div>
14<div class="tabs">
15  <ul>
16    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
17    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
18    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
19    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
20  </ul></div>
21<h1>Posix_QextSerialPort Class Reference</h1><!-- doxytag: class="Posix_QextSerialPort" --><!-- doxytag: inherits="QextSerialBase" --><code>#include &lt;posix_qextserialport.h&gt;</code>
22<p>
23<p>Inheritance diagram for Posix_QextSerialPort:
24<p><center><img src="classPosix__QextSerialPort.png" usemap="#Posix_QextSerialPort_map" border="0" alt=""></center>
25<map name="Posix_QextSerialPort_map">
26<area href="classQextSerialBase.html" alt="QextSerialBase" shape="rect" coords="0,56,131,80">
27<area doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html" alt="QIODevice" shape="rect" coords="0,0,131,24">
28<area href="classQextBaseType.html" alt="QextBaseType" shape="rect" coords="0,168,131,192">
29<area href="classQextSerialPort.html" alt="QextSerialPort" shape="rect" coords="0,224,131,248">
30</map>
31<a href="classPosix__QextSerialPort-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
32<tr><td></td></tr>
33<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
34<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#aboutToClose">aboutToClose</a> ()</td></tr>
35
36<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#atEnd">atEnd</a> ()</td></tr>
37
38<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#573bd8fdf0ea5e4fb6caddc13a0ed5eb">atEnd</a> () const </td></tr>
39
40<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010">BaudRateType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#6d6eeab48cad2fa2adbebb23920c661a">baudRate</a> () const </td></tr>
41
42<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#6d593fe4f4623e93537a531d2c6157b7">bytesAvailable</a> ()</td></tr>
43
44<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#bytesToWrite">bytesToWrite</a> ()</td></tr>
45
46<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#bytesWritten">bytesWritten</a> (qint64 bytes)</td></tr>
47
48<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#canReadLine">canReadLine</a> ()</td></tr>
49
50<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#3a7ddf86a867770c88777c3e78545cb0">close</a> ()</td></tr>
51
52<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#7495b472b5e269d04c0c2e856901207f">construct</a> ()</td></tr>
53
54<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa">DataBitsType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a> () const </td></tr>
55
56<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#errorString">errorString</a> ()</td></tr>
57
58<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db4790">FlowType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#ad41090da77578cfae4b24510fe8c9b7">flowControl</a> () const </td></tr>
59
60<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#5f12a1a6c1c6a163fe146272e9a7d275">flush</a> ()</td></tr>
61
62<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#getChar">getChar</a> (char *c)</td></tr>
63
64<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a> ()</td></tr>
65
66<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isReadable">isReadable</a> ()</td></tr>
67
68<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isSequential">isSequential</a> ()</td></tr>
69
70<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#099fb47548a3566ed32d4d878fa57f4c">isSequential</a> () const </td></tr>
71
72<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isTextModeEnabled">isTextModeEnabled</a> ()</td></tr>
73
74<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isWritable">isWritable</a> ()</td></tr>
75
76<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ulong&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#e4029cb49127422b7e76586930366b05">lastError</a> () const </td></tr>
77
78<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual ulong&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#b419544e866cab58b8a3ce6341f6a7e9">lineStatus</a> ()</td></tr>
79
80<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#5585e9e5a60f2d134e2c03e7a8cadeb9">open</a> (OpenMode mode=0)</td></tr>
81
82<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#openMode">openMode</a> ()</td></tr>
83
84<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#e02031d657490ab37d5badf42482847a">operator=</a> (const <a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> &amp;s)</td></tr>
85
86<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace">ParityType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#d1ea7aa9d42563f6473b5c6dc9643e31">parity</a> () const </td></tr>
87
88<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#peek-2">peek</a> (qint64 maxSize)</td></tr>
89
90<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#peek">peek</a> (char *data, qint64 maxSize)</td></tr>
91
92<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#b890631914790729980569e38f3f8b6e">portName</a> () const </td></tr>
93
94<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#pos">pos</a> ()</td></tr>
95
96<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#574b415cde61cf693449338aef692211">Posix_QextSerialPort</a> (const QString &amp;name, const <a class="el" href="structPortSettings.html">PortSettings</a> &amp;settings)</td></tr>
97
98<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#8ade17fa6605245162661b75b9e71105">Posix_QextSerialPort</a> (const <a class="el" href="structPortSettings.html">PortSettings</a> &amp;settings)</td></tr>
99
100<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#07e9e48ffb75ad02b3cfaeb14ccbf384">Posix_QextSerialPort</a> (const QString &amp;name)</td></tr>
101
102<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#c409b3d891500be663894c9910749390">Posix_QextSerialPort</a> (const <a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> &amp;s)</td></tr>
103
104<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#e6e0dda91cd654352c26686e88a416ff">Posix_QextSerialPort</a> ()</td></tr>
105
106<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#putChar">putChar</a> (char c)</td></tr>
107
108<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#read-2">read</a> (qint64 maxSize)</td></tr>
109
110<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#read">read</a> (char *data, qint64 maxSize)</td></tr>
111
112<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#readAll">readAll</a> ()</td></tr>
113
114<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#readLine-2">readLine</a> (qint64 maxSize=0)</td></tr>
115
116<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#ee681a896845c9594c84dcd47d7eb566">readLine</a> (char *data, qint64 maxSize)</td></tr>
117
118<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#readLineData">readLineData</a> (char *data, qint64 maxSize)</td></tr>
119
120<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#readyRead">readyRead</a> ()</td></tr>
121
122<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#reset">reset</a> ()</td></tr>
123
124<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#seek">seek</a> (qint64 <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#pos">pos</a>)</td></tr>
125
126<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#007fcdd90f1137b010b6c43aa5b6dc6e">setBaudRate</a> (<a class="el" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010">BaudRateType</a>)</td></tr>
127
128<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#8f428dad3c4ec2fa8128397628c7e5d1">setDataBits</a> (<a class="el" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa">DataBitsType</a>)</td></tr>
129
130<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#089c560fd901eabe7190e80a36c7dcb8">setDtr</a> (bool set=true)</td></tr>
131
132<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setErrorString">setErrorString</a> (const QString &amp;str)</td></tr>
133
134<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#8bdd56422fbb95da7216f182a1ef6cfb">setFlowControl</a> (<a class="el" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db4790">FlowType</a>)</td></tr>
135
136<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a> (OpenMode <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#openMode">openMode</a>)</td></tr>
137
138<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#22dedc4f44c33b13f64bff33f844f795">setParity</a> (<a class="el" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace">ParityType</a>)</td></tr>
139
140<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#1c9f83f00f0ea53ee06b757e197cdf64">setPortName</a> (const QString &amp;name)</td></tr>
141
142<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#a099a4b3f406cf017e1dfe55da3a2c6a">setRts</a> (bool set=true)</td></tr>
143
144<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#34b54ac1bef6090010bf00a45dc173fe">setStopBits</a> (<a class="el" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f">StopBitsType</a>)</td></tr>
145
146<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setTextModeEnabled">setTextModeEnabled</a> (bool enabled)</td></tr>
147
148<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#aa242514dface394bc00906e043b0243">setTimeout</a> (ulong, ulong)</td></tr>
149
150<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#size">size</a> ()</td></tr>
151
152<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#6d5f7c00853102e7073120ddb4701f82">size</a> () const </td></tr>
153
154<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f">StopBitsType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a> () const </td></tr>
155
156<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#a099923f1360a08c6b7072254fd056e6">translateError</a> (ulong error)</td></tr>
157
158<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#3a425e78db628945a666c52aa8638d0f">ungetChar</a> (char c)</td></tr>
159
160<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#waitForBytesWritten">waitForBytesWritten</a> (int msecs)</td></tr>
161
162<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#waitForReadyRead">waitForReadyRead</a> (int msecs)</td></tr>
163
164<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#write-2">write</a> (const QByteArray &amp;byteArray)</td></tr>
165
166<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#write">write</a> (const char *data, qint64 maxSize)</td></tr>
167
168<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#12f6cdddbfd1b37109a39a0bcffb446d">~Posix_QextSerialPort</a> ()</td></tr>
169
170<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
171<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#73b99fe7198e7e94b13c13416a6b9fae">readData</a> (char *data, qint64 maxSize)</td></tr>
172
173<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual qint64&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#e8aabe89e479259b0b991dbd6b424f78">writeData</a> (const char *data, qint64 maxSize)</td></tr>
174
175<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
176<tr><td class="memItemLeft" nowrap align="right" valign="top">ulong&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a></td></tr>
177
178<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a></td></tr>
179
180<tr><td class="memItemLeft" nowrap align="right" valign="top">termios&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a></td></tr>
181
182<tr><td class="memItemLeft" nowrap align="right" valign="top">timeval&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a></td></tr>
183
184<tr><td class="memItemLeft" nowrap align="right" valign="top">QFile *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a></td></tr>
185
186<tr><td class="memItemLeft" nowrap align="right" valign="top">timeval&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a></td></tr>
187
188<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structPortSettings.html">PortSettings</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a></td></tr>
189
190<tr><td colspan="2"><br><h2>Static Protected Attributes</h2></td></tr>
191<tr><td class="memItemLeft" nowrap align="right" valign="top">static QMutex *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">mutex</a> = NULL</td></tr>
192
193<tr><td class="memItemLeft" nowrap align="right" valign="top">static ulong&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classQextSerialBase.html#e5df0cdbbf84781c17f02b8dbc99c93a">refCount</a> = 0</td></tr>
194
195</table>
196<hr><a name="_details"></a><h2>Detailed Description</h2>
197<dl compact><dt><b>Version:</b></dt><dd>1.0.0 </dd></dl>
198<dl compact><dt><b>Author:</b></dt><dd>Stefan Sander</dd></dl>
199A cross-platform serial port class. This class encapsulates the POSIX portion of <a class="el" href="classQextSerialPort.html">QextSerialPort</a>. The user will be notified of errors and possible portability conflicts at run-time by default - this behavior can be turned off by defining _TTY_NOWARN_ (to turn off all warnings) or _TTY_NOWARN_PORT_ (to turn off portability warnings) in the project. Note that _TTY_NOWARN_ will also turn off portability warnings.
200<p>
201<hr><h2>Constructor &amp; Destructor Documentation</h2>
202<a class="anchor" name="e6e0dda91cd654352c26686e88a416ff"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="e6e0dda91cd654352c26686e88a416ff" args="()" -->
203<div class="memitem">
204<div class="memproto">
205      <table class="memname">
206        <tr>
207          <td class="memname">Posix_QextSerialPort::Posix_QextSerialPort           </td>
208          <td>(</td>
209          <td class="paramname">          </td>
210          <td>&nbsp;)&nbsp;</td>
211          <td width="100%"></td>
212        </tr>
213      </table>
214</div>
215<div class="memdoc">
216
217<p>
218Default constructor. Note that the name of the device used by a <a class="el" href="classQextSerialPort.html">QextSerialPort</a> constructed with this constructor will be determined by defined constants, or lack thereof - the default behavior is the same as _TTY_LINUX_. Possible naming conventions and their associated constants are:<p>
219<div class="fragment"><pre class="fragment">Constant         Used By         Naming Convention
220----------       -------------   ------------------------
221_TTY_WIN_        Windows         COM1, COM2
222_TTY_IRIX_       SGI/IRIX        /dev/ttyf1, /dev/ttyf2
223_TTY_HPUX_       HP-UX           /dev/tty1p0, /dev/tty2p0
224_TTY_SUN_        SunOS/Solaris   /dev/ttya, /dev/ttyb
225_TTY_DIGITAL_    Digital UNIX    /dev/tty01, /dev/tty02
226_TTY_FREEBSD_    FreeBSD         /dev/ttyd0, /dev/ttyd1
227_TTY_LINUX_      Linux           /dev/ttyS0, /dev/ttyS1
228&lt;none&gt;           Linux           /dev/ttyS0, /dev/ttyS1
229</pre></div><p>
230This constructor assigns the device name to the name of the first port on the specified system. See the other constructors if you need to open a different port. <div class="fragment"><pre class="fragment"><a name="l00041"></a>00041 : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>()
231<a name="l00042"></a>00042 {
232<a name="l00043"></a>00043     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();
233<a name="l00044"></a>00044 }
234</pre></div>
235<p>
236
237</div>
238</div><p>
239<a class="anchor" name="c409b3d891500be663894c9910749390"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="c409b3d891500be663894c9910749390" args="(const Posix_QextSerialPort &amp;s)" -->
240<div class="memitem">
241<div class="memproto">
242      <table class="memname">
243        <tr>
244          <td class="memname">Posix_QextSerialPort::Posix_QextSerialPort           </td>
245          <td>(</td>
246          <td class="paramtype">const <a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> &amp;&nbsp;</td>
247          <td class="paramname"> <em>s</em>          </td>
248          <td>&nbsp;)&nbsp;</td>
249          <td width="100%"></td>
250        </tr>
251      </table>
252</div>
253<div class="memdoc">
254
255<p>
256Copy constructor. <div class="fragment"><pre class="fragment"><a name="l00051"></a>00051  : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(s.<a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>)
257<a name="l00052"></a>00052 {
258<a name="l00053"></a>00053     <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a>(s.<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#openMode">openMode</a>());
259<a name="l00054"></a>00054     <a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a> = s.<a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>;
260<a name="l00055"></a>00055     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>;
261<a name="l00056"></a>00056     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>;
262<a name="l00057"></a>00057     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>;
263<a name="l00058"></a>00058     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>;
264<a name="l00059"></a>00059     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>;
265<a name="l00060"></a>00060     <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=s.<a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>;
266<a name="l00061"></a>00061
267<a name="l00062"></a>00062     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();
268<a name="l00063"></a>00063     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=s.<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>;
269<a name="l00064"></a>00064     memcpy(&amp;<a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a>, &amp;s.<a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> timeval));
270<a name="l00065"></a>00065     memcpy(&amp;<a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>, &amp;s.<a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> timeval));
271<a name="l00066"></a>00066     memcpy(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, &amp;s.<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, <span class="keyword">sizeof</span>(<span class="keyword">struct</span> termios));
272<a name="l00067"></a>00067 }
273</pre></div>
274<p>
275
276</div>
277</div><p>
278<a class="anchor" name="07e9e48ffb75ad02b3cfaeb14ccbf384"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="07e9e48ffb75ad02b3cfaeb14ccbf384" args="(const QString &amp;name)" -->
279<div class="memitem">
280<div class="memproto">
281      <table class="memname">
282        <tr>
283          <td class="memname">Posix_QextSerialPort::Posix_QextSerialPort           </td>
284          <td>(</td>
285          <td class="paramtype">const QString &amp;&nbsp;</td>
286          <td class="paramname"> <em>name</em>          </td>
287          <td>&nbsp;)&nbsp;</td>
288          <td width="100%"></td>
289        </tr>
290      </table>
291</div>
292<div class="memdoc">
293
294<p>
295Constructs a serial port attached to the port specified by name. name is the name of the device, which is windowsystem-specific, e.g."COM1" or "/dev/ttyS0". <div class="fragment"><pre class="fragment"><a name="l00076"></a>00076  : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(name)
296<a name="l00077"></a>00077 {
297<a name="l00078"></a>00078     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();
298<a name="l00079"></a>00079 }
299</pre></div>
300<p>
301
302</div>
303</div><p>
304<a class="anchor" name="8ade17fa6605245162661b75b9e71105"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="8ade17fa6605245162661b75b9e71105" args="(const PortSettings &amp;settings)" -->
305<div class="memitem">
306<div class="memproto">
307      <table class="memname">
308        <tr>
309          <td class="memname">Posix_QextSerialPort::Posix_QextSerialPort           </td>
310          <td>(</td>
311          <td class="paramtype">const <a class="el" href="structPortSettings.html">PortSettings</a> &amp;&nbsp;</td>
312          <td class="paramname"> <em>settings</em>          </td>
313          <td>&nbsp;)&nbsp;</td>
314          <td width="100%"></td>
315        </tr>
316      </table>
317</div>
318<div class="memdoc">
319
320<p>
321Constructs a port with default name and specified settings. <div class="fragment"><pre class="fragment"><a name="l00086"></a>00086  : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>()
322<a name="l00087"></a>00087 {
323<a name="l00088"></a>00088     <a class="code" href="classPosix__QextSerialPort.html#007fcdd90f1137b010b6c43aa5b6dc6e">setBaudRate</a>(settings.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);
324<a name="l00089"></a>00089     <a class="code" href="classPosix__QextSerialPort.html#8f428dad3c4ec2fa8128397628c7e5d1">setDataBits</a>(settings.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);
325<a name="l00090"></a>00090     <a class="code" href="classPosix__QextSerialPort.html#22dedc4f44c33b13f64bff33f844f795">setParity</a>(settings.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);
326<a name="l00091"></a>00091     <a class="code" href="classPosix__QextSerialPort.html#34b54ac1bef6090010bf00a45dc173fe">setStopBits</a>(settings.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);
327<a name="l00092"></a>00092     <a class="code" href="classPosix__QextSerialPort.html#8bdd56422fbb95da7216f182a1ef6cfb">setFlowControl</a>(settings.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);
328<a name="l00093"></a>00093
329<a name="l00094"></a>00094     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();
330<a name="l00095"></a>00095     <a class="code" href="classPosix__QextSerialPort.html#aa242514dface394bc00906e043b0243">setTimeout</a>(settings.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>, settings.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>);
331<a name="l00096"></a>00096 }
332</pre></div>
333<p>
334
335</div>
336</div><p>
337<a class="anchor" name="574b415cde61cf693449338aef692211"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_QextSerialPort" ref="574b415cde61cf693449338aef692211" args="(const QString &amp;name, const PortSettings &amp;settings)" -->
338<div class="memitem">
339<div class="memproto">
340      <table class="memname">
341        <tr>
342          <td class="memname">Posix_QextSerialPort::Posix_QextSerialPort           </td>
343          <td>(</td>
344          <td class="paramtype">const QString &amp;&nbsp;</td>
345          <td class="paramname"> <em>name</em>, </td>
346        </tr>
347        <tr>
348          <td class="paramkey"></td>
349          <td></td>
350          <td class="paramtype">const <a class="el" href="structPortSettings.html">PortSettings</a> &amp;&nbsp;</td>
351          <td class="paramname"> <em>settings</em></td><td>&nbsp;</td>
352        </tr>
353        <tr>
354          <td></td>
355          <td>)</td>
356          <td></td><td></td><td width="100%"></td>
357        </tr>
358      </table>
359</div>
360<div class="memdoc">
361
362<p>
363Constructs a port with specified name and settings. <div class="fragment"><pre class="fragment"><a name="l00103"></a>00103  : <a class="code" href="classQextSerialBase.html#ba0fc6d8b5c675c91ebff90fc6415748">QextSerialBase</a>(name)
364<a name="l00104"></a>00104 {
365<a name="l00105"></a>00105     <a class="code" href="classPosix__QextSerialPort.html#007fcdd90f1137b010b6c43aa5b6dc6e">setBaudRate</a>(settings.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);
366<a name="l00106"></a>00106     <a class="code" href="classPosix__QextSerialPort.html#8f428dad3c4ec2fa8128397628c7e5d1">setDataBits</a>(settings.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);
367<a name="l00107"></a>00107     <a class="code" href="classPosix__QextSerialPort.html#22dedc4f44c33b13f64bff33f844f795">setParity</a>(settings.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);
368<a name="l00108"></a>00108     <a class="code" href="classPosix__QextSerialPort.html#34b54ac1bef6090010bf00a45dc173fe">setStopBits</a>(settings.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);
369<a name="l00109"></a>00109     <a class="code" href="classPosix__QextSerialPort.html#8bdd56422fbb95da7216f182a1ef6cfb">setFlowControl</a>(settings.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);
370<a name="l00110"></a>00110
371<a name="l00111"></a>00111     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=<span class="keyword">new</span> QFile();
372<a name="l00112"></a>00112     <a class="code" href="classPosix__QextSerialPort.html#aa242514dface394bc00906e043b0243">setTimeout</a>(settings.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>, settings.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>);
373<a name="l00113"></a>00113 }
374</pre></div>
375<p>
376
377</div>
378</div><p>
379<a class="anchor" name="12f6cdddbfd1b37109a39a0bcffb446d"></a><!-- doxytag: member="Posix_QextSerialPort::~Posix_QextSerialPort" ref="12f6cdddbfd1b37109a39a0bcffb446d" args="()" -->
380<div class="memitem">
381<div class="memproto">
382      <table class="memname">
383        <tr>
384          <td class="memname">Posix_QextSerialPort::~Posix_QextSerialPort           </td>
385          <td>(</td>
386          <td class="paramname">          </td>
387          <td>&nbsp;)&nbsp;</td>
388          <td width="100%"><code> [virtual]</code></td>
389        </tr>
390      </table>
391</div>
392<div class="memdoc">
393
394<p>
395Standard destructor. <div class="fragment"><pre class="fragment"><a name="l00142"></a>00142 {
396<a name="l00143"></a>00143     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
397<a name="l00144"></a>00144         <a class="code" href="classPosix__QextSerialPort.html#3a7ddf86a867770c88777c3e78545cb0">close</a>();
398<a name="l00145"></a>00145     }
399<a name="l00146"></a>00146     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;close();
400<a name="l00147"></a>00147     <span class="keyword">delete</span> <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>;
401<a name="l00148"></a>00148 }
402</pre></div>
403<p>
404
405</div>
406</div><p>
407<hr><h2>Member Function Documentation</h2>
408<a class="anchor" name="573bd8fdf0ea5e4fb6caddc13a0ed5eb"></a><!-- doxytag: member="Posix_QextSerialPort::atEnd" ref="573bd8fdf0ea5e4fb6caddc13a0ed5eb" args="() const " -->
409<div class="memitem">
410<div class="memproto">
411      <table class="memname">
412        <tr>
413          <td class="memname">bool QextSerialBase::atEnd           </td>
414          <td>(</td>
415          <td class="paramname">          </td>
416          <td>&nbsp;)&nbsp;</td>
417          <td width="100%"> const<code> [virtual, inherited]</code></td>
418        </tr>
419      </table>
420</div>
421<div class="memdoc">
422
423<p>
424This function will return true if the input buffer is empty (or on error), and false otherwise. Call <a class="el" href="classQextSerialBase.html#e4029cb49127422b7e76586930366b05">QextSerialBase::lastError()</a> for error information. <div class="fragment"><pre class="fragment"><a name="l00187"></a>00187 {
425<a name="l00188"></a>00188     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#86fc9d6239b7d136a9d80b93a727e093">size</a>()) {
426<a name="l00189"></a>00189         <span class="keywordflow">return</span> <span class="keyword">true</span>;
427<a name="l00190"></a>00190     }
428<a name="l00191"></a>00191     <span class="keywordflow">return</span> <span class="keyword">false</span>;
429<a name="l00192"></a>00192 }
430</pre></div>
431<p>
432
433</div>
434</div><p>
435<a class="anchor" name="6d6eeab48cad2fa2adbebb23920c661a"></a><!-- doxytag: member="Posix_QextSerialPort::baudRate" ref="6d6eeab48cad2fa2adbebb23920c661a" args="() const " -->
436<div class="memitem">
437<div class="memproto">
438      <table class="memname">
439        <tr>
440          <td class="memname"><a class="el" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010">BaudRateType</a> QextSerialBase::baudRate           </td>
441          <td>(</td>
442          <td class="paramtype">void&nbsp;</td>
443          <td class="paramname">          </td>
444          <td>&nbsp;)&nbsp;</td>
445          <td width="100%"> const<code> [virtual, inherited]</code></td>
446        </tr>
447      </table>
448</div>
449<div class="memdoc">
450
451<p>
452Returns the baud rate of the serial port. For a list of possible return values see the definition of the enum BaudRateType. <div class="fragment"><pre class="fragment"><a name="l00126"></a>00126 {
453<a name="l00127"></a>00127     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>;
454<a name="l00128"></a>00128 }
455</pre></div>
456<p>
457
458</div>
459</div><p>
460<a class="anchor" name="6d593fe4f4623e93537a531d2c6157b7"></a><!-- doxytag: member="Posix_QextSerialPort::bytesAvailable" ref="6d593fe4f4623e93537a531d2c6157b7" args="()" -->
461<div class="memitem">
462<div class="memproto">
463      <table class="memname">
464        <tr>
465          <td class="memname">qint64 Posix_QextSerialPort::bytesAvailable           </td>
466          <td>(</td>
467          <td class="paramname">          </td>
468          <td>&nbsp;)&nbsp;</td>
469          <td width="100%"><code> [virtual]</code></td>
470        </tr>
471      </table>
472</div>
473<div class="memdoc">
474
475<p>
476Returns the number of bytes waiting in the port's receive queue. This function will return 0 if the port is not currently open, or -1 on error. Error information can be retrieved by calling Posix_QextSerialPort::getLastError().
477<p>
478Implements <a class="el" href="classQextSerialBase.html#7e130a0ba5a0a9ba95ce5f75a5e2c526">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00909"></a>00909 {
479<a name="l00910"></a>00910     LOCK_MUTEX();
480<a name="l00911"></a>00911     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
481<a name="l00912"></a>00912         <span class="keywordtype">int</span> bytesQueued;
482<a name="l00913"></a>00913         fd_set fileSet;
483<a name="l00914"></a>00914         FD_ZERO(&amp;fileSet);
484<a name="l00915"></a>00915         FD_SET(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), &amp;fileSet);
485<a name="l00916"></a>00916
486<a name="l00917"></a>00917         <span class="comment">/*on Linux systems the Posix_Timeout structure will be altered by the select() call.</span>
487<a name="l00918"></a>00918 <span class="comment">          Make sure we use the right timeout values*/</span>
488<a name="l00919"></a>00919         <span class="comment">//memcpy(&amp;Posix_Timeout, &amp;Posix_Copy_Timeout, sizeof(struct timeval));</span>
489<a name="l00920"></a>00920         <a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a> = <a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>;
490<a name="l00921"></a>00921         <span class="keywordtype">int</span> n=select(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle()+1, &amp;fileSet, NULL, &amp;fileSet, &amp;Posix_Timeout);
491<a name="l00922"></a>00922         <span class="keywordflow">if</span> (!n) {
492<a name="l00923"></a>00923             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_PORT_TIMEOUT;
493<a name="l00924"></a>00924             UNLOCK_MUTEX();
494<a name="l00925"></a>00925             <span class="keywordflow">return</span> -1;
495<a name="l00926"></a>00926         }
496<a name="l00927"></a>00927         <span class="keywordflow">if</span> (n==-1 || ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), FIONREAD, &amp;bytesQueued)==-1) {
497<a name="l00928"></a>00928             <a class="code" href="classPosix__QextSerialPort.html#a099923f1360a08c6b7072254fd056e6">translateError</a>(errno);
498<a name="l00929"></a>00929             UNLOCK_MUTEX();
499<a name="l00930"></a>00930             <span class="keywordflow">return</span> -1;
500<a name="l00931"></a>00931         }
501<a name="l00932"></a>00932         <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_NO_ERROR;
502<a name="l00933"></a>00933         UNLOCK_MUTEX();
503<a name="l00934"></a>00934         <span class="keywordflow">return</span> bytesQueued + <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#bytesAvailable">QIODevice::bytesAvailable</a>();
504<a name="l00935"></a>00935     }
505<a name="l00936"></a>00936     UNLOCK_MUTEX();
506<a name="l00937"></a>00937     <span class="keywordflow">return</span> 0;
507<a name="l00938"></a>00938 }
508</pre></div>
509<p>
510
511</div>
512</div><p>
513<a class="anchor" name="3a7ddf86a867770c88777c3e78545cb0"></a><!-- doxytag: member="Posix_QextSerialPort::close" ref="3a7ddf86a867770c88777c3e78545cb0" args="()" -->
514<div class="memitem">
515<div class="memproto">
516      <table class="memname">
517        <tr>
518          <td class="memname">void Posix_QextSerialPort::close           </td>
519          <td>(</td>
520          <td class="paramname">          </td>
521          <td>&nbsp;)&nbsp;</td>
522          <td width="100%"><code> [virtual]</code></td>
523        </tr>
524      </table>
525</div>
526<div class="memdoc">
527
528<p>
529Closes a serial port. This function has no effect if the serial port associated with the class is not currently open.
530<p>
531Implements <a class="el" href="classQextSerialBase.html#2a4aea428bc05a88f86849bb7478c082">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00865"></a>00865 {
532<a name="l00866"></a>00866     LOCK_MUTEX();
533<a name="l00867"></a>00867     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;close();
534<a name="l00868"></a>00868     <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#close">QIODevice::close</a>();
535<a name="l00869"></a>00869     UNLOCK_MUTEX();
536<a name="l00870"></a>00870 }
537</pre></div>
538<p>
539
540</div>
541</div><p>
542<a class="anchor" name="7495b472b5e269d04c0c2e856901207f"></a><!-- doxytag: member="Posix_QextSerialPort::construct" ref="7495b472b5e269d04c0c2e856901207f" args="()" -->
543<div class="memitem">
544<div class="memproto">
545      <table class="memname">
546        <tr>
547          <td class="memname">void QextSerialBase::construct           </td>
548          <td>(</td>
549          <td class="paramname">          </td>
550          <td>&nbsp;)&nbsp;</td>
551          <td width="100%"><code> [virtual, inherited]</code></td>
552        </tr>
553      </table>
554</div>
555<div class="memdoc">
556
557<p>
558Common constructor function for setting up default port settings. (115200 Baud, 8N1, Hardware flow control where supported, otherwise no flow control, and 500 ms timeout). <div class="fragment"><pre class="fragment"><a name="l00083"></a>00083 {
559<a name="l00084"></a>00084     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=<a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01054a5ab3e880bc1722d455e420c0351e6">BAUD115200</a>;
560<a name="l00085"></a>00085     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>;
561<a name="l00086"></a>00086     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=<a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957acee0df16cbf90ff8b05d96d37094b3980a">PAR_NONE</a>;
562<a name="l00087"></a>00087     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f5a97cec5fc7aa14a4caae4b53d97fcfc">STOP_1</a>;
563<a name="l00088"></a>00088     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=<a class="code" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db479037eb6a580629a080ce39792149cf4976">FLOW_HARDWARE</a>;
564<a name="l00089"></a>00089     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>=0;
565<a name="l00090"></a>00090     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>=500;
566<a name="l00091"></a>00091
567<a name="l00092"></a>00092 <span class="preprocessor">#ifdef QT_THREAD_SUPPORT</span>
568<a name="l00093"></a>00093 <span class="preprocessor"></span>    <span class="keywordflow">if</span> (!<a class="code" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">mutex</a>) {
569<a name="l00094"></a>00094         <a class="code" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">mutex</a>=<span class="keyword">new</span> QMutex( QMutex::Recursive );
570<a name="l00095"></a>00095     }
571<a name="l00096"></a>00096     <a class="code" href="classQextSerialBase.html#e5df0cdbbf84781c17f02b8dbc99c93a">refCount</a>++;
572<a name="l00097"></a>00097 <span class="preprocessor">#endif</span>
573<a name="l00098"></a>00098 <span class="preprocessor"></span>
574<a name="l00099"></a>00099     <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a>(QIODevice::NotOpen);
575<a name="l00100"></a>00100 }
576</pre></div>
577<p>
578
579</div>
580</div><p>
581<a class="anchor" name="6836465ea5deaa1280e0e777e9c8651e"></a><!-- doxytag: member="Posix_QextSerialPort::dataBits" ref="6836465ea5deaa1280e0e777e9c8651e" args="() const " -->
582<div class="memitem">
583<div class="memproto">
584      <table class="memname">
585        <tr>
586          <td class="memname"><a class="el" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa">DataBitsType</a> QextSerialBase::dataBits           </td>
587          <td>(</td>
588          <td class="paramname">          </td>
589          <td>&nbsp;)&nbsp;</td>
590          <td width="100%"> const<code> [virtual, inherited]</code></td>
591        </tr>
592      </table>
593</div>
594<div class="memdoc">
595
596<p>
597Returns the number of data bits used by the port. For a list of possible values returned by this function, see the definition of the enum DataBitsType. <div class="fragment"><pre class="fragment"><a name="l00136"></a>00136 {
598<a name="l00137"></a>00137     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>;
599<a name="l00138"></a>00138 }
600</pre></div>
601<p>
602
603</div>
604</div><p>
605<a class="anchor" name="ad41090da77578cfae4b24510fe8c9b7"></a><!-- doxytag: member="Posix_QextSerialPort::flowControl" ref="ad41090da77578cfae4b24510fe8c9b7" args="() const " -->
606<div class="memitem">
607<div class="memproto">
608      <table class="memname">
609        <tr>
610          <td class="memname"><a class="el" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db4790">FlowType</a> QextSerialBase::flowControl           </td>
611          <td>(</td>
612          <td class="paramname">          </td>
613          <td>&nbsp;)&nbsp;</td>
614          <td width="100%"> const<code> [virtual, inherited]</code></td>
615        </tr>
616      </table>
617</div>
618<div class="memdoc">
619
620<p>
621Returns the type of flow control used by the port. For a list of possible values returned by this function, see the definition of the enum FlowType. <div class="fragment"><pre class="fragment"><a name="l00166"></a>00166 {
622<a name="l00167"></a>00167     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>;
623<a name="l00168"></a>00168 }
624</pre></div>
625<p>
626
627</div>
628</div><p>
629<a class="anchor" name="5f12a1a6c1c6a163fe146272e9a7d275"></a><!-- doxytag: member="Posix_QextSerialPort::flush" ref="5f12a1a6c1c6a163fe146272e9a7d275" args="()" -->
630<div class="memitem">
631<div class="memproto">
632      <table class="memname">
633        <tr>
634          <td class="memname">void Posix_QextSerialPort::flush           </td>
635          <td>(</td>
636          <td class="paramname">          </td>
637          <td>&nbsp;)&nbsp;</td>
638          <td width="100%"><code> [virtual]</code></td>
639        </tr>
640      </table>
641</div>
642<div class="memdoc">
643
644<p>
645Flushes all pending I/O to the serial port. This function has no effect if the serial port associated with the class is not currently open.
646<p>
647Implements <a class="el" href="classQextSerialBase.html#58df9d786aa70dfe9f547d4118103f39">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00878"></a>00878 {
648<a name="l00879"></a>00879     LOCK_MUTEX();
649<a name="l00880"></a>00880     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
650<a name="l00881"></a>00881         <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;flush();
651<a name="l00882"></a>00882     }
652<a name="l00883"></a>00883     UNLOCK_MUTEX();
653<a name="l00884"></a>00884 }
654</pre></div>
655<p>
656
657</div>
658</div><p>
659<a class="anchor" name="099fb47548a3566ed32d4d878fa57f4c"></a><!-- doxytag: member="Posix_QextSerialPort::isSequential" ref="099fb47548a3566ed32d4d878fa57f4c" args="() const " -->
660<div class="memitem">
661<div class="memproto">
662      <table class="memname">
663        <tr>
664          <td class="memname">bool QextSerialBase::isSequential           </td>
665          <td>(</td>
666          <td class="paramname">          </td>
667          <td>&nbsp;)&nbsp;</td>
668          <td width="100%"> const<code> [virtual, inherited]</code></td>
669        </tr>
670      </table>
671</div>
672<div class="memdoc">
673
674<p>
675Returns true if device is sequential, otherwise returns false. Serial port is sequential device so this function always returns true. Check <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isSequential">QIODevice::isSequential()</a> documentation for more information. <div class="fragment"><pre class="fragment"><a name="l00177"></a>00177 {
676<a name="l00178"></a>00178     <span class="keywordflow">return</span> <span class="keyword">true</span>;
677<a name="l00179"></a>00179 }
678</pre></div>
679<p>
680
681</div>
682</div><p>
683<a class="anchor" name="e4029cb49127422b7e76586930366b05"></a><!-- doxytag: member="Posix_QextSerialPort::lastError" ref="e4029cb49127422b7e76586930366b05" args="() const " -->
684<div class="memitem">
685<div class="memproto">
686      <table class="memname">
687        <tr>
688          <td class="memname">ulong QextSerialBase::lastError           </td>
689          <td>(</td>
690          <td class="paramname">          </td>
691          <td>&nbsp;)&nbsp;</td>
692          <td width="100%"> const<code> [virtual, inherited]</code></td>
693        </tr>
694      </table>
695</div>
696<div class="memdoc">
697
698<p>
699Returns the code for the last error encountered by the port, or E_NO_ERROR if the last port operation was successful. Possible error codes are:<p>
700<div class="fragment"><pre class="fragment">Error                           Explanation
701---------------------------     -------------------------------------------------------------
702E_NO_ERROR                      No Error has occured
703E_INVALID_FD                    Invalid file descriptor (port was not opened correctly)
704E_NO_MEMORY                     Unable to allocate memory tables (POSIX)
705E_CAUGHT_NON_BLOCKED_SIGNAL     Caught a non-blocked signal (POSIX)
706E_PORT_TIMEOUT                  Operation timed out (POSIX)
707E_INVALID_DEVICE                The file opened by the port is not a character device (POSIX)
708E_BREAK_CONDITION               The port detected a break condition
709E_FRAMING_ERROR                 The port detected a framing error
710                                (usually caused by incorrect baud rate settings)
711E_IO_ERROR                      There was an I/O error while communicating with the port
712E_BUFFER_OVERRUN                Character buffer overrun
713E_RECEIVE_OVERFLOW              Receive buffer overflow
714E_RECEIVE_PARITY_ERROR          The port detected a parity error in the received data
715E_TRANSMIT_OVERFLOW             Transmit buffer overflow
716E_READ_FAILED                   General read operation failure
717E_WRITE_FAILED                  General write operation failure
718</pre></div> <div class="fragment"><pre class="fragment"><a name="l00248"></a>00248 {
719<a name="l00249"></a>00249     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>;
720<a name="l00250"></a>00250 }
721</pre></div>
722<p>
723
724</div>
725</div><p>
726<a class="anchor" name="b419544e866cab58b8a3ce6341f6a7e9"></a><!-- doxytag: member="Posix_QextSerialPort::lineStatus" ref="b419544e866cab58b8a3ce6341f6a7e9" args="()" -->
727<div class="memitem">
728<div class="memproto">
729      <table class="memname">
730        <tr>
731          <td class="memname">unsigned long Posix_QextSerialPort::lineStatus           </td>
732          <td>(</td>
733          <td class="paramtype">void&nbsp;</td>
734          <td class="paramname">          </td>
735          <td>&nbsp;)&nbsp;</td>
736          <td width="100%"><code> [virtual]</code></td>
737        </tr>
738      </table>
739</div>
740<div class="memdoc">
741
742<p>
743returns the line status as stored by the port function. This function will retrieve the states of the following lines: DCD, CTS, DSR, and RI. On POSIX systems, the following additional lines can be monitored: DTR, RTS, Secondary TXD, and Secondary RXD. The value returned is an unsigned long with specific bits indicating which lines are high. The following constants should be used to examine the states of individual lines:<p>
744<div class="fragment"><pre class="fragment">Mask        Line
745------      ----
746LS_CTS      CTS
747LS_DSR      DSR
748LS_DCD      DCD
749LS_RI       RI
750LS_RTS      RTS (POSIX only)
751LS_DTR      DTR (POSIX only)
752LS_ST       Secondary TXD (POSIX only)
753LS_SR       Secondary RXD (POSIX only)
754</pre></div><p>
755This function will return 0 if the port associated with the class is not currently open.
756<p>
757Implements <a class="el" href="classQextSerialBase.html#28b87dd41160a61e2953dca38aa332d6">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l01042"></a>01042 {
758<a name="l01043"></a>01043     <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> Status=0, Temp=0;
759<a name="l01044"></a>01044     LOCK_MUTEX();
760<a name="l01045"></a>01045     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
761<a name="l01046"></a>01046         ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TIOCMGET, &amp;Temp);
762<a name="l01047"></a>01047         <span class="keywordflow">if</span> (Temp&amp;TIOCM_CTS) {
763<a name="l01048"></a>01048             Status|=LS_CTS;
764<a name="l01049"></a>01049         }
765<a name="l01050"></a>01050         <span class="keywordflow">if</span> (Temp&amp;TIOCM_DSR) {
766<a name="l01051"></a>01051             Status|=LS_DSR;
767<a name="l01052"></a>01052         }
768<a name="l01053"></a>01053         <span class="keywordflow">if</span> (Temp&amp;TIOCM_RI) {
769<a name="l01054"></a>01054             Status|=LS_RI;
770<a name="l01055"></a>01055         }
771<a name="l01056"></a>01056         <span class="keywordflow">if</span> (Temp&amp;TIOCM_CD) {
772<a name="l01057"></a>01057             Status|=LS_DCD;
773<a name="l01058"></a>01058         }
774<a name="l01059"></a>01059         <span class="keywordflow">if</span> (Temp&amp;TIOCM_DTR) {
775<a name="l01060"></a>01060             Status|=LS_DTR;
776<a name="l01061"></a>01061         }
777<a name="l01062"></a>01062         <span class="keywordflow">if</span> (Temp&amp;TIOCM_RTS) {
778<a name="l01063"></a>01063             Status|=LS_RTS;
779<a name="l01064"></a>01064         }
780<a name="l01065"></a>01065         <span class="keywordflow">if</span> (Temp&amp;TIOCM_ST) {
781<a name="l01066"></a>01066             Status|=LS_ST;
782<a name="l01067"></a>01067         }
783<a name="l01068"></a>01068         <span class="keywordflow">if</span> (Temp&amp;TIOCM_SR) {
784<a name="l01069"></a>01069             Status|=LS_SR;
785<a name="l01070"></a>01070         }
786<a name="l01071"></a>01071     }
787<a name="l01072"></a>01072     UNLOCK_MUTEX();
788<a name="l01073"></a>01073     <span class="keywordflow">return</span> Status;
789<a name="l01074"></a>01074 }
790</pre></div>
791<p>
792
793</div>
794</div><p>
795<a class="anchor" name="5585e9e5a60f2d134e2c03e7a8cadeb9"></a><!-- doxytag: member="Posix_QextSerialPort::open" ref="5585e9e5a60f2d134e2c03e7a8cadeb9" args="(OpenMode mode=0)" -->
796<div class="memitem">
797<div class="memproto">
798      <table class="memname">
799        <tr>
800          <td class="memname">bool Posix_QextSerialPort::open           </td>
801          <td>(</td>
802          <td class="paramtype">OpenMode&nbsp;</td>
803          <td class="paramname"> <em>mode</em> = <code>0</code>          </td>
804          <td>&nbsp;)&nbsp;</td>
805          <td width="100%"><code> [virtual]</code></td>
806        </tr>
807      </table>
808</div>
809<div class="memdoc">
810
811<p>
812Opens the serial port associated to this class. This function has no effect if the port associated with the class is already open. The port is also configured to the current settings, as stored in the Settings structure.
813<p>
814Implements <a class="el" href="classQextSerialBase.html#e7fadc74c97f903f6b499e6155236b3e">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00817"></a>00817 {
815<a name="l00818"></a>00818     LOCK_MUTEX();
816<a name="l00819"></a>00819     <span class="keywordflow">if</span> (mode == QIODevice::NotOpen)
817<a name="l00820"></a>00820         <span class="keywordflow">return</span> <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>();
818<a name="l00821"></a>00821     <span class="keywordflow">if</span> (!<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
819<a name="l00822"></a>00822         <span class="comment">/*open the port*/</span>
820<a name="l00823"></a>00823         <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;setFileName(<a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>);
821<a name="l00824"></a>00824         qDebug(<span class="stringliteral">"Trying to open File"</span>);
822<a name="l00825"></a>00825         <span class="keywordflow">if</span> (<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;open(QIODevice::ReadWrite|QIODevice::Unbuffered)) {
823<a name="l00826"></a>00826             qDebug(<span class="stringliteral">"Opened File succesfully"</span>);
824<a name="l00827"></a>00827             <span class="comment">/*set open mode*/</span>
825<a name="l00828"></a>00828             <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#open">QIODevice::open</a>(mode);
826<a name="l00829"></a>00829
827<a name="l00830"></a>00830             <span class="comment">/*configure port settings*/</span>
828<a name="l00831"></a>00831             tcgetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
829<a name="l00832"></a>00832
830<a name="l00833"></a>00833             <span class="comment">/*set up other port settings*/</span>
831<a name="l00834"></a>00834             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CREAD|CLOCAL;
832<a name="l00835"></a>00835             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_lflag&amp;=(~(ICANON|ECHO|ECHOE|ECHOK|ECHONL|ISIG));
833<a name="l00836"></a>00836             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_iflag&amp;=(~(INPCK|IGNPAR|PARMRK|ISTRIP|ICRNL|IXANY));
834<a name="l00837"></a>00837             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_oflag&amp;=(~OPOST);
835<a name="l00838"></a>00838             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VMIN]=0;
836<a name="l00839"></a>00839             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VINTR] = _POSIX_VDISABLE;
837<a name="l00840"></a>00840             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VQUIT] = _POSIX_VDISABLE;
838<a name="l00841"></a>00841             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VSTART] = _POSIX_VDISABLE;
839<a name="l00842"></a>00842             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VSTOP] = _POSIX_VDISABLE;
840<a name="l00843"></a>00843             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VSUSP] = _POSIX_VDISABLE;
841<a name="l00844"></a>00844             <a class="code" href="classPosix__QextSerialPort.html#007fcdd90f1137b010b6c43aa5b6dc6e">setBaudRate</a>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>);
842<a name="l00845"></a>00845             <a class="code" href="classPosix__QextSerialPort.html#8f428dad3c4ec2fa8128397628c7e5d1">setDataBits</a>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>);
843<a name="l00846"></a>00846             <a class="code" href="classPosix__QextSerialPort.html#22dedc4f44c33b13f64bff33f844f795">setParity</a>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>);
844<a name="l00847"></a>00847             <a class="code" href="classPosix__QextSerialPort.html#34b54ac1bef6090010bf00a45dc173fe">setStopBits</a>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>);
845<a name="l00848"></a>00848             <a class="code" href="classPosix__QextSerialPort.html#8bdd56422fbb95da7216f182a1ef6cfb">setFlowControl</a>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>);
846<a name="l00849"></a>00849             <a class="code" href="classPosix__QextSerialPort.html#aa242514dface394bc00906e043b0243">setTimeout</a>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>, <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>);
847<a name="l00850"></a>00850             tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
848<a name="l00851"></a>00851         } <span class="keywordflow">else</span> {
849<a name="l00852"></a>00852             qDebug(<span class="stringliteral">"Could not open File! Error code : %d"</span>, <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;error());
850<a name="l00853"></a>00853         }
851<a name="l00854"></a>00854     }
852<a name="l00855"></a>00855     UNLOCK_MUTEX();
853<a name="l00856"></a>00856     <span class="keywordflow">return</span> <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>();
854<a name="l00857"></a>00857 }
855</pre></div>
856<p>
857
858</div>
859</div><p>
860<a class="anchor" name="e02031d657490ab37d5badf42482847a"></a><!-- doxytag: member="Posix_QextSerialPort::operator=" ref="e02031d657490ab37d5badf42482847a" args="(const Posix_QextSerialPort &amp;s)" -->
861<div class="memitem">
862<div class="memproto">
863      <table class="memname">
864        <tr>
865          <td class="memname"><a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> &amp; Posix_QextSerialPort::operator=           </td>
866          <td>(</td>
867          <td class="paramtype">const <a class="el" href="classPosix__QextSerialPort.html">Posix_QextSerialPort</a> &amp;&nbsp;</td>
868          <td class="paramname"> <em>s</em>          </td>
869          <td>&nbsp;)&nbsp;</td>
870          <td width="100%"></td>
871        </tr>
872      </table>
873</div>
874<div class="memdoc">
875
876<p>
877Override the = operator. <div class="fragment"><pre class="fragment"><a name="l00120"></a>00120 {
878<a name="l00121"></a>00121     <a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#setOpenMode">setOpenMode</a>(s.<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#openMode">openMode</a>());
879<a name="l00122"></a>00122     <a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a> = s.<a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>;
880<a name="l00123"></a>00123     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>;
881<a name="l00124"></a>00124     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>;
882<a name="l00125"></a>00125     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>;
883<a name="l00126"></a>00126     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>;
884<a name="l00127"></a>00127     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=s.<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>;
885<a name="l00128"></a>00128     <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=s.<a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>;
886<a name="l00129"></a>00129
887<a name="l00130"></a>00130     <a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>=s.<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>;
888<a name="l00131"></a>00131     memcpy(&amp;<a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a>, &amp;(s.<a class="code" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_Timeout</a>), <span class="keyword">sizeof</span>(<span class="keyword">struct</span> timeval));
889<a name="l00132"></a>00132     memcpy(&amp;<a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>, &amp;(s.<a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>), <span class="keyword">sizeof</span>(<span class="keyword">struct</span> timeval));
890<a name="l00133"></a>00133     memcpy(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, &amp;(s.<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>), <span class="keyword">sizeof</span>(<span class="keyword">struct</span> termios));
891<a name="l00134"></a>00134     <span class="keywordflow">return</span> *<span class="keyword">this</span>;
892<a name="l00135"></a>00135 }
893</pre></div>
894<p>
895
896</div>
897</div><p>
898<a class="anchor" name="d1ea7aa9d42563f6473b5c6dc9643e31"></a><!-- doxytag: member="Posix_QextSerialPort::parity" ref="d1ea7aa9d42563f6473b5c6dc9643e31" args="() const " -->
899<div class="memitem">
900<div class="memproto">
901      <table class="memname">
902        <tr>
903          <td class="memname"><a class="el" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace">ParityType</a> QextSerialBase::parity           </td>
904          <td>(</td>
905          <td class="paramname">          </td>
906          <td>&nbsp;)&nbsp;</td>
907          <td width="100%"> const<code> [virtual, inherited]</code></td>
908        </tr>
909      </table>
910</div>
911<div class="memdoc">
912
913<p>
914Returns the type of parity used by the port. For a list of possible values returned by this function, see the definition of the enum ParityType. <div class="fragment"><pre class="fragment"><a name="l00146"></a>00146 {
915<a name="l00147"></a>00147     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>;
916<a name="l00148"></a>00148 }
917</pre></div>
918<p>
919
920</div>
921</div><p>
922<a class="anchor" name="b890631914790729980569e38f3f8b6e"></a><!-- doxytag: member="Posix_QextSerialPort::portName" ref="b890631914790729980569e38f3f8b6e" args="() const " -->
923<div class="memitem">
924<div class="memproto">
925      <table class="memname">
926        <tr>
927          <td class="memname">QString QextSerialBase::portName           </td>
928          <td>(</td>
929          <td class="paramname">          </td>
930          <td>&nbsp;)&nbsp;</td>
931          <td width="100%"> const<code> [virtual, inherited]</code></td>
932        </tr>
933      </table>
934</div>
935<div class="memdoc">
936
937<p>
938Returns the name set by <a class="el" href="classQextSerialBase.html#1c9f83f00f0ea53ee06b757e197cdf64">setPortName()</a>. <div class="fragment"><pre class="fragment"><a name="l00116"></a>00116 {
939<a name="l00117"></a>00117     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a>;
940<a name="l00118"></a>00118 }
941</pre></div>
942<p>
943
944</div>
945</div><p>
946<a class="anchor" name="73b99fe7198e7e94b13c13416a6b9fae"></a><!-- doxytag: member="Posix_QextSerialPort::readData" ref="73b99fe7198e7e94b13c13416a6b9fae" args="(char *data, qint64 maxSize)" -->
947<div class="memitem">
948<div class="memproto">
949      <table class="memname">
950        <tr>
951          <td class="memname">qint64 Posix_QextSerialPort::readData           </td>
952          <td>(</td>
953          <td class="paramtype">char *&nbsp;</td>
954          <td class="paramname"> <em>data</em>, </td>
955        </tr>
956        <tr>
957          <td class="paramkey"></td>
958          <td></td>
959          <td class="paramtype">qint64&nbsp;</td>
960          <td class="paramname"> <em>maxSize</em></td><td>&nbsp;</td>
961        </tr>
962        <tr>
963          <td></td>
964          <td>)</td>
965          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
966        </tr>
967      </table>
968</div>
969<div class="memdoc">
970
971<p>
972Reads a block of data from the serial port. This function will read at most maxSize bytes from the serial port and place them in the buffer pointed to by data. Return value is the number of bytes actually read, or -1 on error.<p>
973<dl compact><dt><b>Warning:</b></dt><dd>before calling this function ensure that serial port associated with this class is currently open (use <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen()</a> function to check if port is open). </dd></dl>
974
975<p>
976Implements <a class="el" href="classQextSerialBase.html#d36903893a43ad4468e25243117dea73">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l01086"></a>01086 {
977<a name="l01087"></a>01087     LOCK_MUTEX();
978<a name="l01088"></a>01088     <span class="keywordtype">int</span> retVal=0;
979<a name="l01089"></a>01089     retVal=<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;read(data, maxSize);
980<a name="l01090"></a>01090     <span class="keywordflow">if</span> (retVal==-1)
981<a name="l01091"></a>01091         <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_READ_FAILED;
982<a name="l01092"></a>01092     UNLOCK_MUTEX();
983<a name="l01093"></a>01093
984<a name="l01094"></a>01094     <span class="keywordflow">return</span> retVal;
985<a name="l01095"></a>01095 }
986</pre></div>
987<p>
988
989</div>
990</div><p>
991<a class="anchor" name="ee681a896845c9594c84dcd47d7eb566"></a><!-- doxytag: member="Posix_QextSerialPort::readLine" ref="ee681a896845c9594c84dcd47d7eb566" args="(char *data, qint64 maxSize)" -->
992<div class="memitem">
993<div class="memproto">
994      <table class="memname">
995        <tr>
996          <td class="memname">qint64 QextSerialBase::readLine           </td>
997          <td>(</td>
998          <td class="paramtype">char *&nbsp;</td>
999          <td class="paramname"> <em>data</em>, </td>
1000        </tr>
1001        <tr>
1002          <td class="paramkey"></td>
1003          <td></td>
1004          <td class="paramtype">qint64&nbsp;</td>
1005          <td class="paramname"> <em>maxSize</em></td><td>&nbsp;</td>
1006        </tr>
1007        <tr>
1008          <td></td>
1009          <td>)</td>
1010          <td></td><td></td><td width="100%"><code> [virtual, inherited]</code></td>
1011        </tr>
1012      </table>
1013</div>
1014<div class="memdoc">
1015
1016<p>
1017This function will read a line of buffered input from the port, stopping when either maxSize bytes have been read, the port has no more data available, or a newline is encountered. The value returned is the length of the string that was read.
1018<p>
1019Reimplemented from <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#readLine">QIODevice</a>.<div class="fragment"><pre class="fragment"><a name="l00201"></a>00201 {
1020<a name="l00202"></a>00202     qint64 numBytes = <a class="code" href="classQextSerialBase.html#7e130a0ba5a0a9ba95ce5f75a5e2c526">bytesAvailable</a>();
1021<a name="l00203"></a>00203     <span class="keywordtype">char</span>* pData = data;
1022<a name="l00204"></a>00204
1023<a name="l00205"></a>00205     <span class="keywordflow">if</span> (maxSize &lt; 2)    <span class="comment">//maxSize must be larger than 1</span>
1024<a name="l00206"></a>00206         <span class="keywordflow">return</span> -1;
1025<a name="l00207"></a>00207
1026<a name="l00208"></a>00208     <span class="comment">/*read a byte at a time for MIN(bytesAvail, maxSize - 1) iterations, or until a newline*/</span>
1027<a name="l00209"></a>00209     <span class="keywordflow">while</span> (pData&lt;(data+numBytes) &amp;&amp; --maxSize) {
1028<a name="l00210"></a>00210         <a class="code" href="classQextSerialBase.html#d36903893a43ad4468e25243117dea73">readData</a>(pData, 1);
1029<a name="l00211"></a>00211         <span class="keywordflow">if</span> (*pData++ == <span class="charliteral">'\n'</span>) {
1030<a name="l00212"></a>00212             <span class="keywordflow">break</span>;
1031<a name="l00213"></a>00213         }
1032<a name="l00214"></a>00214     }
1033<a name="l00215"></a>00215     *pData=<span class="charliteral">'\0'</span>;
1034<a name="l00216"></a>00216
1035<a name="l00217"></a>00217     <span class="comment">/*return size of data read*/</span>
1036<a name="l00218"></a>00218     <span class="keywordflow">return</span> (pData-data);
1037<a name="l00219"></a>00219 }
1038</pre></div>
1039<p>
1040
1041</div>
1042</div><p>
1043<a class="anchor" name="007fcdd90f1137b010b6c43aa5b6dc6e"></a><!-- doxytag: member="Posix_QextSerialPort::setBaudRate" ref="007fcdd90f1137b010b6c43aa5b6dc6e" args="(BaudRateType)" -->
1044<div class="memitem">
1045<div class="memproto">
1046      <table class="memname">
1047        <tr>
1048          <td class="memname">void Posix_QextSerialPort::setBaudRate           </td>
1049          <td>(</td>
1050          <td class="paramtype"><a class="el" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010">BaudRateType</a>&nbsp;</td>
1051          <td class="paramname"> <em>baudRate</em>          </td>
1052          <td>&nbsp;)&nbsp;</td>
1053          <td width="100%"><code> [virtual]</code></td>
1054        </tr>
1055      </table>
1056</div>
1057<div class="memdoc">
1058
1059<p>
1060Sets the baud rate of the serial port. Note that not all rates are applicable on all platforms. The following table shows translations of the various baud rate constants on Windows(including NT/2000) and POSIX platforms. Speeds marked with an * are speeds that are usable on both Windows and POSIX.<p>
1061<dl compact><dt><b>Note:</b></dt><dd>BAUD76800 may not be supported on all POSIX systems. SGI/IRIX systems do not support BAUD1800.</dd></dl>
1062<div class="fragment"><pre class="fragment">  RATE          Windows Speed   POSIX Speed
1063  -----------   -------------   -----------
1064   BAUD50                 110          50
1065   BAUD75                 110          75
1066  *BAUD110                110         110
1067   BAUD134                110         134.5
1068   BAUD150                110         150
1069   BAUD200                110         200
1070  *BAUD300                300         300
1071  *BAUD600                600         600
1072  *BAUD1200              1200        1200
1073   BAUD1800              1200        1800
1074  *BAUD2400              2400        2400
1075  *BAUD4800              4800        4800
1076  *BAUD9600              9600        9600
1077   BAUD14400            14400        9600
1078  *BAUD19200            19200       19200
1079  *BAUD38400            38400       38400
1080   BAUD56000            56000       38400
1081  *BAUD57600            57600       57600
1082   BAUD76800            57600       76800
1083  *BAUD115200          115200      115200
1084   BAUD128000          128000      115200
1085   BAUD256000          256000      115200
1086</pre></div> 
1087<p>
1088Implements <a class="el" href="classQextSerialBase.html#05b59a48366ae452bf8e033f83402543">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00190"></a>00190 {
1089<a name="l00191"></a>00191     LOCK_MUTEX();
1090<a name="l00192"></a>00192     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>!=<a class="code" href="classQextSerialBase.html#6d6eeab48cad2fa2adbebb23920c661a">baudRate</a>) {
1091<a name="l00193"></a>00193         <span class="keywordflow">switch</span> (<a class="code" href="classQextSerialBase.html#6d6eeab48cad2fa2adbebb23920c661a">baudRate</a>) {
1092<a name="l00194"></a>00194             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010d208c844993c394ce55ed88a7da71d31">BAUD14400</a>:
1093<a name="l00195"></a>00195                 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=<a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010782c55daa9030c53e266213401c3707a">BAUD9600</a>;
1094<a name="l00196"></a>00196                 <span class="keywordflow">break</span>;
1095<a name="l00197"></a>00197
1096<a name="l00198"></a>00198             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0106b00b8cf6939c8b517deada3110de1ce">BAUD56000</a>:
1097<a name="l00199"></a>00199                 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=<a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01056bb974293e65da8c97422abd0c514b7">BAUD38400</a>;
1098<a name="l00200"></a>00200                 <span class="keywordflow">break</span>;
1099<a name="l00201"></a>00201
1100<a name="l00202"></a>00202             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0109a7f6b7993e77c3603399cb0a58987be">BAUD76800</a>:
1101<a name="l00203"></a>00203
1102<a name="l00204"></a>00204 <span class="preprocessor">#ifndef B76800</span>
1103<a name="l00205"></a>00205 <span class="preprocessor"></span>                <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=<a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0100e6f70f222bc4d91276a4a934ef66c48">BAUD57600</a>;
1104<a name="l00206"></a>00206 <span class="preprocessor">#else</span>
1105<a name="l00207"></a>00207 <span class="preprocessor"></span>                <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=baudRate;
1106<a name="l00208"></a>00208 <span class="preprocessor">#endif</span>
1107<a name="l00209"></a>00209 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1108<a name="l00210"></a>00210
1109<a name="l00211"></a>00211             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01035d815a00139f06782b178b82f355f04">BAUD128000</a>:
1110<a name="l00212"></a>00212             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0102149280b354c383e6af48949ce3b807f">BAUD256000</a>:
1111<a name="l00213"></a>00213                 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=<a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01054a5ab3e880bc1722d455e420c0351e6">BAUD115200</a>;
1112<a name="l00214"></a>00214                 <span class="keywordflow">break</span>;
1113<a name="l00215"></a>00215
1114<a name="l00216"></a>00216             <span class="keywordflow">default</span>:
1115<a name="l00217"></a>00217                 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#be617f3545d6be4587e1a0700a0b0e5b">BaudRate</a>=baudRate;
1116<a name="l00218"></a>00218                 <span class="keywordflow">break</span>;
1117<a name="l00219"></a>00219         }
1118<a name="l00220"></a>00220     }
1119<a name="l00221"></a>00221     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1120<a name="l00222"></a>00222         <span class="keywordflow">switch</span> (<a class="code" href="classQextSerialBase.html#6d6eeab48cad2fa2adbebb23920c661a">baudRate</a>) {
1121<a name="l00223"></a>00223
1122<a name="l00224"></a>00224             <span class="comment">/*50 baud*/</span>
1123<a name="l00225"></a>00225             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0100721b0e666074772b33c2ff05f03f6e2">BAUD50</a>:
1124<a name="l00226"></a>00226                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows does not support 50 baud operation."</span>);
1125<a name="l00227"></a>00227 <span class="preprocessor">#ifdef CBAUD</span>
1126<a name="l00228"></a>00228 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1127<a name="l00229"></a>00229                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B50;
1128<a name="l00230"></a>00230 <span class="preprocessor">#else</span>
1129<a name="l00231"></a>00231 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B50);
1130<a name="l00232"></a>00232                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B50);
1131<a name="l00233"></a>00233 <span class="preprocessor">#endif</span>
1132<a name="l00234"></a>00234 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1133<a name="l00235"></a>00235
1134<a name="l00236"></a>00236             <span class="comment">/*75 baud*/</span>
1135<a name="l00237"></a>00237             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0101cd023b44dceb4b59798e5203534b65b">BAUD75</a>:
1136<a name="l00238"></a>00238                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows does not support 75 baud operation."</span>);
1137<a name="l00239"></a>00239 <span class="preprocessor">#ifdef CBAUD</span>
1138<a name="l00240"></a>00240 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1139<a name="l00241"></a>00241                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B75;
1140<a name="l00242"></a>00242 <span class="preprocessor">#else</span>
1141<a name="l00243"></a>00243 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B75);
1142<a name="l00244"></a>00244                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B75);
1143<a name="l00245"></a>00245 <span class="preprocessor">#endif</span>
1144<a name="l00246"></a>00246 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1145<a name="l00247"></a>00247
1146<a name="l00248"></a>00248             <span class="comment">/*110 baud*/</span>
1147<a name="l00249"></a>00249             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01010174371591f621ab26540af3ac992a4">BAUD110</a>:
1148<a name="l00250"></a>00250 <span class="preprocessor">#ifdef CBAUD</span>
1149<a name="l00251"></a>00251 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1150<a name="l00252"></a>00252                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B110;
1151<a name="l00253"></a>00253 <span class="preprocessor">#else</span>
1152<a name="l00254"></a>00254 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B110);
1153<a name="l00255"></a>00255                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B110);
1154<a name="l00256"></a>00256 <span class="preprocessor">#endif</span>
1155<a name="l00257"></a>00257 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1156<a name="l00258"></a>00258
1157<a name="l00259"></a>00259             <span class="comment">/*134.5 baud*/</span>
1158<a name="l00260"></a>00260             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010192cb47e215d8642f3e26cd877eb904e">BAUD134</a>:
1159<a name="l00261"></a>00261                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows does not support 134.5 baud operation."</span>);
1160<a name="l00262"></a>00262 <span class="preprocessor">#ifdef CBAUD</span>
1161<a name="l00263"></a>00263 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1162<a name="l00264"></a>00264                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B134;
1163<a name="l00265"></a>00265 <span class="preprocessor">#else</span>
1164<a name="l00266"></a>00266 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B134);
1165<a name="l00267"></a>00267                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B134);
1166<a name="l00268"></a>00268 <span class="preprocessor">#endif</span>
1167<a name="l00269"></a>00269 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1168<a name="l00270"></a>00270
1169<a name="l00271"></a>00271             <span class="comment">/*150 baud*/</span>
1170<a name="l00272"></a>00272             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010e7b4b2d0b7e6e309e57c64364328aff8">BAUD150</a>:
1171<a name="l00273"></a>00273                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows does not support 150 baud operation."</span>);
1172<a name="l00274"></a>00274 <span class="preprocessor">#ifdef CBAUD</span>
1173<a name="l00275"></a>00275 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1174<a name="l00276"></a>00276                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B150;
1175<a name="l00277"></a>00277 <span class="preprocessor">#else</span>
1176<a name="l00278"></a>00278 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B150);
1177<a name="l00279"></a>00279                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B150);
1178<a name="l00280"></a>00280 <span class="preprocessor">#endif</span>
1179<a name="l00281"></a>00281 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1180<a name="l00282"></a>00282
1181<a name="l00283"></a>00283             <span class="comment">/*200 baud*/</span>
1182<a name="l00284"></a>00284             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0101eff76dffd9e137cbfd3b0563e17348b">BAUD200</a>:
1183<a name="l00285"></a>00285                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows does not support 200 baud operation."</span>);
1184<a name="l00286"></a>00286 <span class="preprocessor">#ifdef CBAUD</span>
1185<a name="l00287"></a>00287 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1186<a name="l00288"></a>00288                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B200;
1187<a name="l00289"></a>00289 <span class="preprocessor">#else</span>
1188<a name="l00290"></a>00290 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B200);
1189<a name="l00291"></a>00291                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B200);
1190<a name="l00292"></a>00292 <span class="preprocessor">#endif</span>
1191<a name="l00293"></a>00293 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1192<a name="l00294"></a>00294
1193<a name="l00295"></a>00295             <span class="comment">/*300 baud*/</span>
1194<a name="l00296"></a>00296             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01041f8610ff3d721295c8692d6331bbc86">BAUD300</a>:
1195<a name="l00297"></a>00297 <span class="preprocessor">#ifdef CBAUD</span>
1196<a name="l00298"></a>00298 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1197<a name="l00299"></a>00299                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B300;
1198<a name="l00300"></a>00300 <span class="preprocessor">#else</span>
1199<a name="l00301"></a>00301 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B300);
1200<a name="l00302"></a>00302                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B300);
1201<a name="l00303"></a>00303 <span class="preprocessor">#endif</span>
1202<a name="l00304"></a>00304 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1203<a name="l00305"></a>00305
1204<a name="l00306"></a>00306             <span class="comment">/*600 baud*/</span>
1205<a name="l00307"></a>00307             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0102a05e5b7c7d350afe149a629af7f07a4">BAUD600</a>:
1206<a name="l00308"></a>00308 <span class="preprocessor">#ifdef CBAUD</span>
1207<a name="l00309"></a>00309 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1208<a name="l00310"></a>00310                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B600;
1209<a name="l00311"></a>00311 <span class="preprocessor">#else</span>
1210<a name="l00312"></a>00312 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B600);
1211<a name="l00313"></a>00313                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B600);
1212<a name="l00314"></a>00314 <span class="preprocessor">#endif</span>
1213<a name="l00315"></a>00315 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1214<a name="l00316"></a>00316
1215<a name="l00317"></a>00317             <span class="comment">/*1200 baud*/</span>
1216<a name="l00318"></a>00318             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01086057a69b2752b06b4302ae83c36e7a2">BAUD1200</a>:
1217<a name="l00319"></a>00319 <span class="preprocessor">#ifdef CBAUD</span>
1218<a name="l00320"></a>00320 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1219<a name="l00321"></a>00321                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B1200;
1220<a name="l00322"></a>00322 <span class="preprocessor">#else</span>
1221<a name="l00323"></a>00323 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B1200);
1222<a name="l00324"></a>00324                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B1200);
1223<a name="l00325"></a>00325 <span class="preprocessor">#endif</span>
1224<a name="l00326"></a>00326 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1225<a name="l00327"></a>00327
1226<a name="l00328"></a>00328             <span class="comment">/*1800 baud*/</span>
1227<a name="l00329"></a>00329             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0101815c0670961c2e5c20cfbd81954d3f1">BAUD1800</a>:
1228<a name="l00330"></a>00330                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows and IRIX do not support 1800 baud operation."</span>);
1229<a name="l00331"></a>00331 <span class="preprocessor">#ifdef CBAUD</span>
1230<a name="l00332"></a>00332 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1231<a name="l00333"></a>00333                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B1800;
1232<a name="l00334"></a>00334 <span class="preprocessor">#else</span>
1233<a name="l00335"></a>00335 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B1800);
1234<a name="l00336"></a>00336                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B1800);
1235<a name="l00337"></a>00337 <span class="preprocessor">#endif</span>
1236<a name="l00338"></a>00338 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1237<a name="l00339"></a>00339
1238<a name="l00340"></a>00340             <span class="comment">/*2400 baud*/</span>
1239<a name="l00341"></a>00341             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0100e653cf3163c75f11560ad0616049076">BAUD2400</a>:
1240<a name="l00342"></a>00342 <span class="preprocessor">#ifdef CBAUD</span>
1241<a name="l00343"></a>00343 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1242<a name="l00344"></a>00344                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B2400;
1243<a name="l00345"></a>00345 <span class="preprocessor">#else</span>
1244<a name="l00346"></a>00346 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B2400);
1245<a name="l00347"></a>00347                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B2400);
1246<a name="l00348"></a>00348 <span class="preprocessor">#endif</span>
1247<a name="l00349"></a>00349 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1248<a name="l00350"></a>00350
1249<a name="l00351"></a>00351             <span class="comment">/*4800 baud*/</span>
1250<a name="l00352"></a>00352             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0101de6d151ff739cebfa6f3aab0d76ec9e">BAUD4800</a>:
1251<a name="l00353"></a>00353 <span class="preprocessor">#ifdef CBAUD</span>
1252<a name="l00354"></a>00354 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1253<a name="l00355"></a>00355                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B4800;
1254<a name="l00356"></a>00356 <span class="preprocessor">#else</span>
1255<a name="l00357"></a>00357 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B4800);
1256<a name="l00358"></a>00358                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B4800);
1257<a name="l00359"></a>00359 <span class="preprocessor">#endif</span>
1258<a name="l00360"></a>00360 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1259<a name="l00361"></a>00361
1260<a name="l00362"></a>00362             <span class="comment">/*9600 baud*/</span>
1261<a name="l00363"></a>00363             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010782c55daa9030c53e266213401c3707a">BAUD9600</a>:
1262<a name="l00364"></a>00364 <span class="preprocessor">#ifdef CBAUD</span>
1263<a name="l00365"></a>00365 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1264<a name="l00366"></a>00366                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B9600;
1265<a name="l00367"></a>00367 <span class="preprocessor">#else</span>
1266<a name="l00368"></a>00368 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B9600);
1267<a name="l00369"></a>00369                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B9600);
1268<a name="l00370"></a>00370 <span class="preprocessor">#endif</span>
1269<a name="l00371"></a>00371 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1270<a name="l00372"></a>00372
1271<a name="l00373"></a>00373             <span class="comment">/*14400 baud*/</span>
1272<a name="l00374"></a>00374             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf010d208c844993c394ce55ed88a7da71d31">BAUD14400</a>:
1273<a name="l00375"></a>00375                 TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: POSIX does not support 14400 baud operation.  Switching to 9600 baud."</span>);
1274<a name="l00376"></a>00376 <span class="preprocessor">#ifdef CBAUD</span>
1275<a name="l00377"></a>00377 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1276<a name="l00378"></a>00378                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B9600;
1277<a name="l00379"></a>00379 <span class="preprocessor">#else</span>
1278<a name="l00380"></a>00380 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B9600);
1279<a name="l00381"></a>00381                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B9600);
1280<a name="l00382"></a>00382 <span class="preprocessor">#endif</span>
1281<a name="l00383"></a>00383 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1282<a name="l00384"></a>00384
1283<a name="l00385"></a>00385             <span class="comment">/*19200 baud*/</span>
1284<a name="l00386"></a>00386             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01016d650adf414e7a4fceb3f72661a0420">BAUD19200</a>:
1285<a name="l00387"></a>00387 <span class="preprocessor">#ifdef CBAUD</span>
1286<a name="l00388"></a>00388 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1287<a name="l00389"></a>00389                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B19200;
1288<a name="l00390"></a>00390 <span class="preprocessor">#else</span>
1289<a name="l00391"></a>00391 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B19200);
1290<a name="l00392"></a>00392                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B19200);
1291<a name="l00393"></a>00393 <span class="preprocessor">#endif</span>
1292<a name="l00394"></a>00394 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1293<a name="l00395"></a>00395
1294<a name="l00396"></a>00396             <span class="comment">/*38400 baud*/</span>
1295<a name="l00397"></a>00397             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01056bb974293e65da8c97422abd0c514b7">BAUD38400</a>:
1296<a name="l00398"></a>00398 <span class="preprocessor">#ifdef CBAUD</span>
1297<a name="l00399"></a>00399 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1298<a name="l00400"></a>00400                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B38400;
1299<a name="l00401"></a>00401 <span class="preprocessor">#else</span>
1300<a name="l00402"></a>00402 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B38400);
1301<a name="l00403"></a>00403                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B38400);
1302<a name="l00404"></a>00404 <span class="preprocessor">#endif</span>
1303<a name="l00405"></a>00405 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1304<a name="l00406"></a>00406
1305<a name="l00407"></a>00407             <span class="comment">/*56000 baud*/</span>
1306<a name="l00408"></a>00408             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0106b00b8cf6939c8b517deada3110de1ce">BAUD56000</a>:
1307<a name="l00409"></a>00409                 TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: POSIX does not support 56000 baud operation.  Switching to 38400 baud."</span>);
1308<a name="l00410"></a>00410 <span class="preprocessor">#ifdef CBAUD</span>
1309<a name="l00411"></a>00411 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1310<a name="l00412"></a>00412                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B38400;
1311<a name="l00413"></a>00413 <span class="preprocessor">#else</span>
1312<a name="l00414"></a>00414 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B38400);
1313<a name="l00415"></a>00415                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B38400);
1314<a name="l00416"></a>00416 <span class="preprocessor">#endif</span>
1315<a name="l00417"></a>00417 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1316<a name="l00418"></a>00418
1317<a name="l00419"></a>00419             <span class="comment">/*57600 baud*/</span>
1318<a name="l00420"></a>00420             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0100e6f70f222bc4d91276a4a934ef66c48">BAUD57600</a>:
1319<a name="l00421"></a>00421 <span class="preprocessor">#ifdef CBAUD</span>
1320<a name="l00422"></a>00422 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1321<a name="l00423"></a>00423                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B57600;
1322<a name="l00424"></a>00424 <span class="preprocessor">#else</span>
1323<a name="l00425"></a>00425 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B57600);
1324<a name="l00426"></a>00426                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B57600);
1325<a name="l00427"></a>00427 <span class="preprocessor">#endif</span>
1326<a name="l00428"></a>00428 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1327<a name="l00429"></a>00429
1328<a name="l00430"></a>00430             <span class="comment">/*76800 baud*/</span>
1329<a name="l00431"></a>00431             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0109a7f6b7993e77c3603399cb0a58987be">BAUD76800</a>:
1330<a name="l00432"></a>00432                 TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort Portability Warning: Windows and some POSIX systems do not support 76800 baud operation."</span>);
1331<a name="l00433"></a>00433 <span class="preprocessor">#ifdef CBAUD</span>
1332<a name="l00434"></a>00434 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1333<a name="l00435"></a>00435
1334<a name="l00436"></a>00436 <span class="preprocessor">#ifdef B76800</span>
1335<a name="l00437"></a>00437 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B76800;
1336<a name="l00438"></a>00438 <span class="preprocessor">#else</span>
1337<a name="l00439"></a>00439 <span class="preprocessor"></span>                TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: Posix_QextSerialPort was compiled without 76800 baud support.  Switching to 57600 baud."</span>);
1338<a name="l00440"></a>00440                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B57600;
1339<a name="l00441"></a>00441 <span class="preprocessor">#endif //B76800</span>
1340<a name="l00442"></a>00442 <span class="preprocessor"></span><span class="preprocessor">#else  //CBAUD</span>
1341<a name="l00443"></a>00443 <span class="preprocessor"></span><span class="preprocessor">#ifdef B76800</span>
1342<a name="l00444"></a>00444 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B76800);
1343<a name="l00445"></a>00445                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B76800);
1344<a name="l00446"></a>00446 <span class="preprocessor">#else</span>
1345<a name="l00447"></a>00447 <span class="preprocessor"></span>                TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: Posix_QextSerialPort was compiled without 76800 baud support.  Switching to 57600 baud."</span>);
1346<a name="l00448"></a>00448                 cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B57600);
1347<a name="l00449"></a>00449                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B57600);
1348<a name="l00450"></a>00450 <span class="preprocessor">#endif //B76800</span>
1349<a name="l00451"></a>00451 <span class="preprocessor"></span><span class="preprocessor">#endif //CBAUD</span>
1350<a name="l00452"></a>00452 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1351<a name="l00453"></a>00453
1352<a name="l00454"></a>00454             <span class="comment">/*115200 baud*/</span>
1353<a name="l00455"></a>00455             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01054a5ab3e880bc1722d455e420c0351e6">BAUD115200</a>:
1354<a name="l00456"></a>00456 <span class="preprocessor">#ifdef CBAUD</span>
1355<a name="l00457"></a>00457 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1356<a name="l00458"></a>00458                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B115200;
1357<a name="l00459"></a>00459 <span class="preprocessor">#else</span>
1358<a name="l00460"></a>00460 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B115200);
1359<a name="l00461"></a>00461                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B115200);
1360<a name="l00462"></a>00462 <span class="preprocessor">#endif</span>
1361<a name="l00463"></a>00463 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1362<a name="l00464"></a>00464
1363<a name="l00465"></a>00465             <span class="comment">/*128000 baud*/</span>
1364<a name="l00466"></a>00466             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf01035d815a00139f06782b178b82f355f04">BAUD128000</a>:
1365<a name="l00467"></a>00467                 TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: POSIX does not support 128000 baud operation.  Switching to 115200 baud."</span>);
1366<a name="l00468"></a>00468 <span class="preprocessor">#ifdef CBAUD</span>
1367<a name="l00469"></a>00469 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1368<a name="l00470"></a>00470                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B115200;
1369<a name="l00471"></a>00471 <span class="preprocessor">#else</span>
1370<a name="l00472"></a>00472 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B115200);
1371<a name="l00473"></a>00473                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B115200);
1372<a name="l00474"></a>00474 <span class="preprocessor">#endif</span>
1373<a name="l00475"></a>00475 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1374<a name="l00476"></a>00476
1375<a name="l00477"></a>00477             <span class="comment">/*256000 baud*/</span>
1376<a name="l00478"></a>00478             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#6f031169a6a9b150b5af707bb23cf0102149280b354c383e6af48949ce3b807f">BAUD256000</a>:
1377<a name="l00479"></a>00479                 TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: POSIX does not support 256000 baud operation.  Switching to 115200 baud."</span>);
1378<a name="l00480"></a>00480 <span class="preprocessor">#ifdef CBAUD</span>
1379<a name="l00481"></a>00481 <span class="preprocessor"></span>                <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CBAUD);
1380<a name="l00482"></a>00482                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=B115200;
1381<a name="l00483"></a>00483 <span class="preprocessor">#else</span>
1382<a name="l00484"></a>00484 <span class="preprocessor"></span>                cfsetispeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B115200);
1383<a name="l00485"></a>00485                 cfsetospeed(&amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>, B115200);
1384<a name="l00486"></a>00486 <span class="preprocessor">#endif</span>
1385<a name="l00487"></a>00487 <span class="preprocessor"></span>                <span class="keywordflow">break</span>;
1386<a name="l00488"></a>00488         }
1387<a name="l00489"></a>00489         tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1388<a name="l00490"></a>00490     }
1389<a name="l00491"></a>00491     UNLOCK_MUTEX();
1390<a name="l00492"></a>00492 }
1391</pre></div>
1392<p>
1393
1394</div>
1395</div><p>
1396<a class="anchor" name="8f428dad3c4ec2fa8128397628c7e5d1"></a><!-- doxytag: member="Posix_QextSerialPort::setDataBits" ref="8f428dad3c4ec2fa8128397628c7e5d1" args="(DataBitsType)" -->
1397<div class="memitem">
1398<div class="memproto">
1399      <table class="memname">
1400        <tr>
1401          <td class="memname">void Posix_QextSerialPort::setDataBits           </td>
1402          <td>(</td>
1403          <td class="paramtype"><a class="el" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa">DataBitsType</a>&nbsp;</td>
1404          <td class="paramname"> <em>dataBits</em>          </td>
1405          <td>&nbsp;)&nbsp;</td>
1406          <td width="100%"><code> [virtual]</code></td>
1407        </tr>
1408      </table>
1409</div>
1410<div class="memdoc">
1411
1412<p>
1413Sets the number of data bits used by the serial port. Possible values of dataBits are: <div class="fragment"><pre class="fragment">    DATA_5      5 data bits
1414    DATA_6      6 data bits
1415    DATA_7      7 data bits
1416    DATA_8      8 data bits
1417</pre></div><p>
1418<dl compact><dt><b>Note:</b></dt><dd>This function is subject to the following restrictions: </dd></dl>
1419<dl compact><dt><b></b></dt><dd>5 data bits cannot be used with 2 stop bits. </dd></dl>
1420<dl compact><dt><b></b></dt><dd>8 data bits cannot be used with space parity on POSIX systems. </dd></dl>
1421
1422<p>
1423Implements <a class="el" href="classQextSerialBase.html#651f67ec7818b55c0053b47546c56ab5">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00513"></a>00513 {
1424<a name="l00514"></a>00514     LOCK_MUTEX();
1425<a name="l00515"></a>00515     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>!=<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>) {
1426<a name="l00516"></a>00516         <span class="keywordflow">if</span> ((<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f9d9d66053c21f5142750606c4af19b61">STOP_2</a> &amp;&amp; <a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>==<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fabdcd3759eeee2ffb002bbd8816afc5cc">DATA_5</a>) ||
1427<a name="l00517"></a>00517             (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7fd5199e453f150adf605f4aa44254d31b">STOP_1_5</a> &amp;&amp; <a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>!=<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fabdcd3759eeee2ffb002bbd8816afc5cc">DATA_5</a>) ||
1428<a name="l00518"></a>00518             (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>==<a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace1dd539202244b7b46ea83c168d3a447d">PAR_SPACE</a> &amp;&amp; <a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>==<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>)) {
1429<a name="l00519"></a>00519         }
1430<a name="l00520"></a>00520         <span class="keywordflow">else</span> {
1431<a name="l00521"></a>00521             <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>;
1432<a name="l00522"></a>00522         }
1433<a name="l00523"></a>00523     }
1434<a name="l00524"></a>00524     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1435<a name="l00525"></a>00525         <span class="keywordflow">switch</span>(<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>) {
1436<a name="l00526"></a>00526
1437<a name="l00527"></a>00527             <span class="comment">/*5 data bits*/</span>
1438<a name="l00528"></a>00528             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fabdcd3759eeee2ffb002bbd8816afc5cc">DATA_5</a>:
1439<a name="l00529"></a>00529                 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f9d9d66053c21f5142750606c4af19b61">STOP_2</a>) {
1440<a name="l00530"></a>00530                     TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: 5 Data bits cannot be used with 2 stop bits."</span>);
1441<a name="l00531"></a>00531                 }
1442<a name="l00532"></a>00532                 <span class="keywordflow">else</span> {
1443<a name="l00533"></a>00533                     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>;
1444<a name="l00534"></a>00534                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CSIZE);
1445<a name="l00535"></a>00535                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS5;
1446<a name="l00536"></a>00536                     tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1447<a name="l00537"></a>00537                 }
1448<a name="l00538"></a>00538                 <span class="keywordflow">break</span>;
1449<a name="l00539"></a>00539
1450<a name="l00540"></a>00540             <span class="comment">/*6 data bits*/</span>
1451<a name="l00541"></a>00541             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa26d01dd98519521e747c3716b95b039f">DATA_6</a>:
1452<a name="l00542"></a>00542                 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7fd5199e453f150adf605f4aa44254d31b">STOP_1_5</a>) {
1453<a name="l00543"></a>00543                     TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: 6 Data bits cannot be used with 1.5 stop bits."</span>);
1454<a name="l00544"></a>00544                 }
1455<a name="l00545"></a>00545                 <span class="keywordflow">else</span> {
1456<a name="l00546"></a>00546                     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>;
1457<a name="l00547"></a>00547                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CSIZE);
1458<a name="l00548"></a>00548                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS6;
1459<a name="l00549"></a>00549                     tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1460<a name="l00550"></a>00550                 }
1461<a name="l00551"></a>00551                 <span class="keywordflow">break</span>;
1462<a name="l00552"></a>00552
1463<a name="l00553"></a>00553             <span class="comment">/*7 data bits*/</span>
1464<a name="l00554"></a>00554             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fac0ea91406eb909c082025299d879eed5">DATA_7</a>:
1465<a name="l00555"></a>00555                 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7fd5199e453f150adf605f4aa44254d31b">STOP_1_5</a>) {
1466<a name="l00556"></a>00556                     TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: 7 Data bits cannot be used with 1.5 stop bits."</span>);
1467<a name="l00557"></a>00557                 }
1468<a name="l00558"></a>00558                 <span class="keywordflow">else</span> {
1469<a name="l00559"></a>00559                     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>;
1470<a name="l00560"></a>00560                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CSIZE);
1471<a name="l00561"></a>00561                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS7;
1472<a name="l00562"></a>00562                     tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1473<a name="l00563"></a>00563                 }
1474<a name="l00564"></a>00564                 <span class="keywordflow">break</span>;
1475<a name="l00565"></a>00565
1476<a name="l00566"></a>00566             <span class="comment">/*8 data bits*/</span>
1477<a name="l00567"></a>00567             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>:
1478<a name="l00568"></a>00568                 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7fd5199e453f150adf605f4aa44254d31b">STOP_1_5</a>) {
1479<a name="l00569"></a>00569                     TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: 8 Data bits cannot be used with 1.5 stop bits."</span>);
1480<a name="l00570"></a>00570                 }
1481<a name="l00571"></a>00571                 <span class="keywordflow">else</span> {
1482<a name="l00572"></a>00572                     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="classQextSerialBase.html#6836465ea5deaa1280e0e777e9c8651e">dataBits</a>;
1483<a name="l00573"></a>00573                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CSIZE);
1484<a name="l00574"></a>00574                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS8;
1485<a name="l00575"></a>00575                     tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1486<a name="l00576"></a>00576                 }
1487<a name="l00577"></a>00577                 <span class="keywordflow">break</span>;
1488<a name="l00578"></a>00578         }
1489<a name="l00579"></a>00579     }
1490<a name="l00580"></a>00580     UNLOCK_MUTEX();
1491<a name="l00581"></a>00581 }
1492</pre></div>
1493<p>
1494
1495</div>
1496</div><p>
1497<a class="anchor" name="089c560fd901eabe7190e80a36c7dcb8"></a><!-- doxytag: member="Posix_QextSerialPort::setDtr" ref="089c560fd901eabe7190e80a36c7dcb8" args="(bool set=true)" -->
1498<div class="memitem">
1499<div class="memproto">
1500      <table class="memname">
1501        <tr>
1502          <td class="memname">void Posix_QextSerialPort::setDtr           </td>
1503          <td>(</td>
1504          <td class="paramtype">bool&nbsp;</td>
1505          <td class="paramname"> <em>set</em> = <code>true</code>          </td>
1506          <td>&nbsp;)&nbsp;</td>
1507          <td width="100%"><code> [virtual]</code></td>
1508        </tr>
1509      </table>
1510</div>
1511<div class="memdoc">
1512
1513<p>
1514Sets DTR line to the requested state (high by default). This function will have no effect if the port associated with the class is not currently open.
1515<p>
1516Implements <a class="el" href="classQextSerialBase.html#14c7fc36f9e7b7e5a9e798c2c1b35505">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00980"></a>00980 {
1517<a name="l00981"></a>00981     LOCK_MUTEX();
1518<a name="l00982"></a>00982     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1519<a name="l00983"></a>00983         <span class="keywordtype">int</span> status;
1520<a name="l00984"></a>00984         ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TIOCMGET, &amp;status);
1521<a name="l00985"></a>00985         <span class="keywordflow">if</span> (set) {
1522<a name="l00986"></a>00986             status|=TIOCM_DTR;
1523<a name="l00987"></a>00987         }
1524<a name="l00988"></a>00988         <span class="keywordflow">else</span> {
1525<a name="l00989"></a>00989             status&amp;=~TIOCM_DTR;
1526<a name="l00990"></a>00990         }
1527<a name="l00991"></a>00991         ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TIOCMSET, &amp;status);
1528<a name="l00992"></a>00992     }
1529<a name="l00993"></a>00993     UNLOCK_MUTEX();
1530<a name="l00994"></a>00994 }
1531</pre></div>
1532<p>
1533
1534</div>
1535</div><p>
1536<a class="anchor" name="8bdd56422fbb95da7216f182a1ef6cfb"></a><!-- doxytag: member="Posix_QextSerialPort::setFlowControl" ref="8bdd56422fbb95da7216f182a1ef6cfb" args="(FlowType)" -->
1537<div class="memitem">
1538<div class="memproto">
1539      <table class="memname">
1540        <tr>
1541          <td class="memname">void Posix_QextSerialPort::setFlowControl           </td>
1542          <td>(</td>
1543          <td class="paramtype"><a class="el" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db4790">FlowType</a>&nbsp;</td>
1544          <td class="paramname"> <em>flow</em>          </td>
1545          <td>&nbsp;)&nbsp;</td>
1546          <td width="100%"><code> [virtual]</code></td>
1547        </tr>
1548      </table>
1549</div>
1550<div class="memdoc">
1551
1552<p>
1553Sets the flow control used by the port. Possible values of flow are: <div class="fragment"><pre class="fragment">    FLOW_OFF            No flow control
1554    FLOW_HARDWARE       Hardware (RTS/CTS) flow control
1555    FLOW_XONXOFF        Software (XON/XOFF) flow control
1556</pre></div> <dl compact><dt><b>Note:</b></dt><dd>FLOW_HARDWARE may not be supported on all versions of UNIX. In cases where it is unsupported, FLOW_HARDWARE is the same as FLOW_OFF. </dd></dl>
1557
1558<p>
1559Implements <a class="el" href="classQextSerialBase.html#976c031b3a51bc71abe7804953e0d366">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00746"></a>00746 {
1560<a name="l00747"></a>00747     LOCK_MUTEX();
1561<a name="l00748"></a>00748     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>!=flow) {
1562<a name="l00749"></a>00749         <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#10720f6217b8d8b90c326ea030c43e30">FlowControl</a>=flow;
1563<a name="l00750"></a>00750     }
1564<a name="l00751"></a>00751     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1565<a name="l00752"></a>00752         <span class="keywordflow">switch</span>(flow) {
1566<a name="l00753"></a>00753
1567<a name="l00754"></a>00754             <span class="comment">/*no flow control*/</span>
1568<a name="l00755"></a>00755             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db4790d4c112d4c8487384e429edeb50b01f6e">FLOW_OFF</a>:
1569<a name="l00756"></a>00756                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CRTSCTS);
1570<a name="l00757"></a>00757                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_iflag&amp;=(~(IXON|IXOFF|IXANY));
1571<a name="l00758"></a>00758                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1572<a name="l00759"></a>00759                 <span class="keywordflow">break</span>;
1573<a name="l00760"></a>00760
1574<a name="l00761"></a>00761             <span class="comment">/*software (XON/XOFF) flow control*/</span>
1575<a name="l00762"></a>00762             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db47900d28447e3d97e184d5582f874d3dd92f">FLOW_XONXOFF</a>:
1576<a name="l00763"></a>00763                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CRTSCTS);
1577<a name="l00764"></a>00764                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_iflag|=(IXON|IXOFF|IXANY);
1578<a name="l00765"></a>00765                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1579<a name="l00766"></a>00766                 <span class="keywordflow">break</span>;
1580<a name="l00767"></a>00767
1581<a name="l00768"></a>00768             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#02ad1c7cf791a069dd54e409f8db479037eb6a580629a080ce39792149cf4976">FLOW_HARDWARE</a>:
1582<a name="l00769"></a>00769                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CRTSCTS;
1583<a name="l00770"></a>00770                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_iflag&amp;=(~(IXON|IXOFF|IXANY));
1584<a name="l00771"></a>00771                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1585<a name="l00772"></a>00772                 <span class="keywordflow">break</span>;
1586<a name="l00773"></a>00773         }
1587<a name="l00774"></a>00774     }
1588<a name="l00775"></a>00775     UNLOCK_MUTEX();
1589<a name="l00776"></a>00776 }
1590</pre></div>
1591<p>
1592
1593</div>
1594</div><p>
1595<a class="anchor" name="22dedc4f44c33b13f64bff33f844f795"></a><!-- doxytag: member="Posix_QextSerialPort::setParity" ref="22dedc4f44c33b13f64bff33f844f795" args="(ParityType)" -->
1596<div class="memitem">
1597<div class="memproto">
1598      <table class="memname">
1599        <tr>
1600          <td class="memname">void Posix_QextSerialPort::setParity           </td>
1601          <td>(</td>
1602          <td class="paramtype"><a class="el" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace">ParityType</a>&nbsp;</td>
1603          <td class="paramname"> <em>parity</em>          </td>
1604          <td>&nbsp;)&nbsp;</td>
1605          <td width="100%"><code> [virtual]</code></td>
1606        </tr>
1607      </table>
1608</div>
1609<div class="memdoc">
1610
1611<p>
1612Sets the parity associated with the serial port. The possible values of parity are: <div class="fragment"><pre class="fragment">    PAR_SPACE       Space Parity
1613    PAR_MARK        Mark Parity
1614    PAR_NONE        No Parity
1615    PAR_EVEN        Even Parity
1616    PAR_ODD         Odd Parity
1617</pre></div><p>
1618<dl compact><dt><b>Note:</b></dt><dd>This function is subject to the following limitations: </dd></dl>
1619<dl compact><dt><b></b></dt><dd>POSIX systems do not support mark parity. </dd></dl>
1620<dl compact><dt><b></b></dt><dd>POSIX systems support space parity only if tricked into doing so, and only with fewer than 8 data bits. Use space parity very carefully with POSIX systems. </dd></dl>
1621
1622<p>
1623Implements <a class="el" href="classQextSerialBase.html#d57f8cb19a8a48012c1f607155eddedf">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00604"></a>00604 {
1624<a name="l00605"></a>00605     LOCK_MUTEX();
1625<a name="l00606"></a>00606     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>!=<a class="code" href="classQextSerialBase.html#d1ea7aa9d42563f6473b5c6dc9643e31">parity</a>) {
1626<a name="l00607"></a>00607         <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#d1ea7aa9d42563f6473b5c6dc9643e31">parity</a>==<a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace8e6eade7ff411bc2d325be080ce4ad10">PAR_MARK</a> || (<a class="code" href="classQextSerialBase.html#d1ea7aa9d42563f6473b5c6dc9643e31">parity</a>==<a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace1dd539202244b7b46ea83c168d3a447d">PAR_SPACE</a> &amp;&amp; <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>==<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>)) {
1627<a name="l00608"></a>00608         }
1628<a name="l00609"></a>00609         <span class="keywordflow">else</span> {
1629<a name="l00610"></a>00610             <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#8d0bfbdcb40e9e3919e3f9829ae72582">Parity</a>=<a class="code" href="classQextSerialBase.html#d1ea7aa9d42563f6473b5c6dc9643e31">parity</a>;
1630<a name="l00611"></a>00611         }
1631<a name="l00612"></a>00612     }
1632<a name="l00613"></a>00613     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1633<a name="l00614"></a>00614         <span class="keywordflow">switch</span> (<a class="code" href="classQextSerialBase.html#d1ea7aa9d42563f6473b5c6dc9643e31">parity</a>) {
1634<a name="l00615"></a>00615
1635<a name="l00616"></a>00616             <span class="comment">/*space parity*/</span>
1636<a name="l00617"></a>00617             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace1dd539202244b7b46ea83c168d3a447d">PAR_SPACE</a>:
1637<a name="l00618"></a>00618                 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>==<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>) {
1638<a name="l00619"></a>00619                     TTY_PORTABILITY_WARNING(<span class="stringliteral">"Posix_QextSerialPort:  Space parity is only supported in POSIX with 7 or fewer data bits"</span>);
1639<a name="l00620"></a>00620                 }
1640<a name="l00621"></a>00621                 <span class="keywordflow">else</span> {
1641<a name="l00622"></a>00622
1642<a name="l00623"></a>00623                     <span class="comment">/*space parity not directly supported - add an extra data bit to simulate it*/</span>
1643<a name="l00624"></a>00624                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=~(PARENB|CSIZE);
1644<a name="l00625"></a>00625                     <span class="keywordflow">switch</span>(<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>) {
1645<a name="l00626"></a>00626                         <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fabdcd3759eeee2ffb002bbd8816afc5cc">DATA_5</a>:
1646<a name="l00627"></a>00627                             <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa26d01dd98519521e747c3716b95b039f">DATA_6</a>;
1647<a name="l00628"></a>00628                             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS6;
1648<a name="l00629"></a>00629                             <span class="keywordflow">break</span>;
1649<a name="l00630"></a>00630
1650<a name="l00631"></a>00631                         <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa26d01dd98519521e747c3716b95b039f">DATA_6</a>:
1651<a name="l00632"></a>00632                             <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fac0ea91406eb909c082025299d879eed5">DATA_7</a>;
1652<a name="l00633"></a>00633                             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS7;
1653<a name="l00634"></a>00634                             <span class="keywordflow">break</span>;
1654<a name="l00635"></a>00635
1655<a name="l00636"></a>00636                         <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fac0ea91406eb909c082025299d879eed5">DATA_7</a>:
1656<a name="l00637"></a>00637                             <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>=<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>;
1657<a name="l00638"></a>00638                             <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CS8;
1658<a name="l00639"></a>00639                             <span class="keywordflow">break</span>;
1659<a name="l00640"></a>00640
1660<a name="l00641"></a>00641                         <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fa719dc653cb3f7c9fbf6c8b8c36d78a9f">DATA_8</a>:
1661<a name="l00642"></a>00642                             <span class="keywordflow">break</span>;
1662<a name="l00643"></a>00643                     }
1663<a name="l00644"></a>00644                     tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1664<a name="l00645"></a>00645                 }
1665<a name="l00646"></a>00646                 <span class="keywordflow">break</span>;
1666<a name="l00647"></a>00647
1667<a name="l00648"></a>00648             <span class="comment">/*mark parity - WINDOWS ONLY*/</span>
1668<a name="l00649"></a>00649             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace8e6eade7ff411bc2d325be080ce4ad10">PAR_MARK</a>:
1669<a name="l00650"></a>00650                 TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: Mark parity is not supported by POSIX."</span>);
1670<a name="l00651"></a>00651                 <span class="keywordflow">break</span>;
1671<a name="l00652"></a>00652
1672<a name="l00653"></a>00653             <span class="comment">/*no parity*/</span>
1673<a name="l00654"></a>00654             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957acee0df16cbf90ff8b05d96d37094b3980a">PAR_NONE</a>:
1674<a name="l00655"></a>00655                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~PARENB);
1675<a name="l00656"></a>00656                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1676<a name="l00657"></a>00657                 <span class="keywordflow">break</span>;
1677<a name="l00658"></a>00658
1678<a name="l00659"></a>00659             <span class="comment">/*even parity*/</span>
1679<a name="l00660"></a>00660             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957acedcf0e7e3469256fa6eadd03f93e9a5aa">PAR_EVEN</a>:
1680<a name="l00661"></a>00661                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~PARODD);
1681<a name="l00662"></a>00662                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=PARENB;
1682<a name="l00663"></a>00663                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1683<a name="l00664"></a>00664                 <span class="keywordflow">break</span>;
1684<a name="l00665"></a>00665
1685<a name="l00666"></a>00666             <span class="comment">/*odd parity*/</span>
1686<a name="l00667"></a>00667             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#ee22d32d87c815090354bf9b8e957ace53059ce3f8053f409937ff89a90afee9">PAR_ODD</a>:
1687<a name="l00668"></a>00668                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=(PARENB|PARODD);
1688<a name="l00669"></a>00669                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1689<a name="l00670"></a>00670                 <span class="keywordflow">break</span>;
1690<a name="l00671"></a>00671         }
1691<a name="l00672"></a>00672     }
1692<a name="l00673"></a>00673     UNLOCK_MUTEX();
1693<a name="l00674"></a>00674 }
1694</pre></div>
1695<p>
1696
1697</div>
1698</div><p>
1699<a class="anchor" name="1c9f83f00f0ea53ee06b757e197cdf64"></a><!-- doxytag: member="Posix_QextSerialPort::setPortName" ref="1c9f83f00f0ea53ee06b757e197cdf64" args="(const QString &amp;name)" -->
1700<div class="memitem">
1701<div class="memproto">
1702      <table class="memname">
1703        <tr>
1704          <td class="memname">void QextSerialBase::setPortName           </td>
1705          <td>(</td>
1706          <td class="paramtype">const QString &amp;&nbsp;</td>
1707          <td class="paramname"> <em>name</em>          </td>
1708          <td>&nbsp;)&nbsp;</td>
1709          <td width="100%"><code> [virtual, inherited]</code></td>
1710        </tr>
1711      </table>
1712</div>
1713<div class="memdoc">
1714
1715<p>
1716Sets the name of the device associated with the object, e.g. "COM1", or "/dev/ttyS0". <div class="fragment"><pre class="fragment"><a name="l00107"></a>00107 {
1717<a name="l00108"></a>00108     <a class="code" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">port</a> = name;
1718<a name="l00109"></a>00109 }
1719</pre></div>
1720<p>
1721
1722</div>
1723</div><p>
1724<a class="anchor" name="a099a4b3f406cf017e1dfe55da3a2c6a"></a><!-- doxytag: member="Posix_QextSerialPort::setRts" ref="a099a4b3f406cf017e1dfe55da3a2c6a" args="(bool set=true)" -->
1725<div class="memitem">
1726<div class="memproto">
1727      <table class="memname">
1728        <tr>
1729          <td class="memname">void Posix_QextSerialPort::setRts           </td>
1730          <td>(</td>
1731          <td class="paramtype">bool&nbsp;</td>
1732          <td class="paramname"> <em>set</em> = <code>true</code>          </td>
1733          <td>&nbsp;)&nbsp;</td>
1734          <td width="100%"><code> [virtual]</code></td>
1735        </tr>
1736      </table>
1737</div>
1738<div class="memdoc">
1739
1740<p>
1741Sets RTS line to the requested state (high by default). This function will have no effect if the port associated with the class is not currently open.
1742<p>
1743Implements <a class="el" href="classQextSerialBase.html#aa23d343095f16e7d7b37e7b61022b3a">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l01002"></a>01002 {
1744<a name="l01003"></a>01003     LOCK_MUTEX();
1745<a name="l01004"></a>01004     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1746<a name="l01005"></a>01005         <span class="keywordtype">int</span> status;
1747<a name="l01006"></a>01006         ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TIOCMGET, &amp;status);
1748<a name="l01007"></a>01007         <span class="keywordflow">if</span> (set) {
1749<a name="l01008"></a>01008             status|=TIOCM_RTS;
1750<a name="l01009"></a>01009         }
1751<a name="l01010"></a>01010         <span class="keywordflow">else</span> {
1752<a name="l01011"></a>01011             status&amp;=~TIOCM_RTS;
1753<a name="l01012"></a>01012         }
1754<a name="l01013"></a>01013         ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TIOCMSET, &amp;status);
1755<a name="l01014"></a>01014     }
1756<a name="l01015"></a>01015     UNLOCK_MUTEX();
1757<a name="l01016"></a>01016 }
1758</pre></div>
1759<p>
1760
1761</div>
1762</div><p>
1763<a class="anchor" name="34b54ac1bef6090010bf00a45dc173fe"></a><!-- doxytag: member="Posix_QextSerialPort::setStopBits" ref="34b54ac1bef6090010bf00a45dc173fe" args="(StopBitsType)" -->
1764<div class="memitem">
1765<div class="memproto">
1766      <table class="memname">
1767        <tr>
1768          <td class="memname">void Posix_QextSerialPort::setStopBits           </td>
1769          <td>(</td>
1770          <td class="paramtype"><a class="el" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f">StopBitsType</a>&nbsp;</td>
1771          <td class="paramname"> <em>stopBits</em>          </td>
1772          <td>&nbsp;)&nbsp;</td>
1773          <td width="100%"><code> [virtual]</code></td>
1774        </tr>
1775      </table>
1776</div>
1777<div class="memdoc">
1778
1779<p>
1780Sets the number of stop bits used by the serial port. Possible values of stopBits are: <div class="fragment"><pre class="fragment">    STOP_1      1 stop bit
1781    STOP_1_5    1.5 stop bits
1782    STOP_2      2 stop bits
1783</pre></div> <dl compact><dt><b>Note:</b></dt><dd>This function is subject to the following restrictions: </dd></dl>
1784<dl compact><dt><b></b></dt><dd>2 stop bits cannot be used with 5 data bits. </dd></dl>
1785<dl compact><dt><b></b></dt><dd>POSIX does not support 1.5 stop bits. </dd></dl>
1786
1787<p>
1788Implements <a class="el" href="classQextSerialBase.html#fafca39575da5ab668671bff89fdd4bc">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00693"></a>00693 {
1789<a name="l00694"></a>00694     LOCK_MUTEX();
1790<a name="l00695"></a>00695     <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>!=<a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>) {
1791<a name="l00696"></a>00696         <span class="keywordflow">if</span> ((<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>==<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fabdcd3759eeee2ffb002bbd8816afc5cc">DATA_5</a> &amp;&amp; <a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f9d9d66053c21f5142750606c4af19b61">STOP_2</a>) || <a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>==<a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7fd5199e453f150adf605f4aa44254d31b">STOP_1_5</a>) {}
1792<a name="l00697"></a>00697         <span class="keywordflow">else</span> {
1793<a name="l00698"></a>00698             <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=<a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>;
1794<a name="l00699"></a>00699         }
1795<a name="l00700"></a>00700     }
1796<a name="l00701"></a>00701     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1797<a name="l00702"></a>00702         <span class="keywordflow">switch</span> (<a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>) {
1798<a name="l00703"></a>00703
1799<a name="l00704"></a>00704             <span class="comment">/*one stop bit*/</span>
1800<a name="l00705"></a>00705             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f5a97cec5fc7aa14a4caae4b53d97fcfc">STOP_1</a>:
1801<a name="l00706"></a>00706                 <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=<a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>;
1802<a name="l00707"></a>00707                 <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag&amp;=(~CSTOPB);
1803<a name="l00708"></a>00708                 tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1804<a name="l00709"></a>00709                 <span class="keywordflow">break</span>;
1805<a name="l00710"></a>00710
1806<a name="l00711"></a>00711             <span class="comment">/*1.5 stop bits*/</span>
1807<a name="l00712"></a>00712             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7fd5199e453f150adf605f4aa44254d31b">STOP_1_5</a>:
1808<a name="l00713"></a>00713                 TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: 1.5 stop bit operation is not supported by POSIX."</span>);
1809<a name="l00714"></a>00714                 <span class="keywordflow">break</span>;
1810<a name="l00715"></a>00715
1811<a name="l00716"></a>00716             <span class="comment">/*two stop bits*/</span>
1812<a name="l00717"></a>00717             <span class="keywordflow">case</span> <a class="code" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f9d9d66053c21f5142750606c4af19b61">STOP_2</a>:
1813<a name="l00718"></a>00718                 <span class="keywordflow">if</span> (<a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#9ec9d5a304b2ac8d3a100d07bce7c0b6">DataBits</a>==<a class="code" href="qextserialbase_8h.html#189ef78c2c1b7537ab114d576f6214fabdcd3759eeee2ffb002bbd8816afc5cc">DATA_5</a>) {
1814<a name="l00719"></a>00719                     TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: 2 stop bits cannot be used with 5 data bits"</span>);
1815<a name="l00720"></a>00720                 }
1816<a name="l00721"></a>00721                 <span class="keywordflow">else</span> {
1817<a name="l00722"></a>00722                     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>=<a class="code" href="classQextSerialBase.html#253c4b9419d2f541ba93fe3e6f73e495">stopBits</a>;
1818<a name="l00723"></a>00723                     <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cflag|=CSTOPB;
1819<a name="l00724"></a>00724                     tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1820<a name="l00725"></a>00725                 }
1821<a name="l00726"></a>00726                 <span class="keywordflow">break</span>;
1822<a name="l00727"></a>00727         }
1823<a name="l00728"></a>00728     }
1824<a name="l00729"></a>00729     UNLOCK_MUTEX();
1825<a name="l00730"></a>00730 }
1826</pre></div>
1827<p>
1828
1829</div>
1830</div><p>
1831<a class="anchor" name="aa242514dface394bc00906e043b0243"></a><!-- doxytag: member="Posix_QextSerialPort::setTimeout" ref="aa242514dface394bc00906e043b0243" args="(ulong, ulong)" -->
1832<div class="memitem">
1833<div class="memproto">
1834      <table class="memname">
1835        <tr>
1836          <td class="memname">void Posix_QextSerialPort::setTimeout           </td>
1837          <td>(</td>
1838          <td class="paramtype">ulong&nbsp;</td>
1839          <td class="paramname"> <em>sec</em>, </td>
1840        </tr>
1841        <tr>
1842          <td class="paramkey"></td>
1843          <td></td>
1844          <td class="paramtype">ulong&nbsp;</td>
1845          <td class="paramname"> <em>millisec</em></td><td>&nbsp;</td>
1846        </tr>
1847        <tr>
1848          <td></td>
1849          <td>)</td>
1850          <td></td><td></td><td width="100%"><code> [virtual]</code></td>
1851        </tr>
1852      </table>
1853</div>
1854<div class="memdoc">
1855
1856<p>
1857Sets the read and write timeouts for the port to sec seconds and millisec milliseconds. Note that this is a per-character timeout, i.e. the port will wait this long for each individual character, not for the whole read operation. This timeout also applies to the bytesWaiting() function.<p>
1858<dl compact><dt><b>Note:</b></dt><dd>POSIX does not support millisecond-level control for I/O timeout values. Any timeout set using this function will be set to the next lowest tenth of a second for the purposes of detecting read or write timeouts. For example a timeout of 550 milliseconds will be seen by the class as a timeout of 500 milliseconds for the purposes of reading and writing the port. However millisecond-level control is allowed by the select() system call, so for example a 550-millisecond timeout will be seen as 550 milliseconds on POSIX systems for the purpose of detecting available bytes in the read buffer. </dd></dl>
1859
1860<p>
1861Implements <a class="el" href="classQextSerialBase.html#02812d40f1b114983ca9c25ea83d159d">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00796"></a>00796 {
1862<a name="l00797"></a>00797     LOCK_MUTEX();
1863<a name="l00798"></a>00798     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#159ca543549b3b872917fc4ef0757b60">Timeout_Sec</a>=sec;
1864<a name="l00799"></a>00799     <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#c1b008038ad143262a2ee18247fe2c39">Timeout_Millisec</a>=millisec;
1865<a name="l00800"></a>00800     <a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>.tv_sec=sec;
1866<a name="l00801"></a>00801     <a class="code" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_Copy_Timeout</a>.tv_usec=millisec;
1867<a name="l00802"></a>00802     <span class="keywordflow">if</span> (<a class="codeRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen</a>()) {
1868<a name="l00803"></a>00803         tcgetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1869<a name="l00804"></a>00804         <a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>.c_cc[VTIME]=sec*10+millisec/100;
1870<a name="l00805"></a>00805         tcsetattr(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), TCSAFLUSH, &amp;<a class="code" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_CommConfig</a>);
1871<a name="l00806"></a>00806     }
1872<a name="l00807"></a>00807     UNLOCK_MUTEX();
1873<a name="l00808"></a>00808 }
1874</pre></div>
1875<p>
1876
1877</div>
1878</div><p>
1879<a class="anchor" name="6d5f7c00853102e7073120ddb4701f82"></a><!-- doxytag: member="Posix_QextSerialPort::size" ref="6d5f7c00853102e7073120ddb4701f82" args="() const " -->
1880<div class="memitem">
1881<div class="memproto">
1882      <table class="memname">
1883        <tr>
1884          <td class="memname">qint64 Posix_QextSerialPort::size           </td>
1885          <td>(</td>
1886          <td class="paramname">          </td>
1887          <td>&nbsp;)&nbsp;</td>
1888          <td width="100%"> const<code> [virtual]</code></td>
1889        </tr>
1890      </table>
1891</div>
1892<div class="memdoc">
1893
1894<p>
1895This function will return the number of bytes waiting in the receive queue of the serial port. It is included primarily to provide a complete <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html">QIODevice</a> interface, and will not record errors in the lastErr member (because it is const). This function is also not thread-safe - in multithreading situations, use Posix_QextSerialPort::bytesWaiting() instead.
1896<p>
1897Implements <a class="el" href="classQextSerialBase.html#86fc9d6239b7d136a9d80b93a727e093">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00894"></a>00894 {
1898<a name="l00895"></a>00895     <span class="keywordtype">int</span> numBytes;
1899<a name="l00896"></a>00896     <span class="keywordflow">if</span> (ioctl(<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;handle(), FIONREAD, &amp;numBytes)&lt;0) {
1900<a name="l00897"></a>00897         numBytes=0;
1901<a name="l00898"></a>00898     }
1902<a name="l00899"></a>00899     <span class="keywordflow">return</span> (qint64)numBytes;
1903<a name="l00900"></a>00900 }
1904</pre></div>
1905<p>
1906
1907</div>
1908</div><p>
1909<a class="anchor" name="253c4b9419d2f541ba93fe3e6f73e495"></a><!-- doxytag: member="Posix_QextSerialPort::stopBits" ref="253c4b9419d2f541ba93fe3e6f73e495" args="() const " -->
1910<div class="memitem">
1911<div class="memproto">
1912      <table class="memname">
1913        <tr>
1914          <td class="memname"><a class="el" href="qextserialbase_8h.html#dc8078895cd941d755d46633b54d3e7f">StopBitsType</a> QextSerialBase::stopBits           </td>
1915          <td>(</td>
1916          <td class="paramname">          </td>
1917          <td>&nbsp;)&nbsp;</td>
1918          <td width="100%"> const<code> [virtual, inherited]</code></td>
1919        </tr>
1920      </table>
1921</div>
1922<div class="memdoc">
1923
1924<p>
1925Returns the number of stop bits used by the port. For a list of possible return values, see the definition of the enum StopBitsType. <div class="fragment"><pre class="fragment"><a name="l00156"></a>00156 {
1926<a name="l00157"></a>00157     <span class="keywordflow">return</span> <a class="code" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">Settings</a>.<a class="code" href="structPortSettings.html#0752c70eb7e12f02ddf59739a056b04c">StopBits</a>;
1927<a name="l00158"></a>00158 }
1928</pre></div>
1929<p>
1930
1931</div>
1932</div><p>
1933<a class="anchor" name="a099923f1360a08c6b7072254fd056e6"></a><!-- doxytag: member="Posix_QextSerialPort::translateError" ref="a099923f1360a08c6b7072254fd056e6" args="(ulong error)" -->
1934<div class="memitem">
1935<div class="memproto">
1936      <table class="memname">
1937        <tr>
1938          <td class="memname">void Posix_QextSerialPort::translateError           </td>
1939          <td>(</td>
1940          <td class="paramtype">ulong&nbsp;</td>
1941          <td class="paramname"> <em>error</em>          </td>
1942          <td>&nbsp;)&nbsp;</td>
1943          <td width="100%"><code> [virtual]</code></td>
1944        </tr>
1945      </table>
1946</div>
1947<div class="memdoc">
1948
1949<p>
1950Translates a system-specific error code to a <a class="el" href="classQextSerialPort.html">QextSerialPort</a> error code. Used internally.
1951<p>
1952Implements <a class="el" href="classQextSerialBase.html#a9c2e9272cff3bd576560335308a8033">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00957"></a>00957 {
1953<a name="l00958"></a>00958     <span class="keywordflow">switch</span> (error) {
1954<a name="l00959"></a>00959         <span class="keywordflow">case</span> EBADF:
1955<a name="l00960"></a>00960         <span class="keywordflow">case</span> ENOTTY:
1956<a name="l00961"></a>00961             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_INVALID_FD;
1957<a name="l00962"></a>00962             <span class="keywordflow">break</span>;
1958<a name="l00963"></a>00963
1959<a name="l00964"></a>00964         <span class="keywordflow">case</span> EINTR:
1960<a name="l00965"></a>00965             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_CAUGHT_NON_BLOCKED_SIGNAL;
1961<a name="l00966"></a>00966             <span class="keywordflow">break</span>;
1962<a name="l00967"></a>00967
1963<a name="l00968"></a>00968         <span class="keywordflow">case</span> ENOMEM:
1964<a name="l00969"></a>00969             <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_NO_MEMORY;
1965<a name="l00970"></a>00970             <span class="keywordflow">break</span>;
1966<a name="l00971"></a>00971     }
1967<a name="l00972"></a>00972 }
1968</pre></div>
1969<p>
1970
1971</div>
1972</div><p>
1973<a class="anchor" name="3a425e78db628945a666c52aa8638d0f"></a><!-- doxytag: member="Posix_QextSerialPort::ungetChar" ref="3a425e78db628945a666c52aa8638d0f" args="(char c)" -->
1974<div class="memitem">
1975<div class="memproto">
1976      <table class="memname">
1977        <tr>
1978          <td class="memname">void Posix_QextSerialPort::ungetChar           </td>
1979          <td>(</td>
1980          <td class="paramtype">char&nbsp;</td>
1981          <td class="paramname"> <em>c</em>          </td>
1982          <td>&nbsp;)&nbsp;</td>
1983          <td width="100%"><code> [virtual]</code></td>
1984        </tr>
1985      </table>
1986</div>
1987<div class="memdoc">
1988
1989<p>
1990This function is included to implement the full <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html">QIODevice</a> interface, and currently has no purpose within this class. This function is meaningless on an unbuffered device and currently only prints a warning message to that effect.
1991<p>
1992Implements <a class="el" href="classQextSerialBase.html#d4564cb1b1fdfb317e6a12cb5b351adf">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l00947"></a>00947 {
1993<a name="l00948"></a>00948     <span class="comment">/*meaningless on unbuffered sequential device - return error and print a warning*/</span>
1994<a name="l00949"></a>00949     TTY_WARNING(<span class="stringliteral">"Posix_QextSerialPort: ungetChar() called on an unbuffered sequential device - operation is meaningless"</span>);
1995<a name="l00950"></a>00950 }
1996</pre></div>
1997<p>
1998
1999</div>
2000</div><p>
2001<a class="anchor" name="e8aabe89e479259b0b991dbd6b424f78"></a><!-- doxytag: member="Posix_QextSerialPort::writeData" ref="e8aabe89e479259b0b991dbd6b424f78" args="(const char *data, qint64 maxSize)" -->
2002<div class="memitem">
2003<div class="memproto">
2004      <table class="memname">
2005        <tr>
2006          <td class="memname">qint64 Posix_QextSerialPort::writeData           </td>
2007          <td>(</td>
2008          <td class="paramtype">const char *&nbsp;</td>
2009          <td class="paramname"> <em>data</em>, </td>
2010        </tr>
2011        <tr>
2012          <td class="paramkey"></td>
2013          <td></td>
2014          <td class="paramtype">qint64&nbsp;</td>
2015          <td class="paramname"> <em>maxSize</em></td><td>&nbsp;</td>
2016        </tr>
2017        <tr>
2018          <td></td>
2019          <td>)</td>
2020          <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td>
2021        </tr>
2022      </table>
2023</div>
2024<div class="memdoc">
2025
2026<p>
2027Writes a block of data to the serial port. This function will write maxSize bytes from the buffer pointed to by data to the serial port. Return value is the number of bytes actually written, or -1 on error.<p>
2028<dl compact><dt><b>Warning:</b></dt><dd>before calling this function ensure that serial port associated with this class is currently open (use <a class="elRef" doxygen="qiodevice.tag:http://doc.trolltech.com/" href="http://doc.trolltech.com/qiodevice.html#isOpen">isOpen()</a> function to check if port is open). </dd></dl>
2029
2030<p>
2031Implements <a class="el" href="classQextSerialBase.html#39a3aaff93640b767fd44dd7ce705e01">QextSerialBase</a>.<div class="fragment"><pre class="fragment"><a name="l01107"></a>01107 {
2032<a name="l01108"></a>01108     LOCK_MUTEX();
2033<a name="l01109"></a>01109     <span class="keywordtype">int</span> retVal=0;
2034<a name="l01110"></a>01110     retVal=<a class="code" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_File</a>-&gt;write(data, maxSize);
2035<a name="l01111"></a>01111     <span class="keywordflow">if</span> (retVal==-1)
2036<a name="l01112"></a>01112        <a class="code" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">lastErr</a>=E_WRITE_FAILED;
2037<a name="l01113"></a>01113     UNLOCK_MUTEX();
2038<a name="l01114"></a>01114
2039<a name="l01115"></a>01115     <a class="code" href="classPosix__QextSerialPort.html#5f12a1a6c1c6a163fe146272e9a7d275">flush</a>();
2040<a name="l01116"></a>01116     <span class="keywordflow">return</span> retVal;
2041<a name="l01117"></a>01117 }
2042</pre></div>
2043<p>
2044
2045</div>
2046</div><p>
2047<hr><h2>Member Data Documentation</h2>
2048<a class="anchor" name="31816951ba89902fa1dfdb6f18b80f41"></a><!-- doxytag: member="Posix_QextSerialPort::lastErr" ref="31816951ba89902fa1dfdb6f18b80f41" args="" -->
2049<div class="memitem">
2050<div class="memproto">
2051      <table class="memname">
2052        <tr>
2053          <td class="memname">ulong <a class="el" href="classQextSerialBase.html#31816951ba89902fa1dfdb6f18b80f41">QextSerialBase::lastErr</a><code> [protected, inherited]</code>          </td>
2054        </tr>
2055      </table>
2056</div>
2057<div class="memdoc">
2058
2059<p>
2060
2061</div>
2062</div><p>
2063<a class="anchor" name="f3d14f4614db4415c5f89746633cf197"></a><!-- doxytag: member="Posix_QextSerialPort::mutex" ref="f3d14f4614db4415c5f89746633cf197" args="" -->
2064<div class="memitem">
2065<div class="memproto">
2066      <table class="memname">
2067        <tr>
2068          <td class="memname">QMutex * <a class="el" href="classQextSerialBase.html#f3d14f4614db4415c5f89746633cf197">QextSerialBase::mutex</a> = NULL<code> [static, protected, inherited]</code>          </td>
2069        </tr>
2070      </table>
2071</div>
2072<div class="memdoc">
2073
2074<p>
2075
2076</div>
2077</div><p>
2078<a class="anchor" name="7459f3818391091877c88595a48a950a"></a><!-- doxytag: member="Posix_QextSerialPort::port" ref="7459f3818391091877c88595a48a950a" args="" -->
2079<div class="memitem">
2080<div class="memproto">
2081      <table class="memname">
2082        <tr>
2083          <td class="memname">QString <a class="el" href="classQextSerialBase.html#7459f3818391091877c88595a48a950a">QextSerialBase::port</a><code> [protected, inherited]</code>          </td>
2084        </tr>
2085      </table>
2086</div>
2087<div class="memdoc">
2088
2089<p>
2090
2091</div>
2092</div><p>
2093<a class="anchor" name="4946a554d3cfcd190b4df72f6f44f6eb"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_CommConfig" ref="4946a554d3cfcd190b4df72f6f44f6eb" args="" -->
2094<div class="memitem">
2095<div class="memproto">
2096      <table class="memname">
2097        <tr>
2098          <td class="memname">struct termios <a class="el" href="classPosix__QextSerialPort.html#4946a554d3cfcd190b4df72f6f44f6eb">Posix_QextSerialPort::Posix_CommConfig</a><code> [protected]</code>          </td>
2099        </tr>
2100      </table>
2101</div>
2102<div class="memdoc">
2103
2104<p>
2105
2106</div>
2107</div><p>
2108<a class="anchor" name="e5813ea1fd76c8c5a8948c4085d3e84e"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_Copy_Timeout" ref="e5813ea1fd76c8c5a8948c4085d3e84e" args="" -->
2109<div class="memitem">
2110<div class="memproto">
2111      <table class="memname">
2112        <tr>
2113          <td class="memname">struct timeval <a class="el" href="classPosix__QextSerialPort.html#e5813ea1fd76c8c5a8948c4085d3e84e">Posix_QextSerialPort::Posix_Copy_Timeout</a><code> [protected]</code>          </td>
2114        </tr>
2115      </table>
2116</div>
2117<div class="memdoc">
2118
2119<p>
2120
2121</div>
2122</div><p>
2123<a class="anchor" name="c4fcc5ae9850c3bc9952a13e4ef82273"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_File" ref="c4fcc5ae9850c3bc9952a13e4ef82273" args="" -->
2124<div class="memitem">
2125<div class="memproto">
2126      <table class="memname">
2127        <tr>
2128          <td class="memname">QFile* <a class="el" href="classPosix__QextSerialPort.html#c4fcc5ae9850c3bc9952a13e4ef82273">Posix_QextSerialPort::Posix_File</a><code> [protected]</code>          </td>
2129        </tr>
2130      </table>
2131</div>
2132<div class="memdoc">
2133
2134<p>
2135
2136</div>
2137</div><p>
2138<a class="anchor" name="0a876397917fbf082b56ae43ab2b4b7b"></a><!-- doxytag: member="Posix_QextSerialPort::Posix_Timeout" ref="0a876397917fbf082b56ae43ab2b4b7b" args="" -->
2139<div class="memitem">
2140<div class="memproto">
2141      <table class="memname">
2142        <tr>
2143          <td class="memname">struct timeval <a class="el" href="classPosix__QextSerialPort.html#0a876397917fbf082b56ae43ab2b4b7b">Posix_QextSerialPort::Posix_Timeout</a><code> [protected]</code>          </td>
2144        </tr>
2145      </table>
2146</div>
2147<div class="memdoc">
2148
2149<p>
2150
2151</div>
2152</div><p>
2153<a class="anchor" name="e5df0cdbbf84781c17f02b8dbc99c93a"></a><!-- doxytag: member="Posix_QextSerialPort::refCount" ref="e5df0cdbbf84781c17f02b8dbc99c93a" args="" -->
2154<div class="memitem">
2155<div class="memproto">
2156      <table class="memname">
2157        <tr>
2158          <td class="memname">unsigned long <a class="el" href="classQextSerialBase.html#e5df0cdbbf84781c17f02b8dbc99c93a">QextSerialBase::refCount</a> = 0<code> [static, protected, inherited]</code>          </td>
2159        </tr>
2160      </table>
2161</div>
2162<div class="memdoc">
2163
2164<p>
2165
2166</div>
2167</div><p>
2168<a class="anchor" name="2d796e3080f78ff63e821f528439db57"></a><!-- doxytag: member="Posix_QextSerialPort::Settings" ref="2d796e3080f78ff63e821f528439db57" args="" -->
2169<div class="memitem">
2170<div class="memproto">
2171      <table class="memname">
2172        <tr>
2173          <td class="memname"><a class="el" href="structPortSettings.html">PortSettings</a> <a class="el" href="classQextSerialBase.html#2d796e3080f78ff63e821f528439db57">QextSerialBase::Settings</a><code> [protected, inherited]</code>          </td>
2174        </tr>
2175      </table>
2176</div>
2177<div class="memdoc">
2178
2179<p>
2180
2181</div>
2182</div><p>
2183<hr>The documentation for this class was generated from the following files:<ul>
2184<li><a class="el" href="posix__qextserialport_8h.html">posix_qextserialport.h</a><li><a class="el" href="posix__qextserialport_8cpp.html">posix_qextserialport.cpp</a></ul>
2185<hr size="1"><address style="align: right;"><small>Generated on Sun Mar 25 04:21:54 2007 for QextSerialPort by&nbsp;
2186<a href="http://www.doxygen.org/index.html">
2187<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address>
2188</body>
2189</html>
Note: See TracBrowser for help on using the repository browser.
© 2008 - 2013 technikum29 • Sven Köppel • Some rights reserved
Powered by Trac
Expect where otherwise noted, content on this site is licensed under a Creative Commons 3.0 License